Phase 3: Heating Circuit Time Programs
Priority: 🟡 Medium
Scope: Library + HA integration
Depends on: Phase 0 (#1372)
Parent: #1371
Goal
Expose heating circuit time programs (weekly schedules) similar to the existing DHW schedule support. Users can read and set when each heating circuit switches between comfort and reduced modes.
Background
The library already has a working pattern for time program handling via the DHW schedule (DaySchedule, TimeSlot models, set_hot_water_schedule()). This phase replicates that pattern for heating circuits.
New Parameters
HC1 Time Programs (params 500-506)
| Param ID |
Day |
Name |
| 500 |
Monday |
heating_schedule_mon |
| 501 |
Tuesday |
heating_schedule_tue |
| 502 |
Wednesday |
heating_schedule_wed |
| 503 |
Thursday |
heating_schedule_thu |
| 504 |
Friday |
heating_schedule_fri |
| 505 |
Saturday |
heating_schedule_sat |
| 506 |
Sunday |
heating_schedule_sun |
HC2 Time Programs (params 520-526)
| Param ID |
Day |
Name |
| 520-526 |
Mon-Sun |
heating_schedule_hc2_mon … _sun |
HC3 Time Programs (params 540-546)
| Param ID |
Day |
Name |
| 540-546 |
Mon-Sun |
heating_schedule_hc3_mon … _sun |
Tasks
Library (python-bsblan)
HA Integration
Acceptance Criteria
- Users can read weekly schedules for all active heating circuits
- Users can modify schedules via service calls or entities
- Schedule format matches existing DHW schedule pattern (
DaySchedule / TimeSlot)
- Multi-circuit: each circuit has its own independent schedule
- Reuses existing time program parsing/validation code
Phase 3: Heating Circuit Time Programs
Priority: 🟡 Medium
Scope: Library + HA integration
Depends on: Phase 0 (#1372)
Parent: #1371
Goal
Expose heating circuit time programs (weekly schedules) similar to the existing DHW schedule support. Users can read and set when each heating circuit switches between comfort and reduced modes.
Background
The library already has a working pattern for time program handling via the DHW schedule (
DaySchedule,TimeSlotmodels,set_hot_water_schedule()). This phase replicates that pattern for heating circuits.New Parameters
HC1 Time Programs (params 500-506)
heating_schedule_monheating_schedule_tueheating_schedule_wedheating_schedule_thuheating_schedule_friheating_schedule_satheating_schedule_sunHC2 Time Programs (params 520-526)
heating_schedule_hc2_mon…_sunHC3 Time Programs (params 540-546)
heating_schedule_hc3_mon…_sunTasks
Library (python-bsblan)
constants.pyHEATING_SCHEDULE_PARAMSfor HC1HEATING_SCHEDULE_HC2_PARAMS,HEATING_SCHEDULE_HC3_PARAMSHeatingSchedulemodel inmodels.py(reuseDaySchedule,TimeSlot)heating_schedule()method tobsblan.pywithcircuitparameterset_heating_schedule()method (mirrorset_hot_water_schedule())uv run prek run --all-filesHA Integration
set_hot_water_schedule)calendarplatform)Acceptance Criteria
DaySchedule/TimeSlot)