Right that is also my understanding now, that ebusd is not sending updates via MQTT.
That’s why at the moment I created a small bash script and croned that one to run every min to update the mqtt entries.
the --pollinterval i set to 5 seconds, but still only some topics are sent, not the one i need.
Maybe you are right I have to check the CSVs, there might be a definition which topics are been sent and updated in that pollinterval.
I never checked so far the csvs…
can you check the logs? e.g. tail -f /var/log/ebusd.log
to see if ebusd does poll it? It can be that it does, but doesn’t update the relevant MQTT topic (for example, if Hc1DayTemp doesn’t change)
Not yet, sorry. I am still at the very beginning of my journey with HA
Then it just works as designed: MQTT is only updated if there is a change. You constantly have 23.0, so no change - no update. And why would you need extra traffic if it brings zero new information?
I do believe if you setup something like current temperature to be polled with -p switch then on temperature change you’ll see MQTT topic updated.
These are on the bus because your 350 talks to bai, so you are seeing the consequence of that captured by ebusd.
well, then I would suggest the following exercise:
Run tail -f /var/log/ebusd.log | grep Hc1DayTemp in one of the terminals/consoles
Subscribe with mosquitto_sub to ebusd/350/Hc1DayTemp in the other, so we can see both logs
Change the temperature using the wall thermostat
If there is NO message published and we see that Hc1DayTemp has changed and captured by ebusd then we have a bug in ebusd and this use-case and the issue should be reported to john30
For /get and /set suffixes, the optional message payload can be used to transfer additional input data, e.g. the values to be set for a write message or the needed input for a read message, separated by semicolon.
In addition to that, appending a question mark and a poll priority digit allows adjusting the poll priority for read messages. For example, using mosquitto_pub -m '?3' -t 'ebusd/uih/YieldSum/get' would set the uih/YieldSum message to be polled with priority 3 and is equivalent to issuing ebusctl -c uih -p 3 YieldSum .
No, this needs to be done once for every parameter you want to be polled at the very startup, right after there is a connection with ebusd.
In the YAML I would recommend adding availability_topic, payload_available, payload_not_available, so when connection to ebusd dies you don’t have uncontrolled stalled data
This should enable polling with priority 3, so you should see ebusd queries this parameters once in 3 * polling_interval seconds - please confirm you see this happening in ebusd logs
This is not correct, I didn’t read the documentation carefully, sorry. But this will set polling priority t 1*pollin_interval: mosquitto_pub -m '?1' -t 'ebusd/350/Hc1NightTemp/get'
and you should see this happening in ebusd logs
################################################################################
# Setup ebusd messages to poll
################################################################################
- alias: 'ebusd setup VRC700f/4 polling priorities'
trigger:
platform: state
entity_id: binary_sensor.ebusd_vrc700f_4_connected
to: 'on'
action:
# Set priority to 1 polling interval: ebusd will add all the below
# into its message queue and will query one of the parameters per
# polling interval
- service: mqtt.publish
data_template:
topic: ebusd/b7v/z1RoomTemp/get
payload: '?1'
# set priority to 2 polling intervals
- service: mqtt.publish
data_template:
topic: ebusd/b7v/z1DayTemp/get
payload: '?2'
Please pay attention on the trigger: this automation runs when my VRC700 has been scanned. To force scanning (as ebusd may have already scanned the devices before HA start):
First of all, I’m really sorry for the delayed answer, I was quite busy at home with other stuff …
Interesting approach, but for some of the config I do need some clarifications:
How did you came up with these values templates:
This is for the boiler (bai), right ?
Are those values valid for my boiler or I need to figure that out in some way ?
This is for the wall thermostat I guess.
But again are the values valid for me too or how should I get them ?
Just for my understanding: you are pulling the values via MQTT via an automation in HA, right?
How oft will this happen and in which conditions ? e.g. HA restart, value change in ebusd?