Envoyer des données vers Home assistant en MQTT

Bonjour,

J’ai acheté un appareil modbus qui peut transmettre des informations via MQTT comme je le comprends.
Ainsi, je peux le configurer en WIFI pour accéder à ses paramètres et aussi le relier au mien.

J’ai également vu qu’il pouvait envoyer les informations en MQTT, voici comment ça se présente et j’aimerais pouvoir les récupérer dans HA seulement je pense que j’ai du mal configurer des paramètres.

Si quelqu’un peut m’aider ça serait top, je vous remercie par avance


Ma configuration


version core-2023.12.1
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.11.6
os_name Linux
os_version 6.1.58-haos-raspi
arch aarch64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 5000
Installed Version 1.33.0
Stage running
Available Repositories 1367
Downloaded Repositories 44
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 11.2
update_channel stable
supervisor_version supervisor-2023.11.6
agent_version 1.6.0
docker_version 24.0.7
disk_total 219.4 GB
disk_used 7.7 GB
healthy true
supported true
board rpi4-64
supervisor_api ok
version_api ok
installed_addons File editor (5.7.0), Terminal & SSH (9.8.1), Mosquitto broker (6.4.0), Duck DNS (1.15.0), AirSend (1.2), Zigbee2MQTT (1.34.0-1), MyElectricalData (0.9.2-6), ZigStar TI CC2652P/P7 FW Flasher (0.3.0)
Dashboards
dashboards 13
resources 25
views 20
mode storage
Recorder
oldest_recorder_run 4 décembre 2023 à 20:02
current_recorder_run 13 décembre 2023 à 15:53
estimated_db_size 582.97 MiB
database_engine sqlite
database_version 3.41.2
___

Salut,

Dommage de ne pas avoir indiqué ta config HA (avec le template d’un nouveau sujet) mais
le serveur MQTT c’est probablement plutôt l’adresse de ton HA


Et il faut utiliser le compte connu par HA pour le user/password

Après il faudra intégrer le topic Borne via les templates sensors MQTT par exemple

Hello,

en tout premier, il faut confirmer que tu as bien un broker mqtt qui tourne.; (Comme Mosquitto dans les modules complmentaires)

Autant pour moi je l’ai intégrée

Ok j’ai mis l’adresse IP de mon HA, on est bien d’accord que même si j’ai un accès externe on doit quand même mettre cette IP interne : 192. … non ?

J’ai bien un compte connu mqtt avec son mdp qui fonctionne avec myelectricaldata et zig2mqtt

Pour intégrer le topic comment dois je faire concrêtement ?

Bonsoir,

Oui il tourne sans problème dans les modules complémentaires

si ton appareil est dans ton réseau domestique; tu renseignes l’adresse interne oui.

La ça dépend dans le meilleur des cas, tu n’as rien à faire les entités viendront toutes seule…
Sinon ça va dépendre du contenu et il va falloir faire un peu de yaml.

Y’a quelques possibilités de MQTT: Integrations - Home Assistant

Bonsoir,
Je pense avoir réussi à avoir une remontée d’informations via ce que je pense être le port série


Mais je n’ai pas de communication en mqtt alors qu’il semble bien connecté

Sur ce fil Connect lidl ultimate speed WB · evcc-io/evcc · Discussion #5572 · GitHub, il semble avoir écrit un code pour déchiffrer mais cela dépasse mes connaissances.
J’ai pris un matériel qui lit du modbus pour l’envoyer en mqtt
Matériel pour utiliser un port modbus sur une borne de recharge Lidl
Mais dans HA faut il créer quelque chose du coup et paramétrer différentes choses comme créer un topic, si oui comment ?

Édit, en changeant le protocole j’ai bien de la communication en mqtt et j’ai des éléments en écouter mon sujet borne dans mqtt sur HA.
Maintenant pour le traduire je dois créer des sensor dans configuration.yaml ?

Salut,

