plugwise 1.7.7__tar.gz → 1.7.8__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.7.7 → plugwise-1.7.8}/PKG-INFO +1 -1
  2. {plugwise-1.7.7 → plugwise-1.7.8}/plugwise/constants.py +1 -1
  3. {plugwise-1.7.7 → plugwise-1.7.8}/plugwise/data.py +3 -1
  4. {plugwise-1.7.7 → plugwise-1.7.8}/plugwise/helper.py +10 -7
  5. {plugwise-1.7.7 → plugwise-1.7.8}/plugwise/legacy/data.py +3 -1
  6. {plugwise-1.7.7 → plugwise-1.7.8}/plugwise.egg-info/PKG-INFO +1 -1
  7. {plugwise-1.7.7 → plugwise-1.7.8}/pyproject.toml +1 -1
  8. {plugwise-1.7.7 → plugwise-1.7.8}/tests/test_adam.py +123 -131
  9. {plugwise-1.7.7 → plugwise-1.7.8}/tests/test_anna.py +110 -121
  10. {plugwise-1.7.7 → plugwise-1.7.8}/tests/test_generic.py +2 -2
  11. {plugwise-1.7.7 → plugwise-1.7.8}/tests/test_init.py +66 -68
  12. {plugwise-1.7.7 → plugwise-1.7.8}/tests/test_legacy_anna.py +21 -23
  13. {plugwise-1.7.7 → plugwise-1.7.8}/tests/test_legacy_generic.py +1 -1
  14. {plugwise-1.7.7 → plugwise-1.7.8}/tests/test_legacy_p1.py +12 -12
  15. {plugwise-1.7.7 → plugwise-1.7.8}/tests/test_legacy_stretch.py +22 -22
  16. {plugwise-1.7.7 → plugwise-1.7.8}/tests/test_p1.py +15 -15
  17. {plugwise-1.7.7 → plugwise-1.7.8}/LICENSE +0 -0
  18. {plugwise-1.7.7 → plugwise-1.7.8}/README.md +0 -0
  19. {plugwise-1.7.7 → plugwise-1.7.8}/plugwise/__init__.py +0 -0
  20. {plugwise-1.7.7 → plugwise-1.7.8}/plugwise/common.py +0 -0
  21. {plugwise-1.7.7 → plugwise-1.7.8}/plugwise/exceptions.py +0 -0
  22. {plugwise-1.7.7 → plugwise-1.7.8}/plugwise/legacy/helper.py +0 -0
  23. {plugwise-1.7.7 → plugwise-1.7.8}/plugwise/legacy/smile.py +0 -0
  24. {plugwise-1.7.7 → plugwise-1.7.8}/plugwise/py.typed +0 -0
  25. {plugwise-1.7.7 → plugwise-1.7.8}/plugwise/smile.py +0 -0
  26. {plugwise-1.7.7 → plugwise-1.7.8}/plugwise/smilecomm.py +0 -0
  27. {plugwise-1.7.7 → plugwise-1.7.8}/plugwise/util.py +0 -0
  28. {plugwise-1.7.7 → plugwise-1.7.8}/plugwise.egg-info/SOURCES.txt +0 -0
  29. {plugwise-1.7.7 → plugwise-1.7.8}/plugwise.egg-info/dependency_links.txt +0 -0
  30. {plugwise-1.7.7 → plugwise-1.7.8}/plugwise.egg-info/requires.txt +0 -0
  31. {plugwise-1.7.7 → plugwise-1.7.8}/plugwise.egg-info/top_level.txt +0 -0
  32. {plugwise-1.7.7 → plugwise-1.7.8}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: plugwise
3
- Version: 1.7.7
3
+ Version: 1.7.8
4
4
  Summary: Plugwise Smile (Adam/Anna/P1) and Stretch module for Python 3.
5
5
  Author: Plugwise device owners
6
6
  Maintainer: bouwew, CoMPaTech
@@ -553,7 +553,7 @@ class GwEntityData(TypedDict, total=False):
553
553
  preset_modes: list[str] | None
554
554
  # Schedules:
555
555
  available_schedules: list[str]
556
- select_schedule: str
556
+ select_schedule: str | None
557
557
 
558
558
  climate_mode: str
559
559
  # Extra for Adam Master Thermostats
@@ -268,11 +268,13 @@ class SmileData(SmileHelper):
268
268
  data["active_preset"] = self._preset(loc_id)
