Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VRC 720 configuration: understanding and managing Heating Zone time slots #3

Open
wants to merge 95 commits into
base: patch-2
Choose a base branch
from

Conversation

stadid
Copy link
Owner

@stadid stadid commented Mar 5, 2024

Goal of the PR

To check and confirm all registers in the ebusd configuration associated with the time slots (also called windows, periods) for heating zones. Determine the methods to reliably read and set time slots parameters

General Time slots management through the regulator / native app.

  • Each day of the week can have from 0 to 12 time slots (called time periods in the native app/in the regulator), for heating, each with it's own preset temperature.
  • Start, end time valid values are in range 00:00-23:50 in 10 minutes increments.
  • Time slot temperature should be in range of 5-30 C in 0.5 C steps
  • Time slots should not overlap, but end time of one time slot could be the same as start time of the next one.
    In case preset temperatures for such time slots are the same those slots are combined by the native app into one, where start time is taken from the first (chronologically located) slot while end time is taken from the end date of the second one. If managed on the the regulator such time slots with the same preset temperature are not combined and are left "as is".
  • While managing time slots through the regulator there is no option to delete individual time slots, you can only delete all slots for the selected day.

Regulator configuration registers linked with the heating zone time slots:

EBUSD regulator config (15.CTLV2.csv) implementation: see JonesPD repository

Below is the list of the Ebusd registers with the comments on each register and command syntax.

(replace * with heating zone number)

Determining number of configured time slots for specific weekday

Use z*HTimer.TimeSlotsPerWeekday register which returns number of configured time slots for each weekday (mon-sun) separated by semicolons:

example to read configured time slots for Zone 1

ebusctl read -f z1HTimer.TimeSlotsPerWeekday
2;2;2;2;2;2;2

Reading specific time slot parameters

Use corresponding weekday register for reading. Only one slot data is read per read command. You should provide slot index (fist slot index = 0)

list of weekday registers:

z*HTimer.Monday
z*HTimer.Tuesday
z*HTimer.Wednesday
z*HTimer.Thursday
z*HTimer.Friday
z*HTimer.Saturday
z*HTimer.Sunday

reading of time slots: index (specified with -i) denotes slot number (0-11)
example to read first heating time slot for heating Zone 1 for Monday:

ebusctl r -f -i 0 -c ctlv2 z1HTimer.Monday
00:00;04:00;20.0

example to read second heating time slot for heating Zone 1 for Monday:

ebusctl r -f -i 1 -c ctlv2 z1HTimer.Monday
04:00;23:50;21.0

if you try to read the non set time slot you'll receive:

00:00;00:00;-

Writing specific time slot parameters

writing of time slots with temperature, payload definition: slot_index;total_slotnumber_day;start_time;end_time;temperature

example to write first (of two) heating time slot for Monday:

ebusctl w -c ctlv2 z1HTimer.Monday "0;2,00:00;04:00;17.0"

example to write second (of two) heating time slot for Monday:

ebusctl w -c ctlv2 z1HTimer.Monday "1;2,04:00;23:50;21.0"

IMPORTANT:
ALL time slots of the day have to be written, even if only one slot is updated!
Failure to write ALL time slots will result in the new settings not applied to the regulator (even already written time slots parameters will not be applied).

Deleting time slots

The recommended way of performing time slot deletion is to delete time slots for the whole day.
It could be achieved by using writing time slot command with the total number of time slots =0

Example of deleting time slots for Monday for heating Zone 1
ebusctl write -c ctlv2 z1HTimer.Monday "0;0;00:00;00:00;0.0"

wlcrs and others added 30 commits January 28, 2022 19:47
Value EnergyIntegral added in 08.hmu.csv
Added value EnergyIntergal
Some special operating modes are missing for VRC 700, added them. Successfully tested with VRC700/4
Naming of mode 6 changed per English manual for VRC700
Translated
```
scan.08  = Vaillant;BAI00;0105;7803
scan.08 id = 21;21;26;0010021875;0001;005296;N5
scan.15  = Vaillant;70000;0614;6903
scan.15 id = no data stored
```

