Besoin de tuto - le binding sous Z2M pour les nuls

Bonjour à tous.

Mon problème

Je cherche à sécuriser un peu le fonctionnement de mon réseau Zigbee (Z2M) et donc je voudrais essayer d’ajouter du binding entre certains de mes interrupteurs et les lumières qu’ils pilotent.

Ma configuration


La question est suffisament générique, mais ma config est la suivante:

  • HAOS sur minipc (x86)
  • addon Zigbee2mqtt
  • addon mosquitto
  • clef zigbee sonoff type P (non flashée)

J’ai eu beau chercher, à part dans la doc Z2M : Binding | Zigbee2MQTT je ne trouve pas grand chose.

J’aimerais bien avoir un retour d’expérience de ceux qui utilisent du binding, est ce que ça marche, comment ça s’installe concrètement (le binding pour les nuls) et quels sont les effets secondaires éventuels.

Beaucoup de mes commandes sont des on/off IKEA (Tradfri puis Rodret) que j’utilise au travers d’un blueprint pour pouvoir avoir les fonctionnalités de simple clic, double clic et appui prolongé (jusqu’à 6 actions possibles avec une commande zigbee à moins de 10€ pour le Rodret).
=> faut il prévoir des effets de bord en cas de binding dans ces cas là? (l’appairage automatique direct d’IKEA m’avait posé des soucis à l’inclusion, donc je suis un peu inquiet…)

D’avance merci.

BBE

1 « J'aime »

Bon je pose la question, et forcément, juste après je tombe sur un tuto pas à pas qui est comprehensible:

C’est en Anglais par contre… moi ça ne me pose pas de problème…

Je vais me faire quelques tests pour voir comment ça interfère avec mes automatisations, car pouvoir utiliser un bouton pour un peu plus que le simple on/off d’une lampe c’est vraiment génial…

Un exemple:
un on/off près d’une petite lampe dans le salon:

  • le on allume, le off éteint la petite lampe (c’est ça que je voudrait « binder »)
  • l’appui long sur le ON « toggle » une autre lampe qui n’est pas loin (ça je ne veux pas le « binder »)
  • l’appui long sur le OFF éteint toutes les lumières (et c’est le même comportement sur toutes les télécommandes de la maison, soit l’appui long OFF soit le double clic OFF éteint tout)

Bref je teste et je vous tiens au courant… dans l’intervalle je suis toujours preneur de vos retours !!!

1 « J'aime »

genre de sujet que je n’arrive pas a élucider, je suis avec intérêt !!!
merci de nous tenir au jus

Je suis bien curieux aussi de comprendre ça ! On attend ton retour d’expérience avec intérêt et si tu pouvais nous dire les avantages, inconvénients :slight_smile:
Pour moi l’anglais ça va mais quand il y a les sous titres :laughing: et quand il faut comprendre en plus des termes techniques c’est toujours fastidieux ^^

Attendez pas un retour rapide… je ne suis pas dispo ce week end et je pense qu’il me faudra du temps car même si je trouve une lampe pour faire les tests, je vais sans doute tout casser…

Un truc qui me turlupine c’est le comportement dans les cas d’appui long et double appui: ce que je constate avec les automatisations (blueprints ci dessous) c’est le comportement suivant:

  • si j’active les fonctions de double clic, la réactivité est moins bonne (et c’est normal car il faut qu’il attende un peu pour savoir si le 2 éme clic arrive avant de choisir quel comportement adopter…)

  • => que va t’il se passer dans ce cas en mode bind ? je ne voudrais pas avoir d’allumage de ma lampe sur le 1er clic (bind) dans les cas de double clic… et là je sens bien que ça va merder puisque en cas de bind HA n’est pas dans la boucle…

Il risque de falloir binder les appuis long si je veux garder le double clic ou dégager la fonction double clic (ce qui va marcher sur certaines lampes, mais pas sur toutes…)

Bref pas facile d’optimiser mes boutons on/off (jusqu’à 6 possibilités via HA) et le binding (classiquement on/off et variateur, sans double clic donc 1 à 2 équipements maxi en bind)

