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
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.
É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 ?
ç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
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
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 ?