Salut à tous,
J’essaye de programmer des événements dans mon agenda depuis un scénario.
A terme, je reçois une instruction en mqtt et j’en créer un événement
Pour ce faire j’ai utilisé ce sujet par @Picapau67 résolu par @Phpvarious :
Scénario - Ajouter un évènement dans Agenda avec un bloc code
Et voici le code :
///////// Initialisation des variables pour le test ///////////////
$IdCalendrier = '1280';
$titre = 'test 2';
///////////////////// CODE ///////////////////////////
$dateDebutSQL = '2023-06-14 10:00:00';
$scenario->setLog($dateDebutSQL);
$dateFinSQL = '2023-06-14 10:30:00';
$scenario->setLog($dateFinSQL);
$values = '{"eventName":"'.$titre.'", }';
$sql = "INSERT INTO `calendar_event` (`eqLogic_id`,`cmd_param`,`startDate`,`endDate`) VALUES ('".$IdCalendrier."','".$values."','".$dateDebutSQL."','".$dateFinSQL."')";
$scenario->setLog("sql : ".$sql);
$db = DB::Prepare($sql,array());
Déjà, ca fonctionne donc c’est génial mais je suis bloqué.
J’ai cherché dans les docs mais je ne trouve pas les différents paramètres à mettre dans cmd_param
Ou puis je en trouver une liste ?
Précisément j’aimerai pouvoir préciser le scénario à exécuter
J’imagine que c’est dans :
start":[{"cmd":"'.$cmdOn.'"}]
Merci à tous !
JeeU
Pour ceux que ca intéresse
J’ai fait des evenements a la main pour observer leur forme dans la base de données et voici ce que j’ai obtenu au final pour associer en action de début un scenario
///////// Initialisation des variables pour le test ///////////////
$IdCalendrier = '1281';
$titre = 'test 2';
$scenario_id = 21;
$tagValue = '#eqLogicId#:1#capteur#:2#value#:3';
///////////////////// CODE ///////////////////////////
$dateDebutSQL = '2023-06-14 13:38:00';
$dateFinSQL = '2023-06-14 10:30:00';
$scenarProcess = scenario::byId($scenario_id);
$values = '{"eventName":"' . $titre . '","noDisplayOnDashboard":"0","icon":"","color":"#2980b9","transparent":"0","text_color":"#ffffff","start":[{"options":{"enable":"1","background":"0","scenario_id":"' . $scenario_id . '","action":"startsync","tags":"' . $tagValue . '"},"cmd":"scenario"}],"end":[],"in_progress":1}';
$sql = "INSERT INTO `calendar_event` (`eqLogic_id`,`cmd_param`,`startDate`,`endDate`) VALUES ('" . $IdCalendrier . "','" . $values . "','" . $dateDebutSQL . "','" . $dateFinSQL . "')";
$db = DB::Prepare($sql, array());
J’ai l’impression qu’il faut save le calendrier a la fin du scenario
system
A fermé ce sujet ()
Juin 14, 2023, 2:01
4
Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.