Skip to content

Commit 5365c3b

Browse files
committed
⬆️ Refactor HVAC mode parameter: rename 'hvac_mode2' to 'hvac_mode_changeover' for clarity and consistency
1 parent b4968c8 commit 5365c3b

4 files changed

Lines changed: 35 additions & 32 deletions

File tree

src/bsblan/constants.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ class APIConfig(TypedDict):
3131
BASE_HEATING_PARAMS: Final[dict[str, str]] = {
3232
"700": "hvac_mode",
3333
"710": "target_temperature",
34-
"900": "hvac_mode2",
34+
"900": "hvac_mode_changeover",
35+
# -------
3536
"8000": "hvac_action",
3637
"8740": "current_temperature",
3738
"8749": "room1_thermostat_mode",
@@ -72,8 +73,10 @@ class APIConfig(TypedDict):
7273
"1661": "dhw_circulation_pump_cycling",
7374
"1663": "dhw_circulation_setpoint",
7475
"1680": "operating_mode_changeover",
76+
# -------
7577
"8830": "dhw_actual_value_top_temperature",
7678
"8820": "state_dhw_pump",
79+
# -------
7780
"561": "dhw_time_program_monday",
7881
"562": "dhw_time_program_tuesday",
7982
"563": "dhw_time_program_wednesday",

src/bsblan/models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ class State(DataClassJSONMixin):
154154
hvac_mode: EntityInfo
155155
target_temperature: EntityInfo
156156
hvac_action: EntityInfo
157-
hvac_mode2: EntityInfo | None = None
157+
hvac_mode_changeover: EntityInfo | None = None
158158
current_temperature: EntityInfo | None = None
159159
room1_thermostat_mode: EntityInfo | None = None
160160
room1_temp_setpoint_boost: EntityInfo | None = None

tests/fixtures/dict_version.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"heating": {
33
"700": "hvac_mode",
44
"710": "target_temperature",
5-
"900": "hvac_mode2",
5+
"900": "hvac_mode_changeover",
66
"8000": "hvac_action",
77
"8740": "current_temperature",
88
"8749": "room1_thermostat_mode"

tests/test_state.py

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -59,32 +59,32 @@ async def test_state(monkeypatch: Any) -> None:
5959
assert state.target_temperature.desc == ""
6060
assert state.target_temperature.unit == "°C"
6161

62-
# HVAC mode 2 assertions
63-
assert state.hvac_mode2 is not None
64-
assert state.hvac_mode2.value == 2
65-
assert state.hvac_mode2.desc == "Reduced"
66-
67-
# HVAC action assertions
68-
assert state.hvac_action is not None
69-
assert state.hvac_action.value == 122
70-
assert state.hvac_action.desc == "Room temperature limitation"
71-
72-
# Current temperature assertions
73-
assert state.current_temperature is not None
74-
assert state.current_temperature.value == 19.3
75-
assert state.current_temperature.unit == "°C"
76-
77-
# Room thermostat mode assertions
78-
assert state.room1_thermostat_mode is not None
79-
assert state.room1_thermostat_mode.value == 0
80-
assert state.room1_thermostat_mode.desc == "No demand"
81-
82-
# Room temperature setpoint boost assertions
83-
assert state.room1_temp_setpoint_boost is not None
84-
assert state.room1_temp_setpoint_boost.value == "---"
85-
assert state.room1_temp_setpoint_boost.unit == "°C"
86-
87-
# Verify API call
88-
request_mock.assert_called_once_with(
89-
params={"Parameter": "700,710,900,8000,8740,8749,770"}
90-
)
62+
# HVAC mode changeover assertions
63+
assert state.hvac_mode_changeover is not None
64+
assert state.hvac_mode_changeover.value == 2
65+
assert state.hvac_mode_changeover.desc == "Reduced"
66+
67+
# HVAC action assertions
68+
assert state.hvac_action is not None
69+
assert state.hvac_action.value == 122
70+
assert state.hvac_action.desc == "Room temperature limitation"
71+
72+
# Current temperature assertions
73+
assert state.current_temperature is not None
74+
assert state.current_temperature.value == 19.3
75+
assert state.current_temperature.unit == "°C"
76+
77+
# Room thermostat mode assertions
78+
assert state.room1_thermostat_mode is not None
79+
assert state.room1_thermostat_mode.value == 0
80+
assert state.room1_thermostat_mode.desc == "No demand"
81+
82+
# Room temperature setpoint boost assertions
83+
assert state.room1_temp_setpoint_boost is not None
84+
assert state.room1_temp_setpoint_boost.value == "---"
85+
assert state.room1_temp_setpoint_boost.unit == "°C"
86+
87+
# Verify API call
88+
request_mock.assert_called_once_with(
89+
params={"Parameter": "700,710,900,8000,8740,8749,770"}
90+
)

0 commit comments

Comments
 (0)