Modification commandes via scenario

Bonsoir,

Mon usage, j’ai des enfants qui ne sont pas toujours présents. J’ai un équipement du plugin mode (1 seul) pour gérer le chauffage de toutes les chambres avec un mode confort dans lequel le chauffage des chambres est planifié sur 19. en fonction de la présence ou de l’absence des enfant, je souhaite activer ou désactiver l’exécution de la consigne à 19

Y-at’il moyen de faire ceci via scenario / bloc code ?

Norbert

Bonsoir,

Pour les actions d’entrée :

$eqLogicId = 2;
$cmdId = 4;
$eqLogic = eqLogic::byId($eqLogicId);
$config = $eqLogic->getConfiguration('modes');
foreach ($config[0]['inAction'] as $key => $value) {
    if ($value['cmd'] == '#' . $cmdId . '#') {
        $arrayNumber = $key;
		break;
    }
}
$config[0]['inAction'][$arrayNumber]['options']['enable'] = 0;
$eqLogic->setConfiguration('modes', $config);
$eqLogic->save();

Pour les actions de sortie il faut utiliser outAction.

Pourquoi ne pas simplement appeler un scénario dans votre mode qui va exécuter ces actions en fonction des conditions voulues ?

Edit : ajout d’un break pour optimiser le foreach si il y a beaucoup de commandes.

1 « J'aime »

En effet, par appel d’un scénario.

Voici un exemple (aucun rapport avec le chauffage, moi c’est pour gérer la gestion de l’alarme selon le mode vacances/férié si on est là ou pas)

En gros tu as un scénario qui s’active selon la présence (ici des enfants, le déclencheur sera par exemple une info binaire ‹ présence toto == 1 ›) qui va activer le mode qui va avec (par exemple Chauffage Enfant Présents). Ce mode va avoir en Action d’entrée l’appel d’un second scénario (sans déclencheur) qui fera les modifications que tu veux (consigne etc)

Peux-être plus maintenable qu’un bloc code et çà segmente les choses

1 « J'aime »

Serieux !!! J’etais dans mon tripe et je n’y ai meme pas pensé ! C’est effectivement plus simple et plus conventionnel !

1 « J'aime »

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