Skip to content

Commit 4fe2784

Browse files
committed
Add self._last_active to api, and test
1 parent b170547 commit 4fe2784

File tree

5 files changed

+52
-48
lines changed

5 files changed

+52
-48
lines changed

plugwise/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ def __init__(
7272
self._cooling_present = False
7373
self._elga = False
7474
self._is_thermostat = False
75+
self._last_active: dict[str, str | None] = {}
7576
self._on_off_device = False
7677
self._opentherm_device = False
7778
self._schedule_old_states: dict[str, dict[str, str]] = {}
@@ -133,6 +134,7 @@ async def connect(self) -> bool:
133134
self._cooling_present,
134135
self._elga,
135136
self._is_thermostat,
137+
self._last_active,
136138
self._on_off_device,
137139
self._opentherm_device,
138140
self._schedule_old_states,

plugwise/helper.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ def __init__(self) -> None:
207207
self._heater_id: str
208208
self._home_location: str
209209
self._is_thermostat = False
210-
self._last_active: dict[str, str | None] = {}
210+
self._last_active: dict[str, str | None]
211211
self._last_modified: dict[str, str] = {}
212212
self._notifications: dict[str, dict[str, str]] = {}
213213
self._on_off_device = False

plugwise/smile.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ def __init__(
5151
_cooling_present: bool,
5252
_elga: bool,
5353
_is_thermostat: bool,
54+
_last_active: dict[str, str | None],
5455
_on_off_device: bool,
5556
_opentherm_device: bool,
5657
_schedule_old_states: dict[str, dict[str, str]],
@@ -86,6 +87,7 @@ def __init__(
8687
self._cooling_present = _cooling_present
8788
self._elga = _elga
8889
self._is_thermostat = _is_thermostat
90+
self._last_active = _last_active
8991
self._on_off_device = _on_off_device
9092
self._opentherm_device = _opentherm_device
9193
self._schedule_old_states = _schedule_old_states

tests/test_adam.py

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,11 @@ async def test_connect_adam_zone_per_device(self):
3333

3434
await self.device_test(smile, "2022-05-16 00:00:01", testdata)
3535
assert smile.gateway_id == "fe799307f1624099878210aa0b9f1475"
36-
# assert smile._last_active["12493538af164a409c6a1c79e38afe1c"] == BADKAMER_SCHEMA
37-
# assert smile._last_active["c50f167537524366a5af7aa3942feb1e"] == GF7_WOONKAMER
38-
# assert smile._last_active["82fa13f017d240daa0d0ea1775420f24"] == CV_JESSIE
39-
# assert smile._last_active["08963fec7c53423ca5680aa4cb502c63"] == BADKAMER_SCHEMA
40-
# assert smile._last_active["446ac08dd04d4eff8ac57489757b7314"] == BADKAMER_SCHEMA
36+
assert smile._last_active["12493538af164a409c6a1c79e38afe1c"] == BADKAMER_SCHEMA
37+
assert smile._last_active["c50f167537524366a5af7aa3942feb1e"] == GF7_WOONKAMER
38+
assert smile._last_active["82fa13f017d240daa0d0ea1775420f24"] == CV_JESSIE
39+
assert smile._last_active["08963fec7c53423ca5680aa4cb502c63"] == BADKAMER_SCHEMA
40+
assert smile._last_active["446ac08dd04d4eff8ac57489757b7314"] == BADKAMER_SCHEMA
4141
assert self.device_items == 315
4242

4343
assert "af82e4ccf9c548528166d38e560662a4" in self.notifications
@@ -102,11 +102,11 @@ async def test_connect_adam_multiple_devices_per_zone(self):
102102
)
103103

104104
await self.device_test(smile, "2022-05-16 00:00:01", testdata)
105-
# assert smile._last_active["12493538af164a409c6a1c79e38afe1c"] == BADKAMER_SCHEMA
106-
# assert smile._last_active["c50f167537524366a5af7aa3942feb1e"] == GF7_WOONKAMER
107-
# assert smile._last_active["82fa13f017d240daa0d0ea1775420f24"] == CV_JESSIE
108-
# assert smile._last_active["08963fec7c53423ca5680aa4cb502c63"] == BADKAMER_SCHEMA
109-
# assert smile._last_active["446ac08dd04d4eff8ac57489757b7314"] == BADKAMER_SCHEMA
105+
assert smile._last_active["12493538af164a409c6a1c79e38afe1c"] == BADKAMER_SCHEMA
106+
assert smile._last_active["c50f167537524366a5af7aa3942feb1e"] == GF7_WOONKAMER
107+
assert smile._last_active["82fa13f017d240daa0d0ea1775420f24"] == CV_JESSIE
108+
assert smile._last_active["08963fec7c53423ca5680aa4cb502c63"] == BADKAMER_SCHEMA
109+
assert smile._last_active["446ac08dd04d4eff8ac57489757b7314"] == BADKAMER_SCHEMA
110110
assert self.device_items == 315
111111

112112
assert "af82e4ccf9c548528166d38e560662a4" in self.notifications
@@ -135,16 +135,16 @@ async def test_adam_heatpump_cooling(self):
135135
server, smile, client = await self.connect_wrapper()
136136

137137
await self.device_test(smile, "2022-01-02 00:00:01", testdata)
138-
# assert smile._last_active["b52908550469425b812c87f766fe5303"] == WERKDAG_SCHEMA
139-
# assert smile._last_active["20e735858f8146cead98b873177a4f99"] == WERKDAG_SCHEMA
140-
# assert smile._last_active["e39529c79ab54fda9bed26cfc0447546"] == WERKDAG_SCHEMA
141-
# assert smile._last_active["9a27714b970547ee9a6bdadc2b815ad5"] == WERKDAG_SCHEMA
142-
# assert smile._last_active["93ac3f7bf25342f58cbb77c4a99ac0b3"] == WERKDAG_SCHEMA
143-
# assert smile._last_active["fa5fa6b34f6b40a0972988b20e888ed4"] == WERKDAG_SCHEMA
144-
# assert smile._last_active["04b15f6e884448288f811d29fb7b1b30"] == WERKDAG_SCHEMA
145-
# assert smile._last_active["a562019b0b1f47a4bde8ebe3dbe3e8a9"] == WERKDAG_SCHEMA
146-
# assert smile._last_active["8cf650a4c10c44819e426bed406aec34"] == WERKDAG_SCHEMA
147-
# assert smile._last_active["5cc21042f87f4b4c94ccb5537c47a53f"] == WERKDAG_SCHEMA
138+
assert smile._last_active["b52908550469425b812c87f766fe5303"] == WERKDAG_SCHEMA
139+
assert smile._last_active["20e735858f8146cead98b873177a4f99"] == WERKDAG_SCHEMA
140+
assert smile._last_active["e39529c79ab54fda9bed26cfc0447546"] == WERKDAG_SCHEMA
141+
assert smile._last_active["9a27714b970547ee9a6bdadc2b815ad5"] == WERKDAG_SCHEMA
142+
assert smile._last_active["93ac3f7bf25342f58cbb77c4a99ac0b3"] == WERKDAG_SCHEMA
143+
assert smile._last_active["fa5fa6b34f6b40a0972988b20e888ed4"] == WERKDAG_SCHEMA
144+
assert smile._last_active["04b15f6e884448288f811d29fb7b1b30"] == WERKDAG_SCHEMA
145+
assert smile._last_active["a562019b0b1f47a4bde8ebe3dbe3e8a9"] == WERKDAG_SCHEMA
146+
assert smile._last_active["8cf650a4c10c44819e426bed406aec34"] == WERKDAG_SCHEMA
147+
assert smile._last_active["5cc21042f87f4b4c94ccb5537c47a53f"] == WERKDAG_SCHEMA
148148
assert self.device_items == 415
149149

150150
await smile.close_connection()
@@ -190,7 +190,7 @@ async def test_connect_adam_plus_anna(self):
190190

191191
await self.device_test(smile, "2020-03-22 00:00:01", testdata)
192192
assert smile.gateway_id == "b128b4bbbd1f47e9bf4d756e8fb5ee94"
193-
# assert smile._last_active["009490cc2f674ce6b576863fbb64f867"] == "Weekschema"
193+
assert smile._last_active["009490cc2f674ce6b576863fbb64f867"] == "Weekschema"
194194
assert self.device_items == 70
195195
assert "6fb89e35caeb4b1cb275184895202d84" in self.notifications
196196

@@ -239,8 +239,8 @@ async def test_connect_adam_plus_anna_new(self):
239239

240240
await self.device_test(smile, "2023-12-17 00:00:01", testdata)
241241
assert smile.gateway_id == "da224107914542988a88561b4452b0f6"
242-
# assert smile._last_active["f2bf9048bef64cc5b6d5110154e33c81"] == "Weekschema"
243-
# assert smile._last_active["f871b8c4d63549319221e294e4f88074"] == "Badkamer"
242+
assert smile._last_active["f2bf9048bef64cc5b6d5110154e33c81"] == "Weekschema"
243+
assert smile._last_active["f871b8c4d63549319221e294e4f88074"] == "Badkamer"
244244
assert self.device_items == 147
245245
assert self.device_list == [
246246
"da224107914542988a88561b4452b0f6",
@@ -343,10 +343,10 @@ async def test_adam_plus_jip(self):
343343

344344
await self.device_test(smile, "2021-06-20 00:00:01", testdata)
345345
assert smile.gateway_id == "b5c2386c6f6342669e50fe49dd05b188"
346-
# assert smile._last_active["d58fec52899f4f1c92e4f8fad6d8c48c"] is None
347-
# assert smile._last_active["06aecb3d00354375924f50c47af36bd2"] is None
348-
# assert smile._last_active["d27aede973b54be484f6842d1b2802ad"] is None
349-
# assert smile._last_active["13228dab8ce04617af318a2888b3c548"] is None
346+
assert smile._last_active["d58fec52899f4f1c92e4f8fad6d8c48c"] is None
347+
assert smile._last_active["06aecb3d00354375924f50c47af36bd2"] is None
348+
assert smile._last_active["d27aede973b54be484f6842d1b2802ad"] is None
349+
assert smile._last_active["13228dab8ce04617af318a2888b3c548"] is None
350350
assert self.device_items == 221
351351

352352
# Negative test

tests/test_anna.py

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ async def test_connect_anna_v4(self):
2929

3030
await self.device_test(smile, "2020-04-05 00:00:01", testdata)
3131
assert smile.gateway_id == "0466eae8520144c78afb29628384edeb"
32-
# assert smile._last_active["eb5309212bf5407bb143e5bfa3b18aee"] == "Standaard"
32+
assert smile._last_active["eb5309212bf5407bb143e5bfa3b18aee"] == "Standaard"
3333
assert self.device_items == 56
3434
assert not self.notifications
3535

@@ -98,7 +98,7 @@ async def test_connect_anna_v4_dhw(self):
9898
)
9999

100100
await self.device_test(smile, "2020-04-05 00:00:01", testdata)
101-
# assert smile._last_active["eb5309212bf5407bb143e5bfa3b18aee"] == "Standaard"
101+
assert smile._last_active["eb5309212bf5407bb143e5bfa3b18aee"] == "Standaard"
102102
assert self.device_items == 56
103103
assert not self.notifications
104104

@@ -160,7 +160,7 @@ async def test_connect_anna_without_boiler_fw441(self):
160160
)
161161

162162
await self.device_test(smile, "2022-05-16 00:00:01", testdata)
163-
# assert smile._last_active["c34c6864216446528e95d88985e714cc"] == "Normaal"
163+
assert smile._last_active["c34c6864216446528e95d88985e714cc"] == "Normaal"
164164
assert self.device_items == 38
165165
assert not self.notifications
166166

@@ -189,7 +189,7 @@ async def test_connect_anna_heatpump_heating(self):
189189

190190
await self.device_test(smile, "2020-04-12 00:00:01", testdata)
191191
assert smile.gateway_id == "015ae9ea3f964e668e490fa39da3870b"
192-
# assert smile._last_active["c784ee9fdab44e1395b8dee7d7a497d5"] == "standaard"
192+
assert smile._last_active["c784ee9fdab44e1395b8dee7d7a497d5"] == "standaard"
193193
assert self.device_items == 66
194194
assert not self.notifications
195195
assert self.cooling_present
@@ -244,7 +244,7 @@ async def test_connect_anna_heatpump_cooling(self):
244244
)
245245

