jeedom-zigate / jeedom-plugin-zigate

Plugin Jeedom for ZiGate key.
MIT License
29 stars 12 forks source link

Problème stabilité #81

Closed ioull closed 5 years ago

ioull commented 6 years ago

Après une certaine période, le plugin ne recois plus de nouveaux evenements : Par exemple hier dernier message recu à 21:47 :

[2018-11-03 21:41:07][DEBUG][zigate] : Received response 0x8102: b';\xd7\x82\x01\x00\x00\xff\x01\x00B\x00!\x01!\xb3\x0b\x03(\x11\x04!\xa8\x13\x05!\x07\x00\x06$\x01\x00\x00\x00\x00
!\x00\x00d\x10\x00\x0b!\x03\x00'
[2018-11-03 21:41:07][DEBUG][zigate] : RESPONSE 0x8102 - Individual Attribute Report : sequence:59, addr:d782, endpoint:1, cluster:0, attribute:65281, status:0, data_type:66, size:33, data:0121b30b0328110421a81305210700062401000000000a2100006410000b210300, rssi:108
[2018-11-03 21:41:07][DEBUG][zigate] : Dispatch ZIGATE_RESPONSE_RECEIVED
[2018-11-03 21:41:07][DEBUG][zigate] : Dispatch ZIGATE_ATTRIBUTE_UPDATED
[2018-11-03 21:41:07][DEBUG][root] : External command ZIGATE_ATTRIBUTE_UPDATED : {'zigate': <zigate.core.ZiGate object at 0x7f44ea9662b0>, 'attribute': {'endpoint': 1, 'data': '0121b30b0328110421a81305210700062401000000000a2100006410000b210300', 'cluster': 0, 'attribute': 65281, 'addr': 'd782', 'name': 'battery', 'value': 2.995, 'unit': 'V'}, 'device': Device d782 lumi.sensor_motion.aq2}
[2018-11-03 21:41:07][DEBUG][root] : Send to jeedom :  {'attribute': {'endpoint': 1, 'data': '0121b30b0328110421a81305210700062401000000000a2100006410000b210300', 'cluster': 0, 'attribute': 65281, 'addr': 'd782', 'name': 'battery', 'value': 2.995, 'unit': 'V'}, 'action': 'ZIGATE_ATTRIBUTE_UPDATED', 'device': Device d782 lumi.sensor_motion.aq2}
[2018-11-03 21:41:07][DEBUG][requests.packages.urllib3.connectionpool] : Starting new HTTP connection (1): 127.0.0.1
[2018-11-03 21:41:07][DEBUG] : Array (     [attribute] => Array         (             [endpoint] => 1             [data] => 0121b30b0328110421a81305210700062401000000000a2100006410000b210300             [cluster] => 0             [attribute] => 65281             [addr] => d782             [name] => battery             [value] => 2.995             [unit] => V         )      [action] => ZIGATE_ATTRIBUTE_UPDATED     [device] => Array         (             [info] => Array                 (                     [rssi] => 108                     [mac_capability] => 10000000                     [max_tx] => 100                     [bit_field] => 0100000000000010                     [addr] => d782                     [max_buffer] => 127                     [server_mask] => 0                     [manufacturer] => 1037                     [power_type] => 0                     [last_seen] => 2018-11-03 21:41:07                     [ieee] => 00158d0001b1cf93                     [id] => 7                     [max_rx] => 100                     [descriptor_capability] => 00000000                 )              [addr] => d782             [endpoints] => Array                 (                     [0] => Array                         (                             [in_clusters] => Array                                 (                                     [0] => 0                                     [1] => 65535                                     [2] => 1030                                     [3] => 1024                                     [4] => 1280                                     [5] => 1                                     [6] => 3                                 )                              [endpoint] => 1                             [device] => 263                             [profile] => 260                             [out_clusters] => Array                                 (                                     [0] => 0                                     [1] => 25                                 )                              [clusters] => Array                                 (                                     [0] => Array                                         (                                             [cluster] => 0                                             [attributes] => Array                                                 (                                                     [0] => Array                                                         (                                                             [name] => application_version                                                             [value] => 5                                                             [data] => 5                                                             [attribute] => 1                                                         )                                                      [1] => Array                                                         (                                                             [name] => type                                                             [value] => lumi.sensor_motion.aq2                                                             [data] => lumi.sensor_motion.aq2                                                             [attribute] => 5                                                         )                                                      [2] => Array                                                         (                                                             [data] => 0121b30b0328110421a81305210700062401000000000a2100006410000b210300                                                             [attribute] => 65281                                                             [name] => battery                                                             [value] => 2.995                                                             [unit] => V                                                         )                                                  )                                          )                                      [1] => Array                                         (                                             [cluster] => 1024                                             [attributes] => Array                                                 (                                                     [0] => Array                                                         (                                                             [data] => 28                                                             [attribute] => 0                                                             [name] => luminosity                                                             [value] => 28                                                             [unit] => lm                                                         )                                                  )                                          )                                      [2] => Array                                         (                                             [cluster] => 1030                                             [attributes] => Array                                                 (                                                     [0] => Array                                                         (                                                             [data] =>                                                              [attribute] => 0                                                             [name] => presence                                                             [value] =>                                                              [expire] => 10                                                         )                                                  )                                          )                                  )                          )                  )          )  )
[2018-11-03 21:41:07][DEBUG] : create command 1.0.65281
[2018-11-03 21:41:07][DEBUG][requests.packages.urllib3.connectionpool] : http://127.0.0.1:80 "POST /plugins/zigate/core/php/jeeZiGate.php?apikey=hHWPN5tmZPbDbHuIl8j6GSgcwR07xZrI HTTP/1.1" 200 16
[2018-11-03 21:41:07][DEBUG][root] : Jeedom reply :  {'success': True}
[2018-11-03 21:44:06][DEBUG][zigate] : Auto saving /var/www/html/plugins/zigate/core/class/../../resources/zigated/.zigate.json
[2018-11-03 21:49:06][DEBUG][zigate] : Auto saving /var/www/html/plugins/zigate/core/class/../../resources/zigated/.zigate.json
[2018-11-03 21:54:06][DEBUG][zigate] : Auto saving /var/www/html/plugins/zigate/core/class/../../resources/zigated/.zigate.json
[2018-11-03 21:59:06][DEBUG][zigate] : Auto saving /var/www/html/plugins/zigate/core/class/../../resources/zigated/.zigate.json
[2018-11-03 22:04:06][DEBUG][zigate] : Auto saving /var/www/html/plugins/zigate/core/class/../../resources/zigated/.zigate.json
[2018-11-03 22:09:06][DEBUG][zigate] : Auto saving /var/www/html/plugins/zigate/core/class/../../resources/zigated/.zigate.json
[2018-11-03 22:14:06][DEBUG][zigate] : Auto saving /var/www/html/plugins/zigate/core/class/../../resources/zigated/.zigate.json
[2018-11-03 22:19:06][DEBUG][zigate] : Auto saving /var/www/html/plugins/zigate/core/class/../../resources/zigated/.zigate.json
[2018-11-03 22:24:06][DEBUG][zigate] : Auto saving /var/www/html/plugins/zigate/core/class/../../resources/zigated/.zigate.json

