Hello @Martial,
Le principe est assez simple : à chaque fois que je fais une opération sur le ruban LED, je stocke dans une variable l'état en cours (0 pour éteint, 1 pour allumé).
En cas de coupure de courant, le ruban LED se rallume automatiquement sans aucune opération..il y a donc un décalage entre l'état du ruban LED et l'état stocké dans la variable.
J'ai donc mis en place un script qui vérifie cela régulièrement et cas de de désynchro, j'éteins les rubans LED.
j'avais commencé à la faire en Blocky puis en // en DZVents : les 2 scripts sont fonctionnels chez moi (j'ai conservé en actif pour le moment uniquement le Blocky).

- Capture d’écran 2023-02-06 202140.png (38.01 Kio) Consulté 577 fois
Et voici le script en DZvents :
Code : Tout sélectionner
return {
on = {
timer = {'every 10 minutes'},
system = {'start'}
},
logging = {
level = domoticz.LOG_INFO,
marker = 'template',
},
execute = function(domoticz, timer)
if (domoticz.devices('LED 2° étage').active and domoticz.variables('etat-led-etage').value == 0 and domoticz.variables('etat-led-etage-rue').value == 0 and domoticz.variables('etat-led-etage-jardin').value == 0) then
domoticz.devices('LED 2° étage').switchOff()
domoticz.log('LED du 2° étage sans action du bouton', domoticz.LOG_INFO)
end
if (domoticz.devices('LED Cuisine').active and domoticz.variables('etat-led-cuisine').value == 0 and domoticz.variables('etat-led-cuisine-hotte').value == 0 and domoticz.variables('etat-led-cuisine-plinthe').value == 0) then
domoticz.devices('LED Cuisine').switchOff()
domoticz.log('LED de la cuisine sans action du bouton', domoticz.LOG_INFO)
end
end
}