Bonjour,
Suite à la dernière mise à jour du plugin RFXCOM (25/08), j’ai le message d’erreur suivant :
Au démarrage :
[2020-09-01 09:46:42][DEBUG] : Message received in socket JEEDOM_SOCKET_MESSAGE
[2020-09-01 09:46:42][ERROR] : Error on read socket : the JSON object must be str, not ‹ bytes ›
Puis lors de chaque trame reçue :
[2020-09-01 09:47:03][DEBUG] : unknown device id : F701
Cela semble venir de cette fonction, dans le fichier rfxcomd.py :
message = json.loads(JEEDOM_SOCKET_MESSAGE.get())
Jeedom, le plugin et ses dépendances sont en dernière version.
Quelles sont les autres pré-requis pour que les devices soient à nouveau fonctionnel ?
En effet, il faut être plus précis …
Version Jeedom : 4.0.61
Version Debian : Debian 4.9.110-3+deb9u6 (2018-10-08)
Version RFXCOM : 2020-08-25 01:02:35 (beta)
Par contre, je ne comprend pas pourquoi repasser en stable (Rmq : ça été fait et ça fonctionne).
La logique serait plutôt de comprendre pourquoi en beta, ça ne fonctionne pas et essayer d’identifier l’origine problème, non ?
(en analysant un petit peu dans les fichiers python, on se rend compte que lors d’un passage de paramètre dans un tableau, à la lecture du tableau ça fonctionne plus … )
parce que par définition la version « stable » est « stable » alors que la « beta » peut encore contenir des problèmes, justement la version est en cours de validation…
Et pour ce cas ci, c’est la version de l’os le problème, jessie n’est plus maintenu depuis juin, et donc les dépendances requises plus disponible et/ou plus mise à jour.
Vous allez avoir le problème avec quasi tous les plugins.
Ici, le plugin a probablement été mis à jour pour une nouvelle version de python (d’où le changement de syntaxe) et cette nouvelle version n’est pas disponible sous jessie.
Il faut donc mettre à jour l’os, avec un VM cela va être assez facile: il y a une image officielle disponible ici: Index of /x86-64
Jeedom sera déjà installé, vous n’aurrez plus qu’à restaurer un backup de Jeedom.
Merci pour toutes ces explications …
Mon intension était surtout d’aider afin de partager et trouver une solution pour éviter que d’autres rencontrent le problème (surtout vue l’erreur, assez proche d’un problème de code).
Quoi qu’il en soit, voici ce qui résout mon problème :
modification de la ligne 78 du fichier rfxcomd.py : message = json.loads(str(JEEDOM_SOCKET_MESSAGE.get(), 'utf-8'))
En tout cas, merci pour l’aide, mais je me suis éviter une réinstallation complète pour cette fois (ouff).