PAs d'initialisation du plug-in Zigate en wifi

Ici un forum de discussion sur Zigate , sa mise en place , les plugin , l'utilisation avec Domoticz
FCJean
Messages : 8
Enregistré le : 03 janv. 2018, 16:16
Localisation : Loiret

PAs d'initialisation du plug-in Zigate en wifi

Message par FCJean » 11 janv. 2019, 16:55

Bonjour à tous,

J'ai une version Domoticz beta 3.9206 parfaitement opérationnelle depuis pas mal de temps avec, entre autres, une gateway Xiaomi, avec une dizaine de devices MiHome zigbee (température, interrupteur, wall switchs, prises commandées, ...) fonctionnant parfaitement.

Je viens de recevoir une Zigate wifi (je cherche a étendre la couverture Zigbee (j'ai plus de 300 m2 à couvrir avec des étages et des murs épais) et à dépasser les limites du nombre de devices/gateway Xiaomi (je vais mettre des détecteur d'ouverture à chaque fenêtre).

Malheureusement, après installation du plug-in Domoticz--Zigate (bravo pour ce super boulot et le suivi) j'ai ce message d'erreur dans la log domoticz.

Code : Tout sélectionner

2019-01-11 16:08:29.291 (Zigate) Started.
2019-01-11 16:08:29.365 (Zigate) Initialized version 4.0.6, author 'zaraki673 pipiche38'
2019-01-11 16:08:29.370 (Zigate) Entering work loop.
2019-01-11 16:08:29.370 Error: (Zigate) 'onStart' failed 'AttributeError':''module' object has no attribute 'Status''.
2019-01-11 16:08:29.370 Error: (Zigate) ----> Line 266 in /home/domoticz/plugins/Domoticz-Zigate/plugin.py, function onStart
2019-01-11 16:08:29.370 Error: (Zigate) ----> Line 98 in /home/domoticz/plugins/Domoticz-Zigate/plugin.py, function onStart

2019-01-11 16:08:38.886 Error: (Zigate) 'onHeartbeat' failed 'AttributeError':''NoneType' object has no attribute 'checkTOwaitFor''.
2019-01-11 16:08:38.886 Error: (Zigate) ----> Line 294 in /home/domoticz/plugins/Domoticz-Zigate/plugin.py, function onHeartbeat
2019-01-11 16:08:38.886 Error: (Zigate) ----> Line 243 in /home/domoticz/plugins/Domoticz-Zigate/plugin.py, function onHeartbeat
2019-01-11 16:08:38.886 Error: (Zigate) ----> Line 194 in /home/domoticz/plugins/Domoticz-Zigate/z_heartbeat.py, function processListOfDevices
Il est bien évidemment impossible d'appairer quoique ce soit ....

Ma zigate repond bien sur correctement au ping et lorsque je lui envoie des commandes du genre

Code : Tout sélectionner

echo -ne .\x01\x02\x10\x49\x02\x10\x02\x14\xb0\xff\xfc\xfe\x02\x10\x03. >/tmp/ZiGateSend

après avoir fait

Code : Tout sélectionner

socat -d -d -x pty,raw,echo=0,link=/tmp/ZiGateSend tcp:192.168.0.246:9999
cela répond correctement. Le wifi n'est donc pas en cause.
Je précise que mon Domoticz tourne dans une VM sous Debian et que Python est parfaitement opérationnel j'ai plusieurs scripts python fonctionnels avec DZ. J'ai Python 2.7, 3.4.2 et je viens d'installer 3.5.5. au cas où.

J'ai lu avec attention les 52 pages du premier topic ainsi que les issues du github (j'ai essayé avec les versions stables et beta du plug-in avec le même résultat) et je n'ai pas trouvé de piste pour commencer à investiguer.

J'ai vu que, même si minoritairement, certains d'entre vous utilisent la zigate en wifi et non en USB.
Si quelqu'un a une idée pour savoir pourquoi ces objets ne sont pas initialisés correctement je suis preneur.

Merci beaucoup par avance !
2 instances Domoticz sous Debian dans 2 VMs sous ESXi 6.0 sur Serveur Dell
Gateway Xiaomi, ZiGate
ESP8266 multiples, Shelly
InfluxDB, Grafana (Dans 2 autres VMS)
Frontal HTML5/Javascript
OpenRemote (dans une autre VM) - HomeBridge - IFTTT - Google Home

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


pipiche
Messages : 632
Enregistré le : 04 avr. 2018, 16:16

Re: PAs d'initialisation du plug-in Zigate en wifi

Message par pipiche » 12 janv. 2019, 12:50