```
address 03: master john30#11
address 08: slave john30#11, scanned "MF=Vaillant;ID=BAI00;SW=0105;HW=7803", loaded "vaillant/bai.0010015600.inc" ([PROD='0010021875']), "vaillant/08.bai.csv"
address 10: master #2
address 15: slave #2, scanned "MF=Vaillant;ID=70000;SW=0614;HW=6903", loaded "vaillant/15.700.csv"
address 31: master john30#8, ebusd
address 36: slave john30#8, ebusd
```
Fix CSV formatting typos
Fix CSV format typos
Fix CSV format typos
Fix CSV formatting typos
Fix CSV format typos
Fix CSV format issues
Reapply pullrequest @234
Added several VWZ registers visible in Test/Sensor menu
- GlobalSystemOff
- Hc1MinCoolingFlowTempDesired

Renamed the following items:
- Hc1MaxFlowTempDesired --> Hc1MaxHeatingFlowTempDesired
- Hc1MinFlowTempDesired --> Hc1MinHeatingFlowTempDesired
…: off/time controlled/manual

Added z1SetRoomTempDesired, z2SetRoomTempDesired, z3SetRoomTempDesired for each zone
…on github by HLFCode

- COP: dimensionless --> unit ' '
- pressure: bar
- CompressorHysteresisCOoling: K
- Compressor Speed unit changed from Hz to rps

Added MI1input to 76.vwz.csv as suggested on github by HLFCode
Added HcXDesiredTemp for 'fixed circuits' (courtesy LordShadowen)
Translated many German descriptions to English
Renamed HcXRoomTempSwitchOn to HcXRoomTempCompensation to better describe functionality

VWZ:
Added experimenal LiveMonitor fields (courtesy Kjoglum) for testing

TEMPLATES:
Added rcmode2 which flips RoomTempCompensation descriptions
- HwcMode (eco/normal/balance)
- CompressorCurrentLimit (A)
- CompressorModulation (soft/hard)
- CompressorSilentOperationLevel (40-60%)
- ActiveCoolingEnabled (yes/no)
- BuildingCircuitMaxPressureDifference (mBar)
- EnergyIntegralStartHeating (°min)
- EnergyIntegralStartCooling (°min)
- MainsBlocktimeMaxDuration (hrs)
- MainsBlocktimeMinDuration (min)

discovered by tracking eBUS messages while viewing & changing these parameters
Updated rTimeSlotWithTemp template to show field name and temperature in degrees (instead of 10*degrees)
@chrizzzp
Copy link

@stadid
Yes, please go ahead.

@stadid
Copy link
Owner Author

stadid commented Mar 11, 2024

@chrizzzp @jonesPD

Please see below complete timers config section for heating/cooling Zones 1-3
After @jonesPD approval and adding those changes to his repository, I'll write the top post summary (as I need parameter names).