246246
await self.device_test(smile, "2020-04-19 00:00:01", testdata)
247-
# assert smile._last_active["c784ee9fdab44e1395b8dee7d7a497d5"] == "standaard"
247+
assert smile._last_active["c784ee9fdab44e1395b8dee7d7a497d5"] == "standaard"
248248
assert self.device_items == 63
249249
assert self.cooling_present
250250
assert not self.notifications
@@ -316,7 +316,7 @@ async def test_connect_anna_elga_no_cooling(self):
316316

317317
await self.device_test(smile, "2020-04-12 00:00:01", testdata)
318318
assert smile.gateway_id == "015ae9ea3f964e668e490fa39da3870b"
319-
# assert smile._last_active["c784ee9fdab44e1395b8dee7d7a497d5"] == "standaard"
319+
assert smile._last_active["c784ee9fdab44e1395b8dee7d7a497d5"] == "standaard"
320320
assert self.device_items == 62
321321
assert not self.notifications
322322
assert not self.cooling_present
@@ -340,10 +340,10 @@ async def test_connect_anna_elga_2(self):
340340
)
341341

342342
await self.device_test(smile, "2022-03-13 00:00:01", testdata)
343-
# assert (
344-
# smile._last_active["d3ce834534114348be628b61b26d9220"]
345-
# == THERMOSTAT_SCHEDULE
346-
# )
343+
assert (
344+
smile._last_active["d3ce834534114348be628b61b26d9220"]
345+
== THERMOSTAT_SCHEDULE
346+
)
347347
assert self.device_items == 62
348348
assert smile.gateway_id == "fb49af122f6e4b0f91267e1cf7666d6f"
349349
assert self.cooling_present
@@ -363,10 +363,10 @@ async def test_connect_anna_elga_2_schedule_off(self):
363363
assert smile.smile_hostname == "smile000000"
364364