Salut,
019-01-11 16:08:29.370 Error: (Zigate) 'onStart' failed 'AttributeError':''module' object has no attribute 'Status''.
2019-01-11 16:08:29.370 Error: (Zigate) ----> Line 266 in /home/domoticz/plugins/Domoticz-Zigate/plugin.py, function onStart
2019-01-11 16:08:29.370 Error: (Zigate) ----> Line 98 in /home/domoticz/plugins/Domoticz-Zigate/plugin.py, function onStart
Cette erreur est bizare, comme un problème d'initialisation du Framework Domoticz.

Peux-tu :
- arreter domoticz
- supprimer le repertoire __pycache__ dans le plugin Zigate
- redemarrer

Est-ce bien toutes les Erreurs ?

FCJean
Messages : 8
Enregistré le : 03 janv. 2018, 16:16
Localisation : Loiret

Re: PAs d'initialisation du plug-in Zigate en wifi

Message par FCJean » 12 janv. 2019, 13:34

Merci beaucoup pour ton aide !
J'ai supprimé le répertoire __pycache__ et relancé domoticz ... et les mêmes erreurs surviennent (oui ce sont les seules et bien évidemment celles liées à la méthode onHeartbeat revient de manière répétitive).
On a aussi le même type d'erreur à la désactivation de la gateway (voir ci-dessous).

Code : Tout sélectionner

2019-01-12 13:17:32.555 (Zigate) Started.
2019-01-12 13:17:33.246 (Zigate) Initialized version 4.0.6, author 'zaraki673 pipiche38'
2019-01-12 13:17:33.249 (Zigate) Entering work loop.
2019-01-12 13:17:33.297 Error: (Zigate) 'onStart' failed 'AttributeError':''module' object has no attribute 'Status''.
2019-01-12 13:17:33.297 Error: (Zigate) ----> Line 266 in /home/domoticz/plugins/Domoticz-Zigate/plugin.py, function onStart
2019-01-12 13:17:33.297 Error: (Zigate) ----> Line 98 in /home/domoticz/plugins/Domoticz-Zigate/plugin.py, function onStart
2019-01-12 13:17:42.765 Error: (Zigate) 'onHeartbeat' failed 'AttributeError':''NoneType' object has no attribute 'checkTOwaitFor''.
2019-01-12 13:17:42.765 Error: (Zigate) ----> Line 294 in /home/domoticz/plugins/Domoticz-Zigate/plugin.py, function onHeartbeat
2019-01-12 13:17:42.765 Error: (Zigate) ----> Line 243 in /home/domoticz/plugins/Domoticz-Zigate/plugin.py, function onHeartbeat
2019-01-12 13:17:42.765 Error: (Zigate) ----> Line 194 in /home/domoticz/plugins/Domoticz-Zigate/z_heartbeat.py, function processListOfDevices
2019-01-12 13:17:52.783 Error: (Zigate) 'onHeartbeat' failed 'AttributeError':''NoneType' object has no attribute 'sendData''.
2019-01-12 13:17:52.783 Error: (Zigate) ----> Line 294 in /home/domoticz/plugins/Domoticz-Zigate/plugin.py, function onHeartbeat
2019-01-12 13:17:52.783 Error: (Zigate) ----> Line 234 in /home/domoticz/plugins/Domoticz-Zigate/plugin.py, function onHeartbeat
2019-01-12 13:17:52.783 Error: (Zigate) ----> Line 99 in /home/domoticz/plugins/Domoticz-Zigate/z_output.py, function sendZigateCmd
2019-01-12 13:18:02.569 (Zigate) Stop directive received.
2019-01-12 13:18:02.605 Error: (Zigate) 'onStop' failed 'AttributeError':''module' object has no attribute 'Status''.
2019-01-12 13:18:02.605 Error: (Zigate) ----> Line 270 in /home/domoticz/plugins/Domoticz-Zigate/plugin.py, function onStop
2019-01-12 13:18:02.605 Error: (Zigate) ----> Line 169 in /home/domoticz/plugins/Domoticz-Zigate/plugin.py, function onStop
2019-01-12 13:18:02.669 (Zigate) Stopping threads.
2019-01-12 13:18:02.755 (Zigate) Exiting work loop.
2019-01-12 13:18:02.755 (Zigate) Stopped.

Ce qui est bizarre (et l'erreur vient peut-être de là ) c'est que le répertoire __pycache__ se crée avec le user root (et non domoticz comme tous les autres)

Code : Tout sélectionner

-rw-r--r-- 1 domoticz domoticz  5087 janv.  3 10:26 Compatible-Hardware.md
-rw-r--r-- 1 domoticz domoticz  4812 janv.  3 10:26 DeviceConf.txt
-rw-r--r-- 1 domoticz domoticz     2 janv. 15  2018 DeviceList.txt
drwxr-xr-x 8 domoticz domoticz  4096 janv. 11 10:25 .git
-rw-r--r-- 1 domoticz domoticz    65 janv.  3 10:26 .gitattributes
drwxr-xr-x 3 domoticz domoticz  4096 janv.  3 10:26 .github
drwxr-xr-x 2 domoticz domoticz  4096 janv.  3 10:26 images
-rw-r--r-- 1 domoticz domoticz 35144 janv.  3 10:26 LICENSE.txt
-rw-r--r-- 1 domoticz domoticz   168 janv.  3 10:26 MANIFEST.in
-rw-r--r-- 1 domoticz domoticz    99 janv.  3 10:26 PluginConf.txt
-rwxr-xr-x 1 domoticz domoticz 12463 janv. 11 09:46 plugin.py
drwxr-x--- 2 root     root      4096 janv. 12 13:17 __pycache__
-rw-r--r-- 1 domoticz domoticz   234 janv.  3 10:26 readme.md
-rw-r--r-- 1 domoticz domoticz  7446 janv. 11 09:46 ReleaseNotes.md
drwxr-xr-x 2 domoticz domoticz  4096 janv.  3 10:26 Tools
-rw-r--r-- 1 domoticz domoticz  2296 janv.  3 10:26 Upgrade-IEEE.md
Domoticz tourne sous le user domoticz et il n'y a pas eu de su root (je suis sous debian donc pas de sudo ...) pendant le processus de création du device gateway zigate.
On dirait qu'il ne trouve pas les fichiers DeviceConf.txt, DeviceList.txt (qui est réduit à {} n'ayant rien pu appairer) et PluginConf.txt. Il y a une variable d'environnement à positionner quelque part ?
Je ne suis pas sur un Raspberry pi ... il n'y aurait pas un pathname en dur qui référencerait un répertoire spécifique au pi ? (je ne pense pas au vu de la qualité du code, mais on ne sait jamais).
Je vais essayer de regarder le code du plug-in ... mais python est loin d'être ma spécialité !
Par ailleurs, si j'ai bien du python3.x (x=4 et 5) j'ai aussi du python 2.7 (un python -V retourne Python 2.7.9) il faut peut-être forcer l'emploi de python 3.5 ? Si oui ... comment ?

Merci encore pour ton aide !
2 instances Domoticz sous Debian dans 2 VMs sous ESXi 6.0 sur Serveur Dell
Gateway Xiaomi, ZiGate
ESP8266 multiples, Shelly
InfluxDB, Grafana (Dans 2 autres VMS)
Frontal HTML5/Javascript
OpenRemote (dans une autre VM) - HomeBridge - IFTTT - Google Home

pipiche
Messages : 632
Enregistré le : 04 avr. 2018, 16:16

Re: PAs d'initialisation du plug-in Zigate en wifi

Message par pipiche » 12 janv. 2019, 18:59

Regardes dans les logs de Domoticz pour vérifier la version de python qu’il utilise.

Il faut absolument 3.4 idéalement 3.5 ou +

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


FCJean
Messages : 8
Enregistré le : 03 janv. 2018, 16:16
Localisation : Loiret

Re: PAs d'initialisation du plug-in Zigate en wifi

Message par FCJean » 12 janv. 2019, 19:36

C'est bien python 3.4 .....

Code : Tout sélectionner

2019-01-12 17:15:58.398 PluginSystem: Started, Python version '3.4.2'.
Malheureusement ce n'est pas ça
2 instances Domoticz sous Debian dans 2 VMs sous ESXi 6.0 sur Serveur Dell
Gateway Xiaomi, ZiGate
ESP8266 multiples, Shelly
InfluxDB, Grafana (Dans 2 autres VMS)
Frontal HTML5/Javascript
OpenRemote (dans une autre VM) - HomeBridge - IFTTT - Google Home

pipiche
Messages : 632
Enregistré le : 04 avr. 2018, 16:16

Re: PAs d'initialisation du plug-in Zigate en wifi

Message par pipiche » 12 janv. 2019, 19:40

Peux-tu vérifier :

https://www.domoticz.com/wiki/Using_Python_plugins
If you have Python 3.4.x then you make sure you have libpython3.4, if you have Python 3.5.x then you make sure you have libpython3.5 and so on.
Some users believe that Domoticz Beta versions since V3.6129 require Python3-dev. Unconfirmed, only install if you are having issues:

FCJean
Messages : 8
Enregistré le : 03 janv. 2018, 16:16
Localisation : Loiret

Re: PAs d'initialisation du plug-in Zigate en wifi

Message par FCJean » 13 janv. 2019, 08:13

J'avais vérifié ... et malheureusement ce n'est pas ça j'ai bien les libpython qui correspondent à la version de python lancé par domoticz.

Code : Tout sélectionner

