Script d'alerte de porte de garage laissée ouverte
Publié : 13 déc. 2022, 19:29
Bonjour,
J'ai visité le forum anglophone et cette page: https://www.domoticz.com/wiki/Event_script_examples
mais ce post doit être très très ancien et je vais faire comme si je ne l'avais pas lu.
Mon objectif est de recevoir une notification (telegram dans mon cas) si ma porte de garage est resté ouverte depuis plus d' 1/4 heure.
Pour le moment c'est plus ou moins résolu avec un cron qui tourne toutes les 5 minutes, récupère auprès de domoticz un JSON sur l'état de la porte, mémorise les 4 derniers états (donc le log contient 4x 5 minutes). Si la porte est ouverte et qu'il y a 3x "porte ouverte" dans le log, alors j'envoie une alerte telegram via un curl. (s'il y a 4x, c'est que l'alerte a déjà été envoyée, pas besoin de le rappeler toutes les 5 minutes)
Ca fonctionne, c'est un peu imprécis, (entre 10.01 et 19.59 minutes puisque le cron tourne toutes les 5 minutes) .
Maintenant que je commence à piger les timers, je voudrais réécrire cela.
- si on ouvre la porte ça lance un timer de 15 minutes
- si on ferme la porte ça annule le timer
- si le timer expire -> alerte
Ca éviterait aussi les faux positifs quand la porte a été ouverte/refermée plusieurs fois dans le laps de 20 minutes.
Auriez-vous un exemple dans les placards ? Il faut un ou deux scripts ?
Merci,
Frédéric
J'ai visité le forum anglophone et cette page: https://www.domoticz.com/wiki/Event_script_examples
mais ce post doit être très très ancien et je vais faire comme si je ne l'avais pas lu.
Mon objectif est de recevoir une notification (telegram dans mon cas) si ma porte de garage est resté ouverte depuis plus d' 1/4 heure.
Pour le moment c'est plus ou moins résolu avec un cron qui tourne toutes les 5 minutes, récupère auprès de domoticz un JSON sur l'état de la porte, mémorise les 4 derniers états (donc le log contient 4x 5 minutes). Si la porte est ouverte et qu'il y a 3x "porte ouverte" dans le log, alors j'envoie une alerte telegram via un curl. (s'il y a 4x, c'est que l'alerte a déjà été envoyée, pas besoin de le rappeler toutes les 5 minutes)
Ca fonctionne, c'est un peu imprécis, (entre 10.01 et 19.59 minutes puisque le cron tourne toutes les 5 minutes) .
Maintenant que je commence à piger les timers, je voudrais réécrire cela.
- si on ouvre la porte ça lance un timer de 15 minutes
- si on ferme la porte ça annule le timer
- si le timer expire -> alerte
Ca éviterait aussi les faux positifs quand la porte a été ouverte/refermée plusieurs fois dans le laps de 20 minutes.
Auriez-vous un exemple dans les placards ? Il faut un ou deux scripts ?
Merci,
Frédéric