Action différente quand état déjà à False

Bonjour à tous,

Je souhaiterais pouvoir déclencher deux opérations différentes avec un même bouton d’éclairage.

Je m’explique : lors de la première pression, je souhaite éteindre la lampe pilotée nativement par l’interrupteur. Lors de la deuxième pression (comprendre une pression sur le même bouton ET que la lampe est déjà éteinte), je souhaite éteindre toutes les lampes de la pièce.

J’ai regardé comment récupérer l’historique d’un état « binaire » et j’ai mis en oeuvre le code suivant :

$cmdId = cmd::byString("#[Terasse][Lumière][Etat]#")->getId();
$debut = date("Y-m-d H:i:s", strtotime("2 months ago"));
$fin = date("Y-m-d H:i:s", strtotime("now"));  
$all = history::all($cmdId, $debut, $fin);
$derniereValeur = count($all) ? $all[count($all) - 2]->getValue() : null;
cmd::byString("#[Terasse][Lumière][Etat précédént]#")->event($derniereValeur);

Seulement, en réalisant des tests, j’ai le sentiment que Jeedom ne stocke pas d’événement lorsque l’état n’est pas modifié. Ainsi, avec mon code ci dessus, étant dans le cas d’un booléen, l’état précédent retourné est toujours l’inverse de l’état courant.

Pouvez vous me confirmer que mon analyse est correcte et/ou me donner des corrections ou solutions alternatives à mon problème ?

Je vous remercie

Je viens de faire de nouveaux tests et le soucis n’est pas du tout ce que je pensais !!! (Et cela me rassure) En effet, jeedom historise bien l’ensemble des définitions d’états, qu’il y ait modification ou non de la valeur.

Le soucis, après investigation, provient de la méthode de mise à jour : elle est réalisée dans un scénario provoqué. Ce dernier semble ne pas se déclencher lorsque l’état ne change pas de valeur.

Je vais regarder comment déclencher tout le temps et je mettrai à jour ce post :slight_smile:

En complément : je mets à jours l’état par un appel à l’API (http://192.168.x.x/core/api/jeeApi.php?plugin=virtual&type=event&apikey=…&id=118&value=0 et j’ai l’impression que le soucis de non ré déclenchement vient de cette méthode de mise à jour

si quelqu’un à une idée…

Bonjour,

Dans ton virtuel info correspondant à l’état, essaye de mettre « répétition » à « toujours » (ou « oui » j’ai un doute).

1 « J'aime »

Bonjour,

C’est bien la config de « répétition de valeur » à « oui » ou « non » qui va permettre de choisir le comportement

Ce n’est donc pas un soucis mais un comportement voulu et vous pouvez choisir quel comportement à appliquer pour chaque commande info (par défaut, jeedom ne répéte pas les déclenchements sur valeur identique).

1 « J'aime »

Bonjour et merci à tous les deux @Mips et @Madcow pour la solution

Pour préciser la réponse, il faut aller dans les paramètres de l’état, onglet configuration, partie « Autres » (en bas) et définir ‘Répèter les valeurs identiques » à « oui »

Merci à tous

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.