Page 1 sur 2

[Résolu] Fermeture intempestive de volet après cmd 'Set Level'

Publié : 14 juin 2022, 16:51
par bl34
Fermeture_intempestive.rar
(18.77 Kio) Téléchargé 80 fois
Bonjour
J'ai mis en place l'automation de mes volets Profalux pour les ouvrir/fermer au matin et au soir et pour les ouvrir plus ou moins en fonction de l'heure et de la température.
Tout marche bien sauf que de temps en temps je retrouve un ou deux volets complètement fermés après une commande 'Set Level'.
Le problème apparait 3 ou 4 fois dans la semaine et pas forcement avec les mêmes volets.
En fait en regardant les logs Domoticz et du plugin zigate j'ai l'impression que le volet remonte pour ensuite se fermer complètement.

Code : Tout sélectionner

Log Domoticz:
2022-06-14 11:10:05.986  Zigate: UpdateDevice - (   Volet Bureau) 2:29
2022-06-14 11:10:11.012  Zigate: UpdateDevice - (   Volet Bureau) 2:54 <<<<<<<<< OUVERTURE DU VOLET ??
2022-06-14 11:10:18.215  Zigate: UpdateDevice - (   Volet Bureau) 0:0  <<<<<<<<< VOLET FERME ??
Pourtant dans la log du plugin je ne vois bien qu'une commande passée pour une ouverture au pourcentage voulu et il n'y a pas de commande on/off passée :

Code : Tout sélectionner

2022-06-14 11:10:04,907 DEBUG   : [       MainThread] mgtCommand (2ef8) Devices[18].Name: Volet Bureau Command: Set Level Level: 30 Color: 
2022-06-14 11:10:04,913 DEBUG   : [       MainThread] --------->   DeviceType: ('BlindInverted', 'WindowCovering')
2022-06-14 11:10:04,916 DEBUG   : [       MainThread] --------->1   ClusterType founds: [('01', '29', 'LvlControl')] for Unit: 18
2022-06-14 11:10:04,918 DEBUG   : [       MainThread] --------->2   EPOut: 01 DeviceType: LvlControl WidgetID: 29
2022-06-14 11:10:04,921 DEBUG   : [       MainThread] --------->3   forceUpdateDev: False
2022-06-14 11:10:04,922 DEBUG   : [       MainThread] --------->4   Ready to action
2022-06-14 11:10:04,926 DEBUG   : [       MainThread] --------->5   profalux: True
2022-06-14 11:10:04,929 DEBUG   : [       MainThread] --------->6   Model Name: MOT-C1Z06C
2022-06-14 11:10:04,932 DEBUG   : [       MainThread] --------->7   Health: Live
2022-06-14 11:10:04,934 DEBUG   : [       MainThread] mgtCommand : Set Level for Device: 2ef8 EPout: 01 Unit: 18 DeviceType: LvlControl Level: 30
2022-06-14 11:10:04,936 INFO    : [       MainThread] send_zigatecmd_raw       - [182] 0081 022ef80101014c0000 2ef8 Queue Length: 1
2022-06-14 11:10:04,940 DEBUG   : [       MainThread] send_zigatecmd_zcl_ack - [182] 0081 02 0101014c0000
2022-06-14 11:10:04,947 INFO    : [   ZiGateWriter_2] _sendData to ZiGate NOW  - [182] 0081 022ef80101014c0000
2022-06-14 11:10:05,017 DEBUG   : [ZiGateForwarder_2] ZigateRead - MsgType: 8000,  Data: 00e9008101430001, LQI: 0
2022-06-14 11:10:05,019 INFO    : [ZiGateForwarder_2] Decod8000 Received         [  ] PacketType:  0081 TypeSqn: 01 sqn_app: e9/233 sqn_aps: 43/67 Status: [00] npdu: 00 apdu: 01 
2022-06-14 11:10:05,020 DEBUG   : [ZiGateForwarder_2] ZigateRead - MsgType: 8011,  Data: 002ef801000843, LQI: 0
Le script fait que si un volet est trouvé à une position differente de la consigne d'ouverture alors l'automation est désactivée pour ce volet.
Mais l'automation de ce volet est réactivée si le volet est repositionné à l'ouverture voulue.
Si je fait cela le volet s'ouvre/se ferme en fonction des commandes d'ouverture sans problème de fermeture intempestive.

J'ai pris la log de Domoticz et du plugin au moment du problème (options de debug : debugBasicOutput, debugCommand, debugInput, debugCluster, debugzigateCmd et debugzigateCommand)
mais je ne vois pas d'erreur (pour ce que j'en comprend).
J'envoie aussi l'export raw de la zigate.

J'ai aussi mis la zigate sur rallonge USB mais c'est pareil.
Bref je suis sec ( malgré la chaleur) :(

Les versions utilisées :
Version de DomoticZ : 2022.1 sur RPI3B+
Modèle de coordinateur : ZiGate V2
Version de coordinateur : USB
Version du firmware : 320
Version du plugin 6.1.004
Branche du plugin : stable6

Re: [Zigate] Fermeture intempestive de volet après cmd 'Set Level'

Publié : 14 juin 2022, 17:01
par pipiche
Ben il faudrait l’intégrale des logs DomoticZ et du plug-in et de la période où il y a un soucis.

Il n’y serait bien également de mettre le script pour voir et comprendre ce qu’il fait


Envoyé de mon iPhone en utilisant Tapatalk

Re: [Zigate] Fermeture intempestive de volet après cmd 'Set Level'

Publié : 14 juin 2022, 20:23
par bl34
Les logs domoticz et zigate au moment du problème sont dans le fichier tar (Fermeture_intempestive_Bureau.txt) avec l'export de la liste des objets.
Il y a logs de quelques minutes avant et quelques minutes après mais au besoin je peux t'envoyer les logs de la journée.

Je t'envoie le script dès que possible.
Merci pour ton aide.

Re: [Zigate] Fermeture intempestive de volet après cmd 'Set Level'

Publié : 15 juin 2022, 09:35
par pipiche
A priori c'est le volet qui envoie cette information. MsgType: 8102 est un report fait à l'initiative du device lui meme.

Du coup je vois pas grand chose à faire.

Code : Tout sélectionner

2022-06-14 11:10:18,178 DEBUG   : [ZiGateForwarder_2] ZigateRead - MsgType: 8102,  Data: 282ef801000800000020000101, LQI: 120
2022-06-14 11:10:18,183 DEBUG   : [ZiGateForwarder_2] Decode8102 - Attribute Reports: [2ef8:01] MsgSQN: 28 ClusterID: 0008 AttributeID: 0000 Status: 00 Type: 20 Size: 0001 ClusterData: >01<
2022-06-14 11:10:18,190 DEBUG   : [ZiGateForwarder_2] scan_attribute_reponse - 8102 idx: 26 Read Attribute Response: [2ef8:01] ClusterID: 0008 MsgSQN: 28, i_sqn: None, AttributeID: 0000 Status: 00 Type: 20 Size: 0001 ClusterData: >01<
2022-06-14 11:10:18,192 DEBUG   : [ZiGateForwarder_2] Decode8102 - LQI: 120 Received Cluster:0008 Attribute: 0000 Value:   01 from (2ef8/01)
2022-06-14 11:10:18,194 DEBUG   : [ZiGateForwarder_2] ReadCluster - 0008 - 2ef8/01 AttrId: 0000 AttrType: 20 Attsize: 0001 Status: 00 AttrValue: 01
2022-06-14 11:10:18,196 DEBUG   : [ZiGateForwarder_2] ReadCluster - ClusterID: 0008 Addr: 2ef8 MsgAttrID: 0000 MsgAttType: 20 MsgAttSize: 0001 MsgClusterData: 01
2022-06-14 11:10:18,198 DEBUG   : [ZiGateForwarder_2] ReadCluster - ClusterId=0008 - 2ef8/01 Level Control: 01
[EDIT]
* j'ai contacté Profalux pour voir ce qu'ils en pensent.
* Aurais-tu la possibilité de sniffer le trafic Zigbee (car ca va etre la question qui me sera posée en retour) ?

Re: [Zigate] Fermeture intempestive de volet après cmd 'Set Level'

Publié : 15 juin 2022, 11:47
par bl34
Merci pour ton analyse.
J'ai fait pas mal d'essais pour essayer de cerner le problème avant d'embêter le monde (délai entre les commandes, zigate sur rallonge USB, anciens niveaux de plugin) mais sans succès.
Je pencherai pour un problème dans la communication zigate-volet ou dans le microcode du volet.
Tout ce passe comme si le volet faisait un cycle ouverture/fermeture, comme un sorte de reset.
Le problème c'est que c'est très aléatoire.

Pour l'instant je n'ai rien pour sniffer le trafic zigbee. Je suppose que je dois utiliser un module additionnel.
As-tu un modèle à me conseiller ?

[Edit] Est ce que ça vaut le coup de passer la zigate en 321 par rapport à ce type de problème ?

Re: [Zigate] Fermeture intempestive de volet après cmd 'Set Level'

Publié : 15 juin 2022, 11:59
par pipiche
Je pense pas qu'il puisse y avoir un pb de communication, car dans ce cas on aurait une corruption de données lors de la transmission et cela devrait etre vu et droppé.

Soit y-a une commande qui est envoyée par le plugin (mais on devrait la voir dans les logs), soit effectivement y-a un truc coté Volet qui merdoie. Maintenant ça peut -être lié avec la façon doit le plugin pilote le device. C'est pour ca aussi que j'ai contacté Profalux.

Il faut savoir qu'ils ont 2 façons de piloter le volet (avec les nouveaux) et qu'aujourd'hui on utilise uniquement la première compatible avec les anciens volets (sachant que je n'ai pas eu accès aux informations relatives à la 2eme façon de piloter qui est propriétaire)

