Check ouverture Frigo (il se ferme mal)

Bonjour à tous,

Je fais appel à vous pour un cas d’usage assez simple.
Mon frigo parfois se ferme mal (ou du moins Madame ne le ferme pas correctement :smiley:), j’ai du coup depuis plusieurs mois installé une capteur d’ouverture Aqara Xiomi en Zigbee sur mon frigo.
J’ai un scénario qui se déclenche à l’ouverture du frigo et qui déclenche un sleep de 2 minutes et qui à l’issue des 2 minutes de sleep recontrôle si le frigo est toujours ouvert, si c’est le cas je suis notifié.
Le problème de ma logique est que si quelqu’un ouvre le frigo et le referme mais que dans le délai des 2 minutes qqun le rouvre alors la notif part. Je considère que c’est un faux positif.

Comme écririez vous un scénario qui notifie si le frigo est réellement resté ouvert 2 minutes consécutives ?

Merci pour vos précieux conseils :slight_smile:

Manu

Bonjour,

fait une action sur valeur si plus de 2min, pas besoin de scénario
C’est dans la config avancé de la commande.

1 « J'aime »

Il ne faut pas utiliser le sleep.

si déclencheur = ouvert

  • bloc Dans 2 min
    – si déclencheur = ouvert → Notification

si déclencheur = fermé

  • Annuler le bloc Dans (remove_inat)
1 « J'aime »

Merci à tous les deux, je vas regarder ça, je n’ai encore jamais utilisé ces instructions. Ca ouvre pas mal de possibilités :slight_smile:

ca marche aussi :wink:

J’oublie toujours cette possibilité d’action sur valeur. Il me semble qu’elle ne devait pas exister dans la V2 quand j’ai commencé Jeedom.

1 « J'aime »

Du coup j’en profite pour partager mon scenario qui fait exactement ce que demande @dragonslore.

Le principe est le suivant : Sur ouverture de porte, je sauvegarde la date et j’attends 2min. Si 2min après le frigo n’est toujours pas fermé, je lance une notif, et je recheck 2min après, et ce 5 fois d’affilé, après quoi j’arrête de notifier (donc on est notifié toutes les 2min pendant 10min). Si la porte est fermée entre temps, le scénario termine.
Si y’a moyen de l’améliorer, n’hésitez pas :slight_smile:

Et voici le code du scenario en mode texte :

Scenario porte frigo

