eBUS hardware adapter (and ebusd software) Thread

Are there any good sources for how these CSV files work?

None good but some exist:

1 Like

The example mqtt-hassio.cfg file includes this comment and config:

# include only messages having data sent at least once (only checked for passive or read messages, not for active write)
# when set to 1. If set to >1, then all messages passing the other filter criteria (including active read messages) will
# automatically be set to have a poll priority of at most this value, so these are automatically being polled.
# HA integration: filtering only seen messages to avoid unnecessary "pollution" and auto-poll all matched messages
filter-seen = 5
filter-name = status|temp|yield|count|energy|power|runtime|hours|starts|mode|curve|^load$|^party$|sensor|throughput|util$

If I understand correctly, you can leave the CSV files as just “r,”, and as long as the items match your filters, they’ll be polled anyway. I wasn’t getting the WaterThroughput or CurrentCompressorUtil data until I added the “|throughput|util$” to that variable.

That’s definitely true.

1 Like

Aha, interesting!

That does require using MQTT obviously, and having a broker running. Interesting nonetheless.

What is the poll frequency in that case?

I think it means if you set “filter-seen=5” it’s the equivalent of “r5,”.

Since I wasn’t getting much luck with the docker version of ebusd and it quite awkward to debug, I decided to install natively and it worked first time, thanks a lot to @Zarch for this help :smiley:

Install direct

From ebusd-debian/README.md at master · john30/ebusd-debian · GitHub

Tested On Bullseye Debian 11 emonSD-10Nov22 with version ebusd 23.2.23.2

wget -qO - https://raw.githubusercontent.com/john30/ebusd-debian/master/ebusd.gpg.key|sudo apt-key add -

sudo wget -O /etc/apt/sources.list.d/ebusd.list https://raw.githubusercontent.com/john30/ebusd-debian/master/ebusd-default-bullseye.list

sudo apt-get install ebusd

Configure

As per @Zarch suggestion above I’m using the config from jonesPD. I’m also connecting to the default MQTT server which is running locally on our emonSD whch is used in the emonPi / emonBase / emonHP.

git clone https://github.com/jonesPD/ebusd-configuration

sudo nano /etc/default/ebusd

EBUSD_OPTS="--scanconfig=full --configpath=/home/pi/ebusd-configuration/ebusd-2.1.x/en -d ens:/dev/ttyACM0 --latency=60 --loglevel=debug --mqttport=1883  --mqtthost=127.0.0.1 --mqttuser=emonpi --mqttpass=emonpimqtt2016"

Start

sudo systemctl start ebusd

Check status

tail /var/log/ebusd.log -f

tail /var/log/ebusd.log -f
2023-11-14 11:29:54.200 [mqtt debug] publish ebusd/hmu/CurrentYieldPower 1.3
2023-11-14 11:29:56.039 [bus info] poll cmd: 3108b51a0405ff3223
2023-11-14 11:29:56.039 [bus debug] start request 31
2023-11-14 11:29:56.039 [bus debug] arbitration start with 31
2023-11-14 11:29:56.087 [bus debug] arbitration won
2023-11-14 11:29:56.087 [bus debug] arbitration delay 11 micros
2023-11-14 11:29:56.087 [bus debug] switching from ready to send command
2023-11-14 11:29:56.130 [bus debug] notify request: ERR: SYN received
2023-11-14 11:29:56.130 [bus error] poll hmu CurrentYieldPower failed: ERR: SYN received
2023-11-14 11:29:56.130 [bus debug] ERR: SYN received during send command, switching to ready
2023-11-14 11:29:57.447 [update info] received MS cmd: 7108b5110107 / 0a027f00c1083000000000
2023-11-14 11:29:57.448 [update notice] received read hmu State QQ=71: 2;12.7;Eco mode HP on;heating
2023-11-14 11:29:58.361 [update info] received MS cmd: 0376b512061300105d0300 / 0200ff
2023-11-14 11:29:58.361 [update notice] received unknown MS cmd: 0376b512061300105d0300 / 0200ff
2023-11-14 11:29:58.408 [main debug] performing regular tasks
2023-11-14 11:29:59.249 [mqtt debug] publish ebusd/hmu/State 2;12.7;Eco mode HP on;heating
2023-11-14 11:30:00.024 [update info] received MS cmd: 1008b5110101 / 0938350080ffff0100ff
2023-11-14 11:30:00.025 [update notice] received read hmu Status01 QQ=10: 28.0;26.5;-;-;-;on
2023-11-14 11:30:00.291 [update info] received MS cmd: 1076b5110101 / 09ffff0080ff4f0000ff
2023-11-14 11:30:00.292 [update notice] received read vwzio Status01 QQ=10: -;-;-;-;39.5;off
2023-11-14 11:30:00.557 [update info] received MS cmd: 1076b512030f0001 / 077c02000080ff00
2023-11-14 11:30:00.558 [update notice] received read vwz unknownMPoll10sB512h QQ=10: 7c 02 00 00 80 ff 00

ebusctl info

pi@emonhp:~/ebusd $ ebusctl info
version: ebusd 23.2.23.2
update check: OK, device firmware 1[3a0f] available, vaillant/08.hmu.csv: different version available, vaillant/broadcast.csv: different version available, vaillant/yield3f40.inc: different version available
device: /dev/ttyACM0, enhanced high speed, firmware 1.1[380f].1[380f]
signal: acquired
symbol rate: 40
max symbol rate: 189
min arbitration micros: 5
max arbitration micros: 48
min symbol latency: 3
max symbol latency: 4
scan: finished
reconnects: 0
masters: 5
messages: 808
conditional: 0
poll: 1
update: 16
address 00: master #1
address 03: master #11
address 05: slave #1, scanned "MF=Vaillant;ID=VR921;SW=2801;HW=5703"
address 08: slave #11, scanned "MF=Vaillant;ID=HMU00;SW=0901;HW=5103", loaded "vaillant/08.hmu.csv"
address 10: master #2
address 15: slave #2, scanned "MF=Vaillant;ID=BASV2;SW=0562;HW=6304", loaded "vaillant/15.basv.csv"
address 31: master #8, ebusd
address 36: slave #8, ebusd, scanning
address 71: master #9
address 76: slave #9, scanned "MF=Vaillant;ID=VWZIO;SW=0202;HW=0103", loaded "vaillant/76.vwzio.csv"
address ec: slave, scanned "MF=Vaillant;ID=SOL00;SW=0562;HW=6304", loaded "vaillant/ec.sol.sc.csv"

ebusctl find -V

