Problème " This parser can only read from strings or streams. "

Salut à tous,
Alors voilà, je me retrouve avec la fameuse erreur " This parser can only read from strings or streams. "
Avant de me faire massacrer je tiens à préciser que j’ai lu tous les post qui abordent ce soucis et rien n’a résolu mon soucis.
Je cherche à lier un calendrier google. Ce calendrier est fonctionnel et public (car nous sommes 2 à interagir dessus). Pour l’instant je l’ai intégré à mon jeedom via le « iframe » ce qui me permet de le visualiser dans un design.

J’ai essayé plusieurs fois de supprimer/créer l’agenda, résultat identique. Mon onglet « Agenda » reste vide et le widget également, il ne fait pas le lien avec le calendrier.
J’ai vérifié ma connexion, aucune coupure. j’ai testé l’astuce de supprimer la commande refresh, ça ne change rien.
J’ai tenté de régler le CRON ou de le laisser par défaut, ça ne change rien.

Je suis en V4.1.28 sur box Atlas.
Version plugin : 2021-02-05 16:35:46

Mes logs avec plusieurs tests :

[2022-01-15 11:01:19][ERROR] : Erreur exécution de la commande [Maison][Calendrier Google][Refresh] : This parser can only read from strings or streams.
[2022-01-15 11:01:40][ERROR] : Erreur exécution de la commande [Maison][Calendrier Google][Refresh] : This parser can only read from strings or streams.
[2022-01-15 11:01:40][ERROR] : Erreur sur la fonction cron du plugin : This parser can only read from strings or streams.
[2022-01-15 11:02:07][ERROR] : Erreur exécution de la commande [Maison][Calendrier Google][Refresh] : This parser can only read from strings or streams.
[2022-01-15 11:02:07][ERROR] : Erreur sur la fonction cron du plugin : This parser can only read from strings or streams.
[2022-01-15 11:03:30][ERROR] : Erreur exécution de la commande [Maison][Calendrier Google][Refresh] : This parser can only read from strings or streams.
[2022-01-15 11:06:10][ERROR] : Erreur exécution de la commande [Maison][Calendrier Google][Refresh] : This parser can only read from strings or streams.
[2022-01-15 11:13:23][ERROR] : Erreur exécution de la commande [Maison][Calendrier Google][Refresh] : This parser can only read from strings or streams.
[2022-01-15 11:16:09][ERROR] : Erreur exécution de la commande [Maison][Calendrier Google][Refresh] : This parser can only read from strings or streams.
[2022-01-15 11:18:05][ERROR] : Erreur exécution de la commande [Maison][Calendrier Google][Refresh] : This parser can only read from strings or streams.
[2022-01-15 11:20:27][ERROR] : Erreur exécution de la commande [Maison][Calendrier Google][Refresh] : This parser can only read from strings or streams.
[2022-01-15 11:22:16][ERROR] : Erreur exécution de la commande [Aucun][Calendrier google][Refresh] : This parser can only read from strings or streams.
[2022-01-15 11:25:49][ERROR] : Erreur exécution de la commande [Aucun][Calendrier google][Refresh] : This parser can only read from strings or streams.
[2022-01-15 11:26:44][ERROR] : Erreur exécution de la commande [Aucun][Calendrier google][Refresh] : This parser can only read from strings or streams.
[2022-01-15 11:26:44][ERROR] : Erreur sur la fonction cron du plugin : This parser can only read from strings or streams.
[2022-01-15 11:28:07][ERROR] : Erreur exécution de la commande [Aucun][Calendrier google][Refresh] : This parser can only read from strings or streams.
[2022-01-15 11:28:07][ERROR] : Erreur sur la fonction cron du plugin : This parser can only read from strings or streams.
[2022-01-15 11:29:51][ERROR] : Erreur exécution de la commande [Aucun][Calendrier google][Refresh] : This parser can only read from strings or streams.
[2022-01-15 11:30:07][ERROR] : Erreur exécution de la commande [Aucun][Calendrier google][Refresh] : This parser can only read from strings or streams.
[2022-01-15 11:30:07][ERROR] : Erreur sur la fonction cron du plugin : This parser can only read from strings or streams.
[2022-01-15 11:32:07][ERROR] : Erreur exécution de la commande [Aucun][Calendrier google][Refresh] : This parser can only read from strings or streams.
[2022-01-15 11:32:07][ERROR] : Erreur sur la fonction cron du plugin : This parser can only read from strings or streams.
[2022-01-15 11:34:07][ERROR] : Erreur exécution de la commande [Aucun][Calendrier google][Refresh] : This parser can only read from strings or streams.
[2022-01-15 11:34:07][ERROR] : Erreur sur la fonction cron du plugin : This parser can only read from strings or streams.
[2022-01-15 11:36:37][ERROR] : Erreur exécution de la commande [Aucun][Calendrier google][Refresh] : This parser can only read from strings or streams.
[2022-01-15 11:36:37][ERROR] : Erreur sur la fonction cron du plugin : This parser can only read from strings or streams.
[2022-01-15 11:38:08][ERROR] : Erreur exécution de la commande [Aucun][Calendrier google][Refresh] : This parser can only read from strings or streams.
[2022-01-15 11:38:08][ERROR] : Erreur sur la fonction cron du plugin : This parser can only read from strings or streams.
[2022-01-15 11:40:08][ERROR] : Erreur exécution de la commande [Aucun][Calendrier google][Refresh] : This parser can only read from strings or streams.
[2022-01-15 11:40:08][ERROR] : Erreur sur la fonction cron du plugin : This parser can only read from strings or streams.
[2022-01-15 11:42:07][ERROR] : Erreur exécution de la commande [Aucun][Calendrier google][Refresh] : This parser can only read from strings or streams.
[2022-01-15 11:42:07][ERROR] : Erreur sur la fonction cron du plugin : This parser can only read from strings or streams.
[2022-01-15 11:42:14][ERROR] : Erreur exécution de la commande [Aucun][Calendrier google][Refresh] : This parser can only read from strings or streams.
[2022-01-15 11:43:07][DEBUG] : Calendrier google : Cron personnnalisé : * * * * *
[2022-01-15 11:43:40][ERROR] : Erreur exécution de la commande [Aucun][Calendrier google][Refresh] : This parser can only read from strings or streams.
[2022-01-15 11:44:07][ERROR] : Erreur exécution de la commande [Aucun][Calendrier google][Refresh] : This parser can only read from strings or streams.
[2022-01-15 11:44:07][ERROR] : Erreur pour le cron du calendrier : Calendrier google : This parser can only read from strings or streams.
[2022-01-15 11:45:19][ERROR] : Erreur exécution de la commande [Aucun][Calendrier google][Refresh] : This parser can only read from strings or streams.
[2022-01-15 11:45:44][DEBUG] : Calendrier google : cron toutes les minutes
[2022-01-15 11:46:29][ERROR] : Erreur exécution de la commande [Aucun][Calendrier google][Refresh] : This parser can only read from strings or streams.
[2022-01-15 11:46:44][ERROR] : Erreur exécution de la commande [Aucun][Calendrier google][Refresh] : This parser can only read from strings or streams.
[2022-01-15 11:46:44][ERROR] : Erreur sur la fonction cron du plugin : This parser can only read from strings or streams.
[2022-01-15 11:47:07][DEBUG] : Calendrier google : cron toutes les minutes

