Bug ou comportement normal - actionCheckCmd

Slt All,
Je viens de découvrir le plugin Jeelink et tout ce qu’il peut apporter un terme de fonctionnalités … franchement c’est mortel

Par contre j’ai trouvé un bug lors de la création sur le jeedom cible des commandes concernant la partie action sur évolution d’une valeur (actionCheckCmd) … elle est reprise …jusque là pas de soucis … :slight_smile:
Cette donnée est stockée dans la configuration de la commande et stock l’id du scenario a executer en cas de changement de valeur … qq chose du genre

actionCheckCmd":[{"options":{"enable":"1","background":"0","scenario_id":"13","action":"start","tags":"type=\"garage\" label=\"Porte garage principale\" statutOuverture=#1179#"},"cmd":"scenario"}],"jeedomPreExecCmd":[],"jeedomPostExecCmd":[]}

Le soucis est que lorsque l’on bascule un équipement du jeedom source au jeedom cible … l’équipement côté jeedom cible reprend cette conf et l’id du scénario. Si cette id existe sur le jeedom cible alors le scenario est executé sur le jeedom cible … je sais pas si je suis hyper clair

jeedom source

Jeedom cible

L’id des 2 scenario est identique (13) mais du coup il execute sur le jeedom cible un scenario qui n’a pas de rapport … :sleepy:

En l’occurence qd il y a un changement d’état sur le jeedom source (position porte de garage) … cela déclenche sur le jeedom cible un scénario qui ouvre ma porte de garage …
Le jeedom cible est celui de mon père et du coup dès qu’il ouvre sa porte cela ouvre ou ferme la mienne … ma société de télésurveillance m’a appelé trois fois aujourd’hui pour un déclenchemen d’alarme dans mon garage …

Bug ou auvais utilisation de ma part ??
@chris94440

1 « J'aime »

Tu coup pour ceux qui se posent la question de quelle commande appelle quels scénario avec ce bout de code vous aurez la réponse

foreach(cmd::all() as $cmd) {
  $config=$cmd->getConfiguration();
  $actionCheckCmd = $config['actionCheckCmd'];
  foreach($actionCheckCmd as $action) {
    $opt=$action['options'];
    $idScenario=$opt['scenario_id'];
    if ($idScenario>0) {
      $scenario->setLog($cmd->getHumanName() .' -> Scenario : ' . (scenario::byId($idScenario))->getHumanName() . '('.$idScenario .')');
    }
  }
}

Exemple de réponse

[2022-01-20 08:39:04][SCENARIO] [Salle de bain][Mini chauffage][connecte] -> Scenario : [Monitoring][Aucun][sGenericConnecitivityState](212)
[2022-01-20 08:39:04][SCENARIO] [Salle de douche][Prise Osram][connecte] -> Scenario : [Monitoring][Aucun][sGenericConnecitivityState](212)
[2022-01-20 08:39:04][SCENARIO] [Suite Parentale][Sonoff lampe entree dressing][reachable] -> Scenario : [Monitoring][Aucun][sGenericConnecitivityState](212)
[2022-01-20 08:39:04][SCENARIO] [Jardin][MotionSensor bucher][Présence 01-0006] -> Scenario : [Lights][Aucun][sLampeBucher](217)
[2022-01-20 08:39:04][SCENARIO] [Jardin][Barbecue][reachable] -> Scenario : [Monitoring][Aucun][sGenericConnecitivityState](212)
[2022-01-20 08:39:04][SCENARIO] [Jardin][sonoff bucher][reachable] -> Scenario : [Monitoring][Aucun][sGenericConnecitivityState](212)
[2022-01-20 08:39:04][SCENARIO] [Jardin][MotionSensor bucher][reachable] -> Scenario : [Monitoring][Aucun][sGenericConnecitivityState](212)