Comment recuperer infos d'un rendez-vous sur agenda

Bonsoir la Caumunaute, je me permet de vous demander de l’aide,… mais je pense que deja des programmeur vont grincer des dents … desole.

Configuration :
Minipc sous debian 10
Jeedom 4.4.7
plugin (dernières version stable)

Voila mon petit problème.
j’avais réaliser un petit programme avec l’aide de Ipapy , il y a 4 ans, mais il ne fonctionne plus.

J’utilise un iPhone avec son calendrier, et je récupéré à 6h du matin les infos de l’agenda pour organiser ma journée.

depuis peu, plus rien ne fonctionne, donc mon MiroirMagic est bloquer, mes rendez-vous sont mal planifier a cause de la perte d’information.

J’ai réaliser un petit programme sous scenario, pour récupérer les infos du Plugin Agenda .
(StartHour = heure du début rendez-vous )
(EndHour = fin de rendez-vous)
(Appointment Reason = sujet du rendez-vous)

Vous trouverez ci joint, un écran de l’agenda, le programme dans le scenario, et log du scenario )

Problème, j’arrive a récupérer le sujet du rendez-vous, mais impossible de récupérer la date et l’heure du début et fin du rendez-vous.

Voici le code du Scenario…
$scenario->setLog(‹ --------------------------START CODE BLOCK ›);

// Remplacez 673 par l’ID réel de la commande de l’agenda
$scenario->setLog(‹ Avant exécution de la commande ›);
$cmd = cmd::byId(673);
$value = $cmd->execCmd();
$scenario->setLog('Après exécution de la commande : ’ . $value);

$arrayValue = explode(« , », $value); // Utilisation de la virgule comme séparateur
$scenario->setLog('Contenu du tableau arrayValue : ’ . print_r($arrayValue, true));

$appointmentReason = isset($arrayValue[0]) ? trim($arrayValue[0]) : ‹ Aucun ›; // Message du RDV
$startHour = isset($arrayValue[1]) ? trim($arrayValue[1]) : ‹ Aucun ›; // Début du RDV
$endHour = isset($arrayValue[2]) ? trim($arrayValue[2]) : ‹ Aucun ›; // Fin du RDV
$amPm = isset($arrayValue[3]) ? trim($arrayValue[3]) : ‹ Aucun ›; // AM ou PM au format US

$scenario->setLog('Start Hour: ’ . $startHour);
$scenario->setLog('End Hour: ’ . $endHour);
$scenario->setLog('Appointment Reason: ’ . $appointmentReason);

$baseMessage = « Voici ce que j’ai à l’agenda pour toi aujourd’hui »;
$morningMessage = $baseMessage . " ; heure ;" . $startHour . " ; " . $appointmentReason;

///////////////////////////// Variables Jeedom //////////////////////////////////////
$scenario->setData(« startHour », $startHour);
$scenario->setData(« endHour », $endHour);
$scenario->setData(« amPm », $amPm);
$scenario->setData(« appointmentReason », $appointmentReason);
$scenario->setData(« morningMessage », $morningMessage);
/////////////////////////////////////////////////////////////////////////////////////

if ($appointmentReason != « Aucun ») {
$morningMessage = $baseMessage . " ; heure ;" . $startHour . " ; " . $appointmentReason;
} else {
$morningMessage = « Tu n’as rien sur l’agenda pour aujourd’hui »;
}

$scenario->setLog(‹ | › . $morningMessage);

///////////////////////////// Envoi du Message ///////////////////////////////////////

// Remplacez 51 par l’ID réel de la commande de notification
$options = array(‹ message › => $morningMessage);
cmd::byId(51)->execCmd($options, $cache=0);

///////////////////////////// Réinitialisation des Variables Jeedom //////////////////////////////////////
$scenario->setData(« startHour », ‹  ›);
$scenario->setData(« endHour », ‹  ›);
$scenario->setData(« amPm », ‹  ›);
$scenario->setData(« appointmentReason », ‹  ›);
$scenario->setData(« morningMessage », ‹  ›);

$scenario->setLog(‹ -------------------------------------------END CODE BLOCK ›);

Voici le Log du scenario


[2024-08-10 20:08:09][SCENARIO] – Début : Scenario lance manuellement.
[2024-08-10 20:08:09][SCENARIO] - Exécution du sous-élément de type [action] : code
[2024-08-10 20:08:09][SCENARIO] Exécution d’un bloc code
[2024-08-10 20:08:09][SCENARIO] --------------------------START CODE BLOCK
[2024-08-10 20:08:09][SCENARIO] Avant exécution de la commande
[2024-08-10 20:08:09][SCENARIO] Après exécution de la commande : Aucun
[2024-08-10 20:08:09][SCENARIO] Contenu du tableau arrayValue : Array ( [0] => Aucun )
[2024-08-10 20:08:09][SCENARIO] Start Hour: Aucun
[2024-08-10 20:08:09][SCENARIO] End Hour: Aucun
[2024-08-10 20:08:09][SCENARIO] Appointment Reason: Aucun
[2024-08-10 20:08:09][SCENARIO] |Tu n’as rien sur l’agenda pour aujourd’hui
[2024-08-10 20:08:09][SCENARIO] -------------------------------------------END CODE BLOCK
[2024-08-10 20:08:09][SCENARIO] Fin correcte du scénario


merci a tous ceux qui ont pris le temps de lire et de me répondre

Les logs sans les mettre entre les bornes adéquates, c’est juste illisible.