# Timers silent mode,,,,,,,,,,,,,
*r,,,,,,B555,a50004,,,,,,
*w,,,,,,B555,a60004,,,,,,
r,,silentTimer.Config,timer Configuration(static atm? describes featue set?),,,B555,a30004,,,HEX:9,,,Configuration
r,,silentTimer.TimeSlotsPerWeekday,Configured slot count for each weekday,,,B555,a40004,,,slotCountWeek,,,Amount of configured slots per weekday
r,,silentTimer.Monday,timer monday read,,,,00,index,m,UCH,,,,,,rTimeSlotWithoutTemp
w,,silentTimer.Monday,timer monday write,,,,00,,,wTimeSlotWithoutTemp,,,
r,,silentTimer.Tuesday,timer tuesday read,,,,01,index,m,UCH,,,,,,rTimeSlotWithoutTemp
w,,silentTimer.Tuesday,timer tuesday write,,,,01,,,wTimeSlotWithoutTemp,,,
r,,silentTimer.Wednesday,timer wednesday read,,,,02,index,m,UCH,,,,,,rTimeSlotWithoutTemp
w,,silentTimer.Wednesday,timer wednesday write,,,,02,,,wTimeSlotWithoutTemp,,,
r,,silentTimer.Thursday,timer thursday read,,,,03,index,m,UCH,,,,,,rTimeSlotWithoutTemp
w,,silentTimer.Thursday,timer thursday write,,,,03,,,wTimeSlotWithoutTemp,,,
r,,silentTimer.Friday,timer friday read,,,,04,index,m,UCH,,,,,,rTimeSlotWithoutTemp
w,,silentTimer.Friday,timer friday write,,,,04,,,wTimeSlotWithoutTemp,,,
r,,silentTimer.Saturday,timer saturday read,,,,05,index,m,UCH,,,,,,rTimeSlotWithoutTemp
w,,silentTimer.Saturday,timer saturday write,,,,05,,,wTimeSlotWithoutTemp,,,
r,,silentTimer.Sunday,timer sunday read,,,,06,index,m,UCH,,,,,,rTimeSlotWithoutTemp
w,,silentTimer.Sunday,timer sunday write,,,,06,,,wTimeSlotWithoutTemp,,,
# Heating timers zone 1,,,,,,,,,,,,,
*r,,,,,,B555,a50000,,,,,,
*w,,,,,,B555,a60000,,,,,,
r,,z1HTimer.Config,timer heating Configuration(static atm? describes featue set?),,,B555,a30000,,,HEX:9,,,Configuration
r,,z1HTimer.TimeSlotsPerWeekday,Configured slot count for each weekday,,,B555,a40000,,,slotCountWeek,,,Amount of configured slots per weekday
r,,z1HTimer.Monday,timer heating monday read,,,,00,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z1HTimer.Monday,timer heating monday write,,,,00,,,wTimeSlotWithTemp,,,
r,,z1HTimer.Tuesday,timer heating tuesday read,,,,01,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z1HTimer.Tuesday,timer heating tuesday write,,,,01,,,wTimeSlotWithTemp,,,
r,,z1HTimer.Wednesday,timer heating wednesday read,,,,02,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z1HTimer.Wednesday,timer heating wednesday write,,,,02,,,wTimeSlotWithTemp,,,
r,,z1HTimer.Thursday,timer heating thursday read,,,,03,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z1HTimer.Thursday,timer heating thursday write,,,,03,,,wTimeSlotWithTemp,,,
r,,z1HTimer.Friday,timer heating friday read ,,,,04,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z1HTimer.Friday,timer heating friday write,,,,04,,,wTimeSlotWithTemp,,,
r,,z1HTimer.Saturday,timer heating saturday read ,,,,05,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z1HTimer.Saturday,timer heating saturday write,,,,05,,,wTimeSlotWithTemp,,,
r,,z1HTimer.Sunday,timer heating sunday read,,,,06,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z1HTimer.Sunday,timer heating sunday write,,,,06,,,wTimeSlotWithTemp,,,
# Cooling timers zone 1,,,,,,,,,,,,,
*r,,,,,,B555,a50001,,,,,,
*w,,,,,,B555,a60001,,,,,,
r,,z1CTimer.Config,timer cooling Configuration(static atm? describes featue set?),,,B555,a30001,,,HEX:9,,,Configuration
r,,z1CTimer.TimeSlotsPerWeekday,Configured slot count for each weekday,,,B555,a40001,,,slotCountWeek,,,Amount of configured slots per weekday
r,,z1CTimer.Monday,timer cooling monday read,,,,00,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z1CTimer.Monday,timer cooling monday write,,,,00,,,wTimeSlotWithoutTemp,,,
r,,z1CTimer.Tuesday,timer cooling tuesday read,,,,01,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z1CTimer.Tuesday,timer cooling tuesday write,,,,01,,,wTimeSlotWithoutTemp,,,
r,,z1CTimer.Wednesday,timer cooling wednesday read,,,,02,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z1CTimer.Wednesday,timer cooling wednesday write,,,,02,,,wTimeSlotWithoutTemp,,,
r,,z1CTimer.Thursday,timer cooling thursday read,,,,03,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z1CTimer.Thursday,timer cooling thursday write,,,,03,,,wTimeSlotWithoutTemp,,,
r,,z1CTimer.Friday,timer cooling friday read,,,,04,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z1CTimer.Friday,timer cooling friday write,,,,04,,,wTimeSlotWithoutTemp,,,
r,,z1CTimer.Saturday,timer cooling saturday read,,,,05,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z1CTimer.Saturday,timer cooling saturday write,,,,05,,,wTimeSlotWithoutTemp,,,
r,,z1CTimer.Sunday,timer cooling sunday read,,,,06,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z1CTimer.Sunday,timer cooling sunday write,,,,06,,,wTimeSlotWithoutTemp,,,
# Heating timers zone 2,,,,,,,,,,,,,
*r,,,,,,B555,a50100,,,,,,
*w,,,,,,B555,a60100,,,,,,
r,,z2HTimer.Config,timer heating Configuration(static atm? describes featue set?),,,B555,a30100,,,HEX:9,,,Configuration
r,,z2HTimer.TimeSlotsPerWeekday,Configured slot count for each weekday,,,B555,a40100,,,slotCountWeek,,,Amount of configured slots per weekday
r,,z2HTimer.Monday,timer heating monday read,,,,00,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z2HTimer.Monday,timer heating monday write,,,,00,,,wTimeSlotWithTemp,,,
r,,z2HTimer.Tuesday,timer heating tuesday read,,,,01,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z2HTimer.Tuesday,timer heating tuesday write,,,,01,,,wTimeSlotWithTemp,,,
r,,z2HTimer.Wednesday,timer heating wednesday read,,,,02,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z2HTimer.Wednesday,timer heating wednesday write,,,,02,,,wTimeSlotWithTemp,,,
r,,z2HTimer.Thursday,timer heating thursday read,,,,03,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z2HTimer.Thursday,timer heating thursday write,,,,03,,,wTimeSlotWithTemp,,,
r,,z2HTimer.Friday,timer heating friday read ,,,,04,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z2HTimer.Friday,timer heating friday write,,,,04,,,wTimeSlotWithTemp,,,
r,,z2HTimer.Saturday,timer heating saturday read ,,,,05,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z2HTimer.Saturday,timer heating saturday write,,,,05,,,wTimeSlotWithTemp,,,
r,,z2HTimer.Sunday,timer heating sunday read,,,,06,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z2HTimer.Sunday,timer heating sunday write,,,,06,,,wTimeSlotWithTemp,,,
# Cooling timers zone 2,,,,,,,,,,,,,
*r,,,,,,B555,a50101,,,,,,
*w,,,,,,B555,a60101,,,,,,
r,,z2CTimer.Config,timer cooling Configuration(static atm? describes featue set?),,,B555,a30101,,,HEX:9,,,Configuration
r,,z2CTimer.TimeSlotsPerWeekday,Configured slot count for each weekday,,,B555,a40101,,,slotCountWeek,,,Amount of configured slots per weekday
r,,z2CTimer.Monday,timer cooling monday read,,,,00,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z2CTimer.Monday,timer cooling monday write,,,,00,,,wTimeSlotWithoutTemp,,,
r,,z2CTimer.Tuesday,timer cooling tuesday read,,,,01,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z2CTimer.Tuesday,timer cooling tuesday write,,,,01,,,wTimeSlotWithoutTemp,,,
r,,z2CTimer.Wednesday,timer cooling wednesday read,,,,02,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z2CTimer.Wednesday,timer cooling wednesday write,,,,02,,,wTimeSlotWithoutTemp,,,
r,,z2CTimer.Thursday,timer cooling thursday read,,,,03,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z2CTimer.Thursday,timer cooling thursday write,,,,03,,,wTimeSlotWithoutTemp,,,
r,,z2CTimer.Friday,timer cooling friday read,,,,04,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z2CTimer.Friday,timer cooling friday write,,,,04,,,wTimeSlotWithoutTemp,,,
r,,z2CTimer.Saturday,timer cooling saturday read,,,,05,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z2CTimer.Saturday,timer cooling saturday write,,,,05,,,wTimeSlotWithoutTemp,,,
r,,z2CTimer.Sunday,timer cooling sunday read,,,,06,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z2CTimer.Sunday,timer cooling sunday write,,,,06,,,wTimeSlotWithoutTemp,,,
# Heating timers zone 3,,,,,,,,,,,,,
*r,,,,,,B555,a50200,,,,,,
*w,,,,,,B555,a60200,,,,,,
r,,z3HTimer.Config,timer heating Configuration(static atm? describes featue set?),,,B555,a30200,,,HEX:9,,,Configuration
r,,z3HTimer.TimeSlotsPerWeekday,Configured slot count for each weekday,,,B555,a40200,,,slotCountWeek,,,Amount of configured slots per weekday
r,,z3HTimer.Monday,timer heating monday read,,,,00,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z3HTimer.Monday,timer heating monday write,,,,00,,,wTimeSlotWithTemp,,,
r,,z3HTimer.Tuesday,timer heating tuesday read,,,,01,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z3HTimer.Tuesday,timer heating tuesday write,,,,01,,,wTimeSlotWithTemp,,,
r,,z3HTimer.Wednesday,timer heating wednesday read,,,,02,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z3HTimer.Wednesday,timer heating wednesday write,,,,02,,,wTimeSlotWithTemp,,,
r,,z3HTimer.Thursday,timer heating thursday read,,,,03,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z3HTimer.Thursday,timer heating thursday write,,,,03,,,wTimeSlotWithTemp,,,
r,,z3HTimer.Friday,timer heating friday read ,,,,04,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z3HTimer.Friday,timer heating friday write,,,,04,,,wTimeSlotWithTemp,,,
r,,z3HTimer.Saturday,timer heating saturday read ,,,,05,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z3HTimer.Saturday,timer heating saturday write,,,,05,,,wTimeSlotWithTemp,,,
r,,z3HTimer.Sunday,timer heating sunday read,,,,06,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z3HTimer.Sunday,timer heating sunday write,,,,06,,,wTimeSlotWithTemp,,,
# Cooling timers zone 3,,,,,,,,,,,,,
*r,,,,,,B555,a50201,,,,,,
*w,,,,,,B555,a60201,,,,,,
r,,z3CTimer.Config,timer cooling Configuration(static atm? describes featue set?),,,B555,a30201,,,HEX:9,,,Configuration
r,,z3CTimer.TimeSlotsPerWeekday,Configured slot count for each weekday,,,B555,a40201,,,slotCountWeek,,,Amount of configured slots per weekday
r,,z3CTimer.Monday,timer cooling monday read,,,,00,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z3CTimer.Monday,timer cooling monday write,,,,00,,,wTimeSlotWithoutTemp,,,
r,,z3CTimer.Tuesday,timer cooling tuesday read,,,,01,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z3CTimer.Tuesday,timer cooling tuesday write,,,,01,,,wTimeSlotWithoutTemp,,,
r,,z3CTimer.Wednesday,timer cooling wednesday read,,,,02,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z3CTimer.Wednesday,timer cooling wednesday write,,,,02,,,wTimeSlotWithoutTemp,,,
r,,z3CTimer.Thursday,timer cooling thursday read,,,,03,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z3CTimer.Thursday,timer cooling thursday write,,,,03,,,wTimeSlotWithoutTemp,,,
r,,z3CTimer.Friday,timer cooling friday read,,,,04,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z3CTimer.Friday,timer cooling friday write,,,,04,,,wTimeSlotWithoutTemp,,,
r,,z3CTimer.Saturday,timer cooling saturday read,,,,05,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z3CTimer.Saturday,timer cooling saturday write,,,,05,,,wTimeSlotWithoutTemp,,,
r,,z3CTimer.Sunday,timer cooling sunday read,,,,06,index,m,UCH,,,,,,rTimeSlotWithTemp
w,,z3CTimer.Sunday,timer cooling sunday write,,,,06,,,wTimeSlotWithoutTemp,,,

