Thibautg16 / NetatmoWeatherAppEedomus

Gestion avancée de votre Station météo Netatmo depuis votre box Eedomus.
GNU General Public License v3.0
1 stars 0 forks source link

Script ne fonctionne plus #1

Closed ElYoM closed 5 years ago

ElYoM commented 5 years ago

Hello, depuis quelques jours, le script Netatmo Weather Station ne fonctionne plus, j'ai le message d'erreur suivant (l'adresse MAC est masquée) : ## ERROR : Variable name [last_xml_successxx:xx:xx:xx:xx:xx] must be a string with characters from [a-zA-Z0-9_] J'ai essayé de désinstaller le plugin puis de le réinstaller en ayant supprimé le script sur l'eedomus et en ayant aussi révoquer l'accès depuis les paramètres Netatmo, sans succès.

Le plus bizarre reste que le script officiel Netatmo développé par Connected Object fonctionne lui très bien...

Merci d'avance pour l'aide apportée à la résolution du problème.

Thibautg16 commented 5 years ago

Bonjour,

C'est assez étrange, ça ne semble pas généralisé et je n'ai pas modifié le script depuis un mois.

Tu sais m'envoyer le script netatmo_thermostat_oauth.php présent actuellement sur ta box ?

Cdlt, Thibaut

Thibautg16 commented 5 years ago

Je viens de regarder un peu et il semble que c'est au niveau du script "officiel" que le "device_id" est ajouté à cette variable : saveVariable('last_xml_success_'.$device_id_str, time());

Alors que dans mon script, celui du store je n'ajoute pas le device_id: saveVariable('last_xml_success', time());

Donc je pense que le script qui est actuellement sur ta box n'est pas le bon, actuellement tu ne peux pas utiliser l'application "officiel" et celle qui est dans le store.

Il semble que Eedomus est corrigé le défaut depuis en plus car il supprime les ":" maintenant du device_id:

$device_id = $_GET['device_id'];
$device_id_str = str_replace(':', '', $device_id);

Normalement il te suffit d'initier l'ajout d'une nouvelle application via le store, puis de la supprimer si tu souhaites plutôt garder l'ancienne, pour réinstaller mon script.

Cdlt, Thibaut

ElYoM commented 5 years ago

Hello,

Merci de t'être penché sur le problème. Cependant, je confirme que même en repartant de zéro, c'est-à-dire en supprimant ton script de ma box, ainsi que le script officiel eedomus puis en réinstallant uniquement ton script, je continue d'avoir ce message d'erreur.

Voici le contenu de ma box une fois tout supprimé : eedomus

Et voici le contenu de ma box une fois ton script ajouté : (On y voit bien le script netatmo_oauth.php ajouté dans la box) eedomus2

Et enfin, le détail du script netatmo_oauth.php créé dans ma box après l'ajout de ton plugin. netatmo_oauth.zip

ElYoM commented 5 years ago

Et voilà le résultat quelques minutes après l'installation de ton script. N'hésite pas si tu as besoin d'infos complémentaires. eedomus3

Thibautg16 commented 5 years ago

Merci pour les informations, du coup je comprends bien pourquoi je trouve pas :)

Sur le forum Eedomus, c'est dans le thread "Energy/Thermostat" que vous m'avez remonté le souci, du coup j'ai regardé le script Thermostat moi ....

Je regarde le bon script du coup, ça devrais être plus concluant :)

Thibautg16 commented 5 years ago

@ElYoM : tu sais test avec cette version du script et me dire si cela fixe STP ? https://gist.github.com/Thibautg16/5845334f0f7ff39b08f14f63c83e9f0a

ElYoM commented 5 years ago

Merci pour les informations, du coup je comprends bien pourquoi je trouve pas :)

Sur le forum Eedomus, c'est dans le thread "Energy/Thermostat" que vous m'avez remonté le souci, du coup j'ai regardé le script Thermostat moi ....

Je regarde le bon script du coup, ça devrais être plus concluant :)

Oups, désolé, c'est de ma faute. Moi-même je n'avais pas vu que c'était pas dans le bon forum... Je teste le nouveau script et te fais un retour dès que possible. Merci. ;)

Thibautg16 commented 5 years ago

Pas de soucis. Par contre je viens de corriger le script, c'est le même lien, la version (visible en haut) est v7.1.1.

ElYoM commented 5 years ago

Ok, merci, je teste la 7.1.1 parce que la 7.1 ne fonctionne pas, toujours la même erreur... :/

ElYoM commented 5 years ago

Et bien, il semblerait que la 7.1.1 soit la bonne ! Tout semble fonctionner de nouveau correctement. Du coup, sans trop rentrer dans les détails, tu saurais me dire d'où provenait le dysfonctionnement ? eedomus4

Thibautg16 commented 5 years ago

Un défaut au niveau de la variable "last_xml_success" à laquelle j'ajoute l'id du périphérique pour le rendre unique (si plusieurs applications installées, pour plusieurs stations).

Sauf que visiblement Eedomus ne permet pas (plus) les caractères spéciaux (":"), j’enlève donc simplement les ":" pour générer le nom de la variable maintenant.

v7.1.1 publié sur le store Eedomus.

Merci de la remonté et des informations @ElYoM

ElYoM commented 5 years ago

De rien, merci surtout à toi Thibaultg16 pour les explications et la correction. Ton script est vraiment top. ;)