plugwise 1.2.0__tar.gz → 1.3.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. {plugwise-1.2.0 → plugwise-1.3.1}/PKG-INFO +1 -1
  2. {plugwise-1.2.0 → plugwise-1.3.1}/plugwise/common.py +14 -9
  3. {plugwise-1.2.0 → plugwise-1.3.1}/plugwise/constants.py +5 -3
  4. {plugwise-1.2.0 → plugwise-1.3.1}/plugwise/helper.py +10 -6
  5. {plugwise-1.2.0 → plugwise-1.3.1}/plugwise/legacy/helper.py +5 -1
  6. {plugwise-1.2.0 → plugwise-1.3.1}/plugwise/util.py +3 -0
  7. {plugwise-1.2.0 → plugwise-1.3.1}/plugwise.egg-info/PKG-INFO +1 -1
  8. {plugwise-1.2.0 → plugwise-1.3.1}/pyproject.toml +2 -2
  9. {plugwise-1.2.0 → plugwise-1.3.1}/tests/test_adam.py +7 -7
  10. {plugwise-1.2.0 → plugwise-1.3.1}/tests/test_anna.py +15 -15
  11. {plugwise-1.2.0 → plugwise-1.3.1}/tests/test_p1.py +3 -3
  12. {plugwise-1.2.0 → plugwise-1.3.1}/LICENSE +0 -0
  13. {plugwise-1.2.0 → plugwise-1.3.1}/README.md +0 -0
  14. {plugwise-1.2.0 → plugwise-1.3.1}/plugwise/__init__.py +0 -0
  15. {plugwise-1.2.0 → plugwise-1.3.1}/plugwise/data.py +0 -0
  16. {plugwise-1.2.0 → plugwise-1.3.1}/plugwise/exceptions.py +0 -0
  17. {plugwise-1.2.0 → plugwise-1.3.1}/plugwise/legacy/data.py +0 -0
  18. {plugwise-1.2.0 → plugwise-1.3.1}/plugwise/legacy/smile.py +0 -0
  19. {plugwise-1.2.0 → plugwise-1.3.1}/plugwise/py.typed +0 -0
  20. {plugwise-1.2.0 → plugwise-1.3.1}/plugwise/smile.py +0 -0
  21. {plugwise-1.2.0 → plugwise-1.3.1}/plugwise.egg-info/SOURCES.txt +0 -0
  22. {plugwise-1.2.0 → plugwise-1.3.1}/plugwise.egg-info/dependency_links.txt +0 -0
  23. {plugwise-1.2.0 → plugwise-1.3.1}/plugwise.egg-info/requires.txt +0 -0
  24. {plugwise-1.2.0 → plugwise-1.3.1}/plugwise.egg-info/top_level.txt +0 -0
  25. {plugwise-1.2.0 → plugwise-1.3.1}/setup.cfg +0 -0
  26. {plugwise-1.2.0 → plugwise-1.3.1}/setup.py +0 -0
  27. {plugwise-1.2.0 → plugwise-1.3.1}/tests/test_generic.py +0 -0
  28. {plugwise-1.2.0 → plugwise-1.3.1}/tests/test_init.py +0 -0
  29. {plugwise-1.2.0 → plugwise-1.3.1}/tests/test_legacy_anna.py +0 -0
  30. {plugwise-1.2.0 → plugwise-1.3.1}/tests/test_legacy_generic.py +0 -0
  31. {plugwise-1.2.0 → plugwise-1.3.1}/tests/test_legacy_p1.py +0 -0
  32. {plugwise-1.2.0 → plugwise-1.3.1}/tests/test_legacy_stretch.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: plugwise
3
- Version: 1.2.0
3
+ Version: 1.3.1
4
4
  Summary: Plugwise Smile (Adam/Anna/P1) and Stretch module for Python 3.
5
5
  Home-page: https://github.com/plugwise/python-plugwise
6
6
  Author: Plugwise device owners
