Probleme plugin deconz au reboot

bonjour,

j’ai un soucis avec le plugin deconz. A chaque fois que je reboot ma machine et redemarre donc jeedom le plugin ne fonctionne plus.

Si j’essaye d’allumer une lampe j’ai le message suivant :

[2020-01-14 19:00:25][ERROR] : Erreur exécution de la commande [lumieres][(Z8) lampe ext porche][On 0b] : Erreur lors de la requete : 127.0.0.1:8484/api/E38E993F43/lights/6/state(PUT), data : {"on":true} erreur : 1 => unauthorized user

Et si je redemarre le plugin manuellement tout remarche immédiatement.

J’en déduis que le plugin ne se lance pas correctement au boot mais je ne sais pas pourquoi.

si je passe en mode debug le pluin, le seul probleme que je vois c’est au shutdown :

  File "/var/www/html/plugins/deconz/resources/deconzd/deconzd.py", line 173, in shutdown
    pas
NameError: name 'pas' is not defined

le log complet est le suivant :

2020-01-14 19:05:14.099][DEBUG] : Shutdown
[2020-01-14 19:05:14.099][DEBUG] : Removing PID file /tmp/jeedom/deconz/deamon.pid
[2020-01-14 19:05:14.099][DEBUG] : [Errno 2] No such file or directory: '/tmp/jeedom/deconz/deamon.pid'
Exception ignored in: <module 'threading' from '/usr/lib/python3.6/threading.py'>
Traceback (most recent call last):
  File "/usr/lib/python3.6/threading.py", line 1294, in _shutdown
    t.join()
  File "/usr/lib/python3.6/threading.py", line 1056, in join
    self._wait_for_tstate_lock()
  File "/usr/lib/python3.6/threading.py", line 1072, in _wait_for_tstate_lock
    elif lock.acquire(block, timeout):
  File "/var/www/html/plugins/deconz/resources/deconzd/deconzd.py", line 164, in handler
    shutdown()
  File "/var/www/html/plugins/deconz/resources/deconzd/deconzd.py", line 173, in shutdown
    pas
NameError: name 'pas' is not defined
[2020-01-14 19:06:05][INFO] : Lancement démon deconz : /usr/bin/python3 /var/www/html/plugins/deconz/resources/deconzd/deconzd.py --loglevel debug --socketport 55088 --callback http://127.0.0.1:80/plugins/deconz/core/php/jeeDeconz.php --apikey g0wYr9Mfs62Rip82Pk1O1UrDUY3xJSjh --cycle 0 --pid /tmp/jeedom/deconz/deamon.pid
[2020-01-14 19:06:06.826][INFO] : Start deconzd
[2020-01-14 19:06:06.826][INFO] : Log level : debug
[2020-01-14 19:06:06.826][INFO] : Socket port : 55088
[2020-01-14 19:06:06.826][INFO] : Socket host : localhost
[2020-01-14 19:06:06.826][INFO] : PID file : /tmp/jeedom/deconz/deamon.pid
[2020-01-14 19:06:06.826][INFO] : Apikey : g0wYr9Mfs62Rip82Pk1O1UrDUY3xJSjh
[2020-01-14 19:06:06.826][INFO] : Callback : http://127.0.0.1:80/plugins/deconz/core/php/jeeDeconz.php
[2020-01-14 19:06:06.826][INFO] : Cycle : 0.0
[2020-01-14 19:06:06.826][DEBUG] : Writing PID 1420 to /tmp/jeedom/deconz/deamon.pid
[2020-01-14 19:06:06.827][DEBUG] : Init request module v2.18.4
[2020-01-14 19:06:06.833][DEBUG] : Starting new HTTP connection (1): 127.0.0.1
[2020-01-14 19:06:06.844][DEBUG] : http://127.0.0.1:80 "GET /plugins/deconz/core/php/jeeDeconz.php?apikey=g0wYr9Mfs62Rip82Pk1O1UrDUY3xJSjh HTTP/1.1" 200 0
[2020-01-14 19:06:06.845][DEBUG] : Start listening...
[2020-01-14 19:06:06.846][DEBUG] : Socket interface started
[2020-01-14 19:06:06.847][DEBUG] : LoopNetServer Thread started
[2020-01-14 19:06:06.847][DEBUG] : Listening on: [localhost:55088]
[2020-01-14 19:06:06.848][INFO] : Local DeconZ found
[2020-01-14 19:06:06.848][INFO] : Launching local DeconZ
[2020-01-14 19:06:06.848][INFO] : Log level deconz deamon debug
[2020-01-14 19:06:06.848][INFO] : Opt deconz deamon ['sudo', 'deCONZ', '--auto-connect=1', '--dbg-error=1', '--http-port=8484', '--ws-port=20877', '--upnp=0', '-platform', 'minimal', '--dbg-aps=2', '--dbg-info=2', '--dbg-zcl=2', '--dbg-zdp=2', '--dbg-http=2']
[2020-01-14 19:06:06.851][INFO] : Launched DeconZ with pid 1425
[2020-01-14 19:06:06.851][DEBUG] : Start socket thread
[2020-01-14 19:06:09.803][DEBUG] : Client connected to [127.0.0.1:44022]
[2020-01-14 19:06:09.804][DEBUG] : Message read from socket: b'{"apikey":"g0wYr9Mfs62Rip82Pk1O1UrDUY3xJSjh","cmd":"addgateway","gateways":[{"id":"00212EFFFF050714","name":"cle_conbee2","internalipaddress":"127.0.0.1","internalport":"8484","websocketport":"20877","apikey":"E38E993F43","manageTimeZone":"0"}]}'
[2020-01-14 19:06:09.804][DEBUG] : Client disconnected from [127.0.0.1:44022]
[2020-01-14 19:06:09.807][DEBUG] : Message received in socket JEEDOM_SOCKET_MESSAGE
[2020-01-14 19:06:09.808][DEBUG] : Closing All Websockets
[2020-01-14 19:06:10.809][DEBUG] : Add gateway : cle_conbee2
[2020-01-14 19:06:10.810][DEBUG] : Starting WebSocket for cle_conbee2 on ip 127.0.0.1 and port 20877
[2020-01-14 19:06:19][DEBUG] : 127.0.0.1:8484/api/E38E993F43/sensors type : POST
[2020-01-14 19:06:19][DEBUG] : 127.0.0.1:8484/api/E38E993F43/lights type : POST
[2020-01-14 19:06:53][DEBUG] : Execute commande : lights/6/state whith parameters : {"on":true}
[2020-01-14 19:06:53][DEBUG] : 127.0.0.1:8484/api/E38E993F43/lights/6/state type : PUT
[2020-01-14 19:06:53][ERROR] : Erreur exécution de la commande [lumieres][(Z8) lampe ext porche][On 0b] : Erreur lors de la requete : 127.0.0.1:8484/api/E38E993F43/lights/6/state(PUT), data : {"on":true} erreur : 1 => unauthorized user
[2020-01-14 19:07:37.515][DEBUG] : Received message from gateway 127.0.0.1 : {"e":"changed","id":"1","r":"sensors","state":{"dark":true,"daylight":false,"lastupdated":"2020-01-14T18:07:37","status":230,"sunrise":"2020-01-14T07:08:32","sunset":"2020-01-14T16:26:23"},"t":"event","uniqueid":"00:21:2e:ff:ff:05:07:14-01"}
[2020-01-14 19:07:37.517][DEBUG] : Send to jeedom :  {'00212EFFFF050714': {'e': 'changed', 'id': '1', 'r': 'sensors', 'state': {'dark': True, 'daylight': False, 'lastupdated': '2020-01-14T18:07:37', 'status': 230, 'sunrise': '2020-01-14T07:08:32', 'sunset': '2020-01-14T16:26:23'}, 't': 'event', 'uniqueid': '00:21:2e:ff:ff:05:07:14-01'}}
[2020-01-14 19:07:37.522][DEBUG] : Starting new HTTP connection (1): 127.0.0.1
[2020-01-14 19:07:37][DEBUG] : {"00212EFFFF050714":{"e":"changed","id":"1","r":"sensors","state":{"dark":true,"daylight":false,"lastupdated":"2020-01-14T18:07:37","status":230,"sunrise":"2020-01-14T07:08:32","sunset":"2020-01-14T16:26:23"},"t":"event","uniqueid":"00:21:2e:ff:ff:05:07:14-01"}}
[2020-01-14 19:07:37.531][DEBUG] : http://127.0.0.1:80 "POST /plugins/deconz/core/php/jeeDeconz.php?apikey=g0wYr9Mfs62Rip82Pk1O1UrDUY3xJSjh HTTP/1.1" 200 0

une idée du probleme ?

J’observe le même comportement sur mon installation et il me semble que c’est le fonctionnement standard à ce jour. En effet, à chaque reboot, la clé API est renouvelée et il faut à nouveau manuellement «débloquer» la gateway pour pouvoir récupérer la nouvelle clé depuis jeedom.
Si les développeurs pouvaient automatiser ce process (via HTTP basic authentification par exemple) cela rendrait l’usage du plugin beaucoup plus simple.

De mon coté la clef API est conservée même après un reboot (a chaud ou à froid) de la box Domotique.

Très intéressant. Votre clé est-elle sur la box domotique ou en déporté svp ?

Clef branchée sur la box via un câble USB de 1m pour la déporter en dehors de la baie 19" qui contient la box.
Ma box est un Intel NUC8I7BEH.
Sur une box Raspberry Pi3B+ avec le même montage , la clef fonctionne aussi directement à chaque reboot.

Bonjour,
Même problème pour moi, le demon deconz se bloque au demarrage, mais parfois aussi plante sans raison. le démon reste « au vert » donc ne redémarre pas automatiquement.
Serait il possible de démarrer un démon via un script? Notamment celui ci, mais plus globalement n’importe quel plugin?

Merci.
Djo.

Bonjour, même constat chez moi. Le plugin est au vert mais il ne communique plus avec les objets.
Un redémarrage du plugin est nécessaire.
Cdlt, Olivier.
Edit: la clé est déportée avec un cable usb et branchée sur un rpi 3b+.

Bonjour à tous et pardon tout d’abord pour le « déterrage ».

J’ai le même souci avec mes capteurs Xiaomi et ma clé Conbee II, à chaque redémarrage, mes capteurs deviennent totalement invisibles aux yeux de ma clé. L’heure étant au confinement, j’ai décidé de faire quelques tests et contrairement à vous, je n’arrive pas à rétablir la connexion. Je lis que vous parlez de redémarrer le plugin mais je m’interroge sur la procédure que vous utilisez :relaxed: Vous parlez bien de redémarrer le démon ? Si c’est le cas, j’ai beau l’arrêter et le relancer manuellement, rien n’y fait. Seul moyen pour moi c’est de restaurer un backup en passant par l’interface de la Conbee ; chose qui est faisable en local mais pas à distance (je n’arrive pas à y accéder depuis l’extérieur malgré l’ouverture des ports sur mon routeur). A moins que derrière tout cela, il y ait une subtilité qui m’échappe ?! (ce qui après une semaine d’enfermement est fort probable :crazy_face:).

Un grand merci d’avance pour votre aide et vos conseils éventuels, bon courage à tous et prenez soin de vous,

Amitiés,

6co

1 « J'aime »

Bonjour
Je crois que vous etes sur un des bugs de deconz qui lors d’un redemarrage physique oublie desfois toutes les applications autorisées. C’est connu chez eux mais pour l’instant pas de date de resolution.
La solution lire la doc du plugin pour reautoriser jeedom a se connecter a deconz

C’est normal que au démarrage les capteurs soient invisibles, c’est le fonctionnement du zigbee.
Ils réagissent en cas de changement d’état ? (En fait c’est pour savoir si ils ont déconnectés ou si ils sont juste invisibles)

Bonjour Loïc, merci pour ta réponse. Je vais continuer de faire comme je fais depuis le départ et ré-autoriser après chaque redémarrage. Plus qu’à attendre une résolution côté Deconz :slightly_smiling_face:

Merci encore et belle journée,

6co

Merci pour ton aide Hugo mais à priori le problème ne va pas du fonctionnement du Zigbee mais bel et bien de la Conbee.

Belle journée,

6co

Je vois que je ne suis pas le seul, moi par contre si je redémarre, je dois juste cliquer sur récupérer la clé API et zou, ça fonctionne…
En gros, ma clé API change à chaque reboot ?!

Bonjour @OniZuk4,

De ce que j’ai pu en lire et en comprendre, en effet la clé API change à chaque reboot. Par contre quelle chance tu as de simplement avoir à l’actualiser, c’est moins fastidieux que de devoir refaire toute la procédure d’inclusion :grin:

Les choses évoluent parfois très vite alors wait and see, peut-être que le problème sera résolu rapidement :slightly_smiling_face:

Belle journée,

6co

Salut @tous

J’ai ce problème également, pas encore d’évolution en vue… conbee sont pas pressés arf

3 « J'aime »

J’ai le même soucis, à chaque reboot de ma box, je perds presque tous mes capteurs de mouvement.
C’est carrément relou, surtout que je les ai fixé au plafond et la manière dont je les ai orienté m’empêche d’accéder au petit trou pour les réinitialiser.

Hello,

Je fais un petit up sur ce sujet, pour savoir s’il y a du nouveau.
Merci

Ça existe encore ce bug ?

1 « J'aime »

Bonjour,

Oui je crois, et j’ai tenté de contourner le bug avec ceci mais cela ne fonctionne pas:

deconz::deamon_start();
$scenario->setLog("deconz restarting");

dans un scénario 10 min après le démarrage de jeedom

Mais d’après ce que je lis, leur probleme c’est que la clé API ne fonctionnait plus après un redémarrage de deconz, et qu’ils devaient refaire une manip manuellement.

Ton code ne redémarre que le démon ?