Je ne comprends pas pourquoi je reçois systématiquement sur mon mobile 2 notifications après déclenchement de l’évènement d’ouverture. Ces notifications sont espacées d’une minute (ex. 16:13 et 16:14).
------------------------------------
[2023-04-06 16:13:31][SCENARIO] Start : Scenario execute automatiquement sur evenement venant de : [Boite aux lettres][Capteur de presence IH012-RT01][Presence] (1).
[2023-04-06 16:13:31][SCENARIO] Exécution du sous-élément de type [condition] : if #[Boîte aux lettres][Capteur de présence IH012-RT01][Présence]# == 1 ET (#time# >= 0930 ET #time# <= 1900)
[2023-04-06 16:13:32][SCENARIO] Evaluation de la condition : [1 == 1 ET (1613 >= 0930 ET 1613 <= 1900)] = Vrai
[2023-04-06 16:13:32][SCENARIO] Exécution du sous-élément de type [action] : then
[2023-04-06 16:13:32][SCENARIO] Exécution de la commande [Maison][WhatsApp][NOTIF] avec comme option(s) : {"background":"0","title":"","message":"Le facteur est pass\u00e9"}
[2023-04-06 16:13:32][SCENARIO] Exécution de la commande [Maison][partout][Faire parler Alexa] avec comme option(s) : {"background":"0","message":"Le facteur est pass\u00e9","volume":"60"}
[2023-04-06 16:13:32][SCENARIO] Fin correcte du scénario
------------------------------------
[2023-04-06 16:14:31][SCENARIO] Start : Scenario execute automatiquement sur evenement venant de : [Boite aux lettres][Capteur de presence IH012-RT01][Presence] (1).
[2023-04-06 16:14:31][SCENARIO] Exécution du sous-élément de type [condition] : if #[Boîte aux lettres][Capteur de présence IH012-RT01][Présence]# == 1 ET (#time# >= 0930 ET #time# <= 1900)
[2023-04-06 16:14:31][SCENARIO] Evaluation de la condition : [1 == 1 ET (1614 >= 0930 ET 1614 <= 1900)] = Vrai
[2023-04-06 16:14:31][SCENARIO] Exécution du sous-élément de type [action] : then
[2023-04-06 16:14:32][SCENARIO] Exécution de la commande [Maison][WhatsApp][NOTIF] avec comme option(s) : {"background":"0","title":"","message":"Le facteur est pass\u00e9"}
[2023-04-06 16:14:32][SCENARIO] Exécution de la commande [Maison][partout][Faire parler Alexa] avec comme option(s) : {"background":"0","message":"Le facteur est pass\u00e9","volume":"60"}
[2023-04-06 16:14:32][SCENARIO] Fin correcte du scénario
------------------------------------
Non mais la il nest pas complet. La tout est ok. Dc ss le log entier on ne peut rien dire
Tu parles de 16h13 et 16h14. Or on ne voit que 16h14 ds la partie de log
En effet, je viens de corriger. J’ai posté dans la précipitation.
Le scénario s’exécute 2 fois à 16:13 et 16:14 car les conditions sont remplies. Toutefois, l’évènement (présence captée après ouverture de la BAL) ne s’est produit qu’une fois.
Dc si ton capteur envoie son etat toutes les minutes ben cest sur que le scenario va se déclencher
Donc mettre la non repetition sur valeur identique peut etre la solutionmais faut spliter le Si
Avec la capteur seul et en non repet puis tester la plage horaire je pense
Et si il reçoit 2 courriers?
Le mieux ( je pense) lors du passage à 1 de la commande de la boite aux lettres ajouter
Action → event → commande boite -->0
C’est juste l’avis d’un vieux
Donc qu il en recoive 1 ou 10 en 1 ou 10fois… y a du courrier.
Il faut juste remettre a zero qd il releve le courrier.
Et ne pas mettre de repetition pr eviter que le capteur declenche le scenario a chaque envoit de son status.
Le besoin c est de savoir si il a du courrier ou compter le nombre de fois ou facteur livreur passe ?
Capteur de présence donc en fonction du module il repasse quand à 1? après 1 minute 3 minutes?
Il faut qu’il mette en déclencheur [Boite aux lettres][Capteur de presence IH012-RT01][Presence] ==1 et ce sera réglé.
Action → event → commande boite -->0 => NOK
Déclencheur [Boite aux lettres][Capteur de presence IH012-RT01][Presence] == 1 => NOK
------------------------------------
[2023-04-07 18:31:35][SCENARIO] Start : Scenario execute automatiquement sur evenement venant de : [Boite aux lettres][Capteur de presence IH012-RT01][Presence] (1).
[2023-04-07 18:31:35][SCENARIO] Exécution du sous-élément de type [condition] : if #[Boîte aux lettres][Capteur de présence IH012-RT01][Présence]# == 1 ET time_between(#time#,930,1900)
[2023-04-07 18:31:35][SCENARIO] Evaluation de la condition : [1 == 1 ET 1] = Vrai
[2023-04-07 18:31:35][SCENARIO] Exécution du sous-élément de type [action] : then
[2023-04-07 18:31:35][SCENARIO] Changement de [Boîte aux lettres][Capteur de présence IH012-RT01][Présence] à 0
[2023-04-07 18:31:35][SCENARIO] Exécution de la commande [Maison][WhatsApp][NOTIF] avec comme option(s) : {"background":"0","title":"","message":"Le facteur est pass\u00e9"}
[2023-04-07 18:31:35][SCENARIO] Exécution de la commande [Maison][partout][Faire parler Alexa] avec comme option(s) : {"background":"0","message":"Le facteur est pass\u00e9","volume":"60"}
[2023-04-07 18:31:35][SCENARIO] Fin correcte du scénario
------------------------------------
[2023-04-07 18:32:35][SCENARIO] Start : Scenario execute automatiquement sur evenement venant de : [Boite aux lettres][Capteur de presence IH012-RT01][Presence] (1).
[2023-04-07 18:32:35][SCENARIO] Exécution du sous-élément de type [condition] : if #[Boîte aux lettres][Capteur de présence IH012-RT01][Présence]# == 1 ET time_between(#time#,930,1900)
[2023-04-07 18:32:35][SCENARIO] Evaluation de la condition : [1 == 1 ET 1] = Vrai
[2023-04-07 18:32:35][SCENARIO] Exécution du sous-élément de type [action] : then
[2023-04-07 18:32:35][SCENARIO] Changement de [Boîte aux lettres][Capteur de présence IH012-RT01][Présence] à 0
[2023-04-07 18:32:35][SCENARIO] Exécution de la commande [Maison][WhatsApp][NOTIF] avec comme option(s) : {"background":"0","title":"","message":"Le facteur est pass\u00e9"}
[2023-04-07 18:32:35][SCENARIO] Exécution de la commande [Maison][partout][Faire parler Alexa] avec comme option(s) : {"background":"0","message":"Le facteur est pass\u00e9","volume":"60"}
[2023-04-07 18:32:35][SCENARIO] Fin correcte du scénario
------------------------------------
Ce n’est de toute facon pas un pb de scenario, mais un pb lié à la commande ou à l’équipement. il serait don interessant de connaitre le plugin utilisé, screenshot du paramétrage de l’équipement et de la commande basique et avancé. Bref, plus d’infos comme aussi demandé par @bison.
Voir aussi pour mettre l’historique sur la commande (ou la mettre en timeline pour voir de quelle manières les valeurs evoluent.
pour info les commandes dispo sur zigbee2mqtt :
Occupancy (binary)
Indicates whether the device detected occupancy. Value can be found in the published state on the occupancy property. It’s not possible to read (/get) or write (/set) this value. If value equals true occupancy is ON, if false OFF.
Indicates if the battery of this device is almost empty. Value can be found in the published state on the battery_low property. It’s not possible to read (/get) or write (/set) this value. If value equals true battery_low is ON, if false OFF.
Indicates whether the device is tampered. Value can be found in the published state on the tamper property. It’s not possible to read (/get) or write (/set) this value. If value equals true tamper is ON, if false OFF.
Remaining battery in %, can take up to 24 hours before reported… Value can be found in the published state on the battery property. It’s not possible to read (/get) or write (/set) this value. The minimal value is 0 and the maximum value is 100. The unit of this value is %.
Voltage of the battery in millivolts. Value can be found in the published state on the voltage property. It’s not possible to read (/get) or write (/set) this value. The unit of this value is mV.
PIR sensor sensitivity. Value can be found in the published state on the sensitivity property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"sensitivity": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"sensitivity": NEW_VALUE}. The possible values are: low, medium, high.
PIR keep time in seconds. Value can be found in the published state on the keep_time property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"keep_time": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"keep_time": NEW_VALUE}. The possible values are: 30, 60, 120.
Link quality (signal strength). Value can be found in the published state on the linkquality property. It’s not possible to read (/get) or write (/set) this value. The minimal value is 0 and the maximum value is 255. The unit of this value is lqi.
Peut-etre quelque chose à creuser du coté de keep_time + répétition des valeurs à oui …
Ou un autre scenario à coté qui force à 1 la commande presence au bout d’1min avec comme declencheur cette commande présence (ou une autre commande liée à cette commande presence), bref un truc tout con qui se mord la queue ?
L’équipement WhatsApp est un appel à l’API callmebot depuis le plugin Script et une commande de type HTTP. Les notifications me parviennent 1 seule fois pour mes autres scénarios et autres évènements déclencheur.
[2023-04-07 18:31:35][INFO] : Exécution de la commande [Maison][WhatsApp][NOTIF] avec les paramètres {"background":"0","title":"","message":"Le facteur est pass\u00e9"}
[2023-04-07 18:32:35][INFO] : Exécution de la commande [Maison][WhatsApp][NOTIF] avec les paramètres {"background":"0","title":"","message":"Le facteur est pass\u00e9"}
C’est la configuration de la commande #[Boite aux lettres][Capteur de presence IH012-RT01][Presence]# qui est intéressante puisque c’est elle qui revient apparemment à 1 au bout d’une minute
Une seule notification avec l’ajout de la condition « && lastChangeStateDuration(#[Boîte aux lettres][Capteur de présence IH012-RT01][Présence]#,1) > 60 » comme l’a suggéré @tomitomas
Dans les logs, j’ai :
------------------------------------
[2023-04-07 19:39:28][SCENARIO] Start : Scenario execute automatiquement sur evenement venant de : [Boite aux lettres][Capteur de presence IH012-RT01][Presence] (1).
[2023-04-07 19:39:28][SCENARIO] Exécution du sous-élément de type [condition] : if #[Boîte aux lettres][Capteur de présence IH012-RT01][Présence]# == 1 && lastChangeStateDuration(#[Boîte aux lettres][Capteur de présence IH012-RT01][Présence]#,1) > 60
[2023-04-07 19:39:28][SCENARIO] Evaluation de la condition : [1 == 1 && 61 > 60] = Vrai
[2023-04-07 19:39:28][SCENARIO] Exécution du sous-élément de type [action] : then
[2023-04-07 19:39:29][SCENARIO] Changement de [Boîte aux lettres][Capteur de présence IH012-RT01][Présence] à 0
[2023-04-07 19:39:29][SCENARIO] Exécution de la commande [Maison][WhatsApp][NOTIF] avec comme option(s) : {"background":"0","title":"","message":"Le facteur est pass\u00e9"}
[2023-04-07 19:39:29][SCENARIO] Exécution de la commande [Maison][partout][Faire parler Alexa] avec comme option(s) : {"background":"0","message":"Le facteur est pass\u00e9","volume":"60"}
[2023-04-07 19:39:29][SCENARIO] Fin correcte du scénario
------------------------------------
[2023-04-07 19:39:33][SCENARIO] Start : Scenario execute automatiquement sur evenement venant de : [Boite aux lettres][Capteur de presence IH012-RT01][Presence] (0).
[2023-04-07 19:39:33][SCENARIO] Exécution du sous-élément de type [condition] : if #[Boîte aux lettres][Capteur de présence IH012-RT01][Présence]# == 1 && lastChangeStateDuration(#[Boîte aux lettres][Capteur de présence IH012-RT01][Présence]#,1) > 60
[2023-04-07 19:39:33][SCENARIO] Evaluation de la condition : [0 == 1 && 66 > 60] = Faux
[2023-04-07 19:39:33][SCENARIO] Exécution du sous-élément de type [action] : else
[2023-04-07 19:39:33][SCENARIO] Fin correcte du scénario
J’ai laissé à tord ou à raison Action → event → #[Boîte aux lettres][Capteur de présence IH012-RT01][Présence]# -->0 avant la notif.
J’ai modifié le scénario pour me replacer en situation de dysfonctionnement.
------------------------------------
[2023-04-08 16:53:43][SCENARIO] Start : Scenario execute automatiquement sur evenement venant de : [Boite aux lettres][Capteur de presence IH012-RT01][Presence] (1).
[2023-04-08 16:53:43][SCENARIO] Exécution du sous-élément de type [condition] : if #[Boîte aux lettres][Capteur de présence IH012-RT01][Présence]# == 1 && time_between(#time#,930,1900)
[2023-04-08 16:53:44][SCENARIO] Evaluation de la condition : [1 == 1 && 1] = Vrai
[2023-04-08 16:53:44][SCENARIO] Exécution du sous-élément de type [action] : then
[2023-04-08 16:53:44][SCENARIO] Exécution de la commande [Maison][WhatsApp][NOTIF] avec comme option(s) : {"background":"0","title":"","message":"Le facteur est pass\u00e9"}
[2023-04-08 16:53:44][SCENARIO] Fin correcte du scénario
------------------------------------
[2023-04-08 16:54:43][SCENARIO] Start : Scenario execute automatiquement sur evenement venant de : [Boite aux lettres][Capteur de presence IH012-RT01][Presence] (1).
[2023-04-08 16:54:43][SCENARIO] Exécution du sous-élément de type [condition] : if #[Boîte aux lettres][Capteur de présence IH012-RT01][Présence]# == 1 && time_between(#time#,930,1900)
[2023-04-08 16:54:43][SCENARIO] Evaluation de la condition : [1 == 1 && 1] = Vrai
[2023-04-08 16:54:43][SCENARIO] Exécution du sous-élément de type [action] : then
[2023-04-08 16:54:44][SCENARIO] Exécution de la commande [Maison][WhatsApp][NOTIF] avec comme option(s) : {"background":"0","title":"","message":"Le facteur est pass\u00e9"}
[2023-04-08 16:54:44][SCENARIO] Fin correcte du scénario
------------------------------------
[2023-04-08 16:54:52][SCENARIO] Start : Scenario execute automatiquement sur evenement venant de : [Boite aux lettres][Capteur de presence IH012-RT01][Presence] (0).
[2023-04-08 16:54:52][SCENARIO] Exécution du sous-élément de type [condition] : if #[Boîte aux lettres][Capteur de présence IH012-RT01][Présence]# == 1 && time_between(#time#,930,1900)
[2023-04-08 16:54:52][SCENARIO] Evaluation de la condition : [0 == 1 && 1] = Faux
[2023-04-08 16:54:52][SCENARIO] Exécution du sous-élément de type [action] : else
[2023-04-08 16:54:52][SCENARIO] Fin correcte du scénario
J’ai utilisé le code suivant pour observer les valeurs :