Récupérer le futur évènement
Récupérer le futur évènement
Bonjour,
Peut-on récupérer l'info du futur événement de l'agenda ?
Je voudrais récupérer l'information pour modifier un widget sur le ramassage de mes poubelles qui n'est pas toujours avec un passage alterné : jaune-bleue-jaune-bleue
mais qui peut être des fois : bleue bleue bleue jaune
L'info du prochain passage est bien dispo sur le futur événement ,Poubelle bleue mardi 17.09 ...
mais je ne sais pas comment l'exploiter pour modifier le widget en conséquence
Merci
Peut-on récupérer l'info du futur événement de l'agenda ?
Je voudrais récupérer l'information pour modifier un widget sur le ramassage de mes poubelles qui n'est pas toujours avec un passage alterné : jaune-bleue-jaune-bleue
mais qui peut être des fois : bleue bleue bleue jaune
L'info du prochain passage est bien dispo sur le futur événement ,Poubelle bleue mardi 17.09 ...
mais je ne sais pas comment l'exploiter pour modifier le widget en conséquence
Merci
Re: Récupérer le futur évènement
Bonjour
On peut récupérer l'information via un bloc code dans un scénario.
Un exemple pour récupérer les événements et leur date de lancement pour un calendrier d'id 179 :
Reste à utiliser l'information ensuite pour modifier le widget.
On peut récupérer l'information via un bloc code dans un scénario.
Un exemple pour récupérer les événements et leur date de lancement pour un calendrier d'id 179 :
Code : Tout sélectionner
$id_calendar=179;
$events=[];
$calendar=eqLogic::byId($id_calendar);
if(isset($calendar)) {
$events=$calendar->getEvents();
}
if(isset($events) && is_array($events) && count($events)>0) {
foreach ($events as $event) {
$evenement = $event->getName(); // nom de l'evenement
$nextstart=$event->nextOccurrence('start'); // prochain declenchement de l'evenement
$scenario->setLog('Evénement '.$evenement.' programmé le '.$nextstart);
}
}
Re: Récupérer le futur évènement
Impec ; Merci pour l'info
Je me suis donc farci ce qu'est un bloc code.
Effectivement par le biais d'un scénario je retrouve mon info manquante.
==> bien qu'elle ne se trouve pas en 1ere position dans les différents événements à venir.
C'est pas gagné ...
Je me suis donc farci ce qu'est un bloc code.
Effectivement par le biais d'un scénario je retrouve mon info manquante.
==> bien qu'elle ne se trouve pas en 1ere position dans les différents événements à venir.
C'est pas gagné ...
Re: Récupérer le futur évènement
Bonsoir
Beh comme j'avais dit c'est pas gagné ...
voici mon code un peu modifié par rapport à celui de Cruise
et la variable(poubelle) enregistrée est le dernier événement
c-a-d Poubelle Jaune Eté programmé le 2020-06-11 18:00:00 mais ce n'est pas ça que je veux !
Voici le log
Je voudrais récupérer l'info :
Poubelle Bleue Hivers sur la ligne Poubelle Bleue Hivers programmé le 2019-10-28 18:00:00
c-à-d le prochain évènement.
Désolé , ch'suis pas programmeur , c'est du chinois pour moi
Merci d'avance
Beh comme j'avais dit c'est pas gagné ...
voici mon code un peu modifié par rapport à celui de Cruise
et la variable(poubelle) enregistrée est le dernier événement
c-a-d Poubelle Jaune Eté programmé le 2020-06-11 18:00:00 mais ce n'est pas ça que je veux !
Code : Tout sélectionner
$id_calendar=311;
$events=[];
$calendar=eqLogic::byId($id_calendar);
if(isset($calendar)) {
$events=$calendar->getEvents();
}
if(isset($events) && is_array($events) && count($events)>0) {
foreach ($events as $event) {
$scenario->setData(Poubelle,$event->getName());
$evenement = $event->getName(); // nom de l'evenement
$nextstart=$event->nextOccurrence('start'); // prochain declenchement de l'evenement
$scenario->setLog('Evénement '.$evenement.' programmé le '.$nextstart);
}
}
Code : Tout sélectionner
------------------------------------
[2019-10-24 19:11:48][SCENARIO] Start : Scenario lance manuellement.
[2019-10-24 19:11:48][SCENARIO] Exécution du sous-élément de type [action] : code
[2019-10-24 19:11:48][SCENARIO] Exécution d'un bloc code
[2019-10-24 19:11:49][SCENARIO] Evénement Poubelle Bleue Hivers programmé le 2019-10-28 18:00:00
[2019-10-24 19:11:49][SCENARIO] Evénement Poubelle Jaune Hivers programmé le 2019-10-30 18:00:00
[2019-10-24 19:11:49][SCENARIO] Evénement Poubelle Bleue Eté Mardi programmé le 2020-06-02 18:00:00
[2019-10-24 19:11:49][SCENARIO] Evénement Poubelle Bleue Eté Samedi programmé le 2020-06-06 18:00:00
[2019-10-24 19:11:49][SCENARIO] Evénement Poubelle Jaune Eté programmé le 2020-06-11 18:00:00
[2019-10-24 19:11:49][SCENARIO] Fin correcte du scénario
Poubelle Bleue Hivers sur la ligne Poubelle Bleue Hivers programmé le 2019-10-28 18:00:00
c-à-d le prochain évènement.
Désolé , ch'suis pas programmeur , c'est du chinois pour moi
Merci d'avance
Re: Récupérer le futur évènement
Salut,
Tu peux essayer ça
Code : Tout sélectionner
$id=139; //ID du calendrier
$event_names= ["Poubelle Bleue Hivers"];//Noms des événements séparés par des virgules
$events=[];
$calendar=eqLogic::byId($id);
$scenario->setLog("id :".$id);
if(isset($calendar)) {
$events=$calendar->getEvents();
}
if(isset($events) && is_array($events) && count($events)>0) {
foreach ($events as $event) {
foreach ($event_names as $event_name) {
if($event->getName() == $event_name)
{
$EvtName=str_replace(" ","_",$event->getName());
$nextstart=$event->nextOccurrence('start');
$nextend=$event->nextOccurrence('end');
$scenario->setLog("Check ID=".$event->getID()." : ".$EvtName);
$scenario->setData($EvtName."_start", "");
$scenario->setData($EvtName."_stop", "");
if(isset($nextend))
{
$nextstart=(isset($nextstart)) ? $nextstart : "En cours";
$scenario->setData($EvtName."_start", $nextstart);
$scenario->setData($EvtName."_stop", $nextend);
$scenario->setLog("Next : ".$EvtName." ".$nextstart." to ".$nextend);
unset($event_names[array_search($event_name,$event_names)]);
}
break ;
}
}
}
}
Pi4/4Go +SSD 32Go (Wifi et bluetooth actifs) + Clé USB Z-Wave Everspring + rfxcom (RTS) + Google Home
7 Danfoss LC-13
2 velux module DIO
7 volets RTS
3 Sonoff
IFTTT
Capteur porte, de présence, et prise intelligente...
7 Danfoss LC-13
2 velux module DIO
7 volets RTS
3 Sonoff
IFTTT
Capteur porte, de présence, et prise intelligente...
Re: Récupérer le futur évènement
Pour l'affichage dans l’ordre d'arrivée des événements, le widget fait déjà le boulot. Donc je vois pas trop quel est ton besoin (le moyen de le faire est à déterminer et ça veut peu-être dire que le meilleur moyen c'est pas du code)
Pour les autres événements (jaune etc), regarde le 1er commentaire :
Code : Tout sélectionner
$event_names= ["Poubelle Bleue Hivers"];//Noms des événements séparés par des virgules
Maintenant pour aller juste un peu plus loin, comme tu vas avoir les dates et heures dans 4 variables, tu vas pouvoir comparer la plus proche dans un virtuel info par exemple :
Code : Tout sélectionner
strtotime(variable(Poubelle_Bleue_Hivers_start))
Pi4/4Go +SSD 32Go (Wifi et bluetooth actifs) + Clé USB Z-Wave Everspring + rfxcom (RTS) + Google Home
7 Danfoss LC-13
2 velux module DIO
7 volets RTS
3 Sonoff
IFTTT
Capteur porte, de présence, et prise intelligente...
7 Danfoss LC-13
2 velux module DIO
7 volets RTS
3 Sonoff
IFTTT
Capteur porte, de présence, et prise intelligente...
Re: Récupérer le futur évènement
Bon j'avais un peu de temps ce matin ... j'ai testé rapidement
Il faut corriger les 2 noms d’événements
Il faut corriger les 2 noms d’événements
Code : Tout sélectionner
$id=139; //ID du calendrier
$event_names= ["Poubelle verte","Poubelle jaune"];//Noms des événements séparés par des virgules
$events=[];
$calendar=eqLogic::byId($id);
$scenario->setLog("id :".$id);
if(isset($calendar)) {
$events=$calendar->getEvents();
}
$firstdate="";
$firstevent="";
if(isset($events) && is_array($events) && count($events)>0) {
foreach ($events as $event) {
foreach ($event_names as $event_name) {
if($event->getName() == $event_name)
{
$nextstart=$event->nextOccurrence('start');
$scenario->setLog("Check ID=".$event->getID()." : ".$event_name." le ".$nextstart);
if(strtotime($nextstart) <= strtotime($firstdate) || $firstdate == "")
{
$firstdate=$nextstart;
$firstevent=$event_name;
}
break ;
}
}
}
$scenario->setData("Prochain Evenement", $firstevent);
$scenario->setLog("Prochain Evenement : ".$firstevent);
}
Pi4/4Go +SSD 32Go (Wifi et bluetooth actifs) + Clé USB Z-Wave Everspring + rfxcom (RTS) + Google Home
7 Danfoss LC-13
2 velux module DIO
7 volets RTS
3 Sonoff
IFTTT
Capteur porte, de présence, et prise intelligente...
7 Danfoss LC-13
2 velux module DIO
7 volets RTS
3 Sonoff
IFTTT
Capteur porte, de présence, et prise intelligente...
Re: Récupérer le futur évènement
Bonsoir,
Impec ! MERCI
J'ai changé les 2 noms d'évènements , j'ai bien la valeur désirée dans la variable créée.
Le but des variables est de faire changer mon widget "poubelle"
==> le widget du calendrier suffit ,je suis d'accord il affiche en 1er le prochain évènement mais je voulais un widget poubelle en +.
J'arrange mes scénarios et je te tiens informé quand ce sera au tour de l'autre poubelle à être sortie.
Merci encore !
Impec ! MERCI
J'ai changé les 2 noms d'évènements , j'ai bien la valeur désirée dans la variable créée.
Le but des variables est de faire changer mon widget "poubelle"
==> le widget du calendrier suffit ,je suis d'accord il affiche en 1er le prochain évènement mais je voulais un widget poubelle en +.
J'arrange mes scénarios et je te tiens informé quand ce sera au tour de l'autre poubelle à être sortie.
Merci encore !
Qui est en ligne ?
Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité