For me it looks like this. I have flows for every ebus topic I’m interested in. As an example:
The initial node listens to the desired topic:
The function node extracts the value from the payload (slightly different for different measured parameters)
The MQTT out doe then sends it to the emon topic to be picked up by emoncms:
I then have polling flows with different intervals for different values I want to extract, here for example every 30s polling for integral, flow and return temp:
This just sends a regular /get to the topics that should be updated
.
My /etc/default/ebusd line is:
EBUSD_OPTS="–device=ens:/dev/ttyACM0 --scanconfig --configpath=/home/pi/ebusd_config/ --pollinterval=1 --accesslevel=* --mqtthost=localhost --mqttport=1883 --mqttuser=emonpi --mqttpass=emonpimqtt2016 --mqttint=/etc/ebusd/mqtt-hassio.cfg --mqttjson
The ebus adapter v5 is plugged into the emonpi.
Those are basically the building blocks I used. There are some more additional things like polling specific values more often when the compressor is active (based on my own power measurements using a Shelly) or updating the desired flow temperature as soon as the reported outside temperature changes.
I’d be happy to contribute to a wiki/howto document.