@chrizzzp
Copy link

chrizzzp commented Mar 11, 2024

@stadid @jonesPD

As I said I would add a few comment lines to explain the syntax, e.g. like this:

# reading of time slots: index (specified with -i) denotes slot number (0-11)
# example to read first heating time slot for Monday: ebusctl r -f -i 0 -c ctlv2 rz1HTimer.Monday
# example to read second heating time slot for Monday: ebusctl r -f -i 1 -c ctlv2 rz1HTimer.Monday
# writing of time slots with temperature, payload definition: "slot_index;total_slotnumber_day;start_time;end_time;temperature"
# example to write first (of two) heating time slot for Monday: ebusctl w -c ctlv2 wz1HTimer.Monday "0;2,00:00;04:00;17.0"
# example to write second (of two) heating time slot for Monday: ebusctl w -c ctlv2 wz1HTimer.Monday "1;2,04:00;24:00;21.0"
# Note: all time slots of the day have to be written, also if only one slot is updated!

Well, maybe this is too much for the CSV. If we have a permanent documentation somewhere we could also place it there?
@stadid What are your plans for publishing the documentation of our results?

@jonesPD
Copy link

jonesPD commented Mar 11, 2024

Personally I'l don't think the r and w prefixes to indicate it is a read or write register are 'beautiful', but I also do not have a better suggestion except to out the R/W as a capital at the end of the register. Beyond, I'm good with the proposal.

