Avant toute chose merci de (re)prendre connaissance de la charte et de la respecter.
Pour résumer :
- Avant de poser une question, je cherche si la réponse existe
- Je suis poli, courtois et je respecte tout un chacun sur le forum
- Si un post m'agace : je m'en éloigne plutôt que de répondre d'une façon qui pourrait être mal interprétée


Il n'est jamais du luxe que de rappeler des choses simples :
Courtoisie, amabilité, politesse et bonne humeur sont les maîtres mots pour un forum sympathique, bienveillant et accueillant :)

Le groupe des Helpers est present pour vous aidez, n'hésitez pas à poser des questions ;)

Toute la communauté vous remercie

/!\ L’ancien forum passera en lecture seule en janvier 2020./!\
Merci de vous rendre sur https://community.jeedom.com maintenant pour vos prochains postes ;)

[Plugin Tiers][Sujet Principal] Plugin iCalendar

Pour échanger sur les plugins classés en catégorie "Organisation"
abarrau
Actif
Messages : 977
Inscription : 22 déc. 2014, 13:12

[Plugin Tiers][Sujet Principal] Plugin iCalendar

Message par abarrau » 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.
Dernière édition par abarrau le 16 nov. 2015, 17:07, édité 2 fois.

abarrau
Actif
Messages : 977
Inscription : 22 déc. 2014, 13:12

Re: [Sujet officiel] Plugin iCalendar

Message par abarrau » 16 nov. 2015, 17:04

** Versionning :

Le suivi du changeLog se situe maintenant à l'adresse suivante :
https://github.com/abarrau/jeedom-plugi ... ngelog.txt


** Evolutions prévues :
- amélioration des recherches au niveau de la commande "fonctions" ;
- valider l'execution d'un scénario ;
- définir un offset à l'événement sur heure de début ou de fin ;
- mise en place de la synchro via un daemon ;
- gestion des agendas caldav (avec authentification) ;


** Anos connues :
Dernière édition par abarrau le 19 juin 2017, 23:12, édité 12 fois.

Avatar de l’utilisateur
Masterfion
Actif
Messages : 1589
Inscription : 08 janv. 2015, 11:35
Localisation : Vallauris / Antibes

Re: [Sujet officiel] Plugin iCalendar

Message par Masterfion » 16 nov. 2015, 21:08

Salut Aurélien, j'utilise de nombreux agendas (10)... je vais tous les configurer sur ce nouveau plugin pour essayer de t'aider au mieux.
A suivre :)
Beta-Testeur JEEDOM
Proxmox Core i5 Raid1 mSATA | Synology 916+

Avatar de l’utilisateur
Masterfion
Actif
Messages : 1589
Inscription : 08 janv. 2015, 11:35
Localisation : Vallauris / Antibes

Re: [Sujet officiel] Plugin iCalendar

Message par Masterfion » 16 nov. 2015, 21:28

Et là, c'est le drame !

J'ai configuré 2 agendas (pour commencer) et j'ai ensuite voulu voir le résultat sur le Dashboard.
Impossible d'afficher mon dashboard (t'inquiète, je ne suis pas bloqué) et les logs nginx affichent ceci à chaque chargement du dash :

Code : Tout sélectionner

2015/11/16 21:20:13 [error] 561#0: *16602 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Cannot redeclare class ICal in /usr/share/nginx/www/jeedom/plugins/dayinfo/core/php/class.iCalReader.php on line 23" while reading response header from upstream, client: 192.168.1.11, server: , request: "GET /index.php?v=d&p=dashboard&object_id=14&category=all HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "192.168.1.200", referrer: "http://192.168.1.200/index.php?v=d&p=dashboard"

J'ai supprimé un agenda pour n'en avoir qu'un seul... idem.
Je poursuis mes tests :D
Beta-Testeur JEEDOM
Proxmox Core i5 Raid1 mSATA | Synology 916+

Avatar de l’utilisateur
Darkeyes
Actif
Messages : 1282
Inscription : 02 avr. 2015, 08:37

Re: [Sujet officiel] Plugin iCalendar

Message par Darkeyes » 16 nov. 2015, 21:50

Salut,

ton plugin fait planter le système de mise a jour de jeedom erreur 500.

voici les log ngnix