voila ce que j'utilise:

https://www.amazon.fr/gp/product/B093LB ... UTF8&psc=1

Tu peux regarder cela : https://www.zigbee2mqtt.io/advanced/zig ... ired-tools .

Avec la clef Amazon, le firmware de sniff est déjà installé, donc c'est quasi plug and play

Re: [Zigate] Fermeture intempestive de volet après cmd 'Set Level'

Publié : 17 juin 2022, 15:36
par bl34
Bonjour Pipiche,
Sniffer_Volet_Bureau.rar
(1.81 Kio) Téléchargé 149 fois
J'ai reçu le sniffer CC2531 et j'ai pris une trace de quelques secondes dans Wireshark du trafic zigbee en faisant bouger un volet (2ef8) à partir de Domoticz.
J'attache le fichier au message.
Est-ce que ça ressemble à ce que tu attends ?

Re: [Zigate] Fermeture intempestive de volet après cmd 'Set Level'

Publié : 17 juin 2022, 15:38
par pipiche
IL faudrait que tu appaires un objets pour pouvoir récupérer la clef de décodage , car pour l'instant ce n'est que du trafic crypté, et malheureusement la clef Zigate ne permet pas d'avoir la clef de decryptage directement.
Sinon oui, je vois des paquets des objets

0x756a
0xe2d4
0x38f0

Re: [Zigate] Fermeture intempestive de volet après cmd 'Set Level'

Publié : 17 juin 2022, 21:18
par bl34
J'ai pris une trace avec l'appairage d'une lampe (c14e). Dis moi si elle contient la clé de codage dont tu parles.
Je t'envoie le fichier trace et la log du plugin par MP histoire de ne pas faire balader ma clé de codage sur les forums (je suis un peu parano quand il s'agit de sécurité).

Re: [Résolu] Fermeture intempestive de volet après cmd 'Set Level'

Publié : 09 déc. 2022, 14:46
par bl34
Bon finalement : résolu ou bypass.
En fait il s'avère que le monte-et-baisse que j'observais est causé par une détection de blocage (intempestive dans mon cas) par un algorithme de sécurité du microcode du volet :
En cas de détection de blocage le volet remonte un peu, redescend et va jusqu'au point bas enregistré si il n'y a pas de blocage, sinon il remonte et s'arrête.

Bien qu'il n'y a pourtant pas de dur mécanique dans l'installation de mes volet le phénomène arrivait relativement souvent et pas que sur une commande de SetLevel.
Pour solutionner le problème il est possible de réduire la sensibilité d'un volet par une manipulation avec la télécommande du volet.
Perso j'ai choisi de ne pas diminuer la sensibilité au blocage mais de simplement doubler la commande envoyée au volet pour avoir le positionnement voulu au final même après une détection de blocage à tord,
le mécanisme de sécurité du volet étant toujours en place en cas de vrai blocage.

Dans mes scripts LUa ça donne ça :

Code : Tout sélectionner

 commandArray[#commandArray + 1] = {[Device] = 'Set Level: ' .. Off_Level .. ' REPEAT 2 INTERVAL 5'}
 commandArray[#commandArray + 1] = {[Device] = OnCmd .. ' REPEAT 2 INTERVAL 5'}
 commandArray[#commandArray + 1] = {[Device] = OffCmd .. ' REPEAT 2 INTERVAL 5'}

Voilà..si ça peut servir à quelqu'un.