Page 1 sur 1

Cde relais instable

Publié : 19 janv. 2018, 19:45
par kerboluc
Bonsoir,
Je me décide à demander de l'aide car après plusieurs jours de recherche, aucune piste n'a été trouvé.
J'ai un capteur virtuel 'Batterie 12v' alimenté par la valeur d'une batterie, lue par un ESP8266 et envoyé dans domoticz en wifi.
J'ai un interrupteur virtuel 'Relais_2' (on/off) créer en automatique par une télécommande qui commande un relais 433mhz.
J'ai un script lua destiné à piloter le relais 'Relais_2" en fonction de la valeur de la tension.
Tout fonctionne comme prévu sauf ... que le relais ne reste pas stable dans son état : à l'état "On" il se coupe 1/10 de seconde et remonte à chaque exécution du script et à l'inverse, à l'état "Off" il monte 1/10 de seconde avant de se couper. Les infos "print" de débogage sont corrects
J'avais réalisé le script en blocky et j'avais ce résultat. En lua c'est pareil!
Merci de me donner des pistes pour trouver la solution.
le script :
-- Traitement de la pompe de relevage
-- interdire la marche si tension batterie 12v plus faible que 11V

-- seuil de tension
seuil = 11

commandArray = {}
print("lancement du calcul de la valeur batterie")


local Val_bat_12v = tonumber(otherdevices_svalues['Batterie 12v'])
print("valeur batterie " .. Val_bat_24v .. " v")
print("valeur seuil " .. seuil .. " v")

if Val_bat_12v > seuil then
commandArray['Relais_2']='On'
print ( "Relais R2 = On" )
else
commandArray['Relais_2']='Off'
print ( "Relais R2 = Off" )
end

return commandArray

Re: Cde relais instable

Publié : 21 janv. 2018, 19:25
par kerboluc
Bonsoir,
Je reviens sur mon problème. Je pense que je loupe quelque chose. Je précise que j'utilise l'éditeur interne de domoticz.
Avec des essais script_time, le résultat est le même qu'avec script_device mais avec une fréquence différente correspondant au moment ou le script s’exécute. L'ordre off est envoyé et ensuite on ou l'inverse en fonction des conditions. Comment empêcher ce fonctionnement?
J'ai aussi essayer de faire une mémoire d'état avec un compteur, de ne pas lire les conditions si le relais n'était pas actif mais sans changement.
Merci de votre aide

Re: Cde relais instable

Publié : 21 janv. 2018, 20:59
par vil1driver
Salut,

Je me demande si le problème ne viendrait pas de ton relai qui réagirait bisarement..

Essai d'ajouter une condition avant d'envoyer ta commande pour voir..
Celle du contrôle de l'état du relais (ne pas envoyer On si déjà à On...)

Code : Tout sélectionner

if otherdevices['Relais_2'] == 'Off' then
 commandArray['Relais_2'] = 'On' 
 
Perso je n'aime pas faire ainsi, c'est rassurant de renvoyer systématiquement mais pour l'essai...

Re: Cde relais instable

Publié : 21 janv. 2018, 22:55
par kerboluc
Salut,
Merci de m'aider.
J'avais déjà essayé de mettre la condition de l'état mais en lua et pas de changement. je l'ai réalisé en blocky avec la condition de l'état et là cela semble fonctionner! Je vais reprendre mes script d'essais en lua pour vérifier si je les ai bien écrit.
A suivre ...

Re: Cde relais instable

Publié : 22 janv. 2018, 07:10
par lost
kerboluc a écrit :Je vais reprendre mes script d'essais en lua pour vérifier si je les ai bien écrit.
Attention au O majuscule des On/Off dans les comparaisons/tests... Je me suis encore (re-)fait avoir il y a peu!

Re: Cde relais instable

Publié : 31 janv. 2018, 12:59
par kerboluc
Désolé, j'avais pas vu le message!
Oui, j'ai eu aussi le problème mais dans les icônes personnalisées, le on off ne sont pas pris en compte.
Je reste sur blocky pour le moment mais il faudra que je passe en lua car dès que le script ce complique, blocky devient très lourd.