Ajout et modification d'évènements à l'agenda

Bonjour,

Je souhaiterai rajouter des évènements à l’agenda et, d’autres, les modifier. Comment puis-je le faire par le biais des scénarios ?

J’ai trouvé ce post mais il répond pas à toutes mes questions et je ne sais pas si il est encore bon. Et, comme déjà dit dans d’autres posts, je préfère pas faire de bétises (surtout que là je vois du SQL…). Scénario - Ajouter un évènement dans Agenda avec un bloc code - #4 par Phpvarious

En attente de vos retours,
Merci d’avance !

https://doc.jeedom.com/fr_FR/plugins/organization/calendar/?theme=light

Bas de page
Un agenda possède plusieurs commandes :

  • En cours : donne la liste des évènements en cours séparés par des virgules. Pour l’utiliser dans un scénario, le plus simple est d’utiliser l’opérateur “contient” (matches) ou “ne contient pas” (not matches) (exemple : [Appartement][test][En cours] matches "/Anniv/" sera vrai si dans la liste des évènements en cours il y a “Anniv”).
  • Ajouter une date : permet, depuis un scénario, d’ajouter une date à un évènement. Vous pouvez ajouter plusieurs dates en les séparant par des virgules (attention si vous changez le nom de l’évènement il faudra le modifier dans le scénario).
  • Retirer une date : permet, depuis un scénario, de retirer une date à un évènement. Vous pouvez retirer plusieurs dates en les séparant par des virgules (attention si vous changez le nom de l’évènement il faudra le modifier dans le scénario).

Pourriez vous nous en dire plus ? Pour faire quoi ? comment ?

J’ai créé un script php qui récupère le calendrier pro. Ce dernier change constamment.
Dans l’un je vais mettre mes horaires d’absence (début embauche - fin embauche), dans un calendrier perso sur jeedom je vais mettre mes taches du boulot.
=> D’où le besoin pour les ajouts

Le caractère changeant fait que les modifications vont être également nécessaires et mon script va donc être enclenché toutes les nuits vers minuit-minuit 5 afin de tout récupérer (et ajouter si absent) mais aussi supprimer si au final l’évènement n’est plus présent et aussi modifier (par exemple le lundi de 10h à 11h je devais faire tache 1, au final c’est tache 2).

Le scénario aura ensuite pour rôle de me prévoir le réveil, le départ le matin en fonction de mon planning mais également des autres membres de la famille (le planning sera plus simple pour eux ^^).

Pour la doc oui, je l’ai vu, d’où le fait que je me sois lancé dans le script pour ensuite l’intégrer directement. Mais je ne retrouve aucune doc sur le rajout/retrait concret dans le scénario. J’ai juste retrouvé le code en lien dans mon premier post. Et on ne parle pas de modification.

c’est presque un plugin synchro-agenda dont vous auriez besoin (et d’autres, je trouve l’idée intéressante).

Je pas encore regardé dsl :slight_smile:
Mais une piste (un peu ancienne) via la création de virtuel pilotable ensuite par scénario
https://www.ladomopratique.com/planification-devenements-jeedom-virtuel-widgets/

Concernant la piste, elle s’est vite refroidie : je ne retrouve aucun de leurs plugins XD. Je pense que c’était sur la v3 de Jeedom (sauf si je fais erreur c’était -déjà?- v3 en 2018) :confused:

===

En testant via l’administrateur, cela fonctionne bien, il faut par contre bien contrôler la requête demandée car elle n’est pas toujours bien écrite (exemple : string datetime noté comme un int).
Par contre, avant d’enclencher tout cela, lorsque l’on modifie directement, est-ce que les commandes en entrée/sortie sont bien traités de manière distincte ? Je m’explique. J’ai une activité en cours, mon script modifie sa date de fin, vais-je bien avoir ma commande de sortie qui va être faite au bon moment sans une autre résiduelle ? Je ne sais pas quand le contrôle se fait à ce niveau là.

C’est un peu l’idée oui, mais mon calendrier de travail est seulement en version html, d’où le script pour récupérer les données et les mettre en forme à souhait.

Pas l’impression d’avoir la possibilité d’éviter les requêtes à la base de données en version « fait maison » :confused: . Je vais me créer quelques classes pour gérer tout ca le plus proprement que je puisse.