Cmd_param d'un calendar_event

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

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