Bart (eedomus team) a écrit:Nous nous interrogeons sur MQTT depuis quelques temps.
En domotique, ce protocole est surtout utilisé en "intrabox" (entre un driver et le système, zigbee2mqtt par exemple).
Nous n'avons pas besoin de cette couche en plus. Ce protocole lancé par IBM est en vogue, mais nous ne voyons pas d'avantages clairs de MQTT vis à vis de HTTP. HTTP est aussi rapide unitairement.
Il est facile à tester dans un browser. La sécurisation de HTTPS est robuste. Côté cloud, HTTPS tient la charge.
Les périphériques proposant MQTT sont généralement compatibles HTTP (Shelly par exemple).
Cela dit, nous sommes ouverts à l’implémenter dans la box eedomus s'il y a des besoins importants MQTT qu'on ne pourrait pas couvrir avec HTTP.
D'un point de vue technique c'est faisable, nous avons un prototype fonctionnel qui ne prend pas trop de ressources à la box.
@bart bonjour, intéressant, je pense qu'il y a un point dans l'usage MQTT qui est assez fondamentalement en plus par rapport de l'usage HTTP (ou HTTPS)
MQTT permet à plusieurs systèmes de collaborer dans 1 centre de post commun et surtout permet d’éviter la problématique du bidirectionnel (multiple) qui fait miroir entre 1 ordre reçu et sa conséquence qui déclenche un ordre donné.
je m'explique: quand on a plusieurs systèmes actifs avec un même device, il est nécessaire de synchroniser toutes les représentations du même device sur les différents systèmes pour lequel il est connu.
Si on a pas de centre de postage unique (MQTT), alors on doit mettre en place un échange bidirectionnel (entre chaque système) de: je t’envoie un changement état, mais qui déclenche de l'autre côté, l'état a changé donc je t’envoie le nouvel état et en fonction des dialogues (ça peut) ça va créer du bagottement.
Avec le centre unique de postage (MQTT) cela règle ce problème puisque l'abonnement sur le device ne va plus diffuser de modifications pour celui qui a déjà le bon état, la référence devenant l'état dans le centre de postage.
donc OUI, 3 fois OUI à la mise en place de MQTT dans eedomus.