Hello, can you please help me to get my WiFi eBusd adapter 3 integrated into HA and advise what you did to get yours running? It seems that I am missing a step to get the entities and their respective data configured and integrated into HA.
Your support and fresh experience from a successful integration are very much appreciated!
Thanks for your guidance!
I’m only marginally ahead of you.
Do you have ebusd running and picking up messages? If so, you’ll need to set up an MQTT broker (i’m running Eclipse Mosquitto in a container) and configure ebusd to publish the messages to the broker. You can then use e.g. MQTT explorer to see what messages are published.
Once this is working, get HA to connect to the MQTT broker by installing the MQTT integration. Edit configuration.yaml to add the sensors you’re after. There is quite a bit of info if you scroll up, but these two now work for me:
mqtt:
sensor:
- name: "HP Hot Water Temp"
state_topic: "ebusd/ehp/HwcTemp"
unit_of_measurement: "°C"
unique_id: "ebusd_hwc_temp"
value_template: >
{% set v = (value|default('Unknown;fault')).split(';') %}
{{ v[0] if v[1] == 'ok' else v[1] }}
- name: "HP Status"
state_topic: "ebusd/ehp/HeatPumpStatus"
unique_id: "ebusd_status"
I switched to MQTT auto-discovery and it works great for most values. However, all the pressure-related values are missing from HA, but do show up in mqtt:
$ mqtt sub --topic ebusd/ehp/HcPress
{
"press": {"value": 1.654},
"sensor": {"value": "ok"}}
Where do I start to troubleshoot this?
What kind of adapter do you have?
What did you do to enable the adapter sending heat pump sensor MQTT messages beyond its standard status messages?
I have this adapter: EBUS to WiFi adapter module by Daniel Kucera's store
I didn’t do much except start the standard ebusd image in a container. Below the relevant parts of the docker-compose file:
mosquitto:
image: eclipse-mosquitto
ports:
- 1883:1883
- 9001:9001
volumes:
- ./mosquitto:/mosquitto
- ./mosquitto/data:/mosquitto/data
- ./mosquitto/log:/mosquitto/log
restart: unless-stopped
ebusd:
environment:
EBUSD_DEVICE: "192.XXX.X.XXX:3333"
EBUSD_LATENCY: 20
EBUSD_SCANCONFIG: ""
EBUSD_MQTTHOST: boss.thuis.local
EBUSD_MQTTPORT: 1883
EBUSD_MQTTCLIENTID: "ebusd"
EBUSD_MQTTUSER: "xxxx"
EBUSD_MQTTPASS: "xxxx"
EBUSD_MQTTTOPIC: "ebusd"
EBUSD_MQTTGLOBAL: "ebusd/global/"
EBUSD_MQTTINT: "/etc/ebusd/mqtt-hassio.cfg"
EBUSD_MQTTJSON: ""
image: "john30/ebusd"
ports:
- ":8888/tcp"
restart: unless-stopped
Hi all,
I have a Bulex HP setup with MiPro Sense and MiLink v3.
MiPro Sense is exactly the same as VRC720 and MiLink v3 is basically the same hardware with VR920 from Vaillant.
I am now waiting to buy an eBUS Adapter to use this integration.
My question is, when I change a setting through ebusd, does it also reflected to the thermostat, i.e. MiPro Sense, or is the setting go directly to the HP? In that case, the integration would compete with the thermostat, i.e. both will eventually override each other’s last configuration.
Regards.
@bilalhp there is no comms from the HP to the thermostat. The HP takes all the decisions, the thermostat just gives an input AFAIK. Maybe it helps to think through an actual example where you expect a conflict.
Hello,
There is no comms from the HP to the thermostat. That’s correct.
My question is the communication between MiLink and MiPro.
MiLink should be applying the settings from the Cloud to MiPro with some commands over eBus. If this integration is using the same commands, the settings will be applied to MiPro (thermostat).
@bilalhp @DanZee so how do you wire this? I am using Protherm gas boiler and willing to use ebusd adapter. Thermostat that came with Protherm is wired using 2 cables. Can I just split those wires and connect thermostat and ebusd module side by side, and both would work? I am mostly interested in ebusd for logging the data, nit the control. Just wondering bkw would I wire it all together and if both would work side by side.
@stomko I would not expect the ebus interface to be on the same wires as the thermostat, most likely there will be seperate connectors somewhere in the internals of your boiler. I suggest to try and find a technical manual.
My ebus adapter occasionally (after a few weeks) disconnects from the wifi, and does not automatically reconnect (even after a few days). I need to disconnect/re-connect a wire on the module itself to reset it. Anyone else with this issue?
The wifi access point is a couple of meters from adapter, but in a room with quite a bit of equipment. The AP generally shows the eps-ebus connection as Excellent/Good (until it disconnects altogether obviously).
Did you set the ens: parameter in the ebusd config file?
I run ebusd using docker and have this as the environment variable
EBUSD_DEVICE: "192.168.2.174:3333"
I do not think ebusd config is the issue though. If I check my wifi router, the adapter dissappears from the network altogether and does not reconnect.
Hi, maybe that is my issue with the integration?
I am unsure about where to search and find the ebusd config file first. Can you please help me to locate the file?
Once, I found it I would then be able to set parameters.
Depending on you system, there should be a file unter /etc/default called ebusd.
That’s the one to adapt.
I have got a EBUS adapter v5. I have mount it on top of the Raspberry Pi 4. I am able to open a ‘ebus’ webpage via a Wifi connection with SSID ‘ebus’.
I would like to work with Home Assistant OS (OS managed) and the integration ‘ebusd’. I have added the Add-on ‘SSH and Web terminal’. For this Add-on I turned on the Advanced mode.
What is the next step to get it working?
Awesome!
I guess ebusd/e7c/DesiredTemperature does not exist, and you somehow connected it to the following topics:
heatingtemp1
heatingtemp2
heatingoverridetemp
Not sure how to present tem as ebusd/e7c/DesiredTemperature.
Would you be willing to share your automations?
thanks
Seems I don’t get notifications by e-mail… better late than sorry,
I indeed have some custom topics set by the MQTT climate entity which I pick up in automations. For instance, the temperature needs to be written to the correct topic depending on the mode of the thermostat (manual temperature, schedule, or away/holiday). I control the thermostat which controls the heater, I don’t control the heater directly.
DesiredTemperature:
alias: Exacontrol DesiredTemperature to action
description: ""
trigger:
- platform: mqtt
topic: ebusd/e7c/DesiredTemperature
condition: []
action:
- data:
topic: ebusd/e7c/HeatingScheduleEnable/get
payload: "?1"
action: mqtt.publish
- if:
- condition: state
entity_id: switch.e7c_schedule
state: "on"
then:
- data:
topic: ebusd/e7c/HeatingOverrideTemp/set
payload_template: "{{trigger.payload}}"
action: mqtt.publish
- data:
topic: ebusd/e7c/HeatingOverrideEndTime/set
payload_template: "{{(now() + timedelta(hours=4)).strftime('%d.%m.%Y %H:%M')}}"
action: mqtt.publish
- data:
topic: ebusd/e7c/HeatingOverrideEnable/set
payload: "on"
action: mqtt.publish
else:
- data:
topic: ebusd/e7c/HeatingTempSet/set
payload_template: "{{trigger.payload}}"
action: mqtt.publish
- data:
topic: ebusd/e7c/HeatingTemp1/get
payload: "?1"
action: mqtt.publish
mode: single
DesiredPreset:
alias: Exacontrol DesiredPreset to action
description: ""
trigger:
- platform: mqtt
topic: ebusd/e7c/DesiredPreset
condition: []
action:
- choose:
- conditions:
- condition: template
value_template: "{{ trigger.payload == 'none' }}"
sequence:
- data:
topic: ebusd/e7c/HeatingScheduleEnable/set
payload: "off"
action: mqtt.publish
- conditions:
- condition: template
value_template: "{{ trigger.payload == 'programma' }}"
sequence:
- data:
topic: ebusd/e7c/HeatingScheduleEnable/set
payload: "on"
action: mqtt.publish
- conditions:
- condition: template
value_template: "{{ trigger.payload == 'vakantie' }}"
sequence:
- data:
topic: ebusd/e7c/VacationEnable/set
payload: "on"
action: mqtt.publish
- data:
topic: ebusd/e7c/HeatingTemp1/get
payload: "?1"
action: mqtt.publish
mode: single
When the ebus signal is lost, or home assistant is restarted I force a periodic poll for some topics:
alias: Exacontrol force update climate
description: ""
trigger:
- platform: state
entity_id:
- climate.centrale_verwarming
from: "off"
enabled: true
- platform: state
entity_id:
- climate.centrale_verwarming
to: unknown
- platform: homeassistant
event: start
- type: connected
platform: device
device_id: 5f76d2befa3f259166e434ee04f3119f
entity_id: binary_sensor.ebusd_signal
domain: binary_sensor
for:
hours: 0
minutes: 0
seconds: 5
condition: []
action:
- data:
topic: ebusd/e7c/HeatingEnable/get
payload: "?1"
action: mqtt.publish
- data:
topic: ebusd/e7c/HeatingTemp1/get
payload: "?1"
action: mqtt.publish
- data:
topic: ebusd/e7c/DisplayedRoomTemp/get
payload: "?1"
action: mqtt.publish
- data:
topic: ebusd/bai/SetMode/get
payload: "?1"
action: mqtt.publish
mode: single
On the thermostat itself you can set a temperature which then would be in effect until the next change in the schedule. A WIP was to copy that behavior in home assistant. Frankly you need some kind of decision tree for the exacontrol thermostat as the behavior depends on the setting of different topics. Exposing the week program to HA was next, but decided I can just do that on the thermostat itself.
alias: Exacontrol sync override end time
description: ""
trigger:
- platform: state
entity_id:
- input_datetime.exacontrol_eindtijd
condition: []
action:
- data:
topic: ebusd/e7c/HeatingOverrideEndTime/set
payload: "{{trigger.this.strftime('%H')}}"
action: mqtt.publish
mode: single
Btw: the ebus adapter of Daniel has some firmware (and hardware) updates which might be useful. Now has a web ‘interface’ and some fixes.
superb, thank you very much!