Question though, possibly outside the intended scope of this topic/discussion: there are several other timers in the thermostat, ie hot water, circulation and silent running, shouldn't those be updated in a similar fashion?

@stadid
Copy link
Owner Author

stadid commented Mar 11, 2024

@chrizzzp @jonesPD

Well, maybe this is too much for the CSV. If we have a permanent documentation somewhere we could also place it there?
@stadid What are your plans for publishing the documentation of our results?

I've also started adding comments to the csv and then checked if there are any similar comments anywhere in the ebusd config.
At the first glance I haven't found any, so I've decided that comments of such type should not be placed into the configuration files.
For the results of our work I plan to place all of the documentation in the wiki https://github.com/stadid/ebusd-configuration/wiki
and all command syntax will be there and is easy accessible.

Personally I'l don't think the r and w prefixes to indicate it is a read or write register are 'beautiful', but I also do not have a better suggestion except to out the R/W as a capital at the end of the register. Beyond, I'm good with the proposal.

I do not like r and w at all. As I've discovered that we can live without them (2 strings in the config are possible for the same register name, one for reading, another for writing) I suggest to get rid of them. Anyway, we describe read and write commands syntax in the wiki.

The only drawback of this is that how it fits with the home assistant integration when reading and writing are performed using different command syntax. Is this the only reason to have this r and w? Could you comment on this.