ebusctl find -V
basv AdaptHeatCurve = no data stored [ZZ=15, active read]
basv BankHolidayEndPeriod = no data stored [ZZ=15, active read]
basv BankHolidayStartPeriod = no data stored [ZZ=15, active read]
basv ccTimer.Friday = no data stored [ZZ=15, active read]
basv ccTimer.Monday = no data stored [ZZ=15, active read]
basv ccTimer.Saturday = no data stored [ZZ=15, active read]
basv ccTimer.Sunday = no data stored [ZZ=15, active read]
basv ccTimer.Thursday = no data stored [ZZ=15, active read]
basv ccTimer.Tuesday = no data stored [ZZ=15, active read]
basv ccTimer.Wednesday = no data stored [ZZ=15, active read]
basv ContinuosHeating = no data stored [ZZ=15, active read]
basv currenterror = error=- [error number];error=- [error number];error=- [error number];error=- [error number];error=- [error number] [ZZ=15, lastup=2023-11-14 11:14:16, active read]
basv CylinderChargeHyst = no data stored [ZZ=15, active read]
basv CylinderChargeOffset = no data stored [ZZ=15, active read]
basv Date = no data stored [ZZ=15, active read]
basv DisplayedOutsideTemp = no data stored [ZZ=15, active read]
basv errorhistory = no data stored [ZZ=15, active read]
basv FrostOverRideTime = no data stored [ZZ=15, active read]
basv GlobalSystemOff = no data stored [ZZ=15, active read]
basv Hc1ActualFlowTempDesired = no data stored [ZZ=15, active read]
basv Hc1AutoOffMode = no data stored [ZZ=15, active read]
basv Hc1CircuitType = no data stored [ZZ=15, active read]
basv Hc1ExcessTemp = no data stored [ZZ=15, active read]
basv Hc1FlowTemp = no data stored [ZZ=15, active read]
basv Hc1HeatCurve = no data stored [ZZ=15, active read]
basv Hc1HeatCurveAdaption = no data stored [ZZ=15, active read]
basv Hc1MaxFlowTempDesired = no data stored [ZZ=15, active read]
basv Hc1MinFlowTempDesired = no data stored [ZZ=15, active read]
basv Hc1MixerMovement = no data stored [ZZ=15, active read]
basv Hc1PumpStatus = no data stored [ZZ=15, active read]
basv Hc1RoomTempSwitchOn = no data stored [ZZ=15, active read]
basv Hc1Status = no data stored [ZZ=15, active read]
basv Hc1SummerTempLimit = no data stored [ZZ=15, active read]
basv Hc2ActualFlowTempDesired = no data stored [ZZ=15, active read]
basv Hc2AutoOffMode = no data stored [ZZ=15, active read]
basv Hc2CircuitType = no data stored [ZZ=15, active read]
basv Hc2ExcessTemp = no data stored [ZZ=15, active read]
basv Hc2FlowTemp = no data stored [ZZ=15, active read]
basv Hc2HeatCurve = no data stored [ZZ=15, active read]
basv Hc2HeatCurveAdaption = no data stored [ZZ=15, active read]
basv Hc2MaxFlowTempDesired = no data stored [ZZ=15, active read]
basv Hc2MinFlowTempDesired = no data stored [ZZ=15, active read]
basv Hc2MixerMovement = no data stored [ZZ=15, active read]
basv Hc2PumpStatus = no data stored [ZZ=15, active read]
basv Hc2RoomTempSwitchOn = no data stored [ZZ=15, active read]
basv Hc2Status = no data stored [ZZ=15, active read]
basv Hc2SummerTempLimit = no data stored [ZZ=15, active read]
basv Hc3ActualFlowTempDesired = no data stored [ZZ=15, active read]
basv Hc3AutoOffMode = no data stored [ZZ=15, active read]
basv Hc3CircuitType = no data stored [ZZ=15, active read]
basv Hc3ExcessTemp = no data stored [ZZ=15, active read]
basv Hc3FlowTemp = no data stored [ZZ=15, active read]
basv Hc3HeatCurve = no data stored [ZZ=15, active read]
basv Hc3HeatCurveAdaption = no data stored [ZZ=15, active read]
basv Hc3MaxFlowTempDesired = no data stored [ZZ=15, active read]
basv Hc3MinFlowTempDesired = no data stored [ZZ=15, active read]
basv Hc3MixerMovement = no data stored [ZZ=15, active read]
basv Hc3PumpStatus = no data stored [ZZ=15, active read]
basv Hc3RoomTempSwitchOn = no data stored [ZZ=15, active read]
basv Hc3Status = no data stored [ZZ=15, active read]
basv Hc3SummerTempLimit = no data stored [ZZ=15, active read]
basv HcStorageTempBottom = no data stored [ZZ=15, active read]
basv HcStorageTempTop = no data stored [ZZ=15, active read]
basv HolidayEndPeriod = no data stored [ZZ=15, active read]
basv HolidayStartPeriod = no data stored [ZZ=15, active read]
basv HolidayTemp = no data stored [ZZ=15, active read]
basv HwcBankHolidayEndPeriod = no data stored [ZZ=15, active read]
basv HwcBankHolidayStartPeriod = no data stored [ZZ=15, active read]
basv HwcFlowTemp = no data stored [ZZ=15, active read]
basv HwcHolidayEndPeriod = no data stored [ZZ=15, active read]
basv HwcHolidayStartPeriod = no data stored [ZZ=15, active read]
basv HwcLockTime = no data stored [ZZ=15, active read]
basv HwcMaxFlowTempDesired = no data stored [ZZ=15, active read]
basv HwcOpMode = no data stored [ZZ=15, active read]
basv HwcParallelLoading = no data stored [ZZ=15, active read]
basv HwcSFMode = no data stored [ZZ=15, active read]
basv HwcStorageTemp = no data stored [ZZ=15, active read]
basv HwcStorageTempBottom = no data stored [ZZ=15, active read]
basv HwcStorageTempTop = no data stored [ZZ=15, active read]
basv HwcTempDesired = no data stored [ZZ=15, active read]
basv hwcTimer.Friday = no data stored [ZZ=15, active read]
basv hwcTimer.Monday = no data stored [ZZ=15, active read]
basv hwcTimer.Saturday = no data stored [ZZ=15, active read]
basv hwcTimer.Sunday = no data stored [ZZ=15, active read]
basv hwcTimer.Thursday = no data stored [ZZ=15, active read]
basv hwcTimer.Tuesday = no data stored [ZZ=15, active read]
basv hwcTimer.Wednesday = no data stored [ZZ=15, active read]
basv HydraulicScheme = no data stored [ZZ=15, active read]
basv Installer1 = no data stored [ZZ=15, active read]
basv Installer2 = no data stored [ZZ=15, active read]
basv KeyCodeforConfigMenu = no data stored [ZZ=15, active read]
basv MaintenanceDate = no data stored [ZZ=15, active read]
basv MaintenanceDue = no data stored [ZZ=15, active read]
basv ManualCooling = no data stored [ZZ=15, active read]
basv MaxCylinderChargeTime = no data stored [ZZ=15, active read]
basv MaxRoomHumidity = no data stored [ZZ=15, active read]
basv MultiRelaySetting = no data stored [ZZ=15, active read]
basv noiseReductionTimer.Friday = no data stored [ZZ=15, active read]
basv noiseReductionTimer.Monday = no data stored [ZZ=15, active read]
basv noiseReductionTimer.Saturday = no data stored [ZZ=15, active read]
basv noiseReductionTimer.Sunday = no data stored [ZZ=15, active read]
basv noiseReductionTimer.Thursday = no data stored [ZZ=15, active read]
basv noiseReductionTimer.Tuesday = no data stored [ZZ=15, active read]
basv noiseReductionTimer.Wednesday = no data stored [ZZ=15, active read]
basv OpMode = no data stored [ZZ=15, active read]
basv OpModeCooling = no data stored [ZZ=15, active read]
basv OpModeEffect = no data stored [ZZ=15, active read]
basv OpModeVentilation = no data stored [ZZ=15, active read]
basv OutsideTempAvg = no data stored [ZZ=15, active read]
basv PhoneNumber1 = no data stored [ZZ=15, active read]
basv PhoneNumber2 = no data stored [ZZ=15, active read]
basv PrEnergySum = no data stored [ZZ=15, active read]
basv PrEnergySumHc = no data stored [ZZ=15, active read]
basv PrEnergySumHcLastMonth = no data stored [ZZ=15, active read]
basv PrEnergySumHcThisMonth = no data stored [ZZ=15, active read]
basv PrEnergySumHwc = no data stored [ZZ=15, active read]
basv PrEnergySumHwcLastMonth = no data stored [ZZ=15, active read]
basv PrEnergySumHwcThisMonth = no data stored [ZZ=15, active read]
basv PrFuelSum = no data stored [ZZ=15, active read]
basv PrFuelSumHc = no data stored [ZZ=15, active read]
basv PrFuelSumHcLastMonth = no data stored [ZZ=15, active read]
basv PrFuelSumHcThisMonth = no data stored [ZZ=15, active read]
basv PrFuelSumHwc = no data stored [ZZ=15, active read]
basv PrFuelSumHwcLastMonth = no data stored [ZZ=15, active read]
basv PrFuelSumHwcThisMonth = no data stored [ZZ=15, active read]
basv PumpAdditionalTime = no data stored [ZZ=15, active read]
basv SFMode = no data stored [ZZ=15, active read]
basv SolarYieldTotal = no data stored [ZZ=15, active read]
basv SystemFlowTemp = no data stored [ZZ=15, active read]
basv tariffTimer.Friday = no data stored [ZZ=15, active read]
basv tariffTimer.Monday = no data stored [ZZ=15, active read]
basv tariffTimer.Saturday = no data stored [ZZ=15, active read]
basv tariffTimer.Sunday = no data stored [ZZ=15, active read]
basv tariffTimer.Thursday = no data stored [ZZ=15, active read]
basv tariffTimer.Tuesday = no data stored [ZZ=15, active read]
basv tariffTimer.Wednesday = no data stored [ZZ=15, active read]
basv Time = no data stored [ZZ=15, active read]
basv VentilationDay = no data stored [ZZ=15, active read]
basv VentilationNight = no data stored [ZZ=15, active read]
basv ventilationTimer.Friday = no data stored [ZZ=15, active read]
basv ventilationTimer.Monday = no data stored [ZZ=15, active read]
basv ventilationTimer.Saturday = no data stored [ZZ=15, active read]
basv ventilationTimer.Sunday = no data stored [ZZ=15, active read]
basv ventilationTimer.Thursday = no data stored [ZZ=15, active read]
basv ventilationTimer.Tuesday = no data stored [ZZ=15, active read]
basv ventilationTimer.Wednesday = no data stored [ZZ=15, active read]
basv WaterPressure = no data stored [ZZ=15, active read]
basv YieldTotal = no data stored [ZZ=15, active read]
basv z1ActualRoomTempDesired = no data stored [ZZ=15, active read]
basv z1BankHolidayEndPeriod = no data stored [ZZ=15, active read]
basv z1BankHolidayStartPeriod = no data stored [ZZ=15, active read]
basv z1CoolingTemp = no data stored [ZZ=15, active read]
basv z1CoolingTimer.Friday = no data stored [ZZ=15, active read]
basv z1CoolingTimer.Monday = no data stored [ZZ=15, active read]
basv z1CoolingTimer.Saturday = no data stored [ZZ=15, active read]
basv z1CoolingTimer.Sunday = no data stored [ZZ=15, active read]
basv z1CoolingTimer.Thursday = no data stored [ZZ=15, active read]
basv z1CoolingTimer.Tuesday = no data stored [ZZ=15, active read]
basv z1CoolingTimer.Wednesday = no data stored [ZZ=15, active read]
basv z1DayTemp = no data stored [ZZ=15, active read]
basv z1HolidayEndPeriod = no data stored [ZZ=15, active read]
basv z1HolidayStartPeriod = no data stored [ZZ=15, active read]
basv z1HolidayTemp = no data stored [ZZ=15, active read]
basv z1Name1 = no data stored [ZZ=15, active read]
basv z1Name2 = no data stored [ZZ=15, active read]
basv z1NightTemp = no data stored [ZZ=15, active read]
basv z1OpMode = no data stored [ZZ=15, active read]
basv z1OpModeCooling = no data stored [ZZ=15, active read]
basv z1QuickVetoTemp = no data stored [ZZ=15, active read]
basv z1RoomTemp = no data stored [ZZ=15, active read]
basv z1RoomZoneMapping = no data stored [ZZ=15, active read]
basv z1SFMode = no data stored [ZZ=15, active read]
basv z1Shortname = no data stored [ZZ=15, active read]
basv z1Timer.Friday = no data stored [ZZ=15, active read]
basv z1Timer.Monday = no data stored [ZZ=15, active read]
basv z1Timer.Saturday = no data stored [ZZ=15, active read]
basv z1Timer.Sunday = no data stored [ZZ=15, active read]
basv z1Timer.Thursday = no data stored [ZZ=15, active read]
basv z1Timer.Tuesday = no data stored [ZZ=15, active read]
basv z1Timer.Wednesday = no data stored [ZZ=15, active read]
basv z1ValveStatus = no data stored [ZZ=15, active read]
basv z2ActualRoomTempDesired = no data stored [ZZ=15, active read]
basv z2BankHolidayEndPeriod = no data stored [ZZ=15, active read]
basv z2BankHolidayStartPeriod = no data stored [ZZ=15, active read]
basv z2CoolingTemp = no data stored [ZZ=15, active read]
basv z2CoolingTimer.Friday = no data stored [ZZ=15, active read]
basv z2CoolingTimer.Monday = no data stored [ZZ=15, active read]
basv z2CoolingTimer.Saturday = no data stored [ZZ=15, active read]
basv z2CoolingTimer.Sunday = no data stored [ZZ=15, active read]
basv z2CoolingTimer.Thursday = no data stored [ZZ=15, active read]
basv z2CoolingTimer.Tuesday = no data stored [ZZ=15, active read]
basv z2CoolingTimer.Wednesday = no data stored [ZZ=15, active read]
basv z2DayTemp = no data stored [ZZ=15, active read]
basv z2HolidayEndPeriod = no data stored [ZZ=15, active read]
basv z2HolidayStartPeriod = no data stored [ZZ=15, active read]
basv z2HolidayTemp = no data stored [ZZ=15, active read]
basv z2Name1 = no data stored [ZZ=15, active read]
basv z2Name2 = no data stored [ZZ=15, active read]
basv z2NightTemp = no data stored [ZZ=15, active read]
basv z2OpMode = no data stored [ZZ=15, active read]
basv z2OpModeCooling = no data stored [ZZ=15, active read]
basv z2QuickVetoTemp = no data stored [ZZ=15, active read]
basv z2RoomTemp = no data stored [ZZ=15, active read]
basv z2RoomZoneMapping = no data stored [ZZ=15, active read]
basv z2SFMode = no data stored [ZZ=15, active read]
basv z2Shortname = no data stored [ZZ=15, active read]
basv z2Timer.Friday = no data stored [ZZ=15, active read]
basv z2Timer.Monday = no data stored [ZZ=15, active read]
basv z2Timer.Saturday = no data stored [ZZ=15, active read]
basv z2Timer.Sunday = no data stored [ZZ=15, active read]
basv z2Timer.Thursday = no data stored [ZZ=15, active read]
basv z2Timer.Tuesday = no data stored [ZZ=15, active read]
basv z2Timer.Wednesday = no data stored [ZZ=15, active read]
basv z2ValveStatus = no data stored [ZZ=15, active read]
basv z3ActualRoomTempDesired = no data stored [ZZ=15, active read]
basv z3BankHolidayEndPeriod = no data stored [ZZ=15, active read]
basv z3BankHolidayStartPeriod = no data stored [ZZ=15, active read]
basv z3CoolingTemp = no data stored [ZZ=15, active read]
basv z3DayTemp = no data stored [ZZ=15, active read]
basv z3HolidayEndPeriod = no data stored [ZZ=15, active read]
basv z3HolidayStartPeriod = no data stored [ZZ=15, active read]
basv z3HolidayTemp = no data stored [ZZ=15, active read]
basv z3Name1 = no data stored [ZZ=15, active read]
basv z3Name2 = no data stored [ZZ=15, active read]
basv z3NightTemp = no data stored [ZZ=15, active read]
basv z3OpMode = no data stored [ZZ=15, active read]
basv z3OpModeCooling = no data stored [ZZ=15, active read]
basv z3QuickVetoTemp = no data stored [ZZ=15, active read]
basv z3RoomTemp = no data stored [ZZ=15, active read]
basv z3RoomZoneMapping = no data stored [ZZ=15, active read]
basv z3SFMode = no data stored [ZZ=15, active read]
basv z3Shortname = no data stored [ZZ=15, active read]
basv z3ValveStatus = no data stored [ZZ=15, active read]
broadcast datetime = no data stored [ZZ=fe, passive read]
broadcast error = no data stored [ZZ=fe, passive read]
broadcast hwcStatus = no data stored [ZZ=fe, passive read]
broadcast id = no data stored [ZZ=fe, passive read]
broadcast id = no data stored [ZZ=any, active read]
broadcast load = no data stored [ZZ=fe, passive read]
broadcast NoiseReduction = no data stored [ZZ=fe, passive read]
broadcast OutsideTemp = temp2=13.141 °C [temperature] [ZZ=fe, lastup=2023-11-14 11:28:13, passive read]
broadcast signoflife = no data stored [ZZ=fe, passive read]
broadcast unknownBCb505h5c = =00 [ZZ=fe, lastup=2023-11-14 11:28:11, passive read]
broadcast unknownBCb508h09 = =00 [ZZ=fe, lastup=2023-11-14 11:19:18, passive read]
broadcast unknownBCb510h06 = =00 [ZZ=fe, lastup=2023-11-14 11:24:16, passive read]
broadcast vdatetime = time=11:26:57;date=14.11.2023 [ZZ=fe, lastup=2023-11-14 11:28:12, passive read]
general valuerange = no data stored [ZZ=any, active read]
hmu 4PortValve = no data stored [ZZ=08, active read]
hmu 4PortValveHours = no data stored [ZZ=08, active read]
hmu 4PortValveSwitches = no data stored [ZZ=08, active read]
hmu ActiveCoolingEnabled = no data stored [ZZ=08, active read]
hmu AirInletTemp = no data stored [ZZ=08, active read]
hmu AirIntakeTemp = no data stored [ZZ=08, active read]
hmu BuildingCircuitFlow = no data stored [ZZ=08, active read]
hmu BuildingCircuitMaxPressureDifference = no data stored [ZZ=08, active read]
hmu BuildingCircuitPumpPower = no data stored [ZZ=08, active read]
hmu BuildingCircuitWaterPressure = no data stored [ZZ=08, active read]
hmu BuildingPumpHours = no data stored [ZZ=08, active read]
hmu BuildingPumpStarts = no data stored [ZZ=08, active read]
hmu ch_18 = no data stored [ZZ=08, active read]
hmu ch_3 = no data stored [ZZ=08, active read]
hmu ch_46 = no data stored [ZZ=08, active read]
hmu ch_49 = no data stored [ZZ=08, active read]
hmu ch_4 = no data stored [ZZ=08, active read]
hmu ch_4a = no data stored [ZZ=08, active read]
hmu ch_4b = no data stored [ZZ=08, active read]
hmu ch_4c = no data stored [ZZ=08, active read]
hmu ch_5 = no data stored [ZZ=08, active read]
hmu ch_63 = no data stored [ZZ=08, active read]
hmu ch_6 = no data stored [ZZ=08, active read]
hmu ch_7 = no data stored [ZZ=08, active read]
hmu CompressorBlocktime = no data stored [ZZ=08, active read]
hmu CompressorCurrentLimit = no data stored [ZZ=08, active read]
hmu CompressorHours = no data stored [ZZ=08, active read]
hmu CompressorHysteresisCooling = no data stored [ZZ=08, active read]
hmu CompressorHysteresisHc = no data stored [ZZ=08, active read]
hmu CompressorInletTemp = no data stored [ZZ=08, active read]
hmu CompressorModulation = no data stored [ZZ=08, active read]
hmu CompressorModulationType = no data stored [ZZ=08, active read]
hmu CompressorOutletTemp = no data stored [ZZ=08, active read]
hmu CompressorSilentOperationLevel = no data stored [ZZ=08, active read]
hmu CompressorSpeed = no data stored [ZZ=08, active read]
hmu CompressorStarts = no data stored [ZZ=08, active read]
hmu CondensateTrayHeater = no data stored [ZZ=08, active read]
hmu CondensationTemp = no data stored [ZZ=08, active read]
hmu CondensorInletTemp = no data stored [ZZ=08, active read]
hmu CondensorOutletTemp = no data stored [ZZ=08, active read]
hmu ConsumptionThisYear10 = no data stored [ZZ=08, active read]
hmu ConsumptionThisYear11 = no data stored [ZZ=08, active read]
hmu ConsumptionThisYear12 = no data stored [ZZ=08, active read]
hmu ConsumptionThisYear1 = no data stored [ZZ=08, active read]
hmu ConsumptionThisYear2 = no data stored [ZZ=08, active read]
hmu ConsumptionThisYear3 = no data stored [ZZ=08, active read]
hmu ConsumptionThisYear4 = no data stored [ZZ=08, active read]
hmu ConsumptionThisYear5 = no data stored [ZZ=08, active read]
hmu ConsumptionThisYear6 = no data stored [ZZ=08, active read]
hmu ConsumptionThisYear7 = no data stored [ZZ=08, active read]
hmu ConsumptionThisYear8 = no data stored [ZZ=08, active read]
hmu ConsumptionThisYear9 = no data stored [ZZ=08, active read]
hmu ConsumptionTotal = no data stored [ZZ=08, active read]
hmu CopCooling = no data stored [ZZ=08, active read]
hmu CopCoolingMonth = no data stored [ZZ=08, active read]
hmu CopHc = no data stored [ZZ=08, active read]
hmu CopHcMonth = no data stored [ZZ=08, active read]
hmu CopHwc = no data stored [ZZ=08, active read]
hmu CopHwcMonth = no data stored [ZZ=08, active read]
hmu CurrentConsumedPower = no data stored [ZZ=08, active read]
hmu currenterror = error=- [error number];error=- [error number];error=- [error number];error=- [error number];error=- [error number] [ZZ=08, lastup=2023-11-14 11:14:19, active read]
hmu CurrentYieldPower = =1.2 kW [ZZ=08, lastup=2023-11-14 11:28:08, active read]
hmu DateTime = no data stored [ZZ=08, active read]
hmu DCFSignalState = no data stored [ZZ=08, active read]
hmu EEVOutletTemp = no data stored [ZZ=08, active read]
hmu EEVSteps = no data stored [ZZ=08, active read]
hmu EnergyIntegral = no data stored [ZZ=08, active read]
hmu EnergyIntegralStartCooling = no data stored [ZZ=08, active read]
hmu EnergyIntegralStartHeating = no data stored [ZZ=08, active read]
hmu errorhistory = no data stored [ZZ=08, active read]
hmu EvaporationTemp = no data stored [ZZ=08, active read]
hmu Fan1 = no data stored [ZZ=08, active read]
hmu Fan1OperHours = no data stored [ZZ=08, active read]
hmu Fan1Starts = no data stored [ZZ=08, active read]
hmu Fan2 = no data stored [ZZ=08, active read]
hmu Fan2OperHours = no data stored [ZZ=08, active read]
hmu Fan2Starts = no data stored [ZZ=08, active read]
hmu FlowPressure = no data stored [ZZ=08, active read]
hmu FlowTemp = no data stored [ZZ=08, active read]
hmu HcBivalencePoint = no data stored [ZZ=08, active read]
hmu HcModeActive = no data stored [ZZ=08, active read]
hmu HeatCurve = no data stored [ZZ=08, active read]
hmu HeatingCoilCompressor = no data stored [ZZ=08, active read]
hmu HighPressure = no data stored [ZZ=08, active read]
hmu HighPressureSwitch = no data stored [ZZ=08, active read]
hmu HwcBivalencePoint = no data stored [ZZ=08, active read]
hmu HwcChargeHysteresis = no data stored [ZZ=08, active read]
hmu HwcMode = no data stored [ZZ=08, active read]
hmu HwcModeActive = no data stored [ZZ=08, active read]
hmu HwcTemp = no data stored [ZZ=08, active read]
hmu ImmersionHeaterMode = no data stored [ZZ=08, active read]
hmu LiveMonitorMain = id=-;function=- [ZZ=08, lastup=2023-11-14 11:14:20, active read]
hmu LowPressure = no data stored [ZZ=08, active read]
hmu MA0output = no data stored [ZZ=08, active read]
hmu MA1output = no data stored [ZZ=08, active read]
hmu MA2output = no data stored [ZZ=08, active read]
hmu MainsBlocktimeMaxDuration = no data stored [ZZ=08, active read]
hmu MainsBlocktimeMinDuration = no data stored [ZZ=08, active read]
hmu MaxFlowTemp = no data stored [ZZ=08, active read]
hmu MI1input = no data stored [ZZ=08, active read]
hmu MinFlowTemp = no data stored [ZZ=08, active read]
hmu NoOfSwitchingOps = no data stored [ZZ=08, active read]
hmu OutdoorTemp = no data stored [ZZ=08, active read]
hmu OverheatingActualValue = no data stored [ZZ=08, active read]
hmu OverheatingTargetValue = no data stored [ZZ=08, active read]
hmu PositionEEV = no data stored [ZZ=08, active read]
hmu ReturnTemp = no data stored [ZZ=08, active read]
hmu RunningHoursCooling = no data stored [ZZ=08, active read]
hmu RunningHoursHc = no data stored [ZZ=08, active read]
hmu RunningHoursHwc = no data stored [ZZ=08, active read]
hmu SetMode = hcmode=auto [boiler mode];flowtempdesired=28.0 °C [temperature];hwctempdesired=- °C [temperature];hwcflowtempdesired=- °C [temperature];disablehc=0;disablehwctapping=1;disablehwcload=1;remoteControlHcPump=0;releaseBackup=0;releaseCooling=0 [ZZ=08, lastup=2023-11-14 11:28:11, passive write]
hmu SourcePressure = no data stored [ZZ=08, active read]
hmu SourceTempInput = no data stored [ZZ=08, active read]
hmu SourceTempOutput = no data stored [ZZ=08, active read]
hmu SperContaktS20 = no data stored [ZZ=08, active read]
hmu SperContaktS21 = no data stored [ZZ=08, active read]
hmu Standby = no data stored [ZZ=any, active read]
hmu State0 = field1=197;field2=4097;field3=56;field4=4;field5=9;field6=0 [ZZ=08, lastup=2023-11-14 11:28:12, active read]
hmu State = power=3 % [Compressor power];energy=12.7 kWh [daily environmental energy yield];state=Eco mode HP on;state=heating [ZZ=08, lastup=2023-11-14 11:28:13, active read]
hmu Status01 = temp1=28.0 °C [temperature];temp1=26.5 °C [temperature];temp2=- °C [temperature];temp1=- °C [temperature];temp1=- °C [temperature];pumpstate=on [pump state] [ZZ=08, lastup=2023-11-14 11:28:10, active read]
hmu Status02 = no data stored [ZZ=08, active read]
hmu Status16 = no data stored [ZZ=08, active read]
hmu Status = no data stored [ZZ=08, active read]
hmu StatusCirPump = =on [ZZ=08, lastup=2023-11-14 11:24:15, passive write]
hmu Statuscode = no data stored [ZZ=08, active read]
hmu SubcoolingActualValue = no data stored [ZZ=08, active read]
hmu SubcoolingTargetValue = no data stored [ZZ=08, active read]
hmu SummerSwitchOffTemp = no data stored [ZZ=08, active read]
hmu SupplyTemp = no data stored [ZZ=08, active read]
hmu SupplyTempElectricHeater = no data stored [ZZ=08, active read]
hmu SupplyTempWeighted = no data stored [ZZ=08, active read]
hmu SystemTemp = no data stored [ZZ=08, active read]
hmu TargetTempHc = no data stored [ZZ=08, active read]
hmu TargetTempHwc = no data stored [ZZ=08, active read]
hmu TemperatureSwitchCompressorOutlet = no data stored [ZZ=08, active read]
hmu TemperatureSwitchElectricHeater = no data stored [ZZ=08, active read]
hmu ThreeWayValve = no data stored [ZZ=08, active read]
hmu TotalEnergyUsage = no data stored [ZZ=08, active read]
hmu TotalRunningHours = no data stored [ZZ=08, active read]
hmu unknownMB509h2802 = =02 00 09 01 5f 01 00 48 4d 55 30 33 [Unknown from VWZ to HMU] [ZZ=08, lastup=2023-11-14 11:26:56, active read]
hmu unknownMB513h0528 = =01 [Unknown from CTLV2 to HMU] [ZZ=08, lastup=2023-11-14 11:24:15, active read]
hmu unknownMB51Ah0532 = =05 07 c0 cf c0 7b 3c 00 b0 1b 20 00 00 00 [Unknown from VWZ to HMU] [ZZ=08, lastup=2023-11-14 10:13:19, active read]
hmu unknownMB51Ah2634 = no data stored [ZZ=08, active read]
hmu unknownMPoll60sB507h = no data stored [ZZ=08, active read]
hmu unknownMPoll60sB51Ah2 = no data stored [ZZ=08, active read]
hmu unknownMPoll60sB51Ah3 = no data stored [ZZ=08, active read]
hmu unknownMPoll60sB51Ah4 = no data stored [ZZ=08, active read]
hmu unknownMPoll60sB51Ah5 = no data stored [ZZ=08, active read]
hmu unknownMPoll60sB51Ah6 = no data stored [ZZ=08, active read]
hmu WaterThroughput = no data stored [ZZ=08, active read]
hmu xUnknown2F = no data stored [ZZ=08, active read]
hmu xUnknown60 = no data stored [ZZ=08, active read]
hmu xUnknown62 = no data stored [ZZ=08, active read]
hmu xUnknown66 = no data stored [ZZ=08, active read]
hmu xUnknown67 = no data stored [ZZ=08, active read]
hmu xUnknown68 = no data stored [ZZ=08, active read]
hmu xUnknown69 = no data stored [ZZ=08, active read]
hmu xUnknown6A = no data stored [ZZ=08, active read]
hmu xUnknown80 = no data stored [ZZ=08, active read]
hmu YieldCooling = no data stored [ZZ=08, active read]
hmu YieldCoolingDay = no data stored [ZZ=08, active read]
hmu YieldCoolingMonth = no data stored [ZZ=08, active read]
hmu YieldHc = no data stored [ZZ=08, active read]
hmu YieldHcDay = no data stored [ZZ=08, active read]
hmu YieldHcMonth = no data stored [ZZ=08, active read]
hmu YieldHwc = no data stored [ZZ=08, active read]
hmu YieldHwcDay = no data stored [ZZ=08, active read]
hmu YieldHwcMonth = no data stored [ZZ=08, active read]
hmu YieldThisYear10 = no data stored [ZZ=08, active read]
hmu YieldThisYear11 = no data stored [ZZ=08, active read]
hmu YieldThisYear12 = no data stored [ZZ=08, active read]
hmu YieldThisYear1 = no data stored [ZZ=08, active read]
hmu YieldThisYear2 = no data stored [ZZ=08, active read]
hmu YieldThisYear3 = no data stored [ZZ=08, active read]
hmu YieldThisYear4 = no data stored [ZZ=08, active read]
hmu YieldThisYear5 = no data stored [ZZ=08, active read]
hmu YieldThisYear6 = no data stored [ZZ=08, active read]
hmu YieldThisYear7 = no data stored [ZZ=08, active read]
hmu YieldThisYear8 = no data stored [ZZ=08, active read]
hmu YieldThisYear9 = no data stored [ZZ=08, active read]
hmu YieldTotal = no data stored [ZZ=08, active read]
memory eeprom = no data stored [ZZ=any, active read]
memory ram = no data stored [ZZ=any, active read]
sc Col = no data stored [ZZ=ec, active read]
sc ColKickPumpTime = no data stored [ZZ=ec, active read]
sc ColKickTempDelta = no data stored [ZZ=ec, active read]
sc CollPump = no data stored [ZZ=ec, active read]
sc currenterror = no data stored [ZZ=ec, active read]
sc D1Temp = no data stored [ZZ=ec, active read]
sc D2Temp = no data stored [ZZ=ec, active read]
sc Date = no data stored [ZZ=ec, active read]
sc EDFunction = no data stored [ZZ=ec, active read]
sc EnableScProtection = no data stored [ZZ=ec, active read]
sc errorhistory = no data stored [ZZ=ec, active read]
sc FlowRate = no data stored [ZZ=ec, active read]
sc FrostProtectionEnabled = no data stored [ZZ=ec, active read]
sc FrostProtectionLimit = no data stored [ZZ=ec, active read]
sc Hc1PumpKol1PP1Port = no data stored [ZZ=ec, active read]
sc Hc2aLegPumpP2Port = no data stored [ZZ=ec, active read]
sc Hc2zPort = no data stored [ZZ=ec, active read]
sc HydraulicScheme = no data stored [ZZ=ec, active read]
sc InitCircuit = no data stored [ZZ=ec, active read]
sc IsInBoostMode = no data stored [ZZ=ec, active read]
sc KickFunction = no data stored [ZZ=ec, active read]
sc LpZpMaPort = no data stored [ZZ=ec, active read]
sc MAPreferredStorage = no data stored [ZZ=ec, active read]
sc MaximalTemp2 = no data stored [ZZ=ec, active read]
sc MaximalTemp = no data stored [ZZ=ec, active read]
sc MultifunctionOutput = no data stored [ZZ=ec, active read]
sc OMultifunction = no data stored [ZZ=ec, active read]
sc PumpAntiLockingFlags = no data stored [ZZ=ec, active read]
sc QuickVetoStart = no data stored [ZZ=ec, active read]
sc ResetSolGain = no data stored [ZZ=ec, active read]
sc RuntimeCollPump = no data stored [ZZ=ec, active read]
sc RuntimeCollPumpSeconds = no data stored [ZZ=ec, active read]
sc ScProtectionHysteresis = no data stored [ZZ=ec, active read]
sc ScProtectionLimit = no data stored [ZZ=ec, active read]
sc ScProtectionTime = no data stored [ZZ=ec, active read]
sc SolCollPumpDcIntegrator = no data stored [ZZ=ec, active read]
sc SolCollPumpED = no data stored [ZZ=ec, active read]
sc SolGain = no data stored [ZZ=ec, active read]
sc SolOperationMode = no data stored [ZZ=ec, active read]
sc SP1 = no data stored [ZZ=ec, active read]
sc SP2 = no data stored [ZZ=ec, active read]
sc SumSolGain = no data stored [ZZ=ec, active read]
sc SumSolGainDayBefore = no data stored [ZZ=ec, active read]
sc SystemMode = no data stored [ZZ=ec, active read]
sc TempDifferenceOff2 = no data stored [ZZ=ec, active read]
sc TempDifferenceOff = no data stored [ZZ=ec, active read]
sc TempDifferenceOffTD12 = no data stored [ZZ=ec, active read]
sc TempDifferenceOn2 = no data stored [ZZ=ec, active read]
sc TempDifferenceOn = no data stored [ZZ=ec, active read]
sc TempDifferenceOnTD12 = no data stored [ZZ=ec, active read]
sc Time = no data stored [ZZ=ec, active read]
sc Weekday = no data stored [ZZ=ec, active read]
sc YieldLastYear = no data stored [ZZ=ec, active read]
sc YieldThisYear = no data stored [ZZ=ec, active read]
scan id = no data stored [ZZ=any, active read]
scan.05  = MF=Vaillant;ID=VR921;SW=2801;HW=5703 [ZZ=05, lastup=2023-11-14 02:11:39, active read]
scan.08  = MF=Vaillant;ID=HMU00;SW=0901;HW=5103 [ZZ=08, lastup=2023-11-14 02:11:39, active read]
scan.08 id = prefix=21;year=23;week=07;product=0010047381;supplier=1300;counter=105459;suffix=N0 [ZZ=08, lastup=2023-11-14 02:11:54, active read]
scan.15  = MF=Vaillant;ID=BASV2;SW=0562;HW=6304 [ZZ=15, lastup=2023-11-14 02:12:28, active read]
scan.15 id = no data stored [ZZ=15, active read]
scan.76  = MF=Vaillant;ID=VWZIO;SW=0202;HW=0103 [ZZ=76, lastup=2023-11-14 02:12:15, active read]
scan.ec  = MF=Vaillant;ID=SOL00;SW=0562;HW=6304 [ZZ=ec, lastup=2023-11-14 02:12:39, active read]
vwz unknownMPoll10sB512h = =7c 02 00 00 80 ff 00 [Unknown poll every 10 seconds from CTLV2 to VWZ] [ZZ=76, lastup=2023-11-14 11:28:11, active read]
vwzio BuildingCircuitFlow = no data stored [ZZ=76, active read]
vwzio BuildingCircuitPumpPower = no data stored [ZZ=76, active read]
vwzio BuildingCircuitWaterPressure = no data stored [ZZ=76, active read]
vwzio CondensorInletTemp = no data stored [ZZ=76, active read]
vwzio CondensorOutletTemp = no data stored [ZZ=76, active read]
vwzio ConsumptionTotal = no data stored [ZZ=76, active read]
vwzio currenterror = error=- [error number];error=- [error number];error=- [error number];error=- [error number];error=- [error number] [ZZ=76, lastup=2023-11-14 11:14:18, active read]
vwzio DateTime = no data stored [ZZ=76, active read]
vwzio DCFSignalState = no data stored [ZZ=76, active read]
vwzio errorhistory = no data stored [ZZ=76, active read]
vwzio HwcTemp = no data stored [ZZ=76, active read]
vwzio ImmersionHeaterPower = no data stored [ZZ=76, active read]
vwzio ImmersionHeaterPowerLimit = no data stored [ZZ=76, active read]
vwzio ImmersionHeaterStarts = no data stored [ZZ=76, active read]
vwzio ImmersionHeaterTemp = no data stored [ZZ=76, active read]
vwzio MA0output = no data stored [ZZ=76, active read]
vwzio MA1output = no data stored [ZZ=76, active read]
vwzio MA2output = no data stored [ZZ=76, active read]
vwzio MI1input = no data stored [ZZ=76, active read]
vwzio OutdoorTemp = no data stored [ZZ=76, active read]
vwzio PrioritySwitchingValveOps = no data stored [ZZ=76, active read]
vwzio ReturnTemp = no data stored [ZZ=76, active read]
vwzio RunningHoursImmersionHeater = no data stored [ZZ=76, active read]
vwzio SetMode = hcmode=auto [boiler mode];flowtempdesired=0.0 °C [temperature];hwctempdesired=- °C [temperature];hwcflowtempdesired=- °C [temperature];disablehc=1;disablehwctapping=0;disablehwcload=0;remoteControlHcPump=0;releaseBackup=0;releaseCooling=0 [ZZ=76, lastup=2023-11-14 11:28:12, passive write]
vwzio SperContaktS20 = no data stored [ZZ=76, active read]
vwzio SperContaktS21 = no data stored [ZZ=76, active read]
vwzio State = no data stored [ZZ=76, active read]
vwzio Status01 = temp1=- °C [temperature];temp1=- °C [temperature];temp2=- °C [temperature];temp1=- °C [temperature];temp1=39.5 °C [temperature];pumpstate=off [pump state] [ZZ=76, lastup=2023-11-14 11:28:11, active read]
vwzio Status02 = no data stored [ZZ=76, active read]
vwzio Status16 = no data stored [ZZ=76, active read]
vwzio Status = no data stored [ZZ=76, active read]
vwzio StatusCirPump = no data stored [ZZ=76, passive write]
vwzio Statuscode = no data stored [ZZ=76, active read]
vwzio SupplyTemp = no data stored [ZZ=76, active read]
vwzio SupplyTempElectricHeater = no data stored [ZZ=76, active read]
vwzio TemperatureSwitchElectricHeater = no data stored [ZZ=76, active read]
vwzio ThreeWayValve = no data stored [ZZ=76, active read]
vwzio TotalEnergyUsageImmersionHeater = no data stored [ZZ=76, active read]
vwzio xUnknown11 = no data stored [ZZ=76, active read]
vwzio xUnknown12 = no data stored [ZZ=76, active read]
vwzio xUnknown13 = no data stored [ZZ=76, active read]
vwzio xUnknown14 = no data stored [ZZ=76, active read]
vwzio xUnknown15 = no data stored [ZZ=76, active read]
vwzio xUnknown17 = no data stored [ZZ=76, active read]
vwzio xUnknown24 = no data stored [ZZ=76, active read]
vwzio xUnknown30 = no data stored [ZZ=76, active read]
vwzio xUnknown37 = no data stored [ZZ=76, active read]
vwzio xUnknown38 = no data stored [ZZ=76, active read]
vwzio xUnknown39 = no data stored [ZZ=76, active read]
vwzio xUnknown3F = no data stored [ZZ=76, active read]
vwzio xUnknown40 = no data stored [ZZ=76, active read]
vwzio xUnknown43 = no data stored [ZZ=76, active read]
vwzio xUnknown46 = no data stored [ZZ=76, active read]
vwzio xUnknown55 = no data stored [ZZ=76, active read]
vwzio xUnknown56 = no data stored [ZZ=76, active read]
vwzio xUnknown57 = no data stored [ZZ=76, active read]
vwzio xUnknown58 = no data stored [ZZ=76, active read]
vwzio xUnknown59 = no data stored [ZZ=76, active read]
vwzio xUnknown5A = no data stored [ZZ=76, active read]
vwzio xUnknown5D = no data stored [ZZ=76, active read]
vwzio xUnknown60 = no data stored [ZZ=76, active read]
vwzio xUnknown62 = no data stored [ZZ=76, active read]
vwzio xUnknown66 = no data stored [ZZ=76, active read]
vwzio xUnknown67 = no data stored [ZZ=76, active read]
vwzio xUnknown68 = no data stored [ZZ=76, active read]
vwzio xUnknown69 = no data stored [ZZ=76, active read]
vwzio xUnknown6A = no data stored [ZZ=76, active read]
vwzio xUnknown7B = no data stored [ZZ=76, active read]
vwzio xUnknown80 = no data stored [ZZ=76, active read]
vwzio YieldTotal = no data stored [ZZ=76, active read]

Autostart

sudo systemctl enable ebusd

Check MQTT

mosquitto_sub -v -u 'emonpi' -P 'emonpimqtt2016' -t 'ebusd/#

pi@emonhp:~/ebusd $ mosquitto_sub -v -u 'emonpi' -P 'emonpimqtt2016' -t 'ebusd/#'
ebusd/global/version ebusd 23.2.23.2
ebusd/global/running true
ebusd/global/scan finished
ebusd/global/signal true
ebusd/global/updatecheck OK, device firmware 1[3a0f] available, vaillant/08.hmu.csv: different version available, vaillant/broadcast.csv: different version available, vaillant/yield3f40.inc: different version available
ebusd/hmu/SetMode auto;28.0;-;-;0;1;1;0;0;0
ebusd/vwzio/SetMode auto;0.0;-;-;1;0;0;0;0;0
ebusd/hmu/Status01 29.0;27.0;-;-;-;on
ebusd/hmu/State 1;13.0;Eco mode HP on;heating
ebusd/vwzio/Status01 -;-;-;-;39.5;off
ebusd/vwz/unknownMPoll10sB512h 7c 02 00 00 80 ff 00
ebusd/hmu/State 1;13.0;Eco mode HP on;heating

MQTT Topics of Interest

OutsideT

ebusd/broadcast/OutsideTemp 12.668

