Probleme expiration token chaque semaine accès refusé

J’ai basculé en beta (la dernière d’aujourd’hui) et j’ai encore ce message :

Erreur sur la fonction cron5 du plugin : Call to a member function getValue() on null

Voici un bout de log :

[2020-12-07 17:40:06][DEBUG] : GetGuzzleHd:: netatmocomci_csrf_cookie_na:GuzzleHttp\Cookie\SetCookie::__set_state(array(    'data' =>    array (     'Name' => 'netatmocomci_csrf_cookie_na',     'Value' => 'dffe2619fb703ee560cd0306e20844a1',     'Domain' => '.netatmo.com',     'Path' => '/',     'Max-Age' => '43200',     'Expires' => 1607402108,     'Secure' => true,     'Discard' => false,     'HttpOnly' => true,   ), ))
[2020-12-07 17:40:06][DEBUG] : GetGuzzleHd:: netatmocomci_csrf_cookie_na:'Tuesday 8th of December 2020 05:35:08 AM / Monday 7th of December 2020 07:35:08 PM'
[2020-12-07 17:40:06][DEBUG] : synchronize:: guzzle:GuzzleHttp\Client::__set_state(array(    'config' =>    array (     'cookies' =>      GuzzleHttp\Cookie\FileCookieJar::__set_state(array(        'filename' => '/tmp/jeedom/netatmopro/b27536f76a9d4d240a34dbd84bc85085',        'storeSessionCookies' => true,        'cookies' =>        array (         0 =>          GuzzleHttp\Cookie\SetCookie::__set_state(array(            'data' =>            array (             'Name' => 'netatmocomci_csrf_cookie_na',             'Value' => 'dffe2619fb703ee560cd0306e20844a1',             'Domain' => '.netatmo.com',             'Path' => '/',             'Max-Age' => '43200',             'Expires' => 1607402108,             'Secure' => true,             'Discard' => false,             'HttpOnly' => true,           ),         )),       ),        'strictMode' => NULL,     )),     'handler' =>      GuzzleHttp\HandlerStack::__set_state(array(        'handler' =>        Closure::__set_state(array(       )),        'stack' =>        array (         0 =>          array (           0 =>            Closure::__set_state(array(           )),           1 => 'http_errors',         ),         1 =>          array (           0 =>            Closure::__set_state(array(           )),           1 => 'allow_redirects',         ),         2 =>          array (           0 =>            Closure::__set_state(array(           )),           1 => 'cookies',         ),         3 =>          array (           0 =>            Closure::__set_state(array(           )),           1 => 'prepare_body',         ),       ),        'cached' => NULL,     )),     'allow_redirects' =>      array (       'max' => 5,       'protocols' =>        array (         0 => 'http',         1 => 'https',       ),       'strict' => false,       'referer' => false,       'track_redirects' => false,     ),     'http_errors' => true,     'decode_content' => true,     'verify' => true,     'headers' =>      array (       'User-Agent' => 'GuzzleHttp/6.3.3 curl/7.64.0 PHP/7.3.19-1~deb10u1',     ),   ), ))
[2020-12-07 17:40:06][DEBUG] : synchronize:: jar:GuzzleHttp\Cookie\FileCookieJar::__set_state(array(    'filename' => '/tmp/jeedom/netatmopro/b27536f76a9d4d240a34dbd84bc85081',    'storeSessionCookies' => true,    'cookies' =>    array (     0 =>      GuzzleHttp\Cookie\SetCookie::__set_state(array(        'data' =>        array (         'Name' => 'netatmocomci_csrf_cookie_na',         'Value' => 'dffe2619fb703ee560cd0306e20844a2',         'Domain' => '.netatmo.com',         'Path' => '/',         'Max-Age' => '43200',         'Expires' => 1607402108,         'Secure' => true,         'Discard' => false,         'HttpOnly' => true,       ),     )),   ),    'strictMode' => NULL, ))
[2020-12-07 17:40:06][DEBUG] : synchronize:: uri:'https://app.netatmo.net/api/gethomedata'
[2020-12-07 17:40:06][ERROR] : Erreur sur la fonction cron5 du plugin : Call to a member function getValue() on null
[2020-12-07 17:41:02][DEBUG] : cron:: refresh:''

Peux-tu me donner le log complet stp et m’indiquer l’heure à laquelle tu as fait la mise à jour du plugin ?
Tu peux m’envoyer ces informations en MP.

Si le cookie était HS avant la mise à jour du plugin, il ne sera renouvelé qu’après son expiration ce qui peut expliquer pourquoi tu as toujours ce log…
Le plus simple à mon avis est de supprimer le cookie après chaque mise à jour.
Merci pour ce retour en tous les cas

J’ai renommé le cookie pour le forcer a recréer. Ce qu’il a fait.
Ca semble mieux…je vais attendre quelques heures pour confirmer.
Mais deja le cookie est beaucoup plus grand en terme de contenu que le précédent.

1 « J'aime »

Bonjour,

J’ai encore des messages de ce type :

Erreur sur la fonction cron5 du plugin : Call to a member function getValue() on null

et aussi

Erreur exécution de la commande [Camera][Portail][Surveillance (OnOff)] : Client error: `GET https://prodvpn-eu-1.netatmo.net/restricted/10.255.61.89/f05a465092f655c120e850bc79a9a46a/MTYwNzM5NjQwMDoDyPywKbI_OeXRWUYmzqEuQ4_V-w,,/command/changestatus?status=on` resulted in a `409 Conflict` response: {"error":{"code":7,"message":"Already on"}}

Mais je suppose que c’est parce que j’essaye de passer une commande qui a deja la valeur On

Je t’envoi les logs en PM

Merci pour ce retour très instructif (surtout les logs en mode DEBUG) qui m’a permis de voir que ma gestion d’erreur était incorrecte dans le cas d’une erreur 500 lors de la connexion Web.
Une nouvelle beta sera disponible cette après-midi avec une correction.

Pour ton deuxième point, je n’ai pas encore géré les erreurs lors de l’exécution de commande (seulement la synchronisation par la cron).
C’est dans ma TODO :wink:

1 « J'aime »

Bonjour,
@thanaus j’ai les mêmes messages de problème cron.
Je viens d’installer la v7 et toujours pareil.

[2020-12-08 11:30:12][DEBUG] : synchronize:: webhook:'http:'
[2020-12-08 11:30:12][ERROR] : cron5:: ex:'Netatmo\\Exceptions\\NAApiErrorType - Netatmo\\Exceptions\\NAApiErrorType - 36 - Url is considered unsafe.'
[2020-12-08 11:30:12][ERROR] : Erreur sur la fonction cron5 du plugin : Url is considered unsafe.
[2020-12-08 11:31:06][DEBUG] : cron:: refresh:''

A suivre…
PS: Je peux te faire message privé, j’ai un soucis avec une commande pour un widget

Ton URL externe n’est pas défini donc pose problème pour le webhook afin de recevoir des notifications des serveurs Netatmo.
J’ai depuis longtemps la tâche de mettre un garde-fou quand l’URL n’est pas défini ou qu’un autre port que 80/443 est défini mais je crois que je vais devoir le faire de suite :wink:

Effectivement, je n’est par l’URL externe de configuré et je n’utilise pas les ports WEB standard, j’utilise un routage pour accéder à mon Docker Jeedom.
:+1:

1 « J'aime »

Pour info également :wink:

2020-12-08 12:30:31	netatmopro	Erreur sur la fonction cron5 du plugin : Call to a member function getValue() on null		23
2020-12-08 10:35:10	netatmopro	cron5:: ex:'GuzzleHttp\\Exception\\ServerException - GuzzleHttp\\Exception\\ServerException - 500 - Server error: `GET https://my.netatmo.com` resulted in a `500 Internal Server Error` response: Error		
2020-12-08 10:35:10	netatmopro	Erreur sur la fonction cron5 du plugin : Server error: `GET https://my.netatmo.com` resulted in a `500 Internal Server Error` response: Error

Je testerai à nouveau après ta correction !
Merci de ta réactivité en tout cas :slight_smile:

@mguyard : je t’ai envoyé en MP un fichier avec une correction. Tu as pu l’installer ?

Bonjour,
@thanaus depuis l’installation de la béta v7 je n’ai plus de connexion…
J’ai réinstallé la 6, tout est OK

Tout simplement que les erreurs n’étaient simplement pas visible… mais tu avais quand même un problème d’URL pour le webhook.
Merci de corriger ton URL externe et utiliser soit le port 80, soit le port 443

Bnojur Thanaus, bonjour à Tous,

globalement c’est beaucoup plus stable depuis les corrections apportées : grand Merci!

je rencontre l’erreur suivante pour info mais pour l’instant qu’une seule fois :

cron5:: ex:'GuzzleHttp\\Exception\\ServerException - GuzzleHttp\\Exception\\ServerException - 502 - Server error: `POST https://app.netatmo.net/api/gethomedata` resulted in a `502 Bad Gateway` response: 502 Bad Gateway 502 Bad Gateway (truncated...) '

par contre désormais j’ai des erreur lorsque j’applique un parametre et que celui ci 'est déja appliqué :


execute:: ex:'GuzzleHttp\\Exception\\ClientException - 409 - Client error: `GET https://prodvpn-eu-3.netatmo.net/restricted/IP/ID,,/command/changestatus?status=off` resulted in a `409 Conflict` response: {"error":{"code":35,"message":"Already off"}} '

c’est cosmétique mais pollue le journal d’évènement, est il possible d’exclure ces messages du journal d’évènement?

merci à toi,

Salut @yala37
Oui dans la version 7 toutes les exceptions de GuzzleHttp sont actives, ca pollue mais c’est pour le DEBUG, cela n’a pas d’impact sur le bon fonctionnement de module

@yala37 : peux-tu ouvrir un nouveau topic car ce n’est plus un problème de synchronisation (deuxième erreur) mais une gestion d’erreur plus fine.
Je pense que l’on peut tout à fait le gérer plus intelligemment afin de ne pas avoir ce message dans le centre de message.
Ce nouveau topic va me permettre d’avoir un suivi plus précis des erreurs…

En tous les cas, merci pour ton retour

@all : une nouvelle version beta sera disponible en début d’après-midi qui devrait corriger tous les problèmes de synchronisation et problème de cookie.
Je pense avoir géré les différentes erreurs rencontrées lors d’une synchronisation. Si nouvelle erreur, n’hésitez surtout pas à me contacter :wink:

Pour ma part, je n’ai plus aucune erreur de synchronisation depuis 3 jours. Je croise les doigts

[EDIT] : je viens de mettre à jour la version beta sur le market
https://thanaus.github.io/jeedom_docs/plugins/netatmopro/fr_FR/changelog

MERCI pour tous vos retours que ce soit ok ou ko :wink:

@thanaus : sujet créé :

Netatmo Pro : message d'erreur lorsque paramètre déjà appliqué

merci a toi!

Salut @cstan77,

merci pour l’info! a la demande deThanaus j’ai créé tout de même le sujet suivant car il souhaitait tenter de traiter le sujet tt de même :

Netatmo Pro : message d'erreur lorsque paramètre déjà appliqué

de mon côté j’ai géré l’application du paramètre plus intelligemment en testant d’abord son état.

@all : une nouvelle beta sera disponible ce week-end.

Grâce à l’aide de @mguyard et ces nombreux tests, j’ai effectué une refonte de la gestion des erreurs. Il ne devrait plus y avoir de problème lors de la synchronisation.

En tous les cas, grand merci à vous pour m’avoir aider à améliorer l’expérience utilisateur de ce plugin.

1 « J'aime »

Comme prévu, nouvelle version beta disponible :
https://thanaus.github.io/jeedom_docs/plugins/netatmopro/fr_FR/changelog

Merci de vos retours !
Si ok, je demanderai à un modérateur de clôturer ce topic dans quelques jours…

1 « J'aime »