PS pour les intéressés, les blueprints pour les on/off IKEA:

1 « J'aime »

Bon personnellement je n’ai pas encore eu le temps de creuser le sujet…

Mais si un pro du binding passe par là, je remonte un peu le fil au cas où…

Je n’arrivais pas à dormir cette nuit alors je me suis lancé sur le tuto pour faire une liaison direct en zigbee. Pour moi les résultats sont concluant à 80% pour mon installation.

J’ai cherché à lier des ampoules, des prises et des rideaux avec des boutons poussoirs, des boutons à variation de luminosité et des détecteurs de mouvement. La manipulation est rapide. En 20 minutes j’avais lié 7 ampoules et une prise avec avec 10 boutons.

Mon objectif en faisant des liaisons directes est de vivre correctement dans mon appartement en cas de crash du serveur, de ne pas être obligé de bidouiller pour m’éclairer en hivers si j’ai une panne. Je ne cherche donc pas à lier des scènes ou conserver coûte que coûte mes automatisations.

La liaison directe ne s’active qu’en cas de perte du réseau zigbee ou la commande n’est pas interprété par le réseau. Il a perte du réseau zigbee dans les cas suivants :

  • zigbee2mqqt ne répond plus, il est arrêté ou il redémarre.
  • home assistant ne répond plus, il est arrêté ou il redémarre
  • le serveur est électriquement éteint.

On peut donc imaginer le bouton du salon, qui en temps normal allume plusieurs lumières avec une variation des couleurs du salon. Mais en cas de crash du réseau ce bouton ne pourra qu’allumer ou éteindre le plafonnier.
On peut également imaginer programmer partiellement un bouton à variation de luminosité. La variation de luminosité serait gérée par la liaison direct mais le comportement du clic ou du double clic contrôlé par une automatisation (sauf en cas de crash).

Voici le bilan des liaisons directes que j’ai essayé :

  • Bouton à variation de luminosité sur une ampoule → Je peux allumer ou éteindre la lumière. La variation de la luminosité est plus fluide en liaison directe que lorsqu’elle est géré par HA. Le double clic n’est pas disponible.
  • Bouton poussoir sur une ampoule → Je peux allumer ou éteindre la lumière uniquement. Le double clic n’est pas disponible.
  • Bouton poussoir sur une prise → Je peux allumer ou éteindre la prise uniquement. Le double clic n’est pas disponible.
  • Bouton à variation de luminosité sur un rideau → Ca ne fonctionne pas. Le menu de liaison me propose de lier un comportement « On/Off » mais aucun « Toggle » ou « Up/Down ».
  • Bouton poussoir sur un rideau → Même problème.
  • Détecteurs de mouvement sur une ampoule → Ca ne fonctionne pas pour le moment. Mais je n’ai pas encore testé toutes les possibilités.

Le bilan ci-dessus corresponds au matériels que j’ai choisi et de leurs inter compatibilités. Il est très probable qu’avec d’autres équipement vous puissiez faire plus ou moins de chose que moi.

2 « J'aime »

C’est top !

Je suis preneur de tes infos sur cette partie notament:

Que se passe t’il si tu crées des automations avec ces appuis simples dans HA en parallèle du binding??
En particulier, as tu déjà essayé ces blueprints (décrits quelques posts au dessus): Controller - IKEA E1743 TRÅDFRI On/Off Switch & Dimmer | Awesome HA Blueprints
Perso je m’en sers pour pouvoir gérer séparément appui simple, appui long et double appui sur certains de mes boutons. On peut ainsi avoir 6 scenarios différents a partir d’un bouton à 10€…

Je ne sais pas si c’est compatible du binding que tu as fait (vu que tu utilises les mêmes boutons ikea…).

Si tu n’as pas prévu de dormir dans les prochaines soirées et que tu veux tester… :rofl:

Je n’utilise aucun blueprint.

