File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -63,6 +63,29 @@ async def main() -> None:
6363asyncio.run(main())
6464```
6565
66+ ## Cooling setpoint support
67+
68+ Some BSB/LPB controllers expose a cooling comfort setpoint for heating circuit
69+ 1 . The client maps BSB-LAN parameter ` 902 ` to ` target_temperature_high ` ; the
70+ duplicate decimal parameters ` 902.1 ` and ` 902.2 ` are not used.
71+
72+ Cooling support is optional. During section validation, unsupported parameters
73+ are removed from the active API map, so integrations can detect support by
74+ checking whether ` state.target_temperature_high ` is present.
75+
76+ ``` python
77+ async with BSBLAN(config) as client:
78+ state = await client.state(include = [" target_temperature_high" ])
79+
80+ if state.target_temperature_high is not None :
81+ print (f " Cooling setpoint: { state.target_temperature_high.value} " )
82+ await client.thermostat(target_temperature_high = " 24.0" )
83+ ```
84+
85+ BSB-LAN writes one parameter at a time. If an application exposes a heat/cool
86+ temperature range, write ` target_temperature ` and ` target_temperature_high ` with
87+ separate ` thermostat() ` calls.
88+
6689## PPS bus support
6790
6891PPS bus devices are detected from the device metadata returned by BSB-LAN. The
Original file line number Diff line number Diff line change @@ -7,6 +7,7 @@ Asynchronous Python client for [BSB-LAN](https://github.com/fredlcore/bsb_lan) d
77- Async/await support using ` aiohttp `
88- Read heating state, sensor data, and device information
99- Control thermostat settings and hot water parameters
10+ - Detect optional cooling setpoints for heat/cool range controls
1011- Fully typed with PEP 561 support
1112- Automatic API version detection (v1/v3)
1213- Lazy loading with per-section validation
You can’t perform that action at this time.
0 commit comments