Par contre elle prends bien compte les commandes : On voit les reponses de la clef pour les versions et la non réponse de la commande off sur ma lumière philips qui s'est bien éteinte pourtant ...

[2018-11-04 09:35:10][DEBUG] : callZiGate get_version_text
[2018-11-04 09:35:10][DEBUG][root] : Message received in socket
[2018-11-04 09:35:10][DEBUG][root] : {'args': '', 'action': 'get_version_text'}
[2018-11-04 09:35:10][DEBUG][root] : {'success': True, 'result': '3.0d'}
[2018-11-04 09:35:10][DEBUG] : result callZiGate Array (     [success] => 1     [result] => 3.0d )
[2018-11-04 09:35:10][DEBUG] : callZiGate get_libversion
[2018-11-04 09:35:10][DEBUG][root] : Message received in socket
[2018-11-04 09:35:10][DEBUG][root] : {'args': '', 'action': 'get_libversion'}
[2018-11-04 09:35:10][DEBUG][root] : {'success': True, 'result': '0.20.2'}
[2018-11-04 09:35:10][DEBUG] : result callZiGate Array (     [success] => 1     [result] => 0.20.2 )
[2018-11-04 09:36:24][DEBUG] : callZiGate action_onoff Array (     [0] => 71e4     [1] => 11     [2] => 0 )
[2018-11-04 09:36:24][DEBUG][root] : Message received in socket
[2018-11-04 09:36:24][DEBUG][root] : {'args': ['71e4', 11, 0], 'action': 'action_onoff'}
[2018-11-04 09:36:24][DEBUG][zigate] : REQUEST : 0x0092 b'\x02q\xe4\x01\x0b\x00'
[2018-11-04 09:36:24][DEBUG][zigate] : Msg to send b'00920006090271e4010b00'
[2018-11-04 09:36:24][DEBUG][zigate] : Encoded Msg to send b'\x01\x02\x10\x92\x02\x10\x02\x16\x02\x19\x02\x12q\xe4\x02\x11\x02\x1b\x02\x10\x03'
[2018-11-04 09:36:24][DEBUG][zigate] : Waiting for status message for command 0x0092
[2018-11-04 09:36:27][ERROR][zigate] : No response after command 0x0092
[2018-11-04 09:36:27][DEBUG][root] : {'success': True, 'result': None}
[2018-11-04 09:36:27][DEBUG] : result callZiGate Array (     [success] => 1     [result] =>  )