De ce que j’ai observé il n’y a de comportement parallèle. Soit le déclencheur est traité par HA soit la liaison directe est traité.
J’ai une automatisation qui contrôlé tous les déclencheurs d’un bouton à variation de luminosité. Il gérait aussi bien les clics que les variations de luminosité.
Quand j’ai fait mes testes sur ce bouton en liaison directe, j’ai constaté une meilleure réactivité et une meilleure fluidité. Dans mon automatisation (un blueprint pour toi) j’ai donc commencé par désactivé la gestion de la luminosité. Mais pour le ON/OFF en simple ou double clics, je n’ai rien touché. Résultat : la variation de la luminosité est plus fluide (car en binding) mais c’est toujours HA qui gère le comportement du ON/OFF.

Le binding (liaison direct) connecte un appareil à un autre appareil. z2m ne me permet pas de lier un bouton à un scénario ou une scène. Si tu y arrives, je serais ravi de connaitre ta méthode.

Dans mon cas présent, j’ai des automations (via des blueprints, mais ça revient au même), qui regardent les on, double on, off, double off, on long et off long.
Comme ces 6 comportements sont séparés dans les automatisations, je peux affecter à chacun un comportement spécifique:

  • allumer une ampoule
  • eteindre toutes les lumières
  • lancer un script
    etc…

Il s’agit bien sur d’action HA via des automatisations.

Je suis bien conscient que le binding est d’appareil à appareil, mon but n’est donc pas de reproduire ceci avec le binding, mais plutôt de me demander ce qu’il se passe si par exemple:

  • je fais un binding sur on/off vers une ampoule => contrôle direct de l’ampoule
  • je fais une automatisation qui lorsque double on => je lance un timer

Est-ce compatible ?

Si oui, même si les possibilités de binding sont plus réduites, je conserve pour autant la possibilité de mettre des automatisations en parallèle sur les mêmes boutons (qui seront perdues si HA / Z2M sont perdues bien sur…).

C’est OK.
Je suis même persuadé que l’on peut affecter plusieurs ampoules à un seul bouton mais je ne l’ai pas encore testé.

Le double sera peut-être utilisable chez toi, mais le timer est virtuel, pas matériel, il est créé dans HA, donc tu ne peux pas.

C’est bien ça :+1:

Salut,

cette vidéo devrait vous interesser : https://youtu.be/enJMHBJ1H-w?si=slqi06DplBpGt6tk

2 « J'aime »

Je pensais bien à un timer dans HA : je m’explique mieux (enfin j’espère):

Imaginons que j’ai une automatisation (dans HA…) qui lance un timer sur double on.
Imaginons que j’ai une automatisation (dans HA…) qui passe la lumière sur off a la fin du timer.

Alors j’aurai bien:

  • on => allumage (même si HA/Z2M sont kaputt)
  • off => extinction (même si HA/Z2M sont kaputt)
  • double on => allumage (même si HA/Z2M sont kaputt) et démarrage du timer (si HA et Z2m marchent) et extinction à la fin du timer (si HA et Z2m marchent).
  • double off => extinction (même si HA/Z2M sont kaputt) et par exemple, si j’ai mis l’automatisation « kivabien » dans HA, extinction de toutes les lumières (si HA et Z2m marchent).

J’ai bon ?

Bon il me reste encore un sujet à regarder: comment interfacer ça avec adaptative lighting… il risque là aussi d’y avoir des effets de bord sur la detection du contrôle manuel…

:clap:Oui c’est bien ça !

Je ne pense pas. Mais tu me diras…
Le point positif c’est que la liaison est aussi facile à faire qu’à défaire. Il suffit de cliquer sur « lier » ou sur « délier » et appuyer sur le bouton en même pour que se soit fait.

1 « J'aime »

Salut
a vérifier
mais il me semble que vouloir associer (binding) un groupe définit dans Z2M a un switch par exemple ne fonctionne pas
Si j’ai un groupe contenant 2 ampoules il est indispensable de faire le binding pour chacune des lampes tel que ci dessous