@@ -52,6 +52,7 @@ class SmileCommon:
52
52
  self,
53
53
  appl: Munch,
54
54
  xml_1: etree,
55
+ legacy: bool,
55
56
  xml_2: etree = None,
56
57
  xml_3: etree = None,
57
58
  ) -> Munch:
@@ -68,8 +69,8 @@ class SmileCommon:
68
69
  # Info for On-Off device
69
70
  if self._on_off_device:
70
71
  appl.name = "OnOff" # pragma: no cover
71
- appl.vendor_name = None # pragma: no cover
72
72
  appl.model = "Unknown" # pragma: no cover
73
+ appl.vendor_name = None # pragma: no cover
73
74
  return appl # pragma: no cover
74
75
 
75
76
  # Info for OpenTherm device
@@ -85,13 +86,12 @@ class SmileCommon:
85
86
  module_data = self._get_module_data(xml_1, locator_2, mod_type, xml_3)
86
87
  appl.vendor_name = module_data["vendor_name"]
87
88
  appl.hardware = module_data["hardware_version"]
88
- appl.model = module_data["vendor_model"]
89
- if appl.model is None:
90
- appl.model = (
91
- "Generic heater/cooler"
92
- if self._cooling_present
93
- else "Generic heater"
94
- )
89
+ appl.model_id = module_data["vendor_model"] if not legacy else None
90
+ appl.model = (
91
+ "Generic heater/cooler"
92
+ if self._cooling_present
93
+ else "Generic heater"
94
+ )
95
95
 
96
96
  return appl
97
97
 
@@ -102,7 +102,11 @@ class SmileCommon:
102
102
  xml_2 = return_valid(xml_2, self._domain_objects)
103
103
  module_data = self._get_module_data(xml_1, locator, mod_type, xml_2)
104
104
  appl.vendor_name = module_data["vendor_name"]
105
- appl.model = check_model(module_data["vendor_model"], appl.vendor_name)
105
+ appl.model = module_data["vendor_model"]
106
+ if appl.model != "ThermoTouch": # model_id for Anna not present as stand-alone device
107
+ appl.model_id = appl.model
108
+ appl.model = check_model(appl.model, appl.vendor_name)
109
+
106
110
  appl.hardware = module_data["hardware_version"]
107
111
  appl.firmware = module_data["firmware_version"]
108
112
  appl.zigbee_mac = module_data["zigbee_mac_address"]
@@ -197,6 +201,7 @@ class SmileCommon:
197
201
  "location": appl.location,
198
202
  "mac_address": appl.mac,
199
203
  "model": appl.model,
204
+ "model_id": appl.model_id,
200
205
  "name": appl.name,
201
206
  "zigbee_mac_address": appl.zigbee_mac,
202
207
  "vendor": appl.vendor_name,
@@ -252,6 +252,7 @@ ApplianceType = Literal[
252
252
  "mac_address",
253
253
  "members",
254
254
  "model",
255
+ "model_id",
255
256
  "name",
256
257
  "vendor",
257
258
  "zigbee_mac_address",
@@ -511,15 +512,16 @@ class DeviceData(TypedDict, total=False):
511
512
 
512
513
  # Appliance base data
513
514
  dev_class: str
514
- firmware: str | None
515
+ firmware: str
515
516
  hardware: str
516
517
  location: str
517
- mac_address: str | None
518
+ mac_address: str
518
519
  members: list[str]
519
520
  model: str
521
+ model_id: str
520
522
  name: str
521
523
  vendor: str
522
- zigbee_mac_address: str | None
524
+ zigbee_mac_address: str
523
525
 
524
526
  # For temporary use
525
527
  cooling_enabled: bool
@@ -285,7 +285,8 @@ class SmileHelper(SmileCommon):
285
285
 
286
286
  appl.dev_id = appliance.attrib["id"]
287
287
  appl.name = appliance.find("name").text
288
- appl.model = appl.pwclass.replace("_", " ").title()
288
+ appl.model = None
289
+ appl.model_id = None
289
290
  appl.firmware = None
290
291
  appl.hardware = None
291
292
  appl.mac = None
@@ -350,7 +351,8 @@ class SmileHelper(SmileCommon):
350
351
  appl.dev_id = self.gateway_id
351
352
  appl.location = loc_id
352
353
  appl.mac = None
353
- appl.model = self.smile_model
354
+ appl.model = self._domain_objects.find("./gateway/vendor_model").text
355
+ appl.model_id = None
354
356
  appl.name = "P1"
355
357
  appl.pwclass = "smartmeter"
356
358
  appl.zigbee_mac = None
@@ -370,7 +372,7 @@ class SmileHelper(SmileCommon):
370
372
  return self._appl_thermostat_info(appl, appliance)
371
373
  case "heater_central":
372
374
  # Collect heater_central device info
373
- self._appl_heater_central_info(appl, appliance)
375
+ self._appl_heater_central_info(appl, appliance, False) # False means non-legacy device
374
376
  self._appl_dhw_mode_info(appl, appliance)
375
377
  return appl
376
378
  case _:
@@ -380,14 +382,14 @@ class SmileHelper(SmileCommon):
380
382
  def _energy_device_info_finder(self, appl: Munch, appliance: etree) -> Munch:
381
383
  """Helper-function for _appliance_info_finder().
382
384
 
383
- Collect energy device info (Smartmeter, Plug): firmware, model and vendor name.
385
+ Collect energy device info (Smartmeter): firmware, model and vendor name.
384
386
  """
385
387
  if self.smile_type == "power":
386
388
  locator = "./logs/point_log/electricity_point_meter"
387
389
  mod_type = "electricity_point_meter"
388
390
  module_data = self._get_module_data(appliance, locator, mod_type)
389
391
  appl.hardware = module_data["hardware_version"]
390
- appl.model = module_data["vendor_model"]
392
+ appl.model = module_data["vendor_model"] # don't use model_id for Smartmeter
391
393
  appl.vendor_name = module_data["vendor_name"]
392
394
  appl.firmware = module_data["firmware_version"]
393
395
 
@@ -403,7 +405,8 @@ class SmileHelper(SmileCommon):
403
405
  return None
404
406
 
405
407
  appl.vendor_name = module_data["vendor_name"]
406
- appl.model = check_model(module_data["vendor_model"], appl.vendor_name)
408
+ appl.model_id = module_data["vendor_model"]
409
+ appl.model = check_model(appl.model_id, appl.vendor_name)
407
410
  appl.hardware = module_data["hardware_version"]
408
411
  appl.firmware = module_data["firmware_version"]
409
412
 
@@ -418,6 +421,7 @@ class SmileHelper(SmileCommon):
418
421
  appl.hardware = self.smile_hw_version
419
422
  appl.mac = self.smile_mac_address
420
423
  appl.model = self.smile_model
424
+ appl.model_id = self._domain_objects.find("./gateway/vendor_model").text
421
425
  appl.name = self.smile_name
422
426
  appl.vendor_name = "Plugwise"
423
427
 
@@ -117,6 +117,7 @@ class SmileLegacyHelper(SmileCommon):
117
117
  appl.dev_id = appliance.attrib["id"]
118
118
  appl.name = appliance.find("name").text
119
119
  appl.model = appl.pwclass.replace("_", " ").title()
120
+ appl.model_id = None
120
121
  appl.firmware = None
121
122
  appl.hardware = None
122
123
  appl.mac = None
@@ -207,7 +208,9 @@ class SmileLegacyHelper(SmileCommon):
207
208
  return self._appl_thermostat_info(appl, appliance, self._modules)
208
209
  # Collect heater_central device info
209
210
  case "heater_central":
210
- return self._appl_heater_central_info(appl, appliance, self._appliances, self._modules)
211
+ return self._appl_heater_central_info(
212
+ appl, appliance, True, self._appliances, self._modules
213
+ ) # True means legacy device
211
214
  # Collect info from Stretches
212
215
  case _:
213
216
  return self._energy_device_info_finder(appliance, appl)
@@ -246,6 +249,7 @@ class SmileLegacyHelper(SmileCommon):
246
249
  appl.location = loc_id
247
250
  appl.mac = None
248
251
  appl.model = self.smile_model
252
+ appl.model_id = None
249
253
  appl.name = "P1"
250
254
  appl.pwclass = "smartmeter"
251
255
  appl.zigbee_mac = None
@@ -110,6 +110,9 @@ def check_model(name: str | None, vendor_name: str | None) -> str | None:
110
110
  if vendor_name == "Plugwise" and ((model := version_to_model(name)) != "Unknown"):
111
111
  return model
112
112
 
113
+ if name is not None and "lumi.plug" in name:
114
+ return "Aqara Smart Plug"
115
+
113
116
  return name
114
117
 
115
118
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: plugwise
3
- Version: 1.2.0
3
+ Version: 1.3.1
4
4
  Summary: Plugwise Smile (Adam/Anna/P1) and Stretch module for Python 3.
5
5
  Home-page: https://github.com/plugwise/python-plugwise
6
6
  Author: Plugwise device owners
@@ -1,10 +1,10 @@
1
1
  [build-system]
2
- requires = ["setuptools~=73.0", "wheel~=0.44.0"]
2
+ requires = ["setuptools~=74.0", "wheel~=0.44.0"]
3
3
  build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "plugwise"
7
- version = "1.2.0"
7
+ version = "1.3.1"
8
8
  license = {file = "LICENSE"}
9
9
  description = "Plugwise Smile (Adam/Anna/P1) and Stretch module for Python 3."
10
10
  readme = "README.md"
@@ -36,7 +36,7 @@ class TestPlugwiseAdam(TestPlugwise): # pylint: disable=attribute-defined-outsi
36
36
  assert smile.gateway_id == "da224107914542988a88561b4452b0f6"
37
37
  assert smile._last_active["f2bf9048bef64cc5b6d5110154e33c81"] == "Weekschema"
38
38
  assert smile._last_active["f871b8c4d63549319221e294e4f88074"] == "Badkamer"
39
- assert self.device_items == 149
39
+ assert self.device_items == 157
40
40
  assert self.device_list == [
41
41
  "da224107914542988a88561b4452b0f6",
42
42
  "056ee145a816487eaa69243c3280f8bf",
@@ -186,7 +186,7 @@ class TestPlugwiseAdam(TestPlugwise): # pylint: disable=attribute-defined-outsi
186
186
  assert smile._last_active["82fa13f017d240daa0d0ea1775420f24"] == CV_JESSIE
187
187
  assert smile._last_active["08963fec7c53423ca5680aa4cb502c63"] == BADKAMER_SCHEMA
188
188
  assert smile._last_active["446ac08dd04d4eff8ac57489757b7314"] == BADKAMER_SCHEMA
189
- assert self.device_items == 323
189
+ assert self.device_items == 340
190
190
 
191
191
  assert "af82e4ccf9c548528166d38e560662a4" in self.notifications
192
192
  await smile.delete_notification()
@@ -264,7 +264,7 @@ class TestPlugwiseAdam(TestPlugwise): # pylint: disable=attribute-defined-outsi
264
264
  assert smile._last_active["82fa13f017d240daa0d0ea1775420f24"] == CV_JESSIE
265
265
  assert smile._last_active["08963fec7c53423ca5680aa4cb502c63"] == BADKAMER_SCHEMA
266
266
  assert smile._last_active["446ac08dd04d4eff8ac57489757b7314"] == BADKAMER_SCHEMA
267
- assert self.device_items == 323
267
+ assert self.device_items == 340
268
268
 
269
269
  assert "af82e4ccf9c548528166d38e560662a4" in self.notifications
270
270
 
@@ -302,7 +302,7 @@ class TestPlugwiseAdam(TestPlugwise): # pylint: disable=attribute-defined-outsi
302
302
  assert smile._last_active["a562019b0b1f47a4bde8ebe3dbe3e8a9"] == WERKDAG_SCHEMA
303
303
  assert smile._last_active["8cf650a4c10c44819e426bed406aec34"] == WERKDAG_SCHEMA
304
304
  assert smile._last_active["5cc21042f87f4b4c94ccb5537c47a53f"] == WERKDAG_SCHEMA
305
- assert self.device_items == 417
305
+ assert self.device_items == 439
306
306
 
307
307
  await smile.close_connection()
308
308
  await self.disconnect(server, client)
@@ -323,7 +323,7 @@ class TestPlugwiseAdam(TestPlugwise): # pylint: disable=attribute-defined-outsi
323
323
  )
324
324
 
325
325
  await self.device_test(smile, "2022-01-02 00:00:01", testdata)
326
- assert self.device_items == 56
326
+ assert self.device_items == 58
327
327
  assert self.cooling_present
328
328
  # assert self._cooling_enabled - no cooling_enabled indication present
329
329
 
@@ -348,7 +348,7 @@ class TestPlugwiseAdam(TestPlugwise): # pylint: disable=attribute-defined-outsi
348
348
  await self.device_test(smile, "2020-03-22 00:00:01", testdata)
349
349
  assert smile.gateway_id == "b128b4bbbd1f47e9bf4d756e8fb5ee94"
350
350
  assert smile._last_active["009490cc2f674ce6b576863fbb64f867"] == "Weekschema"
351
- assert self.device_items == 70
351
+ assert self.device_items == 73
352
352
  assert "6fb89e35caeb4b1cb275184895202d84" in self.notifications
353
353
 
354
354
  result = await self.tinker_thermostat(
@@ -392,7 +392,7 @@ class TestPlugwiseAdam(TestPlugwise): # pylint: disable=attribute-defined-outsi
392
392
  assert smile._last_active["06aecb3d00354375924f50c47af36bd2"] is None
393
393
  assert smile._last_active["d27aede973b54be484f6842d1b2802ad"] is None
394
394
  assert smile._last_active["13228dab8ce04617af318a2888b3c548"] is None
395
- assert self.device_items == 217
395
+ assert self.device_items == 228
396
396
 
397
397
  # Negative test
398
398
  result = await self.tinker_thermostat(
@@ -30,7 +30,7 @@ class TestPlugwiseAnna(TestPlugwise): # pylint: disable=attribute-defined-outsi
30
30
  await self.device_test(smile, "2020-04-05 00:00:01", testdata)
31
31
  assert smile.gateway_id == "0466eae8520144c78afb29628384edeb"
32
32
  assert smile._last_active["eb5309212bf5407bb143e5bfa3b18aee"] == "Standaard"
33
- assert self.device_items == 56
33
+ assert self.device_items == 58
34
34
  assert not self.notifications
35
35
 
36
36
  assert not self.cooling_present
@@ -105,7 +105,7 @@ class TestPlugwiseAnna(TestPlugwise): # pylint: disable=attribute-defined-outsi
105
105
 
106
106
  await self.device_test(smile, "2020-04-05 00:00:01", testdata)
107
107
  assert smile._last_active["eb5309212bf5407bb143e5bfa3b18aee"] == "Standaard"
108
- assert self.device_items == 56
108
+ assert self.device_items == 58
109
109
  assert not self.notifications
110
110
 
111
111
  result = await self.tinker_thermostat(
@@ -138,7 +138,7 @@ class TestPlugwiseAnna(TestPlugwise): # pylint: disable=attribute-defined-outsi
138
138
  )
139
139
 
140
140
  await self.device_test(smile, "2020-04-05 00:00:01", testdata)
141
- assert self.device_items == 56
141
+ assert self.device_items == 58
142
142
 
143
143
  result = await self.tinker_thermostat(
144
144
  smile,
@@ -167,7 +167,7 @@ class TestPlugwiseAnna(TestPlugwise): # pylint: disable=attribute-defined-outsi
167
167
 
168
168
  await self.device_test(smile, "2022-05-16 00:00:01", testdata)
169
169
  assert smile._last_active["c34c6864216446528e95d88985e714cc"] == "Normaal"
170
- assert self.device_items == 38
170
+ assert self.device_items == 39
171
171
  assert not self.notifications
172
172
 
173
173
  result = await self.tinker_thermostat(
@@ -196,7 +196,7 @@ class TestPlugwiseAnna(TestPlugwise): # pylint: disable=attribute-defined-outsi
196
196
  await self.device_test(smile, "2020-04-12 00:00:01", testdata)
197
197
  assert smile.gateway_id == "015ae9ea3f964e668e490fa39da3870b"
198
198
  assert smile._last_active["c784ee9fdab44e1395b8dee7d7a497d5"] == "standaard"
199
- assert self.device_items == 66
199
+ assert self.device_items == 67
200
200
  assert not self.notifications
201
201
  assert self.cooling_present
202
202
  assert not self._cooling_enabled
@@ -225,7 +225,7 @@ class TestPlugwiseAnna(TestPlugwise): # pylint: disable=attribute-defined-outsi
225
225
  await self.device_test(
226
226
  smile, "2020-04-13 00:00:01", testdata_updated, initialize=False
227
227
  )
228
- assert self.device_items == 63
228
+ assert self.device_items == 64
229
229
  await smile.close_connection()
230
230
  await self.disconnect(server, client)
231
231
 
@@ -251,7 +251,7 @@ class TestPlugwiseAnna(TestPlugwise): # pylint: disable=attribute-defined-outsi
251
251
 
252
252
  await self.device_test(smile, "2020-04-19 00:00:01", testdata)
253
253
  assert smile._last_active["c784ee9fdab44e1395b8dee7d7a497d5"] == "standaard"
254
- assert self.device_items == 63
254
+ assert self.device_items == 64
255
255
  assert self.cooling_present
256
256
  assert not self.notifications
257
257
 
@@ -296,7 +296,7 @@ class TestPlugwiseAnna(TestPlugwise): # pylint: disable=attribute-defined-outsi
296
296
  )
297
297
 
298
298
  await self.device_test(smile, "2020-04-19 00:00:01", testdata)
299
- assert self.device_items == 63
299
+ assert self.device_items == 64
300
300
  assert self.cooling_present
301
301
  assert self._cooling_enabled
302
302
  assert self._cooling_active
@@ -323,7 +323,7 @@ class TestPlugwiseAnna(TestPlugwise): # pylint: disable=attribute-defined-outsi
323
323
  await self.device_test(smile, "2020-04-12 00:00:01", testdata)
324
324
  assert smile.gateway_id == "015ae9ea3f964e668e490fa39da3870b"
325
325
  assert smile._last_active["c784ee9fdab44e1395b8dee7d7a497d5"] == "standaard"
326
- assert self.device_items == 62
326
+ assert self.device_items == 63
327
327
  assert not self.notifications
328
328
  assert not self.cooling_present
329
329
 
@@ -350,7 +350,7 @@ class TestPlugwiseAnna(TestPlugwise): # pylint: disable=attribute-defined-outsi
350
350
  smile._last_active["d3ce834534114348be628b61b26d9220"]
351
351
  == THERMOSTAT_SCHEDULE
352
352
  )
353
- assert self.device_items == 62
353
+ assert self.device_items == 63
354
354
  assert smile.gateway_id == "fb49af122f6e4b0f91267e1cf7666d6f"
355
355
  assert self.cooling_present
356
356
  assert not self._cooling_enabled
@@ -375,7 +375,7 @@ class TestPlugwiseAnna(TestPlugwise): # pylint: disable=attribute-defined-outsi
375
375
  )
376
376
  assert self.cooling_present
377
377
  assert not self._cooling_enabled
378
- assert self.device_items == 62
378
+ assert self.device_items == 63
379
379
 
380
380
  await smile.close_connection()
381
381
  await self.disconnect(server, client)
@@ -404,7 +404,7 @@ class TestPlugwiseAnna(TestPlugwise): # pylint: disable=attribute-defined-outsi
404
404
  smile._last_active["d3ce834534114348be628b61b26d9220"]
405
405
  == THERMOSTAT_SCHEDULE
406
406
  )
407
- assert self.device_items == 62
407
+ assert self.device_items == 63
408
408
  assert not self.notifications
409
409
 
410
410
  assert self.cooling_present
@@ -431,7 +431,7 @@ class TestPlugwiseAnna(TestPlugwise): # pylint: disable=attribute-defined-outsi
431
431
 
432
432
  await self.device_test(smile, "2022-05-16 00:00:01", testdata)
433
433
  assert smile._last_active["15da035090b847e7a21f93e08c015ebc"] == "Winter"
434
- assert self.device_items == 64
434
+ assert self.device_items == 66
435
435
  assert self.cooling_present
436
436
  assert not self._cooling_enabled
437
437
 
@@ -497,7 +497,7 @@ class TestPlugwiseAnna(TestPlugwise): # pylint: disable=attribute-defined-outsi
497
497
 
498
498
  await self.device_test(smile, "2022-05-16 00:00:01", testdata)
499
499
  assert smile._last_active["15da035090b847e7a21f93e08c015ebc"] == "Winter"
500
- assert self.device_items == 64
500
+ assert self.device_items == 66
501
501
  assert self.cooling_present
502
502
  assert self._cooling_enabled
503
503
 
@@ -520,7 +520,7 @@ class TestPlugwiseAnna(TestPlugwise): # pylint: disable=attribute-defined-outsi
520
520
  )
521
521
 
522
522
  await self.device_test(smile, "2022-05-16 00:00:01", testdata)
523
- assert self.device_items == 64
523
+ assert self.device_items == 66
524
524
  assert self.cooling_present
525
525
  assert not self._cooling_enabled
526
526
 
@@ -28,7 +28,7 @@ class TestPlugwiseP1(TestPlugwise): # pylint: disable=attribute-defined-outside
28
28
 
29
29
  await self.device_test(smile, "2022-05-16 00:00:01", testdata)
30
30
  assert smile.gateway_id == "a455b61e52394b2db5081ce025a430f3"
31
- assert self.device_items == 29
31
+ assert self.device_items == 30
32
32
  assert "97a04c0c263049b29350a660b4cdd01e" in self.notifications
33
33
 
34
34
  await smile.close_connection()
@@ -52,7 +52,7 @@ class TestPlugwiseP1(TestPlugwise): # pylint: disable=attribute-defined-outside
52
52
 
53
53
  await self.device_test(smile, "2022-05-16 00:00:01", testdata)
54
54
  assert smile.gateway_id == "a455b61e52394b2db5081ce025a430f3"
55
- assert self.device_items == 31
55
+ assert self.device_items == 32
56
56
  assert not self.notifications
57
57
 
58
58
  # Now change some data and change directory reading xml from
@@ -86,7 +86,7 @@ class TestPlugwiseP1(TestPlugwise): # pylint: disable=attribute-defined-outside
86
86
 
87
87
  await self.device_test(smile, "2022-05-16 00:00:01", testdata)
88
88
  assert smile.gateway_id == "03e65b16e4b247a29ae0d75a78cb492e"
89
- assert self.device_items == 40
89
+ assert self.device_items == 41
90
90
  assert self.notifications
91
91
 
92
92
  await smile.close_connection()
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes