script lua notification démarrage pompe

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
jacques68
Messages : 241
Inscription : 10 mai 2015, 12:21

script lua notification démarrage pompe

Message par jacques68 »

Bonjour à tous

Je suis entrain de domotisé une petite installation de climatisation avec 3 pompes. J'ai créé 2 scripts, l'un en python pour gerer les gpios et un autre en lua m'envoyant la notification du changement d'etat des pompes par mail.
J'ai pour l'instant écrit les 2 premières parties du script en lua. J'y vais pas à pas. J'ai créé la 1ère, qui une fois fonctionnel je suis passé à la deuxième partie. Et sur cette 2ème partie ça ne foctionne pas comme je le voudrai.
Un pro du script lua pourra peut etre me corriger.
Explication du script:
J'ai crée sous Domoticz 3 switchs virtuels: POMPE1, POMPE2,POMPE3
notification 1: si pompe1 on, pompe2off,pompe3on alors envoi mail.
En pratique la pompe2 se coupe et 3 secondes après la pompe1 se met en route la pompe3 ne se coupe jamais. J'ai testé en cliquant sur les differents switch et aucun soucis.

notification 2:la ca ne marche pas correctement. En pratique la pompe1 va se couper et la pompe2 démarrer 3 secondes après. En cliquant dans cet ordre sur les switchs concernés je n'ai pas d'envoi du mail. Dans les logs RAS.
Par contre si je clique en 1er sur pompe2 pour la mettre sur On et après sur pompe1 pour la mettre à Off là ça fonctionne je reçois bien le mail!!!!! :mrgreen: :mrgreen: :mrgreen:
Je n'y comprend plus rien!!! Bien entendu cela ne m'arrange pas et je voudrai que cela fonctionne avec d'abord pompe1 Off et pompe2On

Voici le code

Code : Tout sélectionner

local EmailTo = 'monadresse@gmail.com'
local Jour = os.date('%d', os.time())
local Mois = os.date('%m', os.time())
local An = os.date('%y', os.time())
local Heure = os.date('%H', os.time())
local Minute = os.date('%M', os.time())
local Seconde = os.date('%S', os.time())
commandArray = {}
print('Le Script a démarré')

function notification_Mail(objet, message)
DateMail = os.date('%d/%m/%y à %H:%M:%S', os.time())
commandArray['SendEmail']=objet..DateMail..'#'..message..'#'..EmailTo
end

 print('Test1')

-- notification 1 -
if (devicechanged['POMPE1'] == 'On') and (otherdevices['POMPE2'] == 'Off') and (otherdevices['POMPE3'] == 'On') then
   objet = 'changement de pompe le '
   message = 'La pompe1 vient de demarrer'
   notification_Mail(objet, message)
   print('demarrage pompe')

-- notification 2 -
elseif (devicechanged['POMPE1'] == 'Off') and (otherdevices['POMPE2'] == 'On')and (otherdevices['POMPE3'] == 'On') then
    print('passage script2')
    objet = 'changement de pompe le '
    message = 'La pompe2 vient de demarrer et la pompe1 vient de s/arreter'
    notification_Mail(objet, message)
   print('script pompe1 arrete')
end

return commandArray
Quelqu'un à une idée??? j'ai essayé en mettant un end a la fin de la notification 1 puis un if mais résultat idem.... :idea: :idea:
thier
Messages : 807
Inscription : 26 sept. 2015, 10:32
Localisation : charente

Re: script lua notification démarrage pompe

Message par thier »

bonsoir,
Dans ton script elseif (devicechanged['POMPE1'] == 'Off') and (otherdevices['POMPE2'] == 'On')and (otherdevices['POMPE3'] == 'On') then tu regardes pile au moment ou ta pompe 1 s'arrête (devicechanged). A ce moment là, ta pompe 2 n'est pas égal à On puisque tu dis qu'elle démarre 3 mn après. Quand tu le fais à la main ça fonctionne à l'arrêt de pompe1 puisque avant tu as démarré pompe2." si je clique en 1er sur pompe2 pour la mettre sur On et après sur pompe1 pour la mettre à Off là ça fonctionne".
Si ce que tu fais en manuel te vas, tu remplaces elseif (devicechanged['POMPE1'] == 'Off') and (otherdevices['POMPE2'] == 'On')and (otherdevices['POMPE3'] == 'On') then par elseif (otherdevices['POMPE1'] == 'Off') and (devicechanged['POMPE2'] == 'On')and (otherdevices['POMPE3'] == 'On') then
PI3+, Buster, Domoticz V2020.2, rflink, zwave, chauffage piloté par qubino, sondes oregon et Vil1d, boite aux lettres détection passage facteur, volets roulants qubino fibaro.
jacques68
Messages : 241
Inscription : 10 mai 2015, 12:21

Re: script lua notification démarrage pompe

Message par jacques68 »

:D :D Yes un grand merci ça fonctionne!!!
Pourtant il me semblait avoir testé ta solution!!! :P
Je vais continuer mon code en ajoutant une 3ème notification quand toutes les pompes sont arrétées
Répondre