@jonesPD

Question though, possibly outside the intended scope of this topic/discussion: there are several other timers in the thermostat, ie hot water, circulation and silent running, shouldn't those be updated in a similar fashion?

I've planned to completely rewrite all ctlv2 config timers in this new fashion.
For hot water there will be separate PR with the corresponding section of timers (including circulation).

Silent timers I could add right here once we agree to add or not to add r and w to the register names.

@chrizzzp
Copy link

The only drawback of this is that how it fits with the home assistant integration when reading and writing are performed using different command syntax. Is this the only reason to have this r and w? Could you comment on this.

I don't think we need to bother with the distinct naming for reading and writing with the respect to the home assistant integration. It should work also with identical names. Also with the new indexed reading of the timers the respective entities are autodiscovered in HA. I'm not sure about the auto-discovery of the writable entities though. For sure they are writable via MQTT.
So taken together, I don't see that we need seperate read and write definition names because of home assistant.

I'm also fine with getting rid of them.

@stadid
Copy link
Owner Author

stadid commented Mar 11, 2024

@chrizzzp, @jonesPD

Updated post above - removed r and w and added silent timers section.

Please kindly check If I've missed anything.

@jonesPD
Copy link

jonesPD commented Mar 12, 2024

Great thanks.
I don't use home assistant, so can't help there. I use Domoticz which is flexible enough to deal with this.

