Vaillant eBUS hardware adapter (ebusd software) Thread

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?

3 Likes