Blea et nut mini

bonjour
je test un nut mini avec blea mais j’ai des petites de-connexion 1 a 2 min .
j’ai lu que le probleme vient du bluetooth de mon pi3 .
est possible de détourner le problème avec un scénario ou un réglage .

merci d’avance

Bonsoir @flowd38
Oui tu peut toujours faire un scénario avec une contition dans ce style

#[PRESENCES][ROSE][Present]# == 0 ET stateDuration(#[PRESENCES][ROSE][Present]#) > 15

1 « J'aime »

je vais essayer ca mais est ce que tu peut me détailler ce scénario . je suis un débutant

j’ai fait ca C juste ?

Il n’y a pas le même genre de paramètre dans BLEA ?

Bonsoir,

Il te manque une espace après le « ET ».

Par ailleurs, sous son apparente simplicité, le scénario d’olive gère un tas de situations, notamment celle-là que le tien ne gère pas : en cas de micro déconnexion du nut, ton scénario ne se déclenche pas. Parfait, c’est fait pour. Mais quand le nut reconnecte, disons quelques secondes après, ton scénario activera le scénario #[LABO][PRÉSENCE NUT][PRESENT]#. C’est inutile, et suivant ce que ce scénario fait, ça pourrait même poser des problèmes.

Pour l’éviter, tu peux bidouiller le(s) déclencheur(s) de ton scénario, ou alors utiliser une variable comme olive (variable nommée rose).

j’ai modifier mon scénario mais ce ne marche pas


est ce qu’il faut que je creer mon virtuelle nut present #[LABO][PRÉSENCE NUT][PRESENT]#
avec comme état une variable ?

Mince. Sur mon intervention précédente, à trop regarder les conditions de ton scénario, j’ai considéré le #[LABO][PRÉSENCE NUT][PRESENT]# comme un appel de sous-scénario :woozy_face:. N’importe quoi !

Il y a plusieurs façons de s’y prendre, avec une variable comme olive ou en effet avec un virtuel de présence.

Ainsi, dans la dernière version de ton scénario ci-dessus, la variable nut prend la valeur 0 ou 1, correspondant à « absence » et « présence ». Le tout en filtrant les micro déconnections. Du coup ça marche, non ? Et pas besoin de #[LABO][PRÉSENCE NUT][PRESENT]# et de #[LABO][PRÉSENCE NUT][ABSENT]#.

Si tu préfères un virtuel (qui permet notamment d’afficher très facilement l’état de ton nut sur le dashboard ou ailleurs), précise le et je te montre.

oui je voudrais un virtuel pour mon dashboard mais je n’arrive pas a le faire marcher avec une variable

j’ai modifier mon scenario


et creer un virtuel

ca a l’air de fonctionner

Il n’y a pas besoin des deux (virtuel et variable).

Va dans le plugin Virtuel, ajoute un virtuel. Configure le comme suit, avec une commande info et deux commandes action :


Attention à bien tout y mettre, y compris le 0 et le 1 dans les champs valeur. Il faut un peu jouer avec la sauvegarde pendant que tu créés les commandes du virtuel, mais ça finit pas passer.

Tu obtiendras çà au dashboard (qu’il y a moyen de beaucoup modifier bien sûr) :
Capture d’écran 2020-04-05 à 19.14.50
Ainsi ce ne sera plus la variable nut qui indiquera la présence ou pas, mais la commande d’information #[LABO][PRÉSENCE NUT][PRÉSENCE]#, que tu pourras modifier effectivement avec les commandes d’action #[LABO][PRÉSENCE NUT][PRESENT]# et #[LABO][PRÉSENCE NUT][ABSENT]#.

Dans ton scénario, supprime les lignes avec la variable nut. Tu devrais maintenant ne plus être très loin de ce que tu souhaitais au début :slightly_smiling_face:.

J’ai rédigé et posté sans voir que tu avais toi-même posté !

Ta solution est bien aussi. Si tu n’as pas besoin de boutons sur le dashboard, elle est même plus simple !

ça a l’air de fonctionner . j’ai juste augmenter le temps .
je verrais demain si tout est ok .
donc si j’ai bien compris ce que je viens de faire le stateDuration garde ma variable ne mémoire le temps que j’ai indiquer .

Pas tout à fait. Regarde dans la doc relative au scénario (une mine d’informations !) :

stateDuration(commande) : Donne la durée en secondes depuis le dernier changement de valeur.

Ton scénario se lance automatiquement toutes les minutes ou toutes les 2 minutes (je ne comprends pas trop votre déclencheur). Si ton nut vient de décrocher (passage de 1 à 0), alors dans ton premier test :

  • La condition « #[LABO][NUT FLO][Present]# == 0 » est VRAI.
  • La condition « stateDuration(#[LABO][NUT FLO][Present]#) > 60 » sera VRAI si ça fait plus de 60 secondes que ça a décroché, FAUX sinon.
  • Ainsi, si ça fait 60 s ou moins, tu obtiens VRAI ET FAUX (qui en logique vaut FAUX), le scénario n’exécute pas « Alors »,
  • ou, si ça fait plus de 60 s, tu as VRAI ET VRAI (qui en logique vaut VRAI) et le scénario exécute « Alors ».

C’est ainsi qu’une déconnexion de 60s ou moins (au problème de CRON près) ne passera pas la valeur de ta variable « nut » à 0.

il faut tester chaque minute et pas sur le changement d’état du nut
car la condition est changement ‹ etat du nut › ET durée > a X

Aaargh ! Je viens seulement de comprendre (du moins je crois) ta phrase. Je manque de réactivité et d’activité ces temps-ci :slightly_smiling_face: !

Quand j’écrivais que je ne comprenais pas trop votre déclencheur, c’était d’un côté le CRON ***** qui dit « toutes les minutes », et de l’autre la différence non pas d’1 mn mais de 2 mn entre le date-heure « Précédent » en bleu et le date-heure « Prochain » en vert.

J’imagine que je dois mal interpréter les date-heure, mais j’avoue ne pas avoir chercher davantage.

oui le mini c’est 1 minute

1 « J'aime »