269
269
 
270
270
  # Schedule
271
+ data["available_schedules"] = []
272
+ data["select_schedule"] = None
273
+ self._count += 2
271
274
  avail_schedules, sel_schedule = self._schedules(loc_id)
272
275
  if avail_schedules != [NONE]:
273
276
  data["available_schedules"] = avail_schedules
274
277
  data["select_schedule"] = sel_schedule
275
- self._count += 2
276
278
 
277
279
  # Set HA climate HVACMode: auto, heat, heat_cool, cool and off
278
280
  data["climate_mode"] = "auto"
@@ -411,7 +411,8 @@ class SmileHelper(SmileCommon):
411
411
  case "elga_status_code":
412
412
  data["elga_status_code"] = int(appl_p_loc.text)
413
413
  case "select_dhw_mode":
414
- data["select_dhw_mode"] = appl_p_loc.text
414
+ if self._dhw_allowed_modes:
415
+ data["select_dhw_mode"] = appl_p_loc.text
415
416
 
416
417
  common_match_cases(measurement, attrs, appl_p_loc, data)
417
418
 
@@ -522,7 +523,7 @@ class SmileHelper(SmileCommon):
522
523
 
523
524
  Collect the requested gateway mode.
524
525
  """
525
- if not (self.check_name(ADAM) and entity_id == self._gateway_id):
526
+ if not (entity_id == self._gateway_id and self.check_name(ADAM)):
526
527
  return None
527
528
 
528
529
  if (search := search_actuator_functionalities(appliance, key)) is not None:
@@ -535,29 +536,31 @@ class SmileHelper(SmileCommon):
535
536
  ) -> None:
536
537
  """Helper-function for _get_measurement_data().
537
538
 
538
- Adam: collect the gateway regulation_mode.
539
+ Adam gateway: collect the gateway regulation_mode.
539
540
  """
540
541
  if (
541
542
  mode := self._get_actuator_mode(
542
543
  appliance, entity_id, "regulation_mode_control_functionality"
543
544
  )
544
545
  ) is not None:
545
- data["select_regulation_mode"] = mode
546
- self._count += 1
546
+ # Below line needs to be here to set the boolean for both older and recent Adam firmware versions
547
547
  self._cooling_enabled = mode == "cooling"
548
+ if self._reg_allowed_modes:
549
+ data["select_regulation_mode"] = mode
550
+ self._count += 1
548
551
 
549
552
  def _get_gateway_mode(
550
553
  self, appliance: etree.Element, entity_id: str, data: GwEntityData
551
554
  ) -> None:
552
555
  """Helper-function for _get_measurement_data().
553
556
 
554
- Adam: collect the gateway mode.
557
+ Adam gateway: collect the gateway mode.
555
558
  """
556
559
  if (
557
560
  mode := self._get_actuator_mode(
558
561
  appliance, entity_id, "gateway_mode_control_functionality"
559
562
  )
560
- ) is not None:
563
+ ) is not None and self._gw_allowed_modes:
561
564
  data["select_gateway_mode"] = mode
562
565
  self._count += 1
563
566
 
@@ -67,11 +67,13 @@ class SmileLegacyData(SmileLegacyHelper):
67
67
  data["active_preset"] = self._preset()
68
68
 
69
69
  # Schedule
70
+ data["available_schedules"] = []
71
+ data["select_schedule"] = None
72
+ self._count += 2
70
73
  avail_schedules, sel_schedule = self._schedules()
71
74
  if avail_schedules != [NONE]:
72
75
  data["available_schedules"] = avail_schedules
73
76
  data["select_schedule"] = sel_schedule
74
- self._count += 2
75
77
 
76
78
  # Set HA climate HVACMode: auto, heat
77
79
  data["climate_mode"] = "auto"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: plugwise
3
- Version: 1.7.7
3
+ Version: 1.7.8
4
4
  Summary: Plugwise Smile (Adam/Anna/P1) and Stretch module for Python 3.
5
5
  Author: Plugwise device owners
6
6
  Maintainer: bouwew, CoMPaTech
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "plugwise"
7
- version = "1.7.7"
7
+ version = "1.7.8"
8
8
  license = "MIT"
9
9
  description = "Plugwise Smile (Adam/Anna/P1) and Stretch module for Python 3."
10
10
  readme = "README.md"