[Plugin Tiers][Sujet Principal] Plugin iCalendar
Publié : 16 nov. 2015, 17:04
Bonjour,
Je viens de mettre en ligne sur le market le plugin "iCalendar".
Préambule:
Tout d'abord, je m'excuse pour cette livraison tardive et "non" complète, mais l'échéance de la fin du fonctionnement du plugin gCalendar (Google Agenda) était trop proche; et je me devais de vous mettre cette version en ligne.
Son fonctionnement :
Le plugin iCalendar, reprend les grandes lignes du plugin gCalendar, mais avec une approche différente.
On n'est plus sur un synchro à la journée avec un flux (période) uniquement orienté à la demande, nous sommes sur la récupération d'un agenda complet et donc plus volumineux à traiter.
Pour ce fait, la fonction "synchro" est traitée indépendamment des taches récurrentes (cron() minute) ; l'intérêt d'avoir une synchro très fréquente n'avait plus d'intérêt et donc le temps minimum entre 2 synchro est porté à 30mins, les autres valeurs restent les mêmes (seul le 15mins disparaît).
Remarque : Du fait que les taches de synchro et ceux du traitement sont asynchrones, ne pas prévoir une tache qui démarre à "heure fixe" et qui corresponde à une heure de synchro.
Exemple : dernière synchro à 11h30, je crée un événement démarrant à 12h à 11h43. lors de la synchro suivante (12h), il se peut qu'elle ne soit pas vue.
en général, les planning sont qd mm prévue à l'avance et l'on ne crée pas des événements dans les 30 mins précédents sont actions.
>> Quoi qu'il en soit, ce fonctionnement va évoluer également dans les futurs version :
- avec "rattrapage" en cas de non déclenchement d'un scénario par exemple ;
- gestion différente de la synchro en mode "daemon" pour ne plus être lié à des heures fixes où bcq d'autres actions se déroulent également au sein de la box ....
Dans cette version (0.0.1), le plugin n'a pas de "widget", mais toutes les fonctionnalités existantes dans la dernière version de gCalendar sont reportées dans iCalendar. Les données s'affichent dans le widget standard de jeedom (données texte brute ; et je l'accorde illisible).
Pour avoir une lecture plus facile, vous pouvez regarder via la bouton "tester" de votre commande agenda.
Pour créer un agenda, mettre l'url privé de Google Agenda au format ICS ; les événements seront alors disponibles au niveau de la commande à la minute suivante.
Vous pouvez alors changer votre commande au sein de scénario si vous l'utiliser en mode "comparaison" ... Pour ceux qui l'utilise en mode "lancement de scénario" aucun changement.
Pour la documentation, se reporter à la doc gCalendar, avant que ne mette à jour celle du plugin iCalendar.
Les tests n'ont été réalisés pour l'instant qu'avec un flux "Google agenda".
Pour ceux qui souhaitent travailler avec des calendriers CalDav, j'attends vos retours ...
Problèmes rencontrés :
J'ai rencontré différents problèmes par rapport au flux xml.
- le contenu : le flux n'est plus orienté période, mais est complet ... (ce qui est mieux, car en cas d'absence internet, tout ce qui récurrent n'a plus besoin d'internet pour fonctionner) ; j'ai déjà parlé ci-dessus de l'implémentation de la synchro
- les dates : certaines dates/heures sont directement à l'heure locale, alors que d'autres sont à l'heure GMT ; il faut donc faire des conversions par rapport au timezone. >> je suis donc intéressé d'avoir des retours par rapport aux personnes en dehors du fuseau "europe".
Le futur :
Cette version est encore "loin" de ce que je voulais sortir et les tests n'ont pas put être poussés à leur maximum (mais comme indiqué, je n'avais plus le temps). J'attends en général 2/3j après une évolution/correction avant de la mettre à dispo ...
Donc pour ce fait, cette 1ère version vous est offerte ; par contre, comme annoncée elle passera payante (2e) à partir de la prochaine version (d'ici le 22/11, j'espère).
Point d'attention :
Le fait d'avoir sortie la récupération du flux et sa mise en forme de la fonction cron() permet de gagner en temps sur cette fonction et donc n'a pas d'impact sur les autres plugins.
Par contre, le traitement de la récupération flux est réalisé sur la fonction cron30(), on peut constater que sur une petite machine (MINI / RPI1), les temps de traitement d'un flux avec 5/6 événements récurrents peuvent atteindre les 40sec.
Merci de votre attention et à bientot pour la v0.0.2.
Je viens de mettre en ligne sur le market le plugin "iCalendar".
Préambule:
Tout d'abord, je m'excuse pour cette livraison tardive et "non" complète, mais l'échéance de la fin du fonctionnement du plugin gCalendar (Google Agenda) était trop proche; et je me devais de vous mettre cette version en ligne.
Son fonctionnement :
Le plugin iCalendar, reprend les grandes lignes du plugin gCalendar, mais avec une approche différente.
On n'est plus sur un synchro à la journée avec un flux (période) uniquement orienté à la demande, nous sommes sur la récupération d'un agenda complet et donc plus volumineux à traiter.
Pour ce fait, la fonction "synchro" est traitée indépendamment des taches récurrentes (cron() minute) ; l'intérêt d'avoir une synchro très fréquente n'avait plus d'intérêt et donc le temps minimum entre 2 synchro est porté à 30mins, les autres valeurs restent les mêmes (seul le 15mins disparaît).
Remarque : Du fait que les taches de synchro et ceux du traitement sont asynchrones, ne pas prévoir une tache qui démarre à "heure fixe" et qui corresponde à une heure de synchro.
Exemple : dernière synchro à 11h30, je crée un événement démarrant à 12h à 11h43. lors de la synchro suivante (12h), il se peut qu'elle ne soit pas vue.
en général, les planning sont qd mm prévue à l'avance et l'on ne crée pas des événements dans les 30 mins précédents sont actions.
>> Quoi qu'il en soit, ce fonctionnement va évoluer également dans les futurs version :
- avec "rattrapage" en cas de non déclenchement d'un scénario par exemple ;
- gestion différente de la synchro en mode "daemon" pour ne plus être lié à des heures fixes où bcq d'autres actions se déroulent également au sein de la box ....
Dans cette version (0.0.1), le plugin n'a pas de "widget", mais toutes les fonctionnalités existantes dans la dernière version de gCalendar sont reportées dans iCalendar. Les données s'affichent dans le widget standard de jeedom (données texte brute ; et je l'accorde illisible).
Pour avoir une lecture plus facile, vous pouvez regarder via la bouton "tester" de votre commande agenda.
Pour créer un agenda, mettre l'url privé de Google Agenda au format ICS ; les événements seront alors disponibles au niveau de la commande à la minute suivante.
Vous pouvez alors changer votre commande au sein de scénario si vous l'utiliser en mode "comparaison" ... Pour ceux qui l'utilise en mode "lancement de scénario" aucun changement.
Pour la documentation, se reporter à la doc gCalendar, avant que ne mette à jour celle du plugin iCalendar.
Les tests n'ont été réalisés pour l'instant qu'avec un flux "Google agenda".
Pour ceux qui souhaitent travailler avec des calendriers CalDav, j'attends vos retours ...
Problèmes rencontrés :
J'ai rencontré différents problèmes par rapport au flux xml.
- le contenu : le flux n'est plus orienté période, mais est complet ... (ce qui est mieux, car en cas d'absence internet, tout ce qui récurrent n'a plus besoin d'internet pour fonctionner) ; j'ai déjà parlé ci-dessus de l'implémentation de la synchro
- les dates : certaines dates/heures sont directement à l'heure locale, alors que d'autres sont à l'heure GMT ; il faut donc faire des conversions par rapport au timezone. >> je suis donc intéressé d'avoir des retours par rapport aux personnes en dehors du fuseau "europe".
Le futur :
Cette version est encore "loin" de ce que je voulais sortir et les tests n'ont pas put être poussés à leur maximum (mais comme indiqué, je n'avais plus le temps). J'attends en général 2/3j après une évolution/correction avant de la mettre à dispo ...
Donc pour ce fait, cette 1ère version vous est offerte ; par contre, comme annoncée elle passera payante (2e) à partir de la prochaine version (d'ici le 22/11, j'espère).
Point d'attention :
Le fait d'avoir sortie la récupération du flux et sa mise en forme de la fonction cron() permet de gagner en temps sur cette fonction et donc n'a pas d'impact sur les autres plugins.
Par contre, le traitement de la récupération flux est réalisé sur la fonction cron30(), on peut constater que sur une petite machine (MINI / RPI1), les temps de traitement d'un flux avec 5/6 événements récurrents peuvent atteindre les 40sec.
Merci de votre attention et à bientot pour la v0.0.2.