chris-le-chti a écrit : 10 avr. 2021, 18:34
Bonjour, je voulais savoir si avec Domoticz il etait possible de detecter une perte de courant avec une prise connecté, perte de retour d'etat par exemple ?
(...)
Ce sont toutes des prises Zwave bien sur.
Nodon fai(sai)t(?) une prise intégrant cette fonctionnalité, via une petite réserve d'énergie intégrée laissant le temps de remonter l'état.
Bien entendu, il faut que le PI ou autre hébergeant Domoticz soit sur batterie... ce qui est mon cas ainsi que la box histoire de pouvoir remonter les notifications.
Avant d'avoir cette prise Nodon, j'utilisais pour ma part le lastupdate d'un module très "causant" en temps normal et sur secteur.
2 conditions remplies par mon smart-meter Qubino en tête de tableau électrique qui remonte assez finement les variations de consommation/voltage etc de toute la maison. Il est rarement 30s sans causer/remonter une mesure.
J'avais un script time (déclenchant donc toutes les minutes) qui mettait à on un switch virtuel perte secteur si le last_update de ce module dépassait 180s (soit ~3 déclenchements du script, histoire d'être large pendant des vacances ou autre quand c'est très calme niveau variation de conso).
En 3mn, la détection était remontée.
A l'usage, la Nodon qui remonte la moindre micro-coupure est mieux, mais c'était un peu plus cher que l'utilisation détournée d'un module déjà là.
Au sujet de cette Nodon, par contre, attention car l'info est remontée via une valeur alarme. C'est pas un simple switch on/off.
J'avais dû scripter pour récupérer la valeur/controler l'état de mon switch virtuel précédent, qui du être réutilisé. L'occasion de découvrir la table
otherdevices_zwavealarms...
Le bout de script device Lua qui fait cela (devAlarmPowerFail = Prise Nodon ; devSwitchPowerFail = Le switch virtuel perte secteur):
Code : Tout sélectionner
-- Electric power alarm management
if (devicechanged[devAlarmPowerFail]) then
--print('Z-Wave alarm '..devAlarmPowerFail..' = '..otherdevices_zwavealarms[devAlarmPowerFail])
if (otherdevices_zwavealarms[devAlarmPowerFail] == 2) then
commandArray[devSwitchPowerFail] = 'On'
else
commandArray[devSwitchPowerFail] = 'Off'
end
end