Page 1 sur 1

Bug du centre d'automatisation

Posté : 25 janvier 2021, 18:50
par Vince329
Bonjour,
J'ai mes règles qui semblent avoir sautée. dans les journaux j'ai ça.

Code : Tout sélectionner

Mon, 19:44:58 : [Information] : #### START ####
Mon, 19:44:59 : [Error] : Traceback (most recent call last):
Mon, 19:44:59 : [Error] :   File "scriptCaller.py", line 13, in <module>
Mon, 19:44:59 : [Error] :     import scriptUtilities
Mon, 19:44:59 : [Error] :   File "/opt/yadoms/scriptInterpreters/yPython27/scriptUtilities.py", line 10, in <module>
Mon, 19:44:59 : [Error] :     import json
Mon, 19:44:59 : [Error] :   File "/usr/lib/python2.7/json/__init__.py", line 108, in <module>
Mon, 19:44:59 : [Error] :     from .decoder import JSONDecoder
Mon, 19:44:59 : [Error] : ValueError: bad marshal data (unknown type code)
Savez vous d'où ça vient? et comment corriger merci.

Re: Bug du centre d'automatisation

Posté : 25 janvier 2021, 20:00
par sgallou
Bonjour,

je n'ai jamais rencontré ce problème, mais il est visiblement connu, voir ce post.
Il semblerait que le fichier .pyc soit corrompu, ou désynchronisé d'avec le .py correspondant.
Un fichier .pyc est la version précompilée du fichier .py. Python crée le fichier .pyc la première fois qu'il utilise un fichier .py. Vous pouvez donc les supprimer sans risque., Python les recréera.

Côté Yadoms, il y en a dans les répertoires :
  • scriptInterpreters/yPython27 (l'API Yadoms)
  • scripts/locals/rule_XXX (1 répertoire par règle)
Mais il se peut que le fichier en cause soit dans le système (le problème provenant de JSONDecoder). Ce post indique où trouver les fichiers sur une raspberry.

Un plan B consisterait à ne pas utiliser les .pyc, en insérant la ligne (voir ce post) :

Code : Tout sélectionner

sys.dont_write_bytecode = True
juste après la ligne

Code : Tout sélectionner

import sys
dans scriptInterpreters/yPython27/scriptCaller.py
(Je n'ai pas testé cette solution)

En espérant que ça résolve votre problème,

Sébastien

Re: Bug du centre d'automatisation

Posté : 27 janvier 2021, 18:14
par Vince329
Super, problème résolu ! :)
Merci Sébastien