@stadid
Copy link
Owner Author

stadid commented Mar 12, 2024

@chrizzzp , @jonesPD
I've updated top post summary. Please check for any errors or amendments required.

@chrizzzp
could you check if time slots delete command I've put there is working,

Thank you!

@chrizzzp
Copy link

@stadid

@chrizzzp , @jonesPD I've updated top post summary. Please check for any errors or amendments required.

There are still a couple of 'time window' sentences in the summary, which correspond to 'time slots'. As long as 'time window' is not an officially used term somewhere I would replace all 'time windows' with 'time slots'.

@chrizzzp could you check if time slots delete command I've put there is working,

Yes, it's working.

Thanks for putting the summary together.

@stadid stadid changed the title VRC 720 configuration: understanding and managing Heating Zone time windows VRC 720 configuration: understanding and managing Heating Zone time slots Mar 12, 2024
@stadid
Copy link
Owner Author

stadid commented Mar 12, 2024

@chrizzzp

There are still a couple of 'time window' sentences in the summary, which correspond to 'time slots'. As long as 'time window' is not an officially used term somewhere I would replace all 'time windows' with 'time slots'.

Done. All 'time windows' replaced with 'time slots'

So, @chrizzzp, @jonesPD are we finished here - can we move forward to the next PR?

@chrizzzp
Copy link

@stadid sure!

…rtesy @chrizzzp)

Moved statuscode definitions from hcmode.inc to _templates.csv
Added statuscode to german hcmode.inc using German statuscodes provided by @chrizzzp

Temporarily changes setmode definition in hcmode.inc for debugging. Please change comments (#) in the file if this is inconvenient for you.
@stadid
Copy link
Owner Author

stadid commented Mar 13, 2024

@chrizzzp , @jonesPD
OK, see next PR

jonesPD added 12 commits March 14, 2024 21:20
…t discussions between @stadid, @chrizzzp and myself:

- VRC 720 configuration: understanding and managing Heating Zone time slots: stadid#3
- VRC 720 configuration: understanding and managing Hot Water Circuit (HWC) basic parameters and time slots (plus circulation): stadid#4
…Heating Circuit (HC) basic parameters (courtesy @stadid and @chrizzzp)

- add HcxDesiredSetbackTemp
- rename Hc1MixerMovement to HcxMixerPosition
zxQuickVetoEndDate
zxQuickVetoDuration

per "VRC 720 configuration: understanding and managing Heating Zone working modes and related temperature parameters"
…Name2 to STR:* to avoid errors raised when these strings have no data
Added onoff definitions to unknown registeres of this type.
Added FM5config register
Added HcXExtHeatDemand registers to Hc1, Hc2, Hc3
_templates:
- Added new definition for hcpumpstate

_hcmode.inc:
- Adjusted hwcflowtempdesired type (in SetMode) to temp1

15.ctlv2:
- Updating default values for unknown registers
- Using new heating circuit pumpstate template (hcpumpstate) for HcXPumpStatus
- Added External Hwc registers TempDesired, OpMode, Active to each Hc1, Hc2, Hc3 circuits
Add support to read power consumption in Watts (CurrentConsumedPowerWatt)
Improve readout of State07 by including bitwise indicators of heatpump status
08.hmu.csv:
4PortValve --> FourPortValve
4PortValveHours --> FourPortValveHours
4PortValveSwitches --> FourPortValveSwitches
15.ctlv2.csv:
TariffPrimHeaterLow: changes to field identifier (replacing space by underscore)
broadcast.csv:
NoiseReduction: remove IGN:1 from field identifier

Registers changes (courtesy @chrizzzp)
08.hmu.csv
- RunStatsCompressor
+ RunStatsCompressorHc
+ RunStatsCompressorHwc
+ RunStatsHwcHours
+ RunStatsBuildingCPumpStarts
76.vwz.csv
+ RunStatsBuildingCPumpStarts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants