Choix de la semaine en mode scenario

Salut

Est-il possible de mettre dans ta todo liste la possibilité de pouvoir choisir le calendrier que l’on aimerait suivant les semaines.
En mode scenario par exemple
Exemple si je suis en semaine impaire j’aimerais le programme 10, si ma semaine est la 15 j’aimerais le programme XX, etc…
Merci de ton retour

DU coup, en l’absence de reponse/suivi du plugin, j’ai créé un scenario qui permet ensuite de beneficier de la liste des programmes dans les scenarios et ainsi, en fonciton de periodes pourvoir automatiquement choisir le programme (vacances/feriés/gardes alternées/…).

Ce scenario intègre juste dans la comamnde « programme select » de chaque equipement de type radiateur/zone la liste des programmes de manière à ensuite pouvoir l’utiliser dans les scenarios. Ce n’est donc à lancer qu’une fois, à chaque rajout/suppression/modif du nom d’un programme ou à chaque rajout de radiateur/zone.

Les programmes sont triés dans la liste par ordre alphabétique et il y a possibilité de masquer le programme par défaut (0)

Résultat :


et le bloc code, qu’il y a juste à coller dans un scenario (1 seul parametre pour affichage ou non du prog par defaut)

// version bloc code
$version = '11/11/2023 10:00' ;
$scenario->setLog('┌──────────── Logs bloc code - version du '.$version);


// paramétrage 
$defaut_prog = 0 ;    // affichage du planing par defaut dans la liste deroulante


// recuperation des programmes
$prog_list = eqLogic::byLogicalId('centrale','centralepilote')->getConfiguration('prog_list') ;

// generation array avec la liste des programmes 
$progs = array() ;
foreach ( $prog_list as $prog ) {
  $newProg = array('id' => $prog[id], 'name' => $prog[name]);
  $progs[] = $newProg;
}

// tri de cette liste pour affichage alphabetique sur la base du nom
$names = array_column($progs, 'name');
array_multisort($names, SORT_ASC, $progs);

$scenario->setLog('|-- Programmes utilisés');
//generation du champ liste pour la commande select
foreach ( $progs as $prog) {
  if ( $prog[id] != 0 ) {
    $selectList .= $prog[id].'|'.$prog[name].';' ; 
    $scenario->setLog('|   '.$prog[id].' : '.$prog[name]);
  }
  elseif ( $defaut_prog != 0 ) {             // integration ou pas du programme par defaut
    $selectList .= $prog[id].'|'.$prog[name].';' ; 
    $scenario->setLog('|   '.$prog[id].' : '.$prog[name]);
  }
}

// Suprpession du dernier ;
$selectList = rtrim($selectList, ';');

// Mise à jour des equipements
$scenario->setLog('|');
$scenario->setLog('|-- Mise à jour des commandes \'programme select\' des equipements :');
$eqLogics = eqLogic::byType('centralepilote') ;
foreach ( $eqLogics as $eqlogic ) {
  $type_eqlogic = $eqlogic->getConfiguration('type') ;
  if ( $type_eqlogic == 'radiateur' || $type_eqlogic == 'zone' ) {
    $cmd_select = cmd::byEqLogicIdCmdName($eqlogic->getId(),'Programme Select') ;
    $cmd_select->setConfiguration("listValue",$selectList);
    $cmd_select->save();
    $scenario->setLog('|   '.$eqlogic->getHumanName());
  }
}

$scenario->setLog('└───────────────────────────');

Dommage que le DEV ne réponde pas car ce plugin de gestion du chauffage est vraiment très tètrs bien pensé. Je l’utilise de mon coté avec des vannes thermostatiques, et ca m’a permis de supprimer énormément de scénarios de gestion du chauffage.

Norbert

Norbert

Hello,
Pardon en effet pour le non suivi, je n’ai pas vu les messages c’est de ma faute.
Je prends le point et je regarde si on peut intégrer cette fonction directement dans le plugin.
Merci beaucoup d’avoir apporté de l’aide en attendant !
Vincent

Salut

Sympa si tu reprends ton plugin.
Je suis entrain de modifier mon câblage électrique (plancher chauffant) et mes scénarios sur le délestage.
Pour moi il manque quelques options dans ton plugin.
Pouvoir mettre un capteur d’ouverture sur les fenêtres et choisir si on veut un off ou un eco.
Pouvoir revenir au dernier modèle choisi après un délestage. J’ai fait un scénario qui mémorisé mon dernier état de fonctionnement (off,eco, normal…).
Maintenant j’arrive à délester puis revenir sur le dernier modèle choisi. De même avec mes capteurs d’ouverture de fenêtre.

Les mode -1 et -2 degrés ne fonctionnent pas chez moi . Je suis avec une carte relais. Je ne sais pas si c’est normal ou pas. Bon après j’ai pas vraiment creusé le problème.
Mais sinon tu as fait un bon plugin.