Code : Tout sélectionner

2015/11/16 21:44:52 [error] 12619#0: *288679 FastCGI sent in stderr: "PHP message: PHP Fatal error:  require_once(): Cannot redeclare class ical in /usr/share/nginx/www/jeedom/plugins/dayinfo/core/class/dayinfo.class.php on line 21" while reading response header from upstream, client: XX.XX.XX.XX, server: , request: "POST /core/ajax/update.ajax.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "XX.XX.XX.XX", referrer: "https://XX.XX.XX.XX/index.php?v=d&p=update"
2015/11/16 21:44:54 [error] 12619#0: *288965 FastCGI sent in stderr: "PHP message: PHP Fatal error:  require_once(): Cannot redeclare class ical in /usr/share/nginx/www/jeedom/plugins/dayinfo/core/class/dayinfo.class.php on line 21" while reading response header from upstream, client: XX.XX.XX.XX, server: , request: "POST /core/ajax/update.ajax.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "XX.XX.XX.XX", referrer: "https://XX.XX.XX.XX/index.php?v=d&p=update"
2015/11/16 21:45:11 [error] 12621#0: *289055 FastCGI sent in stderr: "PHP message: PHP Fatal error:  require_once(): Cannot redeclare class ical in /usr/share/nginx/www/jeedom/plugins/dayinfo/core/class/dayinfo.class.php on line 21" while reading response header from upstream, client: XX.XX.XX.XX, server: , request: "POST /core/ajax/update.ajax.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "XX.XX.XX.XX", referrer: "https://XX.XX.XX.XX/index.php?v=d&p=update"
2015/11/16 21:45:50 [error] 12621#0: *288893 FastCGI sent in stderr: "PHP message: PHP Warning:  rmdir(/tmp/iCalendar/): Directory not empty in /usr/share/nginx/www/jeedom/plugins/iCalendar/plugin_info/install.php on line 60" while reading response header from upstream, client: XX.XX.XX.XX, server: , request: "POST /core/ajax/plugin.ajax.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "XX.XX.XX.XX", referrer: "https://XX.XX.XX.XX/index.php?v=d&p=plugin"
la dernière ligne correspond a la suppression du plugin.
Après suppression le contrôle des mise a jour refonctionne
Développement script:
- ssh_commande.php
- ip_public.sh
- BackupSamba.sh

Avatar de l’utilisateur
Masterfion
Actif
Messages : 1589
Inscription : 08 janv. 2015, 11:35
Localisation : Vallauris / Antibes

Re: [Sujet officiel] Plugin iCalendar

Message par Masterfion » 16 nov. 2015, 21:53

Je confirme, erreur 500 ici aussi.
Pffff, ça va te mettre la pression ça :)

T'inquiète, tu vas trouver.
Beta-Testeur JEEDOM
Proxmox Core i5 Raid1 mSATA | Synology 916+

abarrau
Actif
Messages : 977
Inscription : 22 déc. 2014, 13:12

Re: [Sujet officiel] Plugin iCalendar

Message par abarrau » 16 nov. 2015, 21:55

Bon j'ai un problème de dépendance avec le plugin "Info du jour" ...
Nous en avions parlé avec @lunarok de cette possibilité, il faut que l'on regarde ce que l'on peut faire (on utilise la même class pour traiter les fichier ics)

abarrau
Actif
Messages : 977
Inscription : 22 déc. 2014, 13:12

Re: [Sujet officiel] Plugin iCalendar

Message par abarrau » 16 nov. 2015, 21:57

@Darkeyes ce n'est pas la dernière ligne qui pose problème .. ce n'est qu'un warning ...
ceux sont les lignes précédentes qui où là nous sommes en "fatal error"

Avatar de l’utilisateur
Darkeyes
Actif
Messages : 1282
Inscription : 02 avr. 2015, 08:37

Re: [Sujet officiel] Plugin iCalendar

Message par Darkeyes » 16 nov. 2015, 21:59

Je serai intéressé de pouvoir utiliser caldav, j'ai notamment mes agendas auto-hébergé avec baikal, fonctionne parfaitement.
Mais pas moyen de m'en servir sous jeedom :(

Toujours partant pour aider a débugger et beta tester :D