[
{
« id »: « 38 »,
« name »: null,
« type »: « if »,
« options »: [],
« order »: « 0 »,
« subElements »: [
{
« id »: « 89 »,
« name »: null,
« scenarioElement_id »: « 38 »,
« type »: « if »,
« subtype »: « condition »,
« options »: {
« enable »: « 1 »,
« allowRepeatCondition »: « 0 »
},
« order »: « 0 »,
« expressions »: [
{
« id »: « 121 »,
« scenarioSubElement_id »: « 89 »,
« type »: « condition »,
« subtype »: null,
« expression »: « #[Cuisine][Etat frigo][etat]# == 1 »,
« options »: [],
« order »: « 0 »
}
]
},
{
« id »: « 90 »,
« name »: null,
« scenarioElement_id »: « 38 »,
« type »: « then »,
« subtype »: « action »,
« options »: [],
« order »: « 1 »,
« expressions »: [
{
« id »: « 391 »,
« scenarioSubElement_id »: « 90 »,
« type »: « action »,
« subtype »: null,
« expression »: « tag »,
« options »: {
« enable »: « 1 »,
« background »: « 0 »,
« name »: « timestamp_debut »,
« value »: « #timestamp# »
},
« order »: « 0 »
},
{
« id »: « 400 »,
« scenarioSubElement_id »: « 90 »,
« type »: « action »,
« subtype »: null,
« expression »: « wait »,
« options »: {
« enable »: « 1 »,
« background »: « 0 »,
« condition »: « #[Cuisine][Etat frigo][etat]# == 0 »,
« timeout »: « 120 »
},
« order »: « 1 »
},
{
« id »: « 399 »,
« scenarioSubElement_id »: « 90 »,
« type »: « element »,
« subtype »: null,
« expression »: « 115 »,
« options »: [],
« order »: « 2 »,
« element »: {
« id »: « 115 »,
« name »: null,
« type »: « for »,
« options »: [],
« order »: « 0 »,
« subElements »: [
{
« id »: « 267 »,
« name »: null,
« scenarioElement_id »: « 115 »,
« type »: « for »,
« subtype »: « condition »,
« options »: {
« enable »: « 1 »
},
« order »: « 0 »,
« expressions »: [
{
« id »: « 392 »,
« scenarioSubElement_id »: « 267 »,
« type »: « condition »,
« subtype »: null,
« expression »: « 5 »,
« options »: [],
« order »: « 0 »
}
]
},
{
« id »: « 268 »,
« name »: null,
« scenarioElement_id »: « 115 »,
« type »: « do »,
« subtype »: « action »,
« options »: [],
« order »: « 1 »,
« expressions »: [
{
« id »: « 401 »,
« scenarioSubElement_id »: « 268 »,
« type »: « action »,
« subtype »: null,
« expression »: « tag »,
« options »: {
« enable »: « 1 »,
« background »: « 0 »,
« name »: « duration »,
« value »: « #timestamp# - #timestamp_debut# »
},
« order »: « 0 »
},
{
« id »: « 397 »,
« scenarioSubElement_id »: « 268 »,
« type »: « element »,
« subtype »: null,
« expression »: « 116 »,
« options »: [],
« order »: « 1 »,
« element »: {
« id »: « 116 »,
« name »: null,
« type »: « if »,
« options »: [],
« order »: « 0 »,
« subElements »: [
{
« id »: « 269 »,
« name »: null,
« scenarioElement_id »: « 116 »,
« type »: « if »,
« subtype »: « condition »,
« options »: {
« enable »: « 1 »,
« allowRepeatCondition »: « 0 »
},
« order »: « 0 »,
« expressions »: [
{
« id »: « 393 »,
« scenarioSubElement_id »: « 269 »,
« type »: « condition »,
« subtype »: null,
« expression »: « #[Cuisine][Etat frigo][etat]# == 1 »,
« options »: [],
« order »: « 0 »
}
]
},
{
« id »: « 270 »,
« name »: null,
« scenarioElement_id »: « 116 »,
« type »: « then »,
« subtype »: « action »,
« options »: [],
« order »: « 1 »,
« expressions »: [
{
« id »: « 394 »,
« scenarioSubElement_id »: « 270 »,
« type »: « action »,
« subtype »: null,
« expression »: « #[Salon][GH Mini][Parle !]# »,
« options »: {
« enable »: « 1 »,
« background »: « 0 »,
« title »: «  »,
« message »: « Attention la porte du frigo est rest\u00e9e ouverte depuis substr(convertduration(#duration#), 0, strpos(convertduration(#duration#), "m")) minutes »
},
« order »: « 0 »
},
{
« id »: « 395 »,
« scenarioSubElement_id »: « 270 »,
« type »: « action »,
« subtype »: null,
« expression »: « #[Communication][Pushbullet][Xiaomi Redmi Note 4]# »,
« options »: {
« enable »: « 1 »,
« background »: « 0 »,
« title »: «  »,
« message »: « Attention la porte du frigo est rest\u00e9e ouverte depuis substr(convertduration(#duration#), 0, strpos(convertduration(#duration#), "m")) minutes »
},
« order »: « 1 »
}
]
},
{
« id »: « 271 »,
« name »: null,
« scenarioElement_id »: « 116 »,
« type »: « else »,
« subtype »: « action »,
« options »: [],
« order »: « 2 »,
« expressions »: [
{
« id »: « 396 »,
« scenarioSubElement_id »: « 271 »,
« type »: « action »,
« subtype »: null,
« expression »: « stop »,
« options »: {
« enable »: « 1 »,
« background »: « 0 »
},
« order »: « 0 »
}
]
}
]
}
},
{
« id »: « 398 »,
« scenarioSubElement_id »: « 268 »,
« type »: « action »,
« subtype »: null,
« expression »: « wait »,
« options »: {
« enable »: « 1 »,
« background »: « 0 »,
« condition »: « #[Cuisine][Etat frigo][etat]# == 0 »,
« timeout »: « 120 »
},
« order »: « 2 »
}
]
}
]
}
}
]
},
{
« id »: « 93 »,
« name »: null,
« scenarioElement_id »: « 38 »,
« type »: « else »,
« subtype »: « action »,
« options »: [],
« order »: « 2 »,
« expressions »: []
}
]
}
]