Conseil sur la gestion du thermostat lors d'une absence courte

Bon je me réponds pour faire avancer le schmilblick (et faire remonter le sujet :stuck_out_tongue: ) : grâce à ce sujet et le code de @Phpvarious j’ai créé un scénario qui permet d’ajouter à l’heure actuelle un évènement ‹ Absence 4h › dans un agenda. Merci à toi ! Je compte déclencher ce scénario via un mode dédié du plugin Modes.

///////// Initialisation des variables  ///////////////
$Date = date('y-m-d');
$Time = date('H:i');
$IdCalendrier = '38';
$titre = 'Absence 4h';
$cmdOn = '#[Salon][Thermostat salon][Eco]#';
$cmdOff = '#[Salon][Thermostat salon][Confort]#';

///////////////////// CODE ///////////////////////////
$dateDebutSQL = date('Y-m-d H:i:s', strtotime($Date . ' ' . $Time . ':00' . ' +2 minutes'));
$scenario->setLog($dateDebutSQL);
$dateFinSQL = date('Y-m-d H:i:s', strtotime($Date . ' ' . $Time . ':00' . ' +240 minutes'));
$scenario->setLog($dateFinSQL);

$values = '{"eventName":"' . $titre . '","icon":"","color":"#2980b9","transparent":"0","text_color":"#ffffff","noDisplayOnDashboard":"0","start":[{"options":{"enable":"1","background":"0"},"cmd":"'.$cmdOn.'"}],"end":[{"options":{"enable":"1","background":"0"},"cmd":"'.$cmdOff.'"}],"in_progress":0}';
$sql = "INSERT INTO `calendar_event` (`eqLogic_id`,`cmd_param`,`startDate`,`endDate`) VALUES ('".$IdCalendrier."','".$values."','".$dateDebutSQL."','".$dateFinSQL."')";
$db = DB::Prepare($sql,array());

Il me reste 2 possibilités pour la suite, et je n’arrive pas me mettre les idées au clair :

  • est-ce que j’ajoute cet évènement dans mon agenda de gestion de thermostat déjà existant pour passer ce thermostat en mode absent pendant 4h ? Mais dans ce cas je ne sais pas ce qui se passe quand 2 évènements se chevauchent…
  • est-ce que j’ajoute cet évènement dans un autre agenda « Absence », et je désactive aussi l’autre Agenda de gestion du thermostat habituel pendant cette durée puis je le réactive à la fin ? Problème : comment ajouter plusieurs Actions de début dans cet évènement via le bloc code du scénario ? J’arrive pas à ajouter plusieurs « cmd » dans le $values. Et est-ce que cette solution permet de profiter du smartstart du plugin Thermostat ?

Bref, j’avance doucement !