Flow / return temp

ebusd/hmu/Status01 24.5;24.0;-;-;-;off

Status

ebusd/hmu/State 0;2.1;Eco mode HP on;heating

0 = compressor (%);
2.1 = daily environment yield (kWh);

DHW temperature

ebusd/vwzio/Status01 -;-;-;-;43.0;off


The next step is to get this data into Emoncms. It looks like @ramcq has already done the hard work modifying emonHub:

Also I belive there’s some data that needs to be activly polled for i.e I can’t see any mention of flow rate or much energy data.

@Zarch have you setup polling for more data?

2 Likes

sensor.ebusd_hmu_waterthroughput

Do I need to poll for this? What’s the best way to do this? Can polling be done via MQTT?

Mine just automatically come through into Home Assistant through MQTT auto discovery?
Sorry, I’m no expert on any other this… i just cobble my way through it. :rofl:

1 Like

My understanding was you needed to ask ebusd to poll certain values if you wanted them to be posted to MQTT automatically. It has built in polling if you append ?frequency to the topic name - 3.3. MQTT client · john30/ebusd Wiki · GitHub

That said 1) this doesn’t seem to work properly for me, so I’d be interested to know how you get on. everything mostly seems to go to crap once I try and poll something - I do wonder if my PSU isn’t strong enough or something, and it can’t write to the bus properly, and 2) because my patch never got merged (there seems to be some code duplication but my PHP fu is not strong enough to refactor the duplicated code which is probably the “right” thing to do) I kind of stopped fiddling with ebusd/emon. It would be great if we figured this out and I could get the heat pump monitoring going in the end!

And yeah, there does seem to be some “smooth path” for Home Assistant auto discovering everything over MQTT, and a slightly baffling magical trevor configuration file to change the MQTT interfaces around (why would you do this?!) in such a way that allows HA to find everything - MQTT integration · john30/ebusd Wiki · GitHub

Ooh, eBUS hardware adapter (and ebusd software) Thread - #31 by psimonkey explains how to use the weird MQTT configuration file to configure certain values for polling. Maybe that’s why @Zarch sees them going past on MQTT automatically.

MQTT auto discovery details here

And this is what I’ve got in my config file.

cat /etc/default/ebusd

EBUSD_OPTS=“–scanconfig=full --configpath=/home/mick/jones/ebusd-configuration/ebusd-2.1.x/en -d ens:/dev/ttyAMA0 --latency=60 --loglevel=debug --mqtthost=carbone.lan --mqttport=1883 --mqttint=/etc/ebusd/mqtt-hassio.cfg --mqttjson”

1 Like

I request data for the dashboard via node-red, could be by modifying the csv, but this works for me:

Do you know if I export the flows as text, is my mqtt username and mqtt password in this export? Just by searching the text, it’s not there. But maybe it uses some encryption?

Did you sort this @glyn.hudson ? I have not been able to get flowrate data even with the edits to the /etc/default/ebusd and /etc/ebusd/mqtt-hassio.cfg suggested in this thread and eBUS hardware adapter (and ebusd software) Thread - #31 by psimonkey . Ebusd seems not to poll with this setup, as the results of ebusctl find -V never show the WaterThroughput having stored data, even after several hours.