365365
await self.device_test(smile, "2022-03-13 00:00:01", testdata)
366-
# assert (
367-
# smile._last_active["d3ce834534114348be628b61b26d9220"]
368-
# == THERMOSTAT_SCHEDULE
369-
# )
366+
assert (
367+
smile._last_active["d3ce834534114348be628b61b26d9220"]
368+
== THERMOSTAT_SCHEDULE
369+
)
370370
assert self.cooling_present
371371
assert not self._cooling_enabled
372372
assert self.device_items == 62
@@ -394,10 +394,10 @@ async def test_connect_anna_elga_2_cooling(self):
394394
)
395395

396396
await self.device_test(smile, "2022-03-10 00:00:01", testdata)
397-
# assert (
398-
# smile._last_active["d3ce834534114348be628b61b26d9220"]
399-
# == THERMOSTAT_SCHEDULE
400-
# )
397+
assert (
398+
smile._last_active["d3ce834534114348be628b61b26d9220"]
399+
== THERMOSTAT_SCHEDULE
400+
)
401401
assert self.device_items == 62
402402
assert not self.notifications
403403

@@ -424,7 +424,7 @@ async def test_connect_anna_loria_heating_idle(self):
424424
)
425425

426426
await self.device_test(smile, "2022-05-16 00:00:01", testdata)
427-
# assert smile._last_active["15da035090b847e7a21f93e08c015ebc"] == "Winter"
427+
assert smile._last_active["15da035090b847e7a21f93e08c015ebc"] == "Winter"
428428
assert self.device_items == 64
429429
assert self.cooling_present
430430
assert not self._cooling_enabled
@@ -479,7 +479,7 @@ async def test_connect_anna_loria_cooling_active(self):
479479
)
480480

481481
await self.device_test(smile, "2022-05-16 00:00:01", testdata)
482-
# assert smile._last_active["15da035090b847e7a21f93e08c015ebc"] == "Winter"
482+
assert smile._last_active["15da035090b847e7a21f93e08c015ebc"] == "Winter"
483483
assert self.device_items == 64
484484
assert self.cooling_present
485485
assert self._cooling_enabled

0 commit comments

Comments
 (0)