et non le binding pour le groupe de lampes

2 « J'aime »

Oui tout a fait ! c’est ça

1 « J'aime »

Bonjour,
ça sert à quoi le cluster PowerCfg ?

je suppose que c’est pour connaître le niveau de la batterie

1 « J'aime »

ET pourtant dans la doc Z2M…

Binding a remote to a group

Binding a remote to a group allows a remote to directly control a group of devices without intervention of Zigbee2MQTT.

When we for example have an IKEA E1743 remote called my_remote and two bulbs called bulb_1 and bulb_2, we can control the 2 bulbs with the remote by putting them in the same group and binding the remote to it.

To do this execute the following steps:

  1. Create a new group in configuration.yaml and give it a friendly_name (see Groups). In this example we will set the friendly_name to my_group.
  2. Add the 2 bulbs to the group by sending the following two MQTT messages.
  • zigbee2mqtt/bridge/request/group/members/add with payload {"group":"my_group","device":"bulb_1"}
  • zigbee2mqtt/bridge/request/group/members/add with payload {"group":"my_group","device":"bulb_2"}
  1. Bind the remote to the group by sending the following MQTT message.
  • zigbee2mqtt/bridge/request/device/bind with payload {"from": "my_remote", "to": "my_group"}
    mais ça a jamais reussi a tomber en marche chez moi… du coup
    premiere option… je « bind » un a un…

J’ai deux erreurs à rectifier concernant des affirmations que j’avais fait précédemment. Ce coup-ci j’ai pris le temps de faire des tests un peu plus complet qu’une demi-heure en pleine nuit pour vérifier les choses que nous avions dit dans cette conversation.

  • Première erreur : les automatisations et les liens directs fonctionnent en même temps, en parallèle. Si je donne à mon bouton alpha une automatisation qui allume l’ampoule couloir et que je fais un lien direct entre alpha et l’ampoule cuisine, lorsque j’appuierai sur mon bouton, j’actionnerai en même temps les ampoules couloir et cuisine.
  • Seconde erreur : on peut actionner des groupes en lien direct (binding).

J’ai vérifié quelques points supplémentaires :

  • On peut connecter deux boutons ou plus à la même ampoule ou prise connectée. On peut donc imaginer faire du va et vient avec une liaison directe.
  • On peut connecté plusieurs ampoules à un seul bouton. On peut le faire en connectant une par une les ampoules au bouton. Ou bien en faisant un groupe qui contient l’ensemble des ampoules et en connectant le bouton au groupe.

Il y a d’autres comportements dont il faut tenir compte.
Imaginons que j’ai un groupe qui contient couloir et cuisine et qui est relié au bouton alpha en direct. De plus j’ai un bouton qui s’appelle beta et que j’ai lié en direct à couloir.
Maintenant couloir et cuisine sont éteintes. J’appuie sur alpha et je les allume toutes les deux. Si j’appuie sur beta, j’éteins le couloir. Et si je réappuie sur alpha j’allume couloir et j’éteins cuisine.
Pour le dire autrement, la liaison directe permet seulement de basculer l’état d’une ampoule ou d’une prise. Même si j’ai fait un groupe je ne peux pas garantir que je vais allumer ou éteindre en même temps en toutes les ampoules du groupe. Je vais seulement inverser l’état individuel dans lesquels se trouve les ampoules du groupe.
Cependant je ne suis pas catégorique sur le dernier point. Car il y a la possibilité de lier des scènes à un groupe. Alors si quelqu’un a envie de tester ça et corriger ce que j’ai dit, il n’y a qu’à tester…

Enfin pour réussir la création d’un groupe je suis passé directement par z2m. Dans le menu tout en haut il faut cliquer sur « Groupes » sur puis donner un nom, un numéro d’ID et cliquez sur le bouton de « Créer ». Ensuite on clique sur le lien, soit de l’ID ou sur le nom du groupe que l’on vient de créer. On rentre ainsi dans le groupe. On peut ensuite ajouter différents appareils dans le groupe.

2 « J'aime »