libpython-dev:amd64                             install
libpython-stdlib:amd64                          install
libpython2.7:amd64                              install
libpython2.7-dev:amd64                          install
libpython2.7-minimal:amd64                      install
libpython2.7-stdlib:amd64                       install
libpython3-dev:amd64                            install
libpython3-stdlib:amd64                         install
libpython3.4:amd64                              install
libpython3.4-dev:amd64                          install
libpython3.4-minimal:amd64                      install
libpython3.4-stdlib:amd64                       install
Ce qui me semble bizarre c'est que le répertoire __pycache__ soit de owner root. C'et donc un daemon qui crée le rep. C'est normal ?
Comment puis-je forcer le mode debug pour avoir une trace de ce qui se passe car si on modifie l'entete du fichier plugin.py pour avoir au minimum verbose

Code : Tout sélectionner

        <param field="Mode6" label="Verbors and Debuging" width="150px">
            <options>
                        <option label="None" value="0"  />
                        <option label="Verbose" value="2" default="true"/>
                        <option label="Domoticz Framework - Basic" value="62"/>
                        <option label="Domoticz Framework - Basic+Messages" value="126"/>
                        <option label="Domoticz Framework - Connections Only" value="16"/>
                        <option label="Domoticz Framework - Connections+Queue" value="144"/>
                        <option label="Domoticz Framework - All" value="-1"/>
            </options>
        </param>
Cela change bien le comportement du GUI domoticz après reboot (normal) mais ce n'est pas pris en compte par le code.
Parameters n'est donc pas affecté sinon le test

Code : Tout sélectionner

if Parameters["Mode6"] != "0":
devrait déclencher DumpConfigToLog() ... mais comme la méthode référence Parameters ...
Comment est initialisé Parameters ? (je sais je n'ai qu'à chercher dans le code ...), pourrait-on positionner une variable/structure globale pour forcer au moins l'écriture des logs ?
2 instances Domoticz sous Debian dans 2 VMs sous ESXi 6.0 sur Serveur Dell
Gateway Xiaomi, ZiGate
ESP8266 multiples, Shelly
InfluxDB, Grafana (Dans 2 autres VMS)
Frontal HTML5/Javascript
OpenRemote (dans une autre VM) - HomeBridge - IFTTT - Google Home

pipiche
Messages : 632
Enregistré le : 04 avr. 2018, 16:16

Re: PAs d'initialisation du plug-in Zigate en wifi

Message par pipiche » 13 janv. 2019, 10:28

Pour mettre en full debug, tu mets 'All' sur le menu de config du plugin
Screenshot 2019-01-13 at 10.23.39.png
Screenshot 2019-01-13 at 10.23.39.png (871.32 Kio) Vu 805 fois
Dans ta liste je n'ai pas vu : python3-dev ( sudo apt install python3-dev )

Normalement il y a livré avec Domoticz un plugin Python de base 'Basic Python Plugin Example'

essaye de l'ajouter et voir ce que cela donne au niveau des logs.
Si ca fonctionne , c'est que le framework python est correct.

FCJean
Messages : 8
Enregistré le : 03 janv. 2018, 16:16
Localisation : Loiret

Re: PAs d'initialisation du plug-in Zigate en wifi

Message par FCJean » 13 janv. 2019, 15:17

python3-dev est déjà installé ....

Code : Tout sélectionner

apt install python3-dev
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
python3-dev est déjà  la plus récente version disponible.
0 mis à  jour, 0 nouvellement installés, 0 à  enlever et 3 non mis à  jour.
Comme il y a beaucoup de choses installées sur cette machine (dont des scripts python qui fonctionnent et que je ne veux pas perturber ...), je vais créer une nouvelle VM debian, installer la dernière beta de domoticz, installer uniquement python 3.5 et installer le plug-in Zigate.

Ce sera plus simple pour debuger, de plus avoir plusieurs instances domoticz ne me gène pas car j'envoie toutes les mesures des sondes dans une base influxdb et j'utilise un GUI fait maison en HTML5/javascrip/ajax et non pas le GUI de domoticz. Donc parser des retours json provenant de plusieurs IP ou d'une seule ... c'est pareil.
Je te dis si j'ai le même comportement sur une fresh install ...
Merci pour ton aide
2 instances Domoticz sous Debian dans 2 VMs sous ESXi 6.0 sur Serveur Dell
Gateway Xiaomi, ZiGate
ESP8266 multiples, Shelly
InfluxDB, Grafana (Dans 2 autres VMS)
Frontal HTML5/Javascript
OpenRemote (dans une autre VM) - HomeBridge - IFTTT - Google Home

pipiche
Messages : 632
Enregistré le : 04 avr. 2018, 16:16

Re: PAs d'initialisation du plug-in Zigate en wifi

Message par pipiche » 13 janv. 2019, 16:03

Ok. Python 3.5 devrait le faire !

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Répondre