[Mini Tuto] IPX800v5 et Homekit via MQTT

Hello,

Un petit retour d’expérience sur un 1er test mené ce matin.

Installation du broker MQTT Mosquitto sous Docker (Sur un Raspberry PI dans mon cas).

Je vous partage mes fichiers de config, si ça peut aider certain, j’ai un peu galéré, la doc de Mosquitto sous Docker étant incomplète.

Fichier docker-compose.yml :

version: '3'
services:
    eclipse-mosquitto:
        container_name: mosquitto
        user: 1000:1000
        ports:
            - 1883:1883
        volumes:
            - ./config:/mosquitto/config
            - ./data:/mosquitto/data
            - ./log:/mosquitto/log
        image: eclipse-mosquitto
        restart: always

Fichier mosquitto.conf :

listener 1883
allow_anonymous true
persistence true
persistence_location /mosquitto/data/
log_dest file /mosquitto/log/mosquitto.log

A ce stade, ça permet d’avoir un Broker Mosquitto opérationnel.

L’étape suivante consiste à le connecter sur l’IPX800v5 en allant dans les réglages et en configurant le broker MQTT. Mon broker étant non sécurisé, il suffit de mettre l’IP et le port.

Ensuite, créer une IO virtuelle que l’on va ensuite connecter à un objet MQTT ALL qui, dans mon exemple, lit et écrit dans le TOPIC IPX/IO_ALL :

Pour comprendre ce qui se passe dans le Broker MQTT, le mieux est de se connecter dessus avec un client depuis son ordi, par ex : MQTT Explorer.

Si vous activez, désactivez l’entrée virtuelle associé au TOPIC MQTT, vous devriez voir ceci :
Capture d’écran 2021-11-01 à 12.58.04

La valeur IO_ALL passant de 0 à 1 à chaque activation, désactivation de l’entrée virtuelle.

Maintenant, reste plus qu’à aller lire ce Topic MQTT avec un soft capable d’interagir avec Homekit.

2 possibilités, 3 saveur pour y parvenir :

  • vous avez déjà une installation Homebridge, ou cela vous sera utile (par exemple pour piloter des volets Somfy), alors il suffit de rajouter un des plugins suivant dans Homebridge :
  • vous n’avez pas besoin de Homebridge, ou vous voulez garder une config Homebridge la plus simple possible :
    • homekit2mqtt => je vais certainement le tester un peu plus tard

Dans mon test avec mqttthing, une fois le plug-in installé, je crée un objet de type Switch que je veux lier dans les 2 sens avec l’entrée virtuelle de l’IPX.