Effectivement, il manque un plugin assez large pour être compatible avec plusieurs plate formes
Développement script:
- ssh_commande.php
- ip_public.sh
- BackupSamba.sh

abarrau
Actif
Messages : 977
Inscription : 22 déc. 2014, 13:12

Re: [Sujet officiel] Plugin iCalendar

Message par abarrau » 16 nov. 2015, 22:20

@sarakha63, ok merci pour l'info .. je vais regarder ce point.
@lunarok, pourras-tu voir pour mettre le if aussi au niveau de ton plugin également ?
En attendant, je vais changer le nom de la class pour permettre à tout le monde de l'utiliser rapidement ...

Edit: je vais rajouter ce bout de code quand ça sera bon sur le tien aussi :

Code : Tout sélectionner

if (!class_exists('iCalReader')) {
	include_file('3rdparty', 'class.iCalReader', 'php', 'iCalendar');
}
Pour tout le monde, je viens de mettre le plugin en privé .. pour éviter le téléchargement d'une version posant problème !
Je vous tiens au courant rapidement.
Merci et désolé pour ce problème ...
Dernière édition par abarrau le 16 nov. 2015, 22:34, édité 1 fois.

Avatar de l’utilisateur
lunarok
Actif
Messages : 6656
Inscription : 08 août 2014, 12:48
Localisation : Anjou

Re: [Sujet officiel] Plugin iCalendar

Message par lunarok » 16 nov. 2015, 22:34

Je viens de pousser au market
Mon Blog | Xiaomi Home
Pour contribuer au développement des plugins (don ou achat de matériel) : Paypal
Aides nous à t'aider : les logs, détails du soucis, la doc, recherche sur le forum ...
PS : pas de support par MP, je ne répondrais pas

Avatar de l’utilisateur
SBO
Actif
Messages : 1370
Inscription : 17 sept. 2014, 18:31

Re: [Sujet officiel] Plugin iCalendar

Message par SBO » 16 nov. 2015, 23:02

Merci @abarrau je viens de tester avec un calendar Google pas de problème.

Par contre penses tu intégrer le caldav avec authentification ?

Stéphane
Ex-Bêta-Testeur | Jeedom | VM Debian 9

Pas de logs, pas d'infos, pas de réponse possible

Charte du forum | Doc jeedom | Trucs et astuces

abarrau
Actif
Messages : 977
Inscription : 22 déc. 2014, 13:12

Re: [Sujet officiel] Plugin iCalendar

Message par abarrau » 16 nov. 2015, 23:54

Bon je viens de remettre une nouvelle version (0.0.2) en ligne corrigeant le problème de class commune avec le plugin "infos du jour" (merci Lunarok) pour ta rapidité.
>> pensez donc à mettre à jour vote plugin "info du jour" avant d'utiliser ce plugin.
J'attend vos retours.

abarrau
Actif
Messages : 977
Inscription : 22 déc. 2014, 13:12

Re: [Sujet officiel] Plugin iCalendar

Message par abarrau » 17 nov. 2015, 00:04

SBO a écrit : Par contre penses tu intégrer le caldav avec authentification ?
@SBO, peux-tu me dire où trouver un calendrier caldav pour faire des tests ?

Avatar de l’utilisateur
oviri
Timide
Messages : 80
Inscription : 10 févr. 2015, 02:59
Localisation : Tahaa

Re: [Sujet officiel] Plugin iCalendar

Message par oviri » 17 nov. 2015, 06:36

abarrau, je pense que tu as eu raison de te méfier du timezone, je crois que j'ai un soucis avec.

Pour un événement iCalTest planifié aujourd'hui le 16 à 19h20, dans le .ics il est décalé de +10h (DTSTART:20151117T052000Z ; si je comprends bien 5h20 demain matin)

rappel : mon TZ est GMT-10

je te met un peut plus du .ics :

Code : Tout sélectionner

BEGIN:VCALENDAR
PRODID:-//Google Inc//Google Calendar 70.9054//EN
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALNAME:Jeedom
X-WR-TIMEZONE:Pacific/Tahiti
X-WR-CALDESC:
BEGIN:VEVENT
DTSTART:20151117T052000Z
DTEND:20151117T052100Z
DTSTAMP:20151117T051819Z
UID:ouneldatf9nb0fk7tc4h8axljo@google.com
CLASS:PUBLIC
CREATED:20151116T214300Z
DESCRIPTION:
LAST-MODIFIED:20151117T051742Z
LOCATION:
SEQUENCE:18
STATUS:CONFIRMED
SUMMARY:iCalTest
TRANSP:OPAQUE
END:VEVENT
edit : dans jeedom le scénario que doit lancer l’événement n'est bien entendus pas lancé