Un petit redémarrage du démon et ca repart ... C'est comme si une tache de reception des messages étaient plantée ...

doudz commented 5 years ago

Je pense avoir trouver la source du problème. J'ai mis à jour la lib (0.24.2) afin de produire une erreur dans le log à la place d'un plantage silencieux

llaumgui commented 5 years ago

@doudz > Possible de le mettre sur la version actuelle ? Car j'ai vu ça dans ton changelog:

WARNING this is a breaking change for read_attribute_request, write_attribute_request, reporting_request

doudz commented 5 years ago

Oui, de mémoire c'est pas utilisé côté plugin

Flowent commented 5 years ago

Bonjour a tous... Je ne sais pas si j'ai le même problème... Mais de temps en temps, plus aucune commande ne fonctionne (par exemple j'appuie sur un bouton qui lance normalement un scénario... Mais rien)... Pas de log, même en débug.. juste .. rien..... Et tout est "ok" dans la config du plugin...

Je redémarre le démon et la toutes mes commandes se lancent a la suite comme si il attendait qqchose et que le redémarrage a débloquer qqchose....

En attendant j'ai un scénario qui relance le démon toutes les 3h... Pas terrible...

Merci de votre aide

ioull commented 5 years ago

Ca resssemble à mon problème ... Je l'ai résolu en enlevant ma rallonge usb sur laquelle était la zigate ... et depuis plus de problème ... Il faut que je la remette pour voir si la nouvelle librairie a fixé le problème comme annoncé par doudz

En attendant j'avais mis un script qui se lancait toutes les 5 minutes pour redemarrer le plugin seulement si il avait pas recu de nouvelle des capteurs depuis plus de 30 minutes

// Équipements catégorie security $cat = eqLogic::ByType('zigate');

//On récupère les équipements de la catégorie security foreach($cat as $i){ //On récupère le nom entier de l'équipement $human = $i->getHumanName(); $lastDeviceCommunication = $i->getStatus('lastCommunication');

if( $lastDeviceCommunication > $lastCommunication) {
$lastCommunication = $lastDeviceCommunication;
}

$scenario->setLog($human . '=>' . $lastDeviceCommunication . '/' .

$lastCommunication); }

if ($lastCommunication < date('Y-m-d H:i:s', strtotime('-30 minutes' . date('Y-m-d H:i:s')))) { message::add('Zigate', 'Reboot ...'); $scenario->setLog('**** ERROR LastCommunication : ' . $lastCommunication . '>' . date('Y-m-d H:i:s', strtotime('-30 minutes' . date('Y-m-d H:i:s')))); zigate::deamon_start(); }

//** // Set variable for the next steps of the scenario //** //$scenario->setData("zWave_ModuleError_Battery", implode(',', $Error_Module_Battery)); //$scenario->setData("zWave_ModuleError_Sector", implode(',', $Error_Module_Sector));

$scenario->setLog('**'); $scenario->setLog(' Fin '); $scenario->setLog('**'); //**

On Sun, Jan 6, 2019 at 1:16 AM Flowent notifications@github.com wrote:

Bonjour a tous... Je ne sais pas si j'ai le même problème... Mais de temps en temps, plus aucune commande ne fonctionne (par exemple j'appuie sur un bouton qui lance normalement un scénario... Mais rien)... Pas de log, même en débug.. juste .. rien..... Et tout est ok...

Je redémarre le démon et la toutes mes commandes se lancent a la suite comme si il attendait qqchose et que le redémarrage a débloquer qqchose....

En attendant j'ai un scénario qui relance le démon toutes les 3h... Pas terrible...

Merci de votre aide

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Jeedom-Zigate/jeedom-plugin-zigate/issues/81#issuecomment-451703893, or mute the thread https://github.com/notifications/unsubscribe-auth/AGHPoKm1Vvw6sbxpulRwQqftkHKONMumks5vAUBDgaJpZM4YNNHs .

doudz commented 5 years ago

Est-ce toujours d'actualité ? sinon je clôture le ticket

Flowent commented 5 years ago

De mon coté, brancher la Zigate directement sur la box (sans passer par un hub) a résolu le problème

llaumgui commented 5 years ago

La 24.2 est en stable. Je ferme.