Voici la config :

  • configurer l’adresse du Broker et l’objet :

  • configurer le topic MQTT (IPX/IO_ALL dans mon exemple) et surtout ne pas oublier de choisir le mode 1/0, Homekit raisonnant par défaut en True / False
    ![Capture d’écran 2021-11-01 à 13.12.15|690x474, 75%]
    (upload://4aPrv9evDyG1Ka3soBpNms7XFFi.png)

Et voilà, un interrupteur Homekit synchronisé avec une sortie virtuelle de mon IPX :star_struck:

Et voilà, les écosystèmes sont connectés, la seule limite est l’imagination !!

5 « J'aime »

Bonjour mvv37,

merci pour ce retour.

Bonne journée

1 « J'aime »

Je voudrais faire la même chose avec ma V5
Et récupère les infos sur mon Jeedom
J ai installé mosquito sur docker de mon synology
Mais je ne vois rien arrive sur mqtt explorer
Je suis sur que mosquito fonctionne
Alors je demande de l aide
Merci à vous

Un message a été scindé en un nouveau sujet : A quoi sers MQTT?

Bonjour,
Sur Jeedom, vous avez la possibilité d’installer un serveur mqtt directement avec le plugin, pourquoi avoir installé sur un nas?
Pouvez-vous nous donner un peu plus d’information pour pouvoir vous aider avec quelques copies d’écran de la config du broker ou mqtt explorer ?

Edit: Par contre ce sujet a été créé pour un retour d’expérience avec MQTT et Homekit, attention à ne pas mélanger avec Jeedom.

Bonjour, j’essaie de faire marcher avec home-assistant mais je bloque sur plusieurs points de votre tuto. Quel réglage avez-vous mis dans la page « Manage MQTT » de l’ipx800v5 et j’ai pas trouvé pour la création de l’IO virtuelle (je suis passé de la v3 à la v5). Je connaissais pas ‹ MQTT explorer › ca m’a permis de voir que le serveur mosquitto de HA fonctionnait

A ce stade, je n’ai pas sécurisé mon serveur MQTT, donc uniquement enable / @ IP / port. Rien pour le reste et SSL sur off.

Dans les variables, dans la catégorie IO.

@ IP ? c’est l’ip de l’ipx800v5 ou celle qui heberge le serveur mosquito ? et vous mettez rien dans « client id » (ca sert a quoi d’ailleurs ce parametre) ?

@IP du broker MQTT. L’IPX est un client a qui il faut donner cette info.

CLient ID permet de nommer le client auprès du broker pour fiabiliser le fonctionnement du broker :

ClientId

The client identifier (ClientId) identifies each MQTT client that connects to an MQTT broker. The broker uses the ClientId to identify the client and the current state of the client.Therefore, this Id should be unique per client and broker. In MQTT 3.1.1 you can send an empty ClientId, if you don’t need a state to be held by the broker. The empty ClientId results in a connection without any state. In this case, the clean session flag must be set to true or the broker will reject the connection.

Effectivement je commence à comprendre le fonctionnement, peut-être aurait il fallu que ce client id soit directement lié au nom de l’ipx (IPX-800-V5) dans la partie système/infos (d’ailleurs ce nom n’est pas éditable ? ou j’ai pas trouvé ? comment faire si plusieurs ipx800v5 (rêvons :innocent:)?)

Bonsoir, j’ai pas réussi à faire fonctionner votre exemple, pourtant le broker mosquitto est ok sur mon home assistant (j’ai fouillé sur le net différentes implémentations), si vous avez le temps de faire un tuto plus complet avec toutes les étapes ce serait génial !!! :+1:
Par contre j’ai trouvé un super tuto sur mqtt donc je le partages ! :wink:

Et un autre tuto très explicite également qui traite de node-red sur home-assistant

Les 2 réunis donnes une bonne idée de ce qu’il est possible de faire avec home-assistant avec node-red installé (ou node-red tout court avec mosquitto) interfacé avec l’ipx800v5 (et pour le coup avec la v4 la v3 via la connexion node-red http), cela augmente considérablement les possibilités de scénarios et le partage de ceux-ci ! :+1:

Bonjour
Faire des tutos ça prend du temps, le mieux si vous cherchez de l’aide ici c’est d’expliqué ce que vous avez fait et surtout à quel endroit vous bloqué.

1 « J'aime »

Phénomène étrange, j’ai changé mon broker Mosquitto de machine, et depuis l’IPX ne veut plus lire les messages sur le broker. Si je publie depuis l’IPX, le broker se met à jour, mais si je mets à jour via MQTT Explorer sur le broker, il ne récupère rien, ni sur les MQTT All, ni sur les MQTT Subscribe.

Ne serait-ce pas un bug sur reconfiguration du Broker dans les paramètres system ?

J’ai réussi à le refaire marcher, j’ai l’impression que c’était surtout MQTT Explorer qui était moisi.

Donc pas de bug :grinning:

Vraiment très propre et très pratique le MQTT avec Homekit, j’ai pu ajouter facilement sous la forme d’un « Leak Sensor » l’alarme de trop plein de la fosse septique.

Ca fait sonner tous les appareils Apple.

Par contre @GCE @Jeremy_GCE , 32 topics, c’est très vite consommé, est-ce envisageable d’en avoir plus ?

D’ailleurs, quand on va sur la page Memory, le nombre d’objets MQTT n’est pas listé, oubli ?

Merci beaucoup pour le tuto @mcc37 , petite question, quel est l’intérêt d’utiliser Homebridge plutôt que homekit2mqtt, une facilité d’installation, de paramétrage? Merci.

2 raisons principales :
-homekit2mqtt ne semble plus évoluer d’après les sources GitHub

  • homebridge offre d’autres fonctionnalités (ex : commander les volets Somfy via radio IO)

En tout cas, la config que j’utilise maintenant depuis plus d’un mois est très stable.

1 « J'aime »

Bonjour à tous,
Merci pour ces postes, je m’approche du but.

Pouvez vous me passer le paramètre dans mqttthing car j’ai un message d’erreur :

Avec ces paramètres :

Je vous remercie

Kim

Bonjour mcc37, merci pour ton Tuto, cela m’aide. Il manque une image : ![Capture d’écran 2021-11-01 à 13.12.15|690x474, 75%]
(upload://4aPrv9evDyG1Ka3soBpNms7XFFi.png).

Pourrais tu l’ajouter ?
Je ne sais pas quoi mettre à ce niveau :

Merci beaucoup
Kim