Page 1 sur 1

[Résolu] Bouton Poussoir pour déclencher un script

Publié : 07 déc. 2016, 09:23
par Nibeck
Bonjour,

j'utilise le script suivant Gestion conso et stock pellets pour le suivi de ma consommation de pellet.

A votre avis, puis je utiliser sa Bouton de sonnette sans fil DI-O-CHACON, blanc pour declencher mon script ?

Amicalement

Re: Bouton Poussoir pour déclencher un script

Publié : 07 déc. 2016, 11:03
par T0ny Oh
Difficile a dire vue le manque d'info et surtout la référence absente de la fiche sur le site LM. Au pire si ça va pas tu le remet dans la boite et tu te fait rembourser. Chez Leroy Merlin ils ne sont pas embêtants.

Sinon fait une recherche sur la gamme ORNO qui ont des interrupteurs à pas cher et compatibles RFXcom (-10€).

Re: Bouton Poussoir pour déclencher un script

Publié : 07 déc. 2016, 14:36
par Snorky
Effectivement difficile à dire comme çà.

Il te faut effectivement n'importe quel device interrupteur pour pouvoir le déclencher (Amazon Dash, sonnette, interrupteur...)

Re: Bouton Poussoir pour déclencher un script

Publié : 09 déc. 2016, 07:28
par Nibeck
Hello,

Je me répond à moi-même des fois que cela serve à d'autres.

Configuration du bouton dans Domoticz sans problème.

Reconnu en interrupteur Lighting 2 et envoi un état "Group on" quand on appui sur le bouton.

Intégration avec le script sans réel difficulté.

Merci à tous

Re: [Résolu] Bouton Poussoir pour déclencher un script

Publié : 07 janv. 2017, 13:34
par baboun2807
Bonjour,

Comment as-tu configuer ton bouton?

Chez moi cela ne fonctionne pas :?

Le bouton sonnette est bien reconnu

Je l'ai configurer comme cela

Au départ j'ai rentré le chemin suivant pour le script: script://home/pi/domoticz/scripts/lua/script_device_pellet.lua

Quand j'appuie sur le bouton de la sonette, j'obiens l'erreur : Error: SQLHelper: Error script not found '/home/pi/domoticz/scripts/home/pi/domoticz/scripts/lua/script_device_declenchementradiateurcouloiretage.lua' Je ne comprends pas pourquoi il "double" le chemin

Ensuite j'ai modifié le chemin en rajoutant un 3e "/" script:///home/pi/domoticz/scripts/lua/script_device_pellet.lua

La , en appuyant sur le bouton de la sonnette j'obtiens désormais l'erreur :
Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_device_pellet.lua: /home/pi/domoticz/scripts/lua/script_device_pellet.lua:55: attempt to perform arithmetic on a nil value

là encore le chemin d'accès est répété 2 fois dans l'erreur (pourquoi? d'habitude dans l'erreur, le chemin est spécifié une seule fois) Et en plus une erreur arithmetic....

Ma ligne 55
depenseNew = tonumber(otherdevices_svalues[depenseName]) + tonumber(uservariables[prix1Name])

depenseName est effectivemnt à 0 au départ mais c'est logique puisqu'on n'a pas commencé à mettre des sacs.....

Any ideas?

Re: [Résolu] Bouton Poussoir pour déclencher un script

Publié : 07 janv. 2017, 13:37
par vil1driver
ce n'est pas la bonne méthode..

il faut intégrer ton bouton dans le script, comme une condition supplémentaire..si bouton est On faire ceci ou pas...etc..

Re: [Résolu] Bouton Poussoir pour déclencher un script

Publié : 17 janv. 2017, 09:49
par Nibeck
@baboun2807

Comme l'a indiquer @vil1driver, j'ai ajouter le bouton dans domoticz et configurer comme ci-dessous.
bouton_pellet.JPG
bouton_pellet.JPG (54.44 Kio) Consulté 13545 fois
Ensuite via mon script LUA :

Code : Tout sélectionner

if (devicechanged['Bouton_Pellet'] and otherdevices['Bouton_Pellet'] == 'Group On') then     -- Si pression sur le bouton
ainsi qu'une vérification pour éviter la prise en compte de multiple appuie sur le bouton :

Code : Tout sélectionner

--------------------------------
-- Fonctions                  --
--------------------------------

-- TimeDifference
function timedifference(d)
   s = otherdevices_lastupdate[d]
   year = string.sub(s, 1, 4)
   month = string.sub(s, 6, 7)
   day = string.sub(s, 9, 10)
   hour = string.sub(s, 12, 13)
   minutes = string.sub(s, 15, 16)
   seconds = string.sub(s, 18, 19)
   t1 = os.time()
   t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
   difference = os.difftime (t1, t2)
   return difference
end

if (difference > 600) then    -- On attend 10 minutes avant ajout nouveau sac

J'espère que m'a réponse te sera utile

Re: [Résolu] Bouton Poussoir pour déclencher un script

Publié : 02 avr. 2017, 13:14
par Nicogluck
Bonjour à tous,

J'ai pioché dans ce topic pour mon problème. Le script pour éviter les appuis multiples est intéressant, mais j'en viens à mon soucis que je ne parviens pas à résoudre...

Mon objectif est de pouvoir éteindre plusieurs lumières (pilotées par des récepteurs DI-O) en appuyant sur un bouton poussoir connecté à un micro module émetteur DI-O.
J'ai testé via différentes méthodes sur Domoticz (script LUA, scénario, switch intermédiaire...) mais j'arrive toujours au même problème :
Une simple impulsion sur le poussoir fait l'effet suivant sur micro module : ON puis OFF en l'espace d'une seconde.
Domoticz, lui, reçoit les deux instructions l'une après l'autre (jusque là, ça va, en théorie).
Sauf qu'au final, les lumières apparaissent comme éteintes dans Domoticz, mais en réalité, elles sont toujours allumées !

En revanche, si je maintiens le poussoir appuyé pendant au moins 5 secondes, tout se déroule comme prévu.
Ça donne l'impression que la commande OFF déclenchée à la relâche du poussoir perturbe Domoticz qui n'exécute pas toutes les commandes correctement.

Vous me suivez ?
Si vous avez une astuce, je suis preneur.
Merci d'avance à tous.

Re: [Résolu] Bouton Poussoir pour déclencher un script

Publié : 02 avr. 2017, 13:22
par vil1driver
le micro module émetteur DI.O ne doit pas être relié à un bouton de type poussoir.