[Fermé] ZigateEthernet : Reboot périodique du plugin et erreur firmware

Forum dédié au plugin ZigBeeForDomoticZ : installation, paramétrage, utilisation, interfaces ...
FCJean
Messages : 47
Inscription : 03 janv. 2018, 16:16
Localisation : Loiret

Re: ZigateEthernet : Reboot périodique du plugin et erreur firmware

Message par FCJean »

@ deenoo
Merci deenoo.
Effectivement la version de la Zigate Ethernet est bien 1.5c
Si je fais un Get Version dans la console j'ai cela ... ce qui ne m'en dit pas beaucoup plus !

Code : Tout sélectionner

[164439792]-> 01 02 10 10 02 10 02 10 10 03
[164439802]<- 01 80 02 10 02 10 02 19 99 02 10 02 10 02 10 10 02 10 02 10 02 10 02 10 02 10 03
[164439802]<- 01 80 10 02 10 02 15 b2 02 10 02 15 02 13 21 02 10 03
J'ai désactivé le WiFi de la Zigate, car avoir 2 antennes (même si l'antenne Zigbee est externe) 2,4 GHz à 4 cm de distance ... on doit pouvoir faire mieux pour limiter les interférences !
Mais bon, si je désactive le WebServer, il faudra que je reflashe l'ESP si jai besoin de reparamétrer quoique ce soit et le SSID de la Zigate devrait réapparaitre ... mais si le MDP est faux cela posera problème.
Toutefois, si on regarde le code de Zigate-Ethernet.ino, il attends bien ce qui est écrit dans la doc :

Code : Tout sélectionner

 String macID = String(mac[WL_MAC_ADDR_LENGTH - 2], HEX) +
                 String(mac[WL_MAC_ADDR_LENGTH - 1], HEX);
 ...                
String WIFIPASSSTR = "admin"+macID;
J'avais regardé les "issues" dans le GitHub de la Zigate Ethernet et je n'avais rien vu ... je n'avais pas pensé à regarder les Release Notes de la 1.5c.
Je vais regarder le code pour voir ce qui a été fait et surtout comment est implémenté le heartbeat (paquet ICMP, autre, quelle est la cible, ...).

Mais c'est une bonne piste que de désactiver le webserver ... qui de toutes façons ne sert pas à grand chose en prod (je ne passe pas mon temps à analyser des logs en hexa).

@pipiche
Merci d'avoir précisé le fonctionnement, logique, du plugin dans ce cas de figure. En effet je suis beaucoup plus à l'aise pour analyser/écrire du code C/C++ que du Python !
Domoticz sous Debian Bullseye
Sonoff (ZBDongle-P – Texas Instrument ZNP) : 59 devices/18 routeurs
8 ESP8266/32 sous ESPEasy, 4 Shelly MQTT
MQTT, InfluxDB, Grafana, HomeBridge (4 VMS)
Frontal HTML5/Javascript/Python
FCJean
Messages : 47
Inscription : 03 janv. 2018, 16:16
Localisation : Loiret

Re: ZigateEthernet : Reboot périodique du plugin et erreur firmware

Message par FCJean »

Je me réponds à moi-même car je faisais une erreur d'interprétation de la signification de "heartbeat" dans la Zigate-Ethernet (on devrait toujours regarder les sources avant ....).
Il ne s'agit pas ici d'un heartbeat TCP comme ce que l'on mets en oeuvre dans un cluster (je trouvais bizarre aussi que l'on ne renseigne pas d'adresse IP cible ...), ici il s'agit, il me semble, d'envoyer des commandes (\01\02\10\10\02\10\02\10\10\03 au chip Zigbee, depuis l'ESP via le serial, tous les 2 000 000 de "tours de boucle" si aucune donnée n'a été reçue entre temps.
Cela reste donc interne à la Zigate.

Code : Tout sélectionner

  if (loopCount > 2000000)
  {
    if (ConfigSettings.enableHeartBeat)
    {
      Serial.println("loop");
      //\01\02\10\10\02\10\02\10\10\03
      char output_sprintf[2];
      uint8_t cmd[10];
      cmd[0]=0x01;
      cmd[1]=0x02;
      cmd[2]=0x10;
      cmd[3]=0x10;
      cmd[4]=0x02;
      cmd[5]=0x10;
      cmd[6]=0x02;
      cmd[7]=0x10;
      cmd[8]=0x10;
      cmd[9]=0x03;
      Serial2.write(cmd,10);
      Serial2.flush();     
    }
    loopCount=0; 

Donc le "heartbeat" n'a rien à voir avec mon problème.

@deenoo
Par contre ton analyse est probablement la bonne car j'ai exactement le message [Errno 104] Connection reset by peer dans les logs json du plugin. Même si cette fois-ci le plugin n'a pas rebooté.

Code : Tout sélectionner

Time : "29/12/2021 07:26:17"
Module : "TransportTcpip"
nwkid : "None"
PluginHealth : "Ready"
message : "tcpip_read_from_zigate: Connection error while receiving data [Errno 104] Connection reset by peer on <socket.socket fd=38, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('192.168.0.114', 42584)>"
PermitToJoin :
Duration : 255
Starttime : 1640704358
Thread : "ZiGateTCPIP_7"
LastLog : 9
StartTime : "28/12/2021 16:02:37"
FirmwareVersion : "0321"
FirmwareMajorVersion : "05"
PluginVersion :
0 : "stable5-5.1.016"
LastLog : 1
Je vais voir avec le vendeur/développeur de la Zigate avant de désactiver le webserver.

Encore merci à tous.
Domoticz sous Debian Bullseye
Sonoff (ZBDongle-P – Texas Instrument ZNP) : 59 devices/18 routeurs
8 ESP8266/32 sous ESPEasy, 4 Shelly MQTT
MQTT, InfluxDB, Grafana, HomeBridge (4 VMS)
Frontal HTML5/Javascript/Python
pipiche
Messages : 4677
Inscription : 04 avr. 2018, 16:16
Contact :

Re: ZigateEthernet : Reboot périodique du plugin et erreur firmware

Message par pipiche »

Dans mes souvenirs le problème venait côté zigate-ethernet d’un conflit d’accès. Donc l’idée de désactiver des choses est peut-être la bonne piste.

Le heartbeat de mon point de vue est inutile. 1) ce n’est pas à la zigate-ethernet de le faire, 2) si il y a eu échange un heartbeat n’apporte, 3) le plug-in gére cela et du reste c’est pour ça qu’il restart , car pas de réponse à ses pings


Envoyé de mon iPhone en utilisant Tapatalk
Zigbee for Domoticz - Clef zzh-p (electrolama) 45 devices.

Si vous appréciez ce que je fais, vous pouvez contribuer par un don Paypal , ce qui me permettra notamment l'achat d’équipements et de les tester/valider pour le plugin.
Wiki ici
chat sur Keybase.io
Répondre