Problems using eBUS V5 + eBUSd?

[English version / French version below]

Hello,

I have a Saunier Duval boiler, and I’ve been trying to integrate it into Home Assistant for a few days now using the eBUS V5 module via MQTT (Mosquitto) (Here: Welcome to eBUS Adapter Shield - eBUS Adapter Shield v5).

I never thought I would face so many difficulties using such a module. I believe I’m not the only one, and I think the problem lies in the documentation and the lack of concrete examples. It’s really unfortunate because it seems like a lot of work and energy have gone into this module + eBUSd, and it likely doesn’t deserve potential users giving up on it because they couldn’t get it to work :frowning:

I’ll try to describe in detail what I’ve done (perhaps this will help others).

I assume that the “Mosquitto broker” is already installed and functional. The same goes for the “File editor” tool.

So, I connected the eBUS V5 module in parallel with the thermostat, on the eBUS line, and powered the module via a USB cable. The module’s green LED is blinking.

The first step is to configure the module. During the initial setup, you need to connect to the WiFi network without a password called “EBUS” (this is the WiFi network generated by the module, meaning it’s in “WiFi Access Point” mode). For future configurations via this mode, you’ll need to press the button on the module at startup (this is explained quite well here: https ://adapter.ebusd.eu/v5/steps.en.html).

Once on the “EBUS” WiFi network, go to the address: http ://192.168.4.1 in your preferred browser.

You’ll see an interface called “eAS”. In this interface, you can mainly configure the WiFi Client, WiFi Access Point, eBUS via TCP, httpd, MQTT, etc.

The first thing to do is configure the “WiFi client” mode by entering the SSID and PSWD of your home WiFi network. Once the module connects to this WiFi network, it will no longer be necessary to use “WiFi Access Point” mode to configure it. You just need to be connected to the same WiFi network that you just configured for the module (your home WiFi network) and access the module’s IP address (check your router’s settings to find the IP assigned to the module).

Once the WiFi part is configured, I move on to configuring MQTT. Here, I lost some time because I didn’t know what a URI was, and there were special characters in the MQTT connection password.

A URI is formatted like this: mqtt://[HOST]:[PSWD]@[IP-HOST]:[MASK]/[TOPIC]

What didn’t work: mqtt://host_mqtt:myPassword"1234@homeassistant.local:1883/myebus
Special characters must be escaped, for example, " → %22. homeassistant.local must be replaced by the IP of Home Assistant → 192.168.1.89

What didn’t work: mqtt://host_mqtt:myPassword%221234@192.168.1.89:1883/myebus
Even after escaping the special character, the URI was not valid. So, I had to change my password.

What worked:
mqtt://[email protected]:1883/myebus

→ It’s useful to note that in the “eAS” interface logs, you can see whether the MQTT connection failed or succeeded :slight_smile:

At this point, I thought, “Great! I can finally receive and send data from my boiler!”

However… it turns out this configuration only allows us to receive a few internal parameters from the eBUS V5 module (which we don’t care about…), such as:

  • running = true/false
  • temp = [internal temperature of the esp32, in °C]
  • rssi = [in dB]
  • uptime = …
  • signal = true/false

No information from the boiler, then…

It took me a while to understand that the eBUS V5 module must be used with an addon called “eBUSd.”

Here, you’ll find a very basic documentation: ebusd - Home Assistant

Forget what you’ve learned from that page and instead follow these steps:

  • Go to “Settings” → “Add-ons” → Click on “Add-on Store” → In the top right, click on the three dots → Click on “Repositories” and add “https ://github.com/LukasGrebe/ha-addons/”.
  • After a short time, you will be able to search for the “eBUSd” addon in the add-on store (this is not immediate).
  • Install the “eBUSd” addon.
  • Using “File Editor,” go to the “configuration.yaml” file.
  • In the “configuration.yaml” file, add the module’s IP, the port (if in doubt, the information is available on the first page of the module’s “eAS” interface) (I didn’t understand what to put in ‘circuit’, so I guessed and used “bai” as in most examples):

yaml

Copier le code

ebusd:
  host: 192.168.1.40
  circuit: "bai"
  port: 9999
  • Restart Home Assistant.

In my case, I couldn’t go any further. Normally, the eBUSd addon should appear in “Settings” → “Devices & Services,” but it doesn’t show up?! I can see a trace of it when I go to “Settings” → “Devices & Services” → “Home Assistant Supervisor” → “X devices” → “eBUSd”.

When I go to “Settings” → “Add-ons” → “eBUSd,” the module’s status is “red,” meaning the module is stopped. When I click “START,” the button greys out for about 10 seconds and then becomes clickable again, but the module remains “red” and stopped.


In the “eAS” interface, the first page says: “ebusd connected: no”.

So, if anyone can help unblock my situation, I’d be very grateful (and others probably will be too).

Wishing you an excellent evening, Sébastien

(PS: I haven’t understood the auto-discovery option for MQTT topics, but I won’t discuss it until I’ve solved my previous issues :slight_smile: )



Bonsoir,

J’ai une chaudière Saunier Duval et j’ai essayé de l’intégrer, depuis quelques jours déjà, sur HA à l’aide du module eBUS V5 via MQTT (Mosquitto) (Ici : https ://adapter.ebusd.eu/v5/index.en.html).

Je n’aurais jamais cru rencontrer autant de difficultés pour l’utilisation d’un tel module. Je crois ne pas être le seul dans ce cas-la et je pense que le problème vient de la documentation et de l’absence d’exemples concrets… (c’est vraiment dommage, car j’ai l’impression qu’il y a beaucoup de travail et d’énergie qui ont été investis dans ce module + eBUSd et que, ca ne mérite sans doute pas que des potentiels utilisateurs abandonnent cette solution car ils n’auraient pas réussi à l’utiliser :frowning: ).

Je vais essayer de décrire au maximum ce que j’ai fais (peut-être que ca aidera certaines personnes).

Je part du principe que “Mosquitto broker” est déjà installé et fonctionnel.
Même principe pour l’outil “File editor”.

J’ai donc connecté le module eBUS V5 en parallèle du thermostat, sur la ligne eBUS. le module alimenté par un cordon USB. La led verte du module clignote.

La première étape sera de configurer le module. Lors de la première configuration, il faudra se connecter sur le réseau WiFi sans mot de passe nommé “EBUS” (c’est le réseau wifi qui est généré par le module, on dit qu’il est en mode “WIFI Access Point”). Pour les prochaines configurations via ce mode-la, il faudra appuyé sur le bouton du module au démarrage (c’est plutôt bien expliqué ici : https:// adapter.ebusd.eu/v5/steps.en.html ).

Une fois sur le réseau wifi “EBUS”, il faudra se rendre à l’adresse : http ://192.168.4.1, dans son navigateur préféré.

On tombe sur une sorte d’interface nommé “eAS”. Dans cette interface, on peut principalement configurer le WIFI Client, WIFI Access Point, eBUS via TCP, httpd, MQTT, etc …

La première chose à faire sera de configurer le mode “WIFI client” en indiquant le SSID et PSWD du réseau wifi de la maison. Une fois que le module arrive à se connecter sur ce réseau wifi, il ne sera plus nécessaire d’être en mode “WIFI Access Point” pour configurer ce dernier. Il suffira d’être connecter sur le même réseau wifi que celui que l’on vient de configurer pour le module (réseau wifi de la maison) et de se rendre à l’adresse IP du module (accéder aux paramètres de sa box pour trouver l’ip aura été attribuée au module).

Une fois la partie WiFi configurée, je configure la partie MQTT.
Ici j’ai perdu du temps car je ne savais pas ce qu’était une URI et il y avait des caractères spéciaux dans le mdp de connexion MQTT.

Une URI se présente de cette forme :
mqtt://[HOST]:[PSWD]@[IP-HOST]:[MASQUE]/[TOPIC]

Ce qui n’a pas fonctionné :
mqtt://host_mqtt:myPassword"1234@homeassistant.local:1883/myebus
Les caractères spéciaux doivent êtres échappés, par exemple " → %22.
homeassistant.local doit être remplacé par l’ip du home assistant → 192.168.1.89

Ce qui n’a pas fonctionné :
mqtt://host_mqtt:myPassword%221234@192.168.1.89:1883/myebus
Même en échappant le caractère spécial, l’URI n’était pas valide. J’ai donc du modifier mon mot de passe.

Ce qui a fonctionné :
mqtt://host_mqtt:[email protected]:1883/myebus

→ Il est intéressant de voir que dans les logs de l’interface “eAS”, ont peut savoir si la connexion MQTT a échouée ou réussi :slight_smile:

A partir de la je me suis dit "chouette, je vais enfin pouvoir recevoir et envoyer des données de ma chaudière " !

Sauf que … visiblement, cette configuration ne nous permets uniquement de recevoir quelques paramètres internes au module eBUS V5 (qui ne nous intéressent pas …) comme :

  • running = true/false
  • temp = [temp. interne à l’esp32, en °C]
  • rssi = [en dB]
  • uptime = …
  • signal = true/fale

Aucune info venant de la chaudière, donc …

Il m’a fallu un peut de temps avant de comprendre que le module eBUS V5 doit être obligatoirement utiliser avec un addon appelé “eBUSd”.

Ici vous trouverez une documentation vraiment trop rudimentaire : https:// www .home-assistant.io/integrations/ebusd

Oubliez ce que vous avez compris sur cette page, comprenez plutôt :

  • Se rendre dans “Paramètre” → “Modules complémentaires” → Cliquer sur “Boutique de modules complémentaires” → en haut à droite, cliquer sur les trois petits point → Cliquer sur “Dépôts” puis ajouter “https ://github.com/LukasGrebe/ha-addons/”.
  • Au bout d’un petit temps, il sera possible de rechercher l’AddOn ‘eBUSd’ dans la boutique de modules complémentaires (ce n’est pas immédiat).
  • Il faudra installer l’AddOn “eBUSd”.
  • A l’aide de “File Editor”, se rendre dans le fichier “configuration.yaml”.
  • Dans le fichier “configuration.yaml”, ajouter l’ip du module, le port (en cas de doute, informations disponibles sur la première page de l’interface “eAS” du module) (je n’ai pas compris ce qu’il fallait metre dans ‘circuit’, alors au petit bonheur la chance, j’ai mis “bai” comme dans la plus part des exemples) :
ebusd:
  host: 192.168.1.40
  circuit: "bai"
  port: 9999
  • redémarrer HA

Dans mon cas, je ne peux pas aller plus loin.
Normalement, l’AddOn eBUSd devrait être visible dans “Paramètres” → “Appareils et service”, mais ca n’apparait pas ?! J’en trouve une trace quand je vais dans “Paramètres” → “Appareils et service” → “Home Assistant Supervisor” → “X appareils” → “eBUSd”

Quand je vais dans “Paramètres” → “Modules complémentaires” → “eBUSd”, l’état du module est “rouge” pour signifier que la module est arrêté. Quand je clique sur “DEMARRER”, le bouton se grise environ 10 secondes pour redevient cliquable et le module, lui, reste “rouge” en état d’arrêt.

Dans l’interface “eAS”, la première page induique : “ebusd connected: no”.

Voila, si quelqu’un saurait débloquer ma situation, j’en serais très reconnaissant (et d’autres le seront sans doute aussi).

En vous souhaitant une excellente soirée,
Sébastien

( PS, je n’ai pas compris l’option auto découverte des topic MQTT, mais je ne veux pas en parler tant que je n’aurait pas débloqué mes problèmes précédant :slight_smile: )

2 Likes

Bonjour @S3b,

J’espère que je n’arrive pas trop tard.
J’ai eu le même problème que toi au début.
Il suffit d’aller dans les l’onglet configuration du module complémentaire, puis afficher les options non utilisées et enfin remplir l’adresse ip et port dans la case « Network adapteur adress ». Si je reprends ce que tu as configuré dans ton fichier configuration.yaml il faut que tu saisisses : 192.168.1.40:9999
Sauvegarde la configuration et démarre le module complémentaire.
Normalement dans les log du module tu ne devrais pas avoir d’erreur.

Ensuite par défaut la découverte automatique est activée, attends quelques minutes (une bonne dizaine) et les entités vont se créer.

Ensuite va dans Paramètres, Appareils et services, puis dans l’intégration MQTT. Trois nouveaux appareils ont dû être créés.

  • Ebusd qui donne les infos générales (running, scan, signal…)
  • Ebusd bai avec les infos de la chaudière. Certaines sont inconnues ou à 0 pour moi. Je pense que cela vient du modèle de la chaudière
  • Ebusd e7c il me semble que ce sont les informations du thermostat. J’ai un exacontrol E7C

J’en suis à cette étape là. J’essai de comprendre/déchiffrer toutes les entités créés, leurs donner des noms plus compréhensibles.
Je n’ai pas encore essayé d’envoyer d’ordre ou de modifier certaines valeurs.
Si tu y arrive je veux bien que tu m’expliques comment tu as fait :wink:

Merci !

3 Likes

Bonjour à tous les deux,

j’en suis également à cette étape avec une chaudière saunier duval,
beaucoup d’entités sont remontées via MQTT,
je vois la températures de l’eau et de nombreux autres paramètres que je commence à déchiffrer.

depuis quelques jours j’ai de nombreux capteurs qui sont passés en grisé,

j’essaie aussi de comprendre la logique des fichiers CSV, je n’ai pas encore identifié si j’avais besoin d’y toucher ou non,

objectif : définir la température cible depuis HA

affaire à suivre !

Bonjour,

Essai de vérifier si tu as une mise à jour à faire depuis l’interface de l’adaptateur Ebus. C’est peut-être simplement ça.

De mon côté, j’ai réussi à modifier la température de consigne pour l’eau chaude sanitaire en passant par le thermostat avec le code suivant :

action: mqtt.publish
data:
  topic: ebusd/e7c/dhwtempset/set
  payload: "55"

Par contre je bloque sur la température de chauffage. J’ai plusieurs entités par exemple :
sensor.ebusd_e7c_mondayheatingtemp_temp
sensor.ebusd_e7c_mondayheatingtemp_temp_2
Et ainsi de suite jusqu’à 7 et pour chaque jour. De ce que je comprends ce sont les températures du programme par plage horaire, mais je n’ai pas encore compris à quelle plage horaire cela correspond. En effet j’ai 4 plages max par jour dans ma programmation.

J’ai aussi trouvé les entités suivantes :
sensor.ebusd_e7c_heatingtemp1_temp
sensor.ebusd_e7c_heatingtemp2_temp
sensor.ebusd_e7c_heatingoverridetemp_temp

Le fait de modifier la consigne actuelle depuis le thermostat modifies les 3 en même temps. J’ai tenté une modification avec MQTT, la température est bien acceptée, la nouvelle valeur s’affiche sur Home Assistant, par contre au bout de quelques minutes elle revient à l’état initial. La valeur de consigne ne change pas non plus sur thermostat.
J’ai tenté de modifier les 3 en même temps, même résultat. Je pense que le programme a la priorité.

Il y a cette entité aussi : sensor.ebusd_e7c_heatingtempset_temp j’ai eu bonne espoir en la trouvant, mais je ne comprends pas à quoi elle correspond, elle est fixe à 21, elle ne correspond à rien, la température max du programme est 19°C.

À suivre également !

Bonjour
Je suis aussi dans la même démarche que vous avec une chaudière Saunier-Duval DUOMAX et un thermostat Exacontrol E7R.
J’arrive à récupérer les infos de la chaudière, de mon E7R, et de la sonde extérieure avec ebusd, mais je n’ai pas encore essayé d’envoyer des messages sur l’ebusd.
J’ai compris que l’entité “sensor.ebusd e7f_2 HeatingOverrideTemp temp” correspond à la consigne de température du thermostat, et je récupère les températures du circuit “aller” par l’entité “sensor.ebusd bai ebusd bai FlowTemp temp” et “retour” par “sensor.ebusd_bai_ebusd_bai_returntemp_temp”.
Un paramètre important pour réguler le fonctionnement de la chaudère est la pente de la courbe de chauffe (ou loi d’eau), elle correspond à l’entité “ebusd e7f_2 ebusd e7f_2 HeatCurve”.
A+

see Ebus integration? - Configuration - Home Assistant Community

Merci beaucoup @kheno
Avec ton aide j’ai réussi à modifier la valeur de consigne du thermostat jusqu’au prochain changement dans le programme, comme si on modifiait la consigne directement depuis le thermostat.
Il faut utiliser HeatingOverrideTemp pour définir la température choisie et ensuite activer l’Override avec HeatingOverrideEnable. J’en ai fait un script, ça donne :

alias: Modifier température chauffage
sequence:
  - action: mqtt.publish
    data:
      topic: ebusd/e7c/HeatingOverrideTemp/set
      payload: "{{temperature_desiree}}"
  - action: mqtt.publish
    data:
      topic: ebusd/e7c/HeatingOverrideEnable/set
      payload: "on"
fields:
  temperature_desiree:
    selector:
      number:
        min: 17
        max: 22
        step: 0.5
    name: Température désirée
    default: 18
    required: true

J’ai vu dans l’échange de @kheno qu’il y a HeatingOverrideEndTime pour donner une horaire de fin de la consigne mais j’ai l’erreur : argument value out of valid range
Ce serait top s’il était possible d’avoir une liste des action qu’il est possible de faire et le format de la payload en face. Avez-vous quelque chose ?
Merci !