I guess I shall have to try NR as per @fluppie007 or try editing the csv files.

You can poll by posting to the respective MQTT topic with a /get appended, e.g. ebusd/hmu/WaterThroughput/get. I’m doing this every 10 seconds in a script to update all relevant sensors.

No, I gave up. It’s baffling why there is not a standard ebusd config file for a Vaillant heat pump! Surely this must be a very standard use case! Everyone seems to muddling through and confused the whole time, or maybe that’s just me! I would love to write up a definitive guide to integrate ebusd into OpenEnergyMonitor if I ever manage to get it to work :rofl:

I can’t use home assistant since the particular Vaillant I’m testing is remote to me and I only have shell access to a raspi on-site. Installing a full HA instance just to get MQTT data seems a total over kill!

That looks really interesting, I like the simplicity of manual polling. Could you share your flow? The flow export does not include credentials. You can search the test to double check.

1 Like

Just doing that is not enough; it will just return the last cached value. You need to specify a max age too. Or configure ebusd to poll these values every X seconds.

Based on this description you’re currently retrieving a lot of stale data. :face_with_peeking_eye:

:100: — mind-boggling indeed. There is a PR on the official repo where many of us are collaborating on exactly this problem.

The compounded challenge is that every Vaillant heatpump needs slightly different configuration. :melting_face:

The real problem here is Vaillant being a terrible partner: even customers who just want to monitor things (not even tweak/adjust/control) are left to figure it out for themselves. It would cost them NOTHING to share the specs of how these devices communicate!

What we need is regulation here: MID-approved electricity and heat meters in every heatpump, with standardized local data access. Maybe in a decade :crossed_fingers:

I have read this multiple times and can say that it just isn’t true for me. For noisy data (flow throughput, yield power) I am getting a new (different) value every 10 seconds, i.e. every time I poll. I have not modified the default poll interval or set any of the parameters in the csv to any specific polling priority (rX).

What’s the reason for this? How can we figure out the configuration we need for each particular unit?