ebusd-configuration
ebusd-configuration copied to clipboard
Feature/support ctlv2
This feature provides most functionality for a vaillant VRC720/2 sensoComfort control panel. (https://www.vaillant.de/heizung/produkte/witterungsgefuhrter-regler-sensocomfort-179200.html) The configuration is based on the previous "700" generation. For the first parts the old generation continues to work and the time slot behaviour had to be altered, as mentioned in #241. Currently I only have 3 Zones, HWC and CC configured, so I can not provide the commands for ventilation (Using System schema 2) The installation manual mentions that all the provided commands support 3 timeframes, but ventilation supports 12. There are two things to note:
- The timeslot commands implemented here are the same that the sensoNet module calls. However, I was not able to find out what the commands mentioned at the top of the timeslots sections do, but they probably probe the actual configuration as to which zones/devices can be configured on a timeslot basis. Maybe some one else who has this module can run those commands and compair their configuration to mine.
- As mentioned in the templates, the device seems to be using a new data type for temperatures. In the app and ui you are able to change the temperatures in 0.5°C steps, but in the ebus command it is using an UIN / 10 so that 22.5°C are the number 225 on the bus. Would this require a new base data type or can we define this conversion on the fly in the template somehow?
You removed (commented) SFMode. It dies not work on 720. Do you know the new address for SFMode?
It is not necessarily a different address, the 720 might be using a different datatype for it, as it is using different data types for the timeslots. Since i still do not know what SFMode is, I can not find out which value is there to be expected for it under which condition. However, every commented line that has the name "Unknown*", is a value that i was able to observe on the bus without actively probing for it. Maybe it is one of them.
try for ctvl2 so vrt 380
2022-12-08 15:12:37.029 [main notice] ebusd 22.4.v3.16.2-200-ga8ca21f541 started with auto scan on device 192.168.0.54:3333 2022-12-08 15:12:37.097 [bus notice] bus started with own address 31/36 2022-12-08 15:12:37.097 [bus notice] signal acquired 2022-12-08 15:12:41.480 [bus notice] new master 10, master count 2 2022-12-08 15:12:41.543 [bus notice] new master 03, master count 3 2022-12-08 15:12:41.543 [update notice] received unknown MS cmd: 1008b5110101 / 091b1b0080ff190000ff 2022-12-08 15:12:41.809 [update notice] received unknown MS cmd: 1008b51009000000ffffff010000 / 0101 2022-12-08 15:12:43.147 [mqtt notice] connection established 2022-12-08 15:12:47.275 [bus notice] scan 08: ;Vaillant;BAI00;0404;9602 2022-12-08 15:12:47.275 [update notice] store 08 ident: done 2022-12-08 15:12:47.276 [update notice] sent scan-read scan.08 QQ=31: Vaillant;BAI00;0404;9602 2022-12-08 15:12:47.277 [bus notice] scan 08: ;Vaillant;BAI00;0404;9602 2022-12-08 15:12:47.310 [main notice] read common config file vaillant/general.csv 2022-12-08 15:12:47.312 [main notice] read common config file vaillant/scan.csv 2022-12-08 15:12:47.316 [main notice] read common config file vaillant/broadcast.csv 2022-12-08 15:12:47.323 [main notice] read scan config file vaillant/08.bai.csv for ID "bai00", SW0404, HW9602 2022-12-08 15:12:47.485 [update notice] sent scan-read scan.08 id QQ=31: 2022-12-08 15:12:47.649 [update notice] sent scan-read scan.08 id QQ=31: 2022-12-08 15:12:47.815 [update notice] sent scan-read scan.08 id QQ=31: 2022-12-08 15:12:47.968 [bus error] send to 08: ERR: read timeout, retry 2022-12-08 15:12:48.751 [update notice] sent scan-read scan.08 id QQ=31: 21;22;42;0010021995;0001;021739;N9 2022-12-08 15:12:48.831 [main notice] found messages: 202 (2 conditional on 27 conditions, 0 poll, 10 update) 2022-12-08 15:12:49.008 [update notice] sent scan-read scan.08 id QQ=31: 21;22;42;0010021995;0001;021739;N9 2022-12-08 15:12:49.171 [update notice] sent scan-read scan.08 id QQ=31: 21;22;42;0010021995;0001;021739;N9 2022-12-08 15:12:49.337 [update notice] sent scan-read scan.08 id QQ=31: 21;22;42;0010021995;0001;021739;N9 2022-12-08 15:12:49.504 [update notice] sent scan-read scan.08 id QQ=31: 21;22;42;0010021995;0001;021739;N9 2022-12-08 15:12:49.505 [bus notice] scan 08: ;21;22;42;0010021995;0001;021739;N9 2022-12-08 15:12:51.591 [update notice] received read bai Status01 QQ=10: 13.5;13.5;-;-;12.5;off 2022-12-08 15:12:51.699 [bus notice] scan 15: ;Vaillant;CTLV0;0313;9103 2022-12-08 15:12:51.699 [update notice] store 15 ident: done 2022-12-08 15:12:51.699 [update notice] sent scan-read scan.15 QQ=31: Vaillant;CTLV0;0313;9103 2022-12-08 15:12:51.700 [bus notice] scan 15: ;Vaillant;CTLV0;0313;9103 2022-12-08 15:12:51.856 [update notice] sent unknown MS cmd: 3115b5090124 / 09003231323231343030 2022-12-08 15:12:52.148 [update notice] sent scan-read scan.15 id QQ=31: 2022-12-08 15:12:52.305 [update notice] sent scan-read scan.15 id QQ=31: 2022-12-08 15:12:52.519 [update notice] sent scan-read scan.15 id QQ=31: 21;22;14;0020260943;0953;026614;N3 2022-12-08 15:12:52.519 [bus notice] scan 15: ;21;22;14;0020260943;0953;026614;N3 2022-12-08 15:12:52.696 [main notice] read scan config file vaillant/15.ctlv0.csv for ID "ctlv0", SW0313, HW9103 2022-12-08 15:12:52.699 [main notice] found messages: 621 (2 conditional on 27 conditions, 0 poll, 10 update) 2022-12-08 15:12:52.735 [update notice] received read bai Status02 QQ=10: on;60;75.0;70;65.0 2022-12-08 15:12:53.041 [bus notice] max. symbols per second: 114 2022-12-08 15:12:53.697 [update notice] sent poll-read bai CounterStartattempts1 QQ=31: 0 2022-12-08 15:12:59.149 [update notice] sent poll-read bai CounterStartattempts2 QQ=31: 0 2022-12-08 15:13:01.582 [update notice] received read bai Status01 QQ=10: 13.5;13.5;-;-;12.5;off 2022-12-08 15:13:01.849 [update notice] received update-write bai SetMode QQ=10: auto;0.0;-;-;1;0;0;0;0;0 2022-12-08 15:13:05.142 [update notice] sent poll-read bai CounterStartAttempts3 QQ=31: 0
Great enhancement, thanks for the contribution @janphkre I'm also using a SensoConfort 720 (wireless) Here is the reply from the ...Time.Config commands from my setup -ebusctl read z1Timer.Config =>00 0c 0a 05 01 0c 05 1e 00 -ebusctl read z2Timer.Config =>03 01 01 00 00 00 ff ff 00 -ebusctl read z3Timer.Config =>03 01 01 00 00 00 ff ff 00 -ebusctl read hwcTimer.Config =>00 03 0a 0a 01 01 23 46 00 -ebusctl read ccTimer.Config =>00 03 0a 00 00 00 ff ff 00 When using the write command I only managed to write in the first slot (i.e ebusctl write -c basv z1Timer.Monday "0;1;08:30;09:45;185") but didn't figure out how to write to a second slot (tryed with ebusctl write -c basv z1Timer.Monday "1;2;10:30;11:45;195") Did you managed to write multiple slots, and if yes how?
Tks for work :
now my file ctvl0:

Entity for thermostat is :
temp setpoint = hc1actualflowtempdeisider ? but only read mode mode = hc1roomtempswitchon ?
@LukasGrebe
See janphkre@2a08b2e#commitcomment-91984115
the comment is in the Unit column. changing the
,at the end of the line to.changes the number of columns in this line.
I noticed some issue with the line below the one you commented and fixed those in both de and en. I hope it is the issue you mentioned, because i couldn't see an issue with the line you mentioned in a csv editor.
@jhuybrechs
When using the write command I only managed to write in the first slot (i.e ebusctl write -c basv z1Timer.Monday "0;1;08:30;09:45;185") but didn't figure out how to write to a second slot (tryed with ebusctl write -c basv z1Timer.Monday "1;2;10:30;11:45;195") Did you managed to write multiple slots, and if yes how?
In your example the first command has an issue: I was able to write to the second slot if this first command contains the total amount of slots that shall be set / active:
ebusctl write -c ctlv2 z1Timer.Monday "0;2;08:30;09:45;185"
ebusctl write -c ctlv2 z1Timer.Monday "1;2;10:30;11:45;195"
I don't know if this "array size" actually does something on the second and third slot, but it has to be specified for all commands.
However, I noticed a problem with the hwcTimer: In the message definition for wTimeSlotWithoutTemp I wrote IGN:2 which I thought would place there FFFF, but it places 0000 inside, which results in a return code of 06 insted of 00.
I currently am a bit clueless on how to fix this without having to define the value explicitly.
@jhuybrechs
I'm also using a SensoConfort 720 (wireless) Here is the reply from the ...Time.Config commands from my setup -ebusctl read z1Timer.Config =>00 0c 0a 05 01 0c 05 1e 00 -ebusctl read z2Timer.Config =>03 01 01 00 00 00 ff ff 00 -ebusctl read z3Timer.Config =>03 01 01 00 00 00 ff ff 00 -ebusctl read hwcTimer.Config =>00 03 0a 0a 01 01 23 46 00 -ebusctl read ccTimer.Config =>00 03 0a 00 00 00 ff ff 00
My configuration is the same, execpt for z2Timer and z3Timer, so I'd guess that you only have one zone configured and that is where the difference is resulting from. But still it is a mistery to me what this command does, but i guess that is okay for the time being:
r z1Timer.Config => 00 0c 0a 05 01 0c 05 1e 00
r z2Timer.Config => 00 0c 0a 05 01 0c 05 1e 00
r z3Timer.Config => 00 0c 0a 05 01 0c 05 1e 00
r hwcTimer.Config => 00 03 0a 0a 01 01 23 46 00
r ccTimer.Config => 00 03 0a 00 00 00 ff ff 00
try for ctvl2 so vrt 380
2022-12-08 15:12:37.029 [main notice] ebusd 22.4.v3.16.2-200-ga8ca21f541 started with auto scan on device 192.168.0.54:3333 2022-12-08 15:12:37.097 [bus notice] bus started with own address 31/36 2022-12-08 15:12:37.097 [bus notice] signal acquired 2022-12-08 15:12:41.480 [bus notice] new master 10, master count 2 2022-12-08 15:12:41.543 [bus notice] new master 03, master count 3 2022-12-08 15:12:41.543 [update notice] received unknown MS cmd: 1008b5110101 / 091b1b0080ff190000ff 2022-12-08 15:12:41.809 [update notice] received unknown MS cmd: 1008b51009000000ffffff010000 / 0101 2022-12-08 15:12:43.147 [mqtt notice] connection established 2022-12-08 15:12:47.275 [bus notice] scan 08: ;Vaillant;BAI00;0404;9602 2022-12-08 15:12:47.275 [update notice] store 08 ident: done 2022-12-08 15:12:47.276 [update notice] sent scan-read scan.08 QQ=31: Vaillant;BAI00;0404;9602 2022-12-08 15:12:47.277 [bus notice] scan 08: ;Vaillant;BAI00;0404;9602 2022-12-08 15:12:47.310 [main notice] read common config file vaillant/general.csv 2022-12-08 15:12:47.312 [main notice] read common config file vaillant/scan.csv 2022-12-08 15:12:47.316 [main notice] read common config file vaillant/broadcast.csv 2022-12-08 15:12:47.323 [main notice] read scan config file vaillant/08.bai.csv for ID "bai00", SW0404, HW9602 2022-12-08 15:12:47.485 [update notice] sent scan-read scan.08 id QQ=31: 2022-12-08 15:12:47.649 [update notice] sent scan-read scan.08 id QQ=31: 2022-12-08 15:12:47.815 [update notice] sent scan-read scan.08 id QQ=31: 2022-12-08 15:12:47.968 [bus error] send to 08: ERR: read timeout, retry 2022-12-08 15:12:48.751 [update notice] sent scan-read scan.08 id QQ=31: 21;22;42;0010021995;0001;021739;N9 2022-12-08 15:12:48.831 [main notice] found messages: 202 (2 conditional on 27 conditions, 0 poll, 10 update) 2022-12-08 15:12:49.008 [update notice] sent scan-read scan.08 id QQ=31: 21;22;42;0010021995;0001;021739;N9 2022-12-08 15:12:49.171 [update notice] sent scan-read scan.08 id QQ=31: 21;22;42;0010021995;0001;021739;N9 2022-12-08 15:12:49.337 [update notice] sent scan-read scan.08 id QQ=31: 21;22;42;0010021995;0001;021739;N9 2022-12-08 15:12:49.504 [update notice] sent scan-read scan.08 id QQ=31: 21;22;42;0010021995;0001;021739;N9 2022-12-08 15:12:49.505 [bus notice] scan 08: ;21;22;42;0010021995;0001;021739;N9 2022-12-08 15:12:51.591 [update notice] received read bai Status01 QQ=10: 13.5;13.5;-;-;12.5;off 2022-12-08 15:12:51.699 [bus notice] scan 15: ;Vaillant;CTLV0;0313;9103 2022-12-08 15:12:51.699 [update notice] store 15 ident: done 2022-12-08 15:12:51.699 [update notice] sent scan-read scan.15 QQ=31: Vaillant;CTLV0;0313;9103 2022-12-08 15:12:51.700 [bus notice] scan 15: ;Vaillant;CTLV0;0313;9103 2022-12-08 15:12:51.856 [update notice] sent unknown MS cmd: 3115b5090124 / 09003231323231343030 2022-12-08 15:12:52.148 [update notice] sent scan-read scan.15 id QQ=31: 2022-12-08 15:12:52.305 [update notice] sent scan-read scan.15 id QQ=31: 2022-12-08 15:12:52.519 [update notice] sent scan-read scan.15 id QQ=31: 21;22;14;0020260943;0953;026614;N3 2022-12-08 15:12:52.519 [bus notice] scan 15: ;21;22;14;0020260943;0953;026614;N3 2022-12-08 15:12:52.696 [main notice] read scan config file vaillant/15.ctlv0.csv for ID "ctlv0", SW0313, HW9103 2022-12-08 15:12:52.699 [main notice] found messages: 621 (2 conditional on 27 conditions, 0 poll, 10 update) 2022-12-08 15:12:52.735 [update notice] received read bai Status02 QQ=10: on;60;75.0;70;65.0 2022-12-08 15:12:53.041 [bus notice] max. symbols per second: 114 2022-12-08 15:12:53.697 [update notice] sent poll-read bai CounterStartattempts1 QQ=31: 0 2022-12-08 15:12:59.149 [update notice] sent poll-read bai CounterStartattempts2 QQ=31: 0 2022-12-08 15:13:01.582 [update notice] received read bai Status01 QQ=10: 13.5;13.5;-;-;12.5;off 2022-12-08 15:13:01.849 [update notice] received update-write bai SetMode QQ=10: auto;0.0;-;-;1;0;0;0;0;0 2022-12-08 15:13:05.142 [update notice] sent poll-read bai CounterStartAttempts3 QQ=31: 0
For me the ctlv2 shows up as follows:
address 15: slave #2, scanned "MF=Vaillant;ID=CTLV2;SW=0514;HW=1104", loaded "vaillant/15.ctlv2.csv"
Since the VRT380 seems to be from a different line of products than the vrc720/2 I guess you will not be able to use most of the ctlv2 configuration ("sensoHome" vs "sensoComfort").
To answer your question:
temp setpoint = hc1actualflowtempdeisider ? but only read mode
The Hc1ActualFlowTempDesired holds the value the heating circuit should try to hold for itself, the bai usually can deliver a duplicate of this value on the ebus too.
So in a way, yes, it is the setpoint of the heating circuit, but it is not the temperature setpoint of the thermostat. In the case of the cltv2, the thermostat is defined as the zones(z1Timer, z2Timer, etc.).
However if you want to read out the current value of the thermostat, then you can use the field z1ActualRoomTempDesired for example.
mode = hc1roomtempswitchon ?
The mode of the thermostat can be read out through the fields z1OpMode. If you want to know if the heating ciruit itself is currently acutally turned on, you could also look at the pump status Hc1PumpStatus or the hc status Hc1Status.
@LukasGrebe
See janphkre@2a08b2e#commitcomment-91984115 the comment is in the Unit column. changing the
,at the end of the line to.changes the number of columns in this line.I noticed some issue with the line below the one you commented and fixed those in both de and en. I hope it is the issue you mentioned, because i couldn't see an issue with the line you mentioned in a csv editor.
@janphkre fixed the comment issue in https://github.com/john30/ebusd-configuration/commit/40632c9902fa708c6d66f028dfffe2fe7ca2bbb9
what do you see in the following lines?
try for ctvl2 so vrt 380 2022-12-08 15:12:37.029 [main notice] ebusd 22.4.v3.16.2-200-ga8ca21f541 started with auto scan on device 192.168.0.54:3333 2022-12-08 15:12:37.097 [bus notice] bus started with own address 31/36 2022-12-08 15:12:37.097 [bus notice] signal acquired 2022-12-08 15:12:41.480 [bus notice] new master 10, master count 2 2022-12-08 15:12:41.543 [bus notice] new master 03, master count 3 2022-12-08 15:12:41.543 [update notice] received unknown MS cmd: 1008b5110101 / 091b1b0080ff190000ff 2022-12-08 15:12:41.809 [update notice] received unknown MS cmd: 1008b51009000000ffffff010000 / 0101 2022-12-08 15:12:43.147 [mqtt notice] connection established 2022-12-08 15:12:47.275 [bus notice] scan 08: ;Vaillant;BAI00;0404;9602 2022-12-08 15:12:47.275 [update notice] store 08 ident: done 2022-12-08 15:12:47.276 [update notice] sent scan-read scan.08 QQ=31: Vaillant;BAI00;0404;9602 2022-12-08 15:12:47.277 [bus notice] scan 08: ;Vaillant;BAI00;0404;9602 2022-12-08 15:12:47.310 [main notice] read common config file vaillant/general.csv 2022-12-08 15:12:47.312 [main notice] read common config file vaillant/scan.csv 2022-12-08 15:12:47.316 [main notice] read common config file vaillant/broadcast.csv 2022-12-08 15:12:47.323 [main notice] read scan config file vaillant/08.bai.csv for ID "bai00", SW0404, HW9602 2022-12-08 15:12:47.485 [update notice] sent scan-read scan.08 id QQ=31: 2022-12-08 15:12:47.649 [update notice] sent scan-read scan.08 id QQ=31: 2022-12-08 15:12:47.815 [update notice] sent scan-read scan.08 id QQ=31: 2022-12-08 15:12:47.968 [bus error] send to 08: ERR: read timeout, retry 2022-12-08 15:12:48.751 [update notice] sent scan-read scan.08 id QQ=31: 21;22;42;0010021995;0001;021739;N9 2022-12-08 15:12:48.831 [main notice] found messages: 202 (2 conditional on 27 conditions, 0 poll, 10 update) 2022-12-08 15:12:49.008 [update notice] sent scan-read scan.08 id QQ=31: 21;22;42;0010021995;0001;021739;N9 2022-12-08 15:12:49.171 [update notice] sent scan-read scan.08 id QQ=31: 21;22;42;0010021995;0001;021739;N9 2022-12-08 15:12:49.337 [update notice] sent scan-read scan.08 id QQ=31: 21;22;42;0010021995;0001;021739;N9 2022-12-08 15:12:49.504 [update notice] sent scan-read scan.08 id QQ=31: 21;22;42;0010021995;0001;021739;N9 2022-12-08 15:12:49.505 [bus notice] scan 08: ;21;22;42;0010021995;0001;021739;N9 2022-12-08 15:12:51.591 [update notice] received read bai Status01 QQ=10: 13.5;13.5;-;-;12.5;off 2022-12-08 15:12:51.699 [bus notice] scan 15: ;Vaillant;CTLV0;0313;9103 2022-12-08 15:12:51.699 [update notice] store 15 ident: done 2022-12-08 15:12:51.699 [update notice] sent scan-read scan.15 QQ=31: Vaillant;CTLV0;0313;9103 2022-12-08 15:12:51.700 [bus notice] scan 15: ;Vaillant;CTLV0;0313;9103 2022-12-08 15:12:51.856 [update notice] sent unknown MS cmd: 3115b5090124 / 09003231323231343030 2022-12-08 15:12:52.148 [update notice] sent scan-read scan.15 id QQ=31: 2022-12-08 15:12:52.305 [update notice] sent scan-read scan.15 id QQ=31: 2022-12-08 15:12:52.519 [update notice] sent scan-read scan.15 id QQ=31: 21;22;14;0020260943;0953;026614;N3 2022-12-08 15:12:52.519 [bus notice] scan 15: ;21;22;14;0020260943;0953;026614;N3 2022-12-08 15:12:52.696 [main notice] read scan config file vaillant/15.ctlv0.csv for ID "ctlv0", SW0313, HW9103 2022-12-08 15:12:52.699 [main notice] found messages: 621 (2 conditional on 27 conditions, 0 poll, 10 update) 2022-12-08 15:12:52.735 [update notice] received read bai Status02 QQ=10: on;60;75.0;70;65.0 2022-12-08 15:12:53.041 [bus notice] max. symbols per second: 114 2022-12-08 15:12:53.697 [update notice] sent poll-read bai CounterStartattempts1 QQ=31: 0 2022-12-08 15:12:59.149 [update notice] sent poll-read bai CounterStartattempts2 QQ=31: 0 2022-12-08 15:13:01.582 [update notice] received read bai Status01 QQ=10: 13.5;13.5;-;-;12.5;off 2022-12-08 15:13:01.849 [update notice] received update-write bai SetMode QQ=10: auto;0.0;-;-;1;0;0;0;0;0 2022-12-08 15:13:05.142 [update notice] sent poll-read bai CounterStartAttempts3 QQ=31: 0
For me the ctlv2 shows up as follows:
address 15: slave #2, scanned "MF=Vaillant;ID=CTLV2;SW=0514;HW=1104", loaded "vaillant/15.ctlv2.csv"Since the VRT380 seems to be from a different line of products than the vrc720/2 I guess you will not be able to use most of the ctlv2 configuration ("sensoHome" vs "sensoComfort").To answer your question:
temp setpoint = hc1actualflowtempdeisider ? but only read mode
The
Hc1ActualFlowTempDesiredholds the value the heating circuit should try to hold for itself, thebaiusually can deliver a duplicate of this value on the ebus too. So in a way, yes, it is the setpoint of the heating circuit, but it is not the temperature setpoint of the thermostat. In the case of the cltv2, the thermostat is defined as the zones(z1Timer, z2Timer, etc.). However if you want to read out the current value of the thermostat, then you can use the fieldz1ActualRoomTempDesiredfor example.mode = hc1roomtempswitchon ?
The mode of the thermostat can be read out through the fields
z1OpMode. If you want to know if the heating ciruit itself is currently acutally turned on, you could also look at the pump statusHc1PumpStatusor the hc statusHc1Status.
i try your config 👍 my ebus scan :
read scan config file vaillant/15.ctlv0.csv for ID "ctlv0", SW0313, HW9103
in mqtt i found :

for study and improve what do u suggest me to start.
Itry with your modify z1ActualRoomTempDesired change to respect manual setting temp room on vrt 480
actual temperature room vrt480 i think z1roomtemp
Now i want try with mqqt havac code
`climate:
- platform: mqtt
name: Termostato 380 Valliant
max_temp: 25
min_temp: 15
precision: 0.1
temp_step: 0.5
action_topic: "ebusd/bai/status01_pumpstate"
action_template: "{{ (value_json['5'].value == 'on') | iif('heating', 'idle') }}"
modes:
- auto
- heat
- cool
- "off" mode_state_template: >- {% set mode_values = { 'auto':'auto', 'on':'heat', 'night':'cool', 'summer':'off'} %} {{ mode_values[value_json['0'].value] | default('off') }} mode_state_topic: "ebusd/ctlv0/z1OPMode" mode_command_template: >- {% set values = { 'auto':'auto', 'heat':'on', 'cool':'night', 'off':'summer'} %} {{ values[value] | default('auto') }} mode_command_topic: "ebusd/ctlv0/z1OpMode/set" value_template: "{{ value_json.temp1.value }}" temperature_state_topic: "ebusd/ctlv0/status01_pumpstate" temperature_low_state_topic: "ebusd/ctlv0/z1NightTemp" temperature_high_state_topic: "ebusd/ctlv0/z1DayTemp" temperature_low_command_topic: "ebusd/ctlv0/z1NightTemp/set" temperature_high_command_topic: "ebusd/ctlv0/z1DayTemp/set" current_temperature_topic: "ebusd/ctlv0/z1roomtemp" current_temperature_template: "{{ value_json.temp.value }}" `
@janphkre fixed the comment issue in 40632c9
what do you see in the following lines?
@LukasGrebe
To me it looks like this with the tool https://edit-csv.net/:
Is there still something wrong here? To me it looks fine
try for ctvl2 so vrt 380 2022-12-08 15:12:37.029 [main notice] ebusd 22.4.v3.16.2-200-ga8ca21f541 started with auto scan on device 192.168.0.54:3333 2022-12-08 15:12:37.097 [bus notice] bus started with own address 31/36 2022-12-08 15:12:37.097 [bus notice] signal acquired 2022-12-08 15:12:41.480 [bus notice] new master 10, master count 2 2022-12-08 15:12:41.543 [bus notice] new master 03, master count 3 2022-12-08 15:12:41.543 [update notice] received unknown MS cmd: 1008b5110101 / 091b1b0080ff190000ff 2022-12-08 15:12:41.809 [update notice] received unknown MS cmd: 1008b51009000000ffffff010000 / 0101 2022-12-08 15:12:43.147 [mqtt notice] connection established 2022-12-08 15:12:47.275 [bus notice] scan 08: ;Vaillant;BAI00;0404;9602 2022-12-08 15:12:47.275 [update notice] store 08 ident: done 2022-12-08 15:12:47.276 [update notice] sent scan-read scan.08 QQ=31: Vaillant;BAI00;0404;9602 2022-12-08 15:12:47.277 [bus notice] scan 08: ;Vaillant;BAI00;0404;9602 2022-12-08 15:12:47.310 [main notice] read common config file vaillant/general.csv 2022-12-08 15:12:47.312 [main notice] read common config file vaillant/scan.csv 2022-12-08 15:12:47.316 [main notice] read common config file vaillant/broadcast.csv 2022-12-08 15:12:47.323 [main notice] read scan config file vaillant/08.bai.csv for ID "bai00", SW0404, HW9602 2022-12-08 15:12:47.485 [update notice] sent scan-read scan.08 id QQ=31: 2022-12-08 15:12:47.649 [update notice] sent scan-read scan.08 id QQ=31: 2022-12-08 15:12:47.815 [update notice] sent scan-read scan.08 id QQ=31: 2022-12-08 15:12:47.968 [bus error] send to 08: ERR: read timeout, retry 2022-12-08 15:12:48.751 [update notice] sent scan-read scan.08 id QQ=31: 21;22;42;0010021995;0001;021739;N9 2022-12-08 15:12:48.831 [main notice] found messages: 202 (2 conditional on 27 conditions, 0 poll, 10 update) 2022-12-08 15:12:49.008 [update notice] sent scan-read scan.08 id QQ=31: 21;22;42;0010021995;0001;021739;N9 2022-12-08 15:12:49.171 [update notice] sent scan-read scan.08 id QQ=31: 21;22;42;0010021995;0001;021739;N9 2022-12-08 15:12:49.337 [update notice] sent scan-read scan.08 id QQ=31: 21;22;42;0010021995;0001;021739;N9 2022-12-08 15:12:49.504 [update notice] sent scan-read scan.08 id QQ=31: 21;22;42;0010021995;0001;021739;N9 2022-12-08 15:12:49.505 [bus notice] scan 08: ;21;22;42;0010021995;0001;021739;N9 2022-12-08 15:12:51.591 [update notice] received read bai Status01 QQ=10: 13.5;13.5;-;-;12.5;off 2022-12-08 15:12:51.699 [bus notice] scan 15: ;Vaillant;CTLV0;0313;9103 2022-12-08 15:12:51.699 [update notice] store 15 ident: done 2022-12-08 15:12:51.699 [update notice] sent scan-read scan.15 QQ=31: Vaillant;CTLV0;0313;9103 2022-12-08 15:12:51.700 [bus notice] scan 15: ;Vaillant;CTLV0;0313;9103 2022-12-08 15:12:51.856 [update notice] sent unknown MS cmd: 3115b5090124 / 09003231323231343030 2022-12-08 15:12:52.148 [update notice] sent scan-read scan.15 id QQ=31: 2022-12-08 15:12:52.305 [update notice] sent scan-read scan.15 id QQ=31: 2022-12-08 15:12:52.519 [update notice] sent scan-read scan.15 id QQ=31: 21;22;14;0020260943;0953;026614;N3 2022-12-08 15:12:52.519 [bus notice] scan 15: ;21;22;14;0020260943;0953;026614;N3 2022-12-08 15:12:52.696 [main notice] read scan config file vaillant/15.ctlv0.csv for ID "ctlv0", SW0313, HW9103 2022-12-08 15:12:52.699 [main notice] found messages: 621 (2 conditional on 27 conditions, 0 poll, 10 update) 2022-12-08 15:12:52.735 [update notice] received read bai Status02 QQ=10: on;60;75.0;70;65.0 2022-12-08 15:12:53.041 [bus notice] max. symbols per second: 114 2022-12-08 15:12:53.697 [update notice] sent poll-read bai CounterStartattempts1 QQ=31: 0 2022-12-08 15:12:59.149 [update notice] sent poll-read bai CounterStartattempts2 QQ=31: 0 2022-12-08 15:13:01.582 [update notice] received read bai Status01 QQ=10: 13.5;13.5;-;-;12.5;off 2022-12-08 15:13:01.849 [update notice] received update-write bai SetMode QQ=10: auto;0.0;-;-;1;0;0;0;0;0 2022-12-08 15:13:05.142 [update notice] sent poll-read bai CounterStartAttempts3 QQ=31: 0
For me the ctlv2 shows up as follows:
address 15: slave #2, scanned "MF=Vaillant;ID=CTLV2;SW=0514;HW=1104", loaded "vaillant/15.ctlv2.csv"Since the VRT380 seems to be from a different line of products than the vrc720/2 I guess you will not be able to use most of the ctlv2 configuration ("sensoHome" vs "sensoComfort"). To answer your question:temp setpoint = hc1actualflowtempdeisider ? but only read mode
The
Hc1ActualFlowTempDesiredholds the value the heating circuit should try to hold for itself, thebaiusually can deliver a duplicate of this value on the ebus too. So in a way, yes, it is the setpoint of the heating circuit, but it is not the temperature setpoint of the thermostat. In the case of the cltv2, the thermostat is defined as the zones(z1Timer, z2Timer, etc.). However if you want to read out the current value of the thermostat, then you can use the fieldz1ActualRoomTempDesiredfor example.mode = hc1roomtempswitchon ?
The mode of the thermostat can be read out through the fields
z1OpMode. If you want to know if the heating ciruit itself is currently acutally turned on, you could also look at the pump statusHc1PumpStatusor the hc statusHc1Status.i try your config 👍 my ebus scan :
read scan config file vaillant/15.ctlv0.csv for ID "ctlv0", SW0313, HW9103
in mqtt i found :
for study and improve what do u suggest me to start.
Itry with your modify z1ActualRoomTempDesired change to respect manual setting temp room on vrt 480
actual temperature room vrt480 i think z1roomtemp
@1achy I don't quite know what this ctlv0 has to do with this pull request, as this pull request just delivers some commands for the ctlv2. If the ctlv0 is similar to that, someone, who has a ctlv0 needs to investigate that. It is basically just guessing and try and error from the observed ebus commands that are sent from other components on the bus.
Thanks for this PR.
Most items work on my 720/2 but I had to change
r;w,,z1DayTemp,Solltemperatur Zone 1,,,,0700,,,tempv,,,day setpoint for zone 1
to
r;w,,z1DayTemp,Solltemperatur Zone 1,,,,2200,,,tempv,,,day setpoint for zone 1
and do you haven an idea on how to write the timeslots?
Hi,
I also have this senso comfort and it is found as 15.ctlv2. How can I force ebusd to load this 15.ctlv2.csv? Also found by ebusd is "MF=Vaillant;ID=VWZIO;SW=0607;HW=5103". This seems to be the main controller for the heat pump. Has anyone this device or heard from a csv? It is also called Hydraulikstation. (https://www.heizungsdiscount24.de/zubehoer/vaillant-arotherm-plus-vwz-meh-976-hydraulikstation-fuer-heizungswaermepumpe.html)
Just tried
EBUSD_OPTS="--scanconfig -d ens:/dev/ttyAMA0 --latency=50 --httpport=8889 --configpath=https://github.com/janphkre/ebusd-configuration/tree/feature/support-ctlv2/ebusd-2.1.x/de/vaillant"
Ebusd did not start, wrong configpath. How should the ebusd config file should be to take the csv´s from janphkre?
I downloaded the repository, took 08.hmu.csv, 15.ctlv2.csv and 26.vr_71.csv in etc/ebusd/vaillant. I took memory.csv, broadcast.csv and _templates.csv in /etc/ebusd. Configfile: EBUSD_OPTS="--scanconfig=full -d ens:/dev/ttyAMA0 --latency=50 --httpport=8889 --configpath=/etc/ebusd" Ebusd Log says "cannot read config files from /etc/ebusd. I put all above mentioned files in /etc/ebusd and also in /etc/ebusd/vaillant. Same result " cannot read config files ... . With Ebusd Config EBUSD_OPTS="--scanconfig -d ens:/dev/ttyAMA0 --latency=50 --httpport=8889" only the 08.hmu.csv and the 26.vr_71,csv are loaded. Obviously from John30 repo. Need your help Thanks for your work Okay, after a while of reading I cloned John30 Ebusd git, put the 15.ctlv2 into the Felder and adjusted the ebusd config file. Now I get some data. Only the 08.hmu00.csv does not work. Data error in field 1. But that I asked for in an other forum. Klaus
Hi,
I also have this senso comfort and it is found as 15.ctlv2. How can I force ebusd to load this 15.ctlv2.csv? Also found by ebusd is "MF=Vaillant;ID=VWZIO;SW=0607;HW=5103". This seems to be the main controller for the heat pump. Has anyone this device or heard from a csv? It is also called Hydraulikstation. (https://www.heizungsdiscount24.de/zubehoer/vaillant-arotherm-plus-vwz-meh-976-hydraulikstation-fuer-heizungswaermepumpe.html)
Just tried EBUSD_OPTS="--scanconfig -d ens:/dev/ttyAMA0 --latency=50 --httpport=8889 --configpath=https://github.com/janphkre/ebusd-configuration/tree/feature/support-ctlv2/ebusd-2.1.x/de/vaillant" Ebusd did not start, wrong configpath. How should the ebusd config file should be to take the csv´s from janphkre?
I downloaded the repository, took 08.hmu.csv, 15.ctlv2.csv and 26.vr_71.csv in etc/ebusd/vaillant. I took memory.csv, broadcast.csv and _templates.csv in /etc/ebusd. Configfile: EBUSD_OPTS="--scanconfig=full -d ens:/dev/ttyAMA0 --latency=50 --httpport=8889 --configpath=/etc/ebusd" Ebusd Log says "cannot read config files from /etc/ebusd. I put all above mentioned files in /etc/ebusd and also in /etc/ebusd/vaillant. Same result " cannot read config files ... . With Ebusd Config EBUSD_OPTS="--scanconfig -d ens:/dev/ttyAMA0 --latency=50 --httpport=8889" only the 08.hmu.csv and the 26.vr_71,csv are loaded. Obviously from John30 repo. Need your help Thanks for your work Okay, after a while of reading I cloned John30 Ebusd git, put the 15.ctlv2 into the Felder and adjusted the ebusd config file. Now I get some data. Only the 08.hmu00.csv does not work. Data error in field 1. But that I asked for in an other forum. Klaus
I create a csv for the Hydraulikstation, see my post or my github repository
@john30 @janphkre the config runs here since dec. 2022 without any issues VR71 / VRC720/2 / VCS5
@janphkre
However, I noticed a problem with the hwcTimer: In the message definition for
wTimeSlotWithoutTempI wroteIGN:2which I thought would place thereFFFF, but it places0000inside, which results in a return code of06insted of00. I currently am a bit clueless on how to fix this without having to define the value explicitly.
I've changed it to a HEX:2 - and then I'm able to set the schedule with the following (I think that' what you've meant with 'value explicitly'):
ebusctl -p 8888 w -c ctlv2 ccTimer.Monday "0;1;00:00;23:59;ff ff"
I'm aware that it's not elegant - but I don't know ebusd that well and this solves my issue - what do you think about that solution?
I've noticed another thing - when updating the configuration value - I have to do a forced read before I'm getting it back
ebusctl r -f cctimer.Monday0
Have the same issue as @SzosszeNET
ebusctl find
bai AccessoriesOne = no data stored
bai AccessoriesTwo = no data stored
bai AntiCondensValue = no data stored
bai averageIgnitiontime = no data stored
bai BlockTimeHcMax = no data stored
bai BoilerType = no data stored
bai ChangesDSN = no data stored
bai CirPump = no data stored
bai CodingResistor = no data stored
bai CounterStartattempts1 = no data stored
bai CounterStartattempts2 = no data stored
bai CounterStartAttempts3 = no data stored
bai CounterStartAttempts4 = no data stored
bai currenterror = no data stored
bai DateTime = nosignal;-:-:-;-.-.-;14.750
bai dcfState = no data stored
bai DCFTimeDate = no data stored
bai DCRoomthermostat = no data stored
bai DeactivationsIFC = no data stored
bai DeactivationsTemplimiter = no data stored
bai DeltaFlowReturnMax = no data stored
bai DisplayMode = no data stored
bai DSN = no data stored
bai DSNOffset = no data stored
bai DSNStart = no data stored
bai EbusSourceOn = no data stored
bai EbusVoltage = no data stored
bai errorhistory = no data stored
bai ExternalFaultmessage = no data stored
bai externalHwcSwitch = no data stored
bai ExternGasvalve = no data stored
bai ExtFlowTempDesiredMin = no data stored
bai ExtStorageModulCon = no data stored
bai extWP = no data stored
bai FanHours = no data stored
bai FanMaxSpeedOperation = no data stored
bai FanMinSpeedOperation = no data stored
bai FanPWMSum = no data stored
bai FanPWMTest = no data stored
bai FanSpeed = no data stored
bai FanSpeedOffsetMax = no data stored
bai FanSpeedOffsetMin = no data stored
bai FanStarts = no data stored
bai Flame = no data stored
bai FlameSensingASIC = no data stored
bai FloorHeatingContact = no data stored
bai FlowsetHcMax = no data stored
bai FlowsetHwcMax = no data stored
bai FlowTemp = no data stored
bai FlowTempDesired = no data stored
bai FlowTempMax = no data stored
bai Fluegasvalve = no data stored
bai FluegasvalveOpen = no data stored
bai Gasvalve3UC = no data stored
bai GasvalveASICFeedback = no data stored
bai GasvalveUC = no data stored
bai GasvalveUCFeedback = no data stored
bai HcHours = no data stored
bai HcPumpMode = no data stored
bai HcPumpStarts = no data stored
bai HcStarts = no data stored
bai HcUnderHundredStarts = no data stored
bai HeatingSwitch = no data stored
bai HoursTillService = no data stored
bai HwcDemand = no data stored
bai HwcHours = no data stored
bai HwcImpellorSwitch = no data stored
bai HwcStarts = no data stored
bai HwcSwitch = no data stored
bai HwcTemp = no data stored
bai HwcTempMax = no data stored
bai HwcTypes = no data stored
bai HwcUnderHundredStarts = no data stored
bai HwcWaterflowMax = no data stored
bai Ignitor = no data stored
bai InitialisationEEPROM = no data stored
bai IonisationVoltageLevel = no data stored
bai maintenancedata_HwcTempMax = no data stored
bai maxIgnitiontime = no data stored
bai minIgnitiontime = no data stored
bai ModulationTempDesired = no data stored
bai OptionalRelais = no data stored
bai OutdoorstempSensor = no data stored
bai OverflowCounter = no data stored
bai ParamToken = no data stored
bai PartloadHcKW = no data stored
bai PartnumberBox = no data stored
bai PositionValveSet = no data stored
bai PowerValue = no data stored
bai PrAPSCounter = no data stored
bai PrAPSSum = no data stored
bai PrEnergyCountHc1 = no data stored
bai PrEnergyCountHc2 = no data stored
bai PrEnergyCountHc3 = no data stored
bai PrEnergyCountHwc1 = no data stored
bai PrEnergyCountHwc2 = no data stored
bai PrEnergyCountHwc3 = no data stored
bai PrEnergySumHc1 = no data stored
bai PrEnergySumHc2 = no data stored
bai PrEnergySumHc3 = no data stored
bai PrEnergySumHwc1 = no data stored
bai PrEnergySumHwc2 = no data stored
bai PrEnergySumHwc3 = no data stored
bai PrimaryCircuitFlowrate = no data stored
bai ProductionByte = no data stored
bai PrVortexFlowSensorValue = no data stored
bai PumpHours = no data stored
bai PumpHwcFlowNumber = no data stored
bai PumpHwcFlowSum = no data stored
bai PumpPower = no data stored
bai PumpPowerDesired = no data stored
bai RemainingBoilerblocktime = no data stored
bai ReturnRegulation = no data stored
bai ReturnTemp = no data stored
bai ReturnTempExternal = no data stored
bai ReturnTempMax = no data stored
bai SerialNumber = no data stored
bai SetFactoryValues = no data stored
bai SetMode = auto;26.0;-;-;0;0;0;0;0;0
bai SHEMaxDeltaHwcFlow = no data stored
bai SHEMaxFlowTemp = no data stored
bai Statenumber = no data stored
bai Status01 = 26.0;25.5;14.750;33.0;44.0;off
bai Status02 = auto;60;75.0;70;65.0
bai Status16 = no data stored
bai Status = no data stored
bai StatusCirPump = on
bai StorageDelay = no data stored
bai StorageExitTemp = no data stored
bai Storageloadpump = no data stored
bai StorageLoadPumpHours = no data stored
bai StorageloadPumpStarts = no data stored
bai StorageLoadTimeMax = no data stored
bai StorageTemp = no data stored
bai StorageTempDesired = no data stored
bai StorageTempMax = no data stored
bai TargetFanSpeed = no data stored
bai TargetFanSpeedOutput = no data stored
bai TempDiffBlock = no data stored
bai TempDiffFailure = no data stored
bai TempGradientFailure = no data stored
bai Templimiter = no data stored
bai TemplimiterWithNTC = no data stored
bai TempMaxDiffExtTFT = no data stored
bai Testbyte = no data stored
bai TimerInputHc = no data stored
bai ValveStarts = no data stored
bai VolatileLockout = no data stored
bai VolatileLockoutIFCGV = no data stored
bai WarmstartDemand = no data stored
bai WaterHcFlowMax = no data stored
bai WaterPressure = no data stored
bai WaterpressureBranchControlOff = no data stored
bai WaterpressureMeasureCounter = no data stored
bai WaterpressureVariantSum = no data stored
bai WP = no data stored
bai WPPostrunTime = no data stored
bai WPSecondStage = no data stored
broadcast datetime = no data stored
broadcast error = no data stored
broadcast hwcStatus = no data stored
broadcast id = no data stored
broadcast id = no data stored
broadcast load = no data stored
broadcast outsidetemp = 14.750
broadcast signoflife = no data stored
broadcast vdatetime = 14:12:00;21.04.2023
ctlv2 AdaptHeatCurve = no data stored
ctlv2 ccTimer.Config = no data stored
ctlv2 ccTimer.Friday0 = no data stored
ctlv2 ccTimer.Friday1 = no data stored
ctlv2 ccTimer.Friday2 = no data stored
ctlv2 ccTimer.Monday0 = no data stored
ctlv2 ccTimer.Monday1 = no data stored
ctlv2 ccTimer.Monday2 = no data stored
ctlv2 ccTimer.Saturday0 = no data stored
ctlv2 ccTimer.Saturday1 = no data stored
ctlv2 ccTimer.Saturday2 = no data stored
ctlv2 ccTimer.Sunday0 = no data stored
ctlv2 ccTimer.Sunday1 = no data stored
ctlv2 ccTimer.Sunday2 = no data stored
ctlv2 ccTimer.Thursday0 = no data stored
ctlv2 ccTimer.Thursday1 = no data stored
ctlv2 ccTimer.Thursday2 = no data stored
ctlv2 ccTimer.Timeframes = no data stored
ctlv2 ccTimer.Tuesday0 = no data stored
ctlv2 ccTimer.Tuesday1 = no data stored
ctlv2 ccTimer.Tuesday2 = no data stored
ctlv2 ccTimer.Wednesday0 = no data stored
ctlv2 ccTimer.Wednesday1 = no data stored
ctlv2 ccTimer.Wednesday2 = no data stored
ctlv2 ContinousHeating = no data stored
ctlv2 currenterror = no data stored
ctlv2 CylinderChargeHyst = no data stored
ctlv2 CylinderChargeOffset = no data stored
ctlv2 Date = no data stored
ctlv2 DisplayedOutsideTemp = no data stored
ctlv2 errorhistory = no data stored
ctlv2 FrostOverRideTime = no data stored
ctlv2 Hc1ActualFlowTempDesired = no data stored
ctlv2 Hc1AutoOffMode = no data stored
ctlv2 Hc1CircuitType = no data stored
ctlv2 Hc1ExcessTemp = no data stored
ctlv2 Hc1FlowTemp = no data stored
ctlv2 Hc1HeatCurve = no data stored
ctlv2 Hc1HeatCurveAdaption = no data stored
ctlv2 Hc1MaxFlowTempDesired = no data stored
ctlv2 Hc1MinFlowTempDesired = no data stored
ctlv2 Hc1MixerMovement = no data stored
ctlv2 Hc1PumpStatus = no data stored
ctlv2 Hc1RoomTempSwitchOn = no data stored
ctlv2 Hc1Status = no data stored
ctlv2 Hc1SummerTempLimit = no data stored
ctlv2 Hc2ActualFlowTempDesired = no data stored
ctlv2 Hc2AutoOffMode = no data stored
ctlv2 Hc2CircuitType = no data stored
ctlv2 Hc2ExcessTemp = no data stored
ctlv2 Hc2FlowTemp = no data stored
ctlv2 Hc2HeatCurve = no data stored
ctlv2 Hc2HeatCurveAdaption = no data stored
ctlv2 Hc2MaxFlowTempDesired = no data stored
ctlv2 Hc2MinFlowTempDesired = no data stored
ctlv2 Hc2MixerMovement = no data stored
ctlv2 Hc2PumpStatus = no data stored
ctlv2 Hc2RoomTempSwitchOn = no data stored
ctlv2 Hc2Status = no data stored
ctlv2 Hc2SummerTempLimit = no data stored
ctlv2 Hc3ActualFlowTempDesired = no data stored
ctlv2 Hc3AutoOffMode = no data stored
ctlv2 Hc3CircuitType = no data stored
ctlv2 Hc3ExcessTemp = no data stored
ctlv2 Hc3FlowTemp = no data stored
ctlv2 Hc3HeatCurve = no data stored
ctlv2 Hc3HeatCurveAdaption = no data stored
ctlv2 Hc3MaxFlowTempDesired = no data stored
ctlv2 Hc3MinFlowTempDesired = no data stored
ctlv2 Hc3MixerMovement = no data stored
ctlv2 Hc3PumpStatus = no data stored
ctlv2 Hc3RoomTempSwitchOn = no data stored
ctlv2 Hc3Status = no data stored
ctlv2 Hc3SummerTempLimit = no data stored
ctlv2 HcStorageTempBottom = no data stored
ctlv2 HcStorageTempTop = no data stored
ctlv2 HwcBankHolidayEndPeriod = no data stored
ctlv2 HwcBankHolidayStartPeriod = no data stored
ctlv2 HwcFlowTemp = no data stored
ctlv2 HwcHolidayEndPeriod = no data stored
ctlv2 HwcHolidayStartPeriod = no data stored
ctlv2 HwcLockTime = no data stored
ctlv2 HwcMaxFlowTempDesired = no data stored
ctlv2 HwcOpMode = no data stored
ctlv2 HwcParallelLoading = no data stored
ctlv2 HwcSFMode = no data stored
ctlv2 HwcStorageTemp = no data stored
ctlv2 HwcStorageTempBottom = no data stored
ctlv2 HwcStorageTempTop = no data stored
ctlv2 HwcTempDesired = no data stored
ctlv2 hwcTimer.Config = no data stored
ctlv2 hwcTimer.Friday0 = no data stored
ctlv2 hwcTimer.Friday1 = no data stored
ctlv2 hwcTimer.Friday2 = no data stored
ctlv2 hwcTimer.Monday0 = no data stored
ctlv2 hwcTimer.Monday1 = no data stored
ctlv2 hwcTimer.Monday2 = no data stored
ctlv2 hwcTimer.Saturday0 = no data stored
ctlv2 hwcTimer.Saturday1 = no data stored
ctlv2 hwcTimer.Saturday2 = no data stored
ctlv2 hwcTimer.Sunday0 = no data stored
ctlv2 hwcTimer.Sunday1 = no data stored
ctlv2 hwcTimer.Sunday2 = no data stored
ctlv2 hwcTimer.Thursday0 = no data stored
ctlv2 hwcTimer.Thursday1 = no data stored
ctlv2 hwcTimer.Thursday2 = no data stored
ctlv2 hwcTimer.Timeframes = no data stored
ctlv2 hwcTimer.Tuesday0 = no data stored
ctlv2 hwcTimer.Tuesday1 = no data stored
ctlv2 hwcTimer.Tuesday2 = no data stored
ctlv2 hwcTimer.Wednesday0 = no data stored
ctlv2 hwcTimer.Wednesday1 = no data stored
ctlv2 hwcTimer.Wednesday2 = no data stored
ctlv2 HydraulicScheme = no data stored
ctlv2 Installer1 = no data stored
ctlv2 Installer2 = no data stored
ctlv2 KeyCodeforConfigMenu = no data stored
ctlv2 MaintenanceDate = no data stored
ctlv2 MaintenanceDue = no data stored
ctlv2 MaxCylinderChargeTime = no data stored
ctlv2 MaxRoomHumidity = no data stored
ctlv2 MultiRelaySetting = no data stored
ctlv2 OutsideTempAvg = no data stored
ctlv2 PhoneNumber1 = no data stored
ctlv2 PhoneNumber2 = no data stored
ctlv2 PrEnergySum = no data stored
ctlv2 PrEnergySumHc = no data stored
ctlv2 PrEnergySumHcLastMonth = no data stored
ctlv2 PrEnergySumHcThisMonth = no data stored
ctlv2 PrEnergySumHwc = no data stored
ctlv2 PrEnergySumHwcLastMonth = no data stored
ctlv2 PrEnergySumHwcThisMonth = no data stored
ctlv2 PrFuelSum = no data stored
ctlv2 PrFuelSumHc = no data stored
ctlv2 PrFuelSumHcLastMonth = no data stored
ctlv2 PrFuelSumHcThisMonth = no data stored
ctlv2 PrFuelSumHwc = no data stored
ctlv2 PrFuelSumHwcLastMonth = no data stored
ctlv2 PrFuelSumHwcThisMonth = no data stored
ctlv2 PumpAdditionalTime = no data stored
ctlv2 SolarYieldTotal = no data stored
ctlv2 SystemFlowTemp = no data stored
ctlv2 Time = no data stored
ctlv2 unknownValue.a0 = no data stored
ctlv2 WaterPressure = no data stored
ctlv2 YieldTotal = no data stored
ctlv2 z1ActualRoomTempDesired = no data stored
ctlv2 z1BankHolidayEndPeriod = no data stored
ctlv2 z1BankHolidayStartPeriod = no data stored
ctlv2 z1CoolingTemp = no data stored
ctlv2 z1DayTemp = no data stored
ctlv2 z1HolidayEndPeriod = no data stored
ctlv2 z1HolidayStartPeriod = no data stored
ctlv2 z1HolidayTemp = no data stored
ctlv2 z1Name1 = no data stored
ctlv2 z1Name2 = no data stored
ctlv2 z1NightTemp = no data stored
ctlv2 z1OpMode = no data stored
ctlv2 z1QuickVetoTemp = no data stored
ctlv2 z1RoomTemp = no data stored
ctlv2 z1RoomZoneMapping = no data stored
ctlv2 z1SFMode = no data stored
ctlv2 z1Shortname = no data stored
ctlv2 z1Timer.Config = no data stored
ctlv2 z1Timer.Friday0 = no data stored
ctlv2 z1Timer.Friday1 = no data stored
ctlv2 z1Timer.Friday2 = no data stored
ctlv2 z1Timer.Monday0 = no data stored
ctlv2 z1Timer.Monday1 = no data stored
ctlv2 z1Timer.Monday2 = no data stored
ctlv2 z1Timer.Saturday0 = no data stored
ctlv2 z1Timer.Saturday1 = no data stored
ctlv2 z1Timer.Saturday2 = no data stored
ctlv2 z1Timer.Sunday0 = no data stored
ctlv2 z1Timer.Sunday1 = no data stored
ctlv2 z1Timer.Sunday2 = no data stored
ctlv2 z1Timer.Thursday0 = no data stored
ctlv2 z1Timer.Thursday1 = no data stored
ctlv2 z1Timer.Thursday2 = no data stored
ctlv2 z1Timer.Timeframes = no data stored
ctlv2 z1Timer.Tuesday0 = no data stored
ctlv2 z1Timer.Tuesday1 = no data stored
ctlv2 z1Timer.Tuesday2 = no data stored
ctlv2 z1Timer.Wednesday0 = no data stored
ctlv2 z1Timer.Wednesday1 = no data stored
ctlv2 z1Timer.Wednesday2 = no data stored
ctlv2 z1ValveStatus = no data stored
ctlv2 z2ActualRoomTempDesired = no data stored
ctlv2 z2BankHolidayEndPeriod = no data stored
ctlv2 z2BankHolidayStartPeriod = no data stored
ctlv2 z2CoolingTemp = no data stored
ctlv2 z2DayTemp = no data stored
ctlv2 z2HolidayEndPeriod = no data stored
ctlv2 z2HolidayStartPeriod = no data stored
ctlv2 z2HolidayTemp = no data stored
ctlv2 z2Name1 = no data stored
ctlv2 z2Name2 = no data stored
ctlv2 z2NightTemp = no data stored
ctlv2 z2OpMode = no data stored
ctlv2 z2QuickVetoTemp = no data stored
ctlv2 z2RoomTemp = no data stored
ctlv2 z2RoomZoneMapping = no data stored
ctlv2 z2SFMode = no data stored
ctlv2 z2Shortname = no data stored
ctlv2 z2Timer.Config = no data stored
ctlv2 z2Timer.Friday0 = no data stored
ctlv2 z2Timer.Friday1 = no data stored
ctlv2 z2Timer.Friday2 = no data stored
ctlv2 z2Timer.Monday0 = no data stored
ctlv2 z2Timer.Monday1 = no data stored
ctlv2 z2Timer.Monday2 = no data stored
ctlv2 z2Timer.Saturday0 = no data stored
ctlv2 z2Timer.Saturday1 = no data stored
ctlv2 z2Timer.Saturday2 = no data stored
ctlv2 z2Timer.Sunday0 = no data stored
ctlv2 z2Timer.Sunday1 = no data stored
ctlv2 z2Timer.Sunday2 = no data stored
ctlv2 z2Timer.Thursday0 = no data stored
ctlv2 z2Timer.Thursday1 = no data stored
ctlv2 z2Timer.Thursday2 = no data stored
ctlv2 z2Timer.Timeframes = no data stored
ctlv2 z2Timer.Tuesday0 = no data stored
ctlv2 z2Timer.Tuesday1 = no data stored
ctlv2 z2Timer.Tuesday2 = no data stored
ctlv2 z2Timer.Wednesday0 = no data stored
ctlv2 z2Timer.Wednesday1 = no data stored
ctlv2 z2Timer.Wednesday2 = no data stored
ctlv2 z2ValveStatus = no data stored
ctlv2 z3ActualRoomTempDesired = no data stored
ctlv2 z3BankHolidayEndPeriod = no data stored
ctlv2 z3BankHolidayStartPeriod = no data stored
ctlv2 z3DayTemp = no data stored
ctlv2 z3HolidayEndPeriod = no data stored
ctlv2 z3HolidayStartPeriod = no data stored
ctlv2 z3HolidayTemp = no data stored
ctlv2 z3Name1 = no data stored
ctlv2 z3Name2 = no data stored
ctlv2 z3NightTemp = no data stored
ctlv2 z3OpMode = no data stored
ctlv2 z3QuickVetoTemp = no data stored
ctlv2 z3RoomTemp = no data stored
ctlv2 z3RoomZoneMapping = no data stored
ctlv2 z3SFMode = no data stored
ctlv2 z3Shortname = no data stored
ctlv2 z3Timer.Config = no data stored
ctlv2 z3Timer.Friday0 = no data stored
ctlv2 z3Timer.Friday1 = no data stored
ctlv2 z3Timer.Friday2 = no data stored
ctlv2 z3Timer.Monday0 = no data stored
ctlv2 z3Timer.Monday1 = no data stored
ctlv2 z3Timer.Monday2 = no data stored
ctlv2 z3Timer.Saturday0 = no data stored
ctlv2 z3Timer.Saturday1 = no data stored
ctlv2 z3Timer.Saturday2 = no data stored
ctlv2 z3Timer.Sunday0 = no data stored
ctlv2 z3Timer.Sunday1 = no data stored
ctlv2 z3Timer.Sunday2 = no data stored
ctlv2 z3Timer.Thursday0 = no data stored
ctlv2 z3Timer.Thursday1 = no data stored
ctlv2 z3Timer.Thursday2 = no data stored
ctlv2 z3Timer.Timeframes = no data stored
ctlv2 z3Timer.Tuesday0 = no data stored
ctlv2 z3Timer.Tuesday1 = no data stored
ctlv2 z3Timer.Tuesday2 = no data stored
ctlv2 z3Timer.Wednesday0 = no data stored
ctlv2 z3Timer.Wednesday1 = no data stored
ctlv2 z3Timer.Wednesday2 = no data stored
ctlv2 z3ValveStatus = no data stored
general valuerange = no data stored
memory eeprom = no data stored
memory ram = no data stored
sc Col = no data stored
sc ColKickPumpTime = no data stored
sc ColKickTempDelta = no data stored
sc CollPump = no data stored
sc currenterror = no data stored
sc D1Temp = no data stored
sc D2Temp = no data stored
sc Date = no data stored
sc EDFunction = no data stored
sc EnableScProtection = no data stored
sc errorhistory = no data stored
sc FlowRate = no data stored
sc FrostProtectionEnabled = no data stored
sc FrostProtectionLimit = no data stored
sc Hc1PumpKol1PP1Port = no data stored
sc Hc2aLegPumpP2Port = no data stored
sc Hc2zPort = no data stored
sc HydraulicScheme = no data stored
sc InitCircuit = no data stored
sc IsInBoostMode = no data stored
sc KickFunction = no data stored
sc LpZpMaPort = no data stored
sc MAPreferredStorage = no data stored
sc MaximalTemp2 = no data stored
sc MaximalTemp = no data stored
sc MultifunctionOutput = no data stored
sc OMultifunction = no data stored
sc PumpAntiLockingFlags = no data stored
sc QuickVetoStart = no data stored
sc ResetSolGain = no data stored
sc RuntimeCollPump = no data stored
sc RuntimeCollPumpSeconds = no data stored
sc ScProtectionHysteresis = no data stored
sc ScProtectionLimit = no data stored
sc ScProtectionTime = no data stored
sc SolCollPumpDcIntegrator = no data stored
sc SolCollPumpED = no data stored
sc SolGain = no data stored
sc SolOperationMode = no data stored
sc SP1 = no data stored
sc SP2 = no data stored
sc SumSolGain = no data stored
sc SumSolGainDayBefore = no data stored
sc SystemMode = no data stored
sc TempDifferenceOff2 = no data stored
sc TempDifferenceOff = no data stored
sc TempDifferenceOffTD12 = no data stored
sc TempDifferenceOn2 = no data stored
sc TempDifferenceOn = no data stored
sc TempDifferenceOnTD12 = no data stored
sc Time = no data stored
sc Weekday = no data stored
sc YieldLastYear = no data stored
sc YieldThisYear = (ERR: invalid position for 31ecb509030d3f00 / 00)
scan id = no data stored
scan.08 = Vaillant;BAI00;0205;9602
scan.08 id = 21;21;39;0010015449;3100;005458;N0
scan.15 = Vaillant;CTLV2;0514;1104
scan.15 id = 21;21;42;0020260916;0953;008361;N2
scan.ec = Vaillant;SOL00;0514;1104
scan.ec id = 21;21;42;0020260916;0953;008361;N2
Most of the values are not reported.
Hi
Thanks for your efforts making a dedicated config for the ctlv2 thermostat!
I got it up and running. I'm looking to start cooling on the ctlv2, which drives my 75/5 heat pump.
There is an equivalent for this in the 15.700.csv, which is below. The way cooling works on ctlv2 is different, you need to enter a start/stop date instead of a number of days from today. Is there a way you/I can find out how this is done?
r;w,,ManualCooling,Manual cooling,,,,0600,,,UIN,,,"number of days of manual cooling (max. 99, 0=off, set temp via z1CoolingTemp)"
Thanks for any help you can provide!
@nboeckmann Good pint, I adjusted the template for writing timeslots without temperatures with your suggested workaround.
Regarding the force-read: That is to be expected. The ebusd tool caches messages (for 5 min if i remember correctly) that are sent and retrieved on the bus. If you request a value multiple times without the force-flag, you will receive the cached values.
@SzosszeNET & @lkoniecki Most of the values i introduced are comming from the communication between ctlv2 and the VR921, so none of those values are sent on the bus on their own. From the documentation of the ebusctl findcommand:
This will also print the cached value if requested.
So, what that means, is, that find does not request any fields from the bus. You have to run the commands by yourself to retrieve some values for them.
@JanDetrez
If you have an internet module, you could find out, which commands are relevant for the cooling by running
ebusd grab, changing the values in your app and then looking at ebusd grab result.
This way you could at least find out, which IDs are relevant for cooling, I suspect that the message field behind it will then be one of the templates i already introduced in this PR for timeslots.
If you do not have the internet module, we would have to find a different way of finding the IDs. One way to go about it could be to stupidly iterate over the ID numbers close to the IDs we already have for the zones and see if we can find another hex value that matches the timeslot template,
@RotorMotor42 Thanks for pointing that out. I adjusted it. The value at 0700 seems to return 00 for me too all the time.
@JanDetrez If you have an internet module, you could find out, which commands are relevant for the cooling by running
ebusd grab, changing the values in your app and then looking atebusd grab result. This way you could at least find out, which IDs are relevant for cooling, I suspect that the message field behind it will then be one of the templates i already introduced in this PR for timeslots.If you do not have the internet module, we would have to find a different way of finding the IDs. One way to go about it could be to stupidly iterate over the ID numbers close to the IDs we already have for the zones and see if we can find another hex value that matches the timeslot template,
Thank you, I temporarily solved this by setting manual cooling active by entering dates on my thermostat (eg cool until 2030), and then I used this parameter to turn on/off the cooling. Will need to look into the grab method later as it does not seem trivial without an internet module.
MQTT message
service: mqtt.publish
data:
qos: 0
retain: false
topic: ebusd/ctlv2/z1opmodecooling/set
payload: day
Thank you for this branch, it works great!
I verified on my device that Hc1Unknown11 actually is "minimum nominal temperature in cooling mode".
Hello,
i have loaded the 15.ctlv2.csv into my local folder. hmu00 and vr_71 config will be loaded automatically. But the 15.ctlv2.csv is not loaded. What can be done that ebusd will load this file too...
see picture
Hi everyone,
just got my ebus adapter recently and started playing around with my Vaillant system. I too have have a VRC 720 (which was not recognized by ebusd) and I eventually ended up here :)
The version in the fork works great and so far I've managed to find the fields I was looking for. One thing I noticed however is that the OpModes values didn't look quite right...
At least on my system, the DWH Operation mode has 3 values (both on the VRC 720 UI and on the sensoApp): "Off", "Auto" & "Manual". However, the corresponding field HwcOpMode shows 4 values, that don't match exactly: "Off", "Auto", "Day", "Night". So, when my system is on "Manual", it shows "Day", which is kind of weird.
I looked through the CSV files and the reason is that the template value for this field is opode which has a definition of
0=off;1=auto;2=day;3=night
I didn't find any other template that matched exactly (not even hwcmode or hwcmode2), so as a fix, I created a new template called opmode2, and defined it as such
0=off;1=auto;2=manual
Then I changed the datatype of HwcOpMode to opmode2 - this worked, and it looks good to me.
My questions to the more experienced people on this thread: does this make sense? Did I misunderstand something? Was there a better way to handle this? Is my system different or nobody else spotted this before?
As far as I can see, the same thing is true for z1OpMode, etc...
Hi everyone and thanks for this PR!
I just started using my ebus adapter and already managed to read and write a few values, but I am missing the option to quickly load the hot water. It is called "Warmwasser schnell" in my sensorCOMFORT 720. Is there any option to add this to this PR?
If someones guides me, I could also try to add it myself. Unfortunately, I didn't really understand yet how to monitor unknown messages on the ebus and then make sense of them...
Thanks!