MQTT et QoS

Bonjour,

J’atteins la fin de ma migration Jeedom ==> Home Assistant (le tout quasiment invisible pour ma femme, si ce n’est quelques heures^2 a ne pas vraiment suivre le film du soir …)

Un point me taraude en ce moment : MQTT et QoS
J’ai bien compris les trois niveaux de QoS possible avec MQTT, mais après dans la pratique, …

J’utilise :

  • Un broker Mosquitto dans un LXC sous proxmox
  • Un Zigbee2Mqtt dans un LXC sous proxmox
  • Hass sous proxmox

J’ai bien compris que la QoS peut etre différent sur les deux canaux:

  • Zigbee2Mqtt <==> Mosquitto
  • Hass <==> Mosquitto

J’ai cru comprendre que le QoS d’un canal est défini par le subscriber:

  • Zigbee2Mqtt <==> Mosquitto
  • Hass <==> Mosquitto

Dans Zigbee2Mqtt je trouve bien qu’on puisse définir la QoS pour un équipement (meme si je n’ai pas encore vérifié…)
Reste a comprendre dans Home Assistant.

Je suis tombé sur cette page : mqtt.publish
Qui me laisse dans cette réflexion:
Lorsque j’agit sur un équipement dans HASS : l’équipement fait appel à mqtt.publish, qui lui va envoyer une payload au broker.
Ce que je ne comprends pas c’est à quel moment je peux agir sur la QoS dans cette chaine.
La configuration d’un équipement et ses entités découverts par l’intégration MQTT ne le permet pas.
J’ai l’impression qu’il faudrait que je définisse une sorte de template qui serait appliqué à chaque appel à mqtt.publish, mais la je suis perdu.

ce dernier paragraphe est sans doute bourré d’incohérences, je m’en excuse, mais je cherche a comprendre depuis plusieurs jours et la je ne voit pas la logique.

Ah et pour répondre d’avance à la question « Pourquoi voudrais-tu faire cela » : de temps en temps, allez c’est arrivé deux fois, alors qu’une automatisation me dit clairement avoir effectué une action, i.e.: éteindre une lumière, celle-ci ne s’est pas éteinte. du coup je me dit que peut-être en passant la QoS à 1 ou 2 j’élimine ce soucis ? Si vous êtes certain que cela ne résoudra pas mon problème je suis prêt à tout contre-argumentaire :wink: Je n’ai pas beaucoup d’équipements (max 30) zigbee donc je ne pense pas que passer à un QoS 2 cela saturera mon système …

Quatsch

Hello.
Le QoS (quality of service) est principalement responsable de savoir si le message est délivré/reçu…
Personnellement avec une configuration similaire (lxc etc) , j’ai jamais eu besoin de jouer avec ce paramètre.
Par contre toutes les anomalies était plus du à une désynchronisation entre l’état réel et l’état dans ha qu’à un défaut de mqtt…
Le plus simple c’est quand même de faire l’analyse d’un cas chez toi avant de jouer avec QoS au risque de rendre ça moins performant

Le dernier cas, il y a quelques jours:

J’ai un automatisme qui éteins tout lorsque j’appuie sur un bouton


Dans Lum_Sejour j’ai ceci:
image

à part Ampoule_Buffet tout s’est éteint correctement, et je voyait bien dans l’historique de chacun de ces équipements que l’extinction était du à mon automatisme.

Ampoule_Buffet est resté allumé, tant physiquement que dans HASS et rien dans son historique …

ce que je comprends c’est que la QoS n’est pas en jeu, mais qui donc…

Tente juste de faire une petite adaptation :
Créer un groupe avec toutes tes ampoules via l’ui. Envoie l’information d’extinction au groupe plutôt qu’à chacune des ampoules individuellement.
Pour information, mélanger des pièces et des entités je ne sais pas si ça marche bien…

Justement, les éléments bleus sont des équipements indépendants, et le truc vert un groupe
et dans le groupe 2 sur 3 se sont éteint, … pas le 3eme

Salut,

je pense que @Pulpy-Luke par de groupe Zigbee2MQTT et non pas HA.

1 « J'aime »

OK, je vais essayer cela.

Pour revenir rapidement sur mon intuition de départ, sans doute fausse.
J’en déduit que la QoS on y touche pas.
Alors pourquoi tous les tuto parlant de MQTT sur cette fichu planète nous embrouillent avec la QoS alors qu’en réalité on s’en fiche ?

Perso je parlais de groupes ha (donc comme séjour si j’ai bien relu). Les groupes Zigbee j’aime pas c’est pas souple, du moins pas autant de mon point de vue.
Quant aux tuto qui parlent de QoS… Ça fait un moment que je n’en ai pas suivi un…