Problème avec module zWave Qubino ZMNHBD1


#1

Bonjour tout le monde !

Je suis un peu bloquer avec un module zwave Qubino ZMNHBD1 (module 2 relais). Il est parfaitement détecter par Gladys et j’arrive à paramétrer l’intégralité de ce qui est possible, mais impossible de contrôler séparément les deux relais, seul le ALL fonctionne. Voici ce qui est reconnu dans les périphériques Gladys:

D’après mes brèves recherches sur internet (particulièrement http://tutoriels.domotique-store.fr/category/116/flush-2-relays-v2-z-_-zmnhbd1.html), ils parlent de plusieurs instance du module qui devrait apparaître. J’avoue que je suis un peu pommé, des idées avant que je passe une paire d’heure dessus ?

Merci!


#2

La configuration du module ressemble à quoi dans les paramètres du module Z-Wave?

J’ai pas d’idée la comme ça, ça ressemble à des problèmes de définition dans la lib Open-Zwave, @MathieuA avait eu des problèmes avec ses éclairages…


#3

Hello!

Ci dessous les paramètres du module (une partie seulement, il y en a une tripoté). J’ai également l’impression que la lib ne gère pas un appareil avec plusieurs instance…


#4

Tout n’est pas perdu! Beaucoup de box domotique utilisent open-zwave, et quand il y a des cas particuliers qui ne fonctionnent pas elles créent des cas particuliers dans le code. Il faudrait juste arriver à comprendre ici ce qui manque dans la configuration XML.

Une première piste, serait de mettre à jour open-zwave.

Open-Zwave est installé sur l’image dans un dossier, c’est un clone tu repo git que j’ai installé avec la commande:

git clone https://github.com/OpenZWave/open-zwave.git
cd open-zwave
make
sudo make install && sudo ldconfig

Vu que le dossier est déjà là, tu peux te rendre dans le dossier, faire un git pull pour aller chercher les derniers changements, et refaire les commandes make, make install et ldconfig, ce qui te donnerait:

cd open-zwave
git pull
make
sudo make install && sudo ldconfig

#5

Pardon du retard dans la réponse…

J’ai bien fait toutes les opérations que tu as mentionné, ça ne change rien!

Je met en attaché le XML que j’ai récupéré dans le dossier d’open-zwave.

Le XML me paraît cohérent. Quelqu’un as-t-il déjà essayer un Device avec plusieurs instance? Je ne connais vraiment pas comment c’est implémenté dans Gladys mais peut être que c’est juste pas gérer?

Merci!


#6

Mmm justement je suis pas sur que ce genre de XML est géré actuellement.

Tu le comprends comment ce XML toi? Pour toi quel command class est censé contrôler individuellement chaque relais?

De mon côté je vois ces association group, je ne me rappelle plus comment c’est géré avec Gladys ça… ^^

<!-- Association Groups -->
        <CommandClass id="133">
                <Associations num_groups="8">
                        <Group index="1" max_associations="1" label="Lifeline"/>
                        <Group index="2" max_associations="16" label="Basic on/off triggered at the change of output Q1 and reflecting its state" />
                        <Group index="3" max_associations="16" label="Switch binary report triggered at the changes of output Q1 and reflecting its state"/>
                        <Group index="4" max_associations="16" label="Power meter report triggered at the changes of output Q1 and reflecting its state" />
                        <Group index="5" max_associations="16" label="Basic on/off triggered at the change of output Q2 and reflecting its state" />
                        <Group index="6" max_associations="16" label="Switch binary report triggered at the changes of output Q2 and reflecting its state" />
                        <Group index="7" max_associations="16" label="Power meter report triggered at the changes of output Q2 and reflecting its state" />
                        <Group index="8" max_associations="16" label="Multilevel sensor report" />
                </Associations>
        </CommandClass>

#7

Hello!

Pour moi la gestion individuelle est explicité ici:

  <CommandClass id="37">
            <TriggerRefreshValue Genre="user" Index="0" Instance="1">
                    <RefreshClassValue CommandClass="37" RequestFlags="0" Index="0" Instance="2" />
                    <RefreshClassValue CommandClass="37" RequestFlags="0" Index="0" Instance="3" />
            </TriggerRefreshValue>
    </CommandClass>

Je précise que c’est bien la commande 37 qui actives les deux relais. Cependant je ne vois pas où spécifié l’instance… J’ai absolument pas regarder la gestion du Zwave dans Gladys, mais a vu de nez j’ai bien l’impression que Gladys ne gère pas le multi instance (peut être juste une mauvaise interprétation avec le passeur XML du module?).

J’ai des merdes avec d’autres modules, dés que j’ai un peu de temps je poste de nouveaux topics.

Merci de ton retour


#8

Pour moi justement cette commande lance les 2, et je ne vois pas dans la spécification du XML d’endroits ou il n’est possible que d’en commander une.

Gladys ne fait rien par rapport au XML/Z-Wave, tout ça c’est open-zwave qui gère. Gladys récupère une liste de noeuds z-wave et pour chaque noeuds des comclasses. Ici il y a une comclass 37 qui qui contrôle les deux, donc Gladys contrôle les deux. (mon interprétation)

Après ce que j’ai du mal à comprendre, c’est comment cette notion de multi instance nous est transmise par open-zwave… J’ai l’impression qu’ici Gladys reçoit juste une seule comclass et c’est tout.


#9

Y’a de quoi nourrir votre réflexion là non ? ( je connais pas le zwave mais apparemment on peut spécifier l’instance)

Node.InstanceID


#10

Hmm j’ai pas bien compris le thread de @VonOx?

Concernant ce que @pierre-gilles parle, j’ai essayé de bricoler le XML sans grande conviction:

    <CommandClass id="37">
            <TriggerRefreshValue Genre="user" Index="0" Instance="1">
                    <RefreshClassValue CommandClass="37" RequestFlags="0" Index="0" Instance="2" />
                    <RefreshClassValue CommandClass="37" RequestFlags="0" Index="0" Instance="3" />
            </TriggerRefreshValue>
    </CommandClass>
    <CommandClass id="38">
            <TriggerRefreshValue Genre="user" Index="0" Instance="2">
                    <RefreshClassValue CommandClass="38" RequestFlags="0" Index="0" Instance="2" />
            </TriggerRefreshValue>
    </CommandClass>
    <CommandClass id="39">
            <TriggerRefreshValue Genre="user" Index="0" Instance="3">
                     <RefreshClassValue CommandClass="39" RequestFlags="0" Index="0" Instance="3" />
            </TriggerRefreshValue>
    </CommandClass>  

Bon évidement, ça marche pas, erreur Gladys: 0|gladys | TypeError: OpenZWave valueId not found: 6-38-1-0

Je suis pas non plus complément convaincu que l’XML et bien réimporté. Tu sais comment forcer le open-zwave a venir cherche le nouveau fichier (même nom, même path…).

Bonne soirée (ou journée suivant…)


#11

Ah! Vonox est tombé sur une bonne ressource, effectivement je pense que le travail est à faire côté Gladys du coup. On ne gère pas le multi-instance dans Gladys de ce que je lis dans ce post.


#12

Bon, déjà, c’est une bonne nouvelle. Une issue est-elle prévu pour ce problème?

Bonne soirée


#13

Personnellement je garde le problème en tête pour Gladys 4 et lors de l’intégration Z-Wave je gèrerais ce fameux multi-instances.

Après comme Gladys 4 ne va pas sortir tout de suite, si quelqu’un (@Coco je sais pas ton niveau de compétence en JS?) veut jeter un oeil pour modifier la version actuelle pour gérer ce cas ça serait super. Je ne pense pas que les changements soient si gros que ça.


#14

Malheureusement je n’ai jamais toucher une ligne de JS de ma vie !

On attendra donc Gladys v4…


#15

Je confirme que j’ai compris comment le multi-instance fonctionne et que je l’ai ajouté à Gladys 4! :slight_smile: