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