Avatar de l’utilisateur
Darkeyes
Actif
Messages : 1282
Inscription : 02 avr. 2015, 08:37

Re: [Sujet officiel] Plugin iCalendar

Message par Darkeyes » 17 nov. 2015, 06:50

abarrau a écrit :
SBO a écrit : Par contre penses tu intégrer le caldav avec authentification ?
@SBO, peux-tu me dire où trouver un calendrier caldav pour faire des tests ?
Salut
Je peux te créer un compte sur mon Baïkal avec un calendrier ou 2 et t'envoyer les infos par MP si tu veux :) y a pas de problème si ça permet d'intégrer caldav avec auth
Développement script:
- ssh_commande.php
- ip_public.sh
- BackupSamba.sh

abarrau
Actif
Messages : 977
Inscription : 22 déc. 2014, 13:12

Re: [Sujet officiel] Plugin iCalendar

Message par abarrau » 17 nov. 2015, 07:49

@Darkeyes, oui je veux bien merci ... mais je promet pas de regarder dans les jours qui viennent .. on verra !

@Oviri, peux-tu m'extraire la partie "BEGIN:STANDARD" de la partie "TIMEZONE" afin que je vérifie ce que tu as de configuré ?
J'ai mis en place un offset des dates grace à cette infomation, mais si elle n'y ai pas, je ne pourrais malheureusement pas savoir de combien je dois décaler (ou alors en utilisant ce qui est paramétré dans jeedom ... mais c'est dommage que l'information soit pas systématique dans le flux ics).
Chez moi pour un même calendrier, j'ai des date/heure correctement renseigné et d'autres en GMT .. incompréhensible ... la différence est que ceux en heure GMT se termine par un Z. ... je peux donc agir grace à ça ... mais il faut que je sache de combien je dois faire le delta.

abarrau
Actif
Messages : 977
Inscription : 22 déc. 2014, 13:12

Re: [Sujet officiel] Plugin iCalendar

Message par abarrau » 17 nov. 2015, 07:50

PS : la notion privé est enlevé du plugin, vous permettant de mettre à jour pour ceux qui avait un problème ...

Avatar de l’utilisateur
Darkeyes
Actif
Messages : 1282
Inscription : 02 avr. 2015, 08:37

Re: [Sujet officiel] Plugin iCalendar

Message par Darkeyes » 17 nov. 2015, 08:10

abarrau a écrit :@Darkeyes, oui je veux bien merci ... mais je promet pas de regarder dans les jours qui viennent .. on verra !
Pas de problème je t’envoie ça ce soir.

J’avoue utiliser baikal depuis plusieurs années, pour mes calendriers et contact et c'est vraiment super stable et légé, il utilise la lib SabreDAV.

Je suis patient, j’attends depuis plusieurs mois déjà cette possibilité, je peux encore patienter ;)
Développement script:
- ssh_commande.php
- ip_public.sh
- BackupSamba.sh

Avatar de l’utilisateur
lunarok
Actif
Messages : 6656
Inscription : 08 août 2014, 12:48
Localisation : Anjou

Re: [Sujet officiel] Plugin iCalendar

Message par lunarok » 17 nov. 2015, 08:12

@Darkeyes : Baïkal propose pas un lien ical ? Sabredav l'a et c'est ce que propose owncloud. En général le ical reste le format de partage sans accès

Envoyé de mon A0001 en utilisant Tapatalk
Mon Blog | Xiaomi Home
Pour contribuer au développement des plugins (don ou achat de matériel) : Paypal
Aides nous à t'aider : les logs, détails du soucis, la doc, recherche sur le forum ...
PS : pas de support par MP, je ne répondrais pas

Répondre

Revenir vers « [Catégorie] Organisation »

Qui est en ligne ?

Utilisateurs parcourant ce forum : gcherel, Woualy et 1 invité