Photo avec le widget en haut (vide) et le « iframe » de mon calendrier :

Le fameux message d’erreur :

Merci d’avance

Bonsoir, même soucis depuis quelques jours.
Pas encore trouvé de résolution

Mêmes problèmes aucune information scolaire ou féries remonte vide.

je viens de trouver un correctif.
C’est la méthode fopen() avec une URL qui ne fonctionne plus (peut être du au renforcement de la sécurité de Jeedom.

Il faut modifier le fichier plugins/ics/core/class/ics.class.php

Remplacer de la ligne 47 à 49:

$vcalendar = VObject\Reader::read(
				fopen($url,'r')
			);

Par:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$file = curl_exec($ch);
curl_close($ch);
$vcalendar = VObject\Reader::read($file);

Il y a aura peut être une autre méthode maintenant que le problème est localisé

1 « J'aime »

Bonjour,

j’ai le meme soucis + un autre :
la modification de la fonction fopen par curl amène une nouvelle erreur : Erreur exécution de la commande [Calendrier ICS][xxxxxx][Refresh] : End of document reached prematurely

De plus, je constate que la calendrier d’un nouveau calendrier n’est plus possible avec l’erreur : ReferenceError: Can’t find variable: message

Christophe

Bonjour,

J’ai le même souci de la fameuse erreur ”This parser can only read from strings or streams.”
J’ai tenté de changer le code du fichier php mais j’ai maintenant le même souci que reimsois…

J’ai vu qu’une stable doit sortir bientôt pour apporter des correctifs par rapport à la version 4.2 de Jeedom et ses nouvelles sécurités. J’espère que le développeur va inclure la résolution de ce problème car ça me met pas mal dans la purée, nombre de mes automatisations sont basées sur mon calendrier de boulot :grimacing:

Bonjour

Pour moi aussi, problème depuis le passage en 4.2. :cold_sweat:
J’ai essayé de changé le code mais après je n’avais plus rien. J’espère aussi que le dev va pouvoir mettre un correctif rapidement.

même soucis ici. Avez vous réussi à changer le code?
Ce plugin est vraiment génial en plus.

Non pas de mon coté, je vais essayer de voir ce que je peux faire mais je ne suis pas un spécialiste et pour le moment le temps me manque

Bonjour,
non je n’ai pas réussi mais je pense que le soucis vient vraiment de Apple. je rencontre aussi des soucis avec le partage des agenda via l’utilisation de webcal.

A suivre et il est vrai que ce plugins est vraiment pratique.

Salut
Tu penses que cela bien d’apple?

J’ai l’impression que le soucis vient de la librairie sabre

salut,

il y a sans doute un peu des 2 …

  • Apple qui revoit sa sécurité continuellement sans forcement communiquer
  • Jeedom avec MAJ 4.2 + bibliothèques du plugins

Bon les gars j’ai réussi à résoudre mon problème. J’espère que cela pourra vous aider.

Le plugin fonctionne et y a pas de soucis avec Apple.

Ce que j’ai fait c’est que j’ai arrêter de rendre public mon calendrier, puis j’ai remis en public, cela m’a donné une nouvelle adresse de calendrier que j’ai remis dans mon équipement ics et c’est reparti sans problème.

Yes !

Ça a fonctionné pour moi aussi.
Ce qui est étrange c’est que je l’ai fait sur un de mes calendriers et du coup l’autre aussi s’est synchronisé correctement.

Bien joué en tout cas !

1 « J'aime »

Cool pour toi. Je me suis pris la tête a essaye de comprendre le code et trouver une parade alors qu’en fait y avait juste cela a faire :smile:

:sweat_smile: En plus j’ai eu peur de devoir réinviter les gens avec qui je partage mes calendriers mais en fait ça n’a rien à voir, donc top !

1 « J'aime »

Bonjour,

ca fonctionne avec cette méthode. Encore merci.

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.