ça dépend du contenu des messages MQTT reçus.
Si jamais c’est au format que HA sait utiliser les entités sont créées directement sans te prévenir.
Sinon effectivement faut commencer à comprendre les infos envoyées.

Modbus nécessite un maître et des abonnés. Ceux-ci ont des numéros propre sur le bus.
Le maître, en l’occurrence HA devra initier des demandes à la borne lidl. Celle-ci répondra avec des données qui sont codées via un ordre établi normalement documenté dans la doc lidl.
Les données sont accessibles via des adresses et des longueurs.
Donc en gros, HA va créer une requête pour par exemple demander le courant actif à l instant.
Tu peux regarder à cet endroit comment formater une requête depuis HA.

Je pense qu’une liaison tcp server serait plus indiquée avec ta passerelle (elfin ? ) que mqtt.

Ok merci, pourquoi TCP ?
Comment ça se créée dans HA du coup ?
Par contre je n’ai que des remontées que si je ne mets pas le protocol modbus, si j’en mets aucun plus exactement

Comme tu as déporté ton port série via ta passerelle (est-ce bien une Elfin ? ), il faut que HA puisse accéder à ce port un peu comme si le port série était branché directement à ta machine via le port USB.
Donc avec TCPserver, tu accèdes à distance comme si ton pc était branché physiquement dessus.
Tu vas pouvoir discuter avec le port rs485 comme si il est juste à coté.
Regarde la documentation HA à ce sujet
On voit ci-dessous comment HA joint le port série de la passerelle TCP qui évidemment aura été créée auparavant dans la GW sur le port 502 par exemple

Maintenant, Lidl à peut être prévu de s’intégrer automatiquement à HA via MQTT discovery. Mais sans doc je ne me prononce pas.

De mon coté je lis et modifie les registres Modbus via Nodered. Je trouve plus simple. Mais le décodage reste le plus compliqué si pas de doc pour expliquer où se trouvent les registres et leurs types.

Edit: Que dit MQTTexplorer lorsque tu pointes sur ton broker ? Vois tu des topics style Lidl avec des valeurs dedans

Alors ma passerelle est celle-ci : 23.86€ 25% OFF|Serielle Schnitts telle rs485 zu wifi Server Konverter iot Gerät Unterstützung modbus tcp mqtt hf2211s| | - AliExpress
J’ai configuré comme cela :



Et elle reçoit et envoie :


Dans le manuel lidl j’ai ça comme élément

Dans mqtt sur l’intégration je peux écouter le topic borne que j’ai défini dans ma passerelle et ça donne cela :

Ok merci pour le tcp je vais regarder ça communique mieux qu’en mqtt ?

Sans connaître les détails spécifiques de la station de recharge ou sans avoir accès à la documentation technique de la station, il m’est difficile de déterminer ce que signifie chaque byte de la trame. En effet la borne visiblement envoie des infos sur un Topic, mais comment les décrypter.
Tu peux changer dans la passerelle le protocole vers Modbus-RTU si il existe.

Tu peux utiliser un soft comme modbus doctor qui va aller scanner les registres dont les adresses sont donnée dans l’extrait de doc. A savoir 168 ou hexadécimal xA8 (word), 169 (xA9) et 170 (xAA)
Exemple d’accès via TCP


image

Je pense que dans un 1er temps tu devrais te connecter directement avec ton pc et un adapteur USB <—> RS485. Ce sera plus simple pour expérimenter . Ca évite la configuration de la passerelle qui ne fait que transmettre plus loin les données Modbus.
Bon essais

Bonsoir,
Merci pour ton retour malheureusement je n’ai pas d’adaptateur USB RS485 cependant je peux configurer une connexion en TCP au besoin.
J’ai constaté qu’une personne avait réussi à décrypter les infos avec un ESP mais cela me dépasse et je ne maitrise pas tout
D’après ce que je comprends, sur HA ça serait beaucoup plus compliqué pour décrypter
Une solution en ESP s’impose ou serait ce possible autrement ?

Problème résolu, merci pour vos retours