python-omnilogic-local 0.27.1__tar.gz → 0.28.0__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 (62) hide show
  1. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/PKG-INFO +1 -1
  2. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/omnilogic.py +11 -3
  3. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyproject.toml +1 -1
  4. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/LICENSE +0 -0
  5. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/README.md +0 -0
  6. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/__init__.py +0 -0
  7. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/_base.py +0 -0
  8. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/api/__init__.py +0 -0
  9. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/api/api.py +0 -0
  10. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/api/constants.py +0 -0
  11. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/api/exceptions.py +0 -0
  12. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/api/mock_api.py +0 -0
  13. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/api/protocol.py +0 -0
  14. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/backyard.py +0 -0
  15. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/bow.py +0 -0
  16. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/chlorinator.py +0 -0
  17. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/chlorinator_equip.py +0 -0
  18. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/cli/__init__.py +0 -0
  19. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/cli/cli.py +0 -0
  20. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/cli/debug/__init__.py +0 -0
  21. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/cli/debug/commands.py +0 -0
  22. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/cli/get/__init__.py +0 -0
  23. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/cli/get/backyard.py +0 -0
  24. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/cli/get/bows.py +0 -0
  25. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/cli/get/chlorinators.py +0 -0
  26. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/cli/get/commands.py +0 -0
  27. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/cli/get/csads.py +0 -0
  28. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/cli/get/filters.py +0 -0
  29. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/cli/get/groups.py +0 -0
  30. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/cli/get/heaters.py +0 -0
  31. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/cli/get/lights.py +0 -0
  32. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/cli/get/pumps.py +0 -0
  33. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/cli/get/relays.py +0 -0
  34. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/cli/get/schedules.py +0 -0
  35. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/cli/get/sensors.py +0 -0
  36. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/cli/get/valves.py +0 -0
  37. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/cli/pcap_utils.py +0 -0
  38. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/cli/utils.py +0 -0
  39. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/collections.py +0 -0
  40. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/colorlogiclight.py +0 -0
  41. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/csad.py +0 -0
  42. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/csad_equip.py +0 -0
  43. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/decorators.py +0 -0
  44. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/filter.py +0 -0
  45. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/groups.py +0 -0
  46. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/heater.py +0 -0
  47. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/heater_equip.py +0 -0
  48. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/models/__init__.py +0 -0
  49. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/models/const.py +0 -0
  50. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/models/exceptions.py +0 -0
  51. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/models/filter_diagnostics.py +0 -0
  52. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/models/leadmessage.py +0 -0
  53. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/models/mspconfig.py +0 -0
  54. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/models/telemetry.py +0 -0
  55. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/omnitypes.py +0 -0
  56. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/pump.py +0 -0
  57. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/py.typed +0 -0
  58. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/relay.py +0 -0
  59. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/schedule.py +0 -0
  60. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/sensor.py +0 -0
  61. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/system.py +0 -0
  62. {python_omnilogic_local-0.27.1 → python_omnilogic_local-0.28.0}/pyomnilogic_local/util.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-omnilogic-local
3
- Version: 0.27.1
3
+ Version: 0.28.0
4
4
  Summary: A library for local control of Hayward OmniHub/OmniLogic pool controllers using their local API
5
5
  Author: Chris Jowett, djtimca, garionphx
6
6
  Author-email: Chris Jowett <421501+cryptk@users.noreply.github.com>
@@ -92,6 +92,8 @@ class OmniLogic:
92
92
  *,
93
93
  if_dirty: bool = True,
94
94
  if_older_than: float = 10.0,
95
+ force_telemetry: bool = False,
96
+ force_mspconfig: bool = False,
95
97
  force: bool = False,
96
98
  ) -> None:
97
99
  """Refresh the data from the OmniLogic controller.
@@ -101,14 +103,20 @@ class OmniLogic:
101
103
  telemetry: Whether to refresh Telemetry data (if conditions are met)
102
104
  if_dirty: Only refresh if the data has been marked dirty
103
105
  if_older_than: Only refresh if data is older than this many seconds
104
- force: Force refresh regardless of dirty flag or age
106
+ force_telemetry: Force refresh of telemetry data regardless of dirty flag or age
107
+ force_mspconfig: Force refresh of MSPConfig data regardless of dirty flag or age
108
+ force: Force refresh of telemetry and MSPConfig (deprecated, use individual force flags instead)
105
109
  """
110
+ if force:
111
+ force_telemetry = True
112
+ force_mspconfig = True
113
+
106
114
  async with self._refresh_lock:
107
115
  current_time = time.time()
108
116
 
109
117
  # Determine if telemetry needs updating
110
118
  update_telemetry = False
111
- if force or (if_dirty and self._telemetry_dirty) or ((current_time - self._telemetry_last_updated) > if_older_than):
119
+ if force_telemetry or (if_dirty and self._telemetry_dirty) or ((current_time - self._telemetry_last_updated) > if_older_than):
112
120
  update_telemetry = True
113
121
 
114
122
  # Update telemetry if needed
@@ -119,7 +127,7 @@ class OmniLogic:
119
127
 
120
128
  # Determine if MSPConfig needs updating
121
129
  update_mspconfig = False
122
- if force:
130
+ if force_mspconfig:
123
131
  update_mspconfig = True
124
132
  if self.telemetry.backyard.config_checksum != self._mspconfig_checksum:
125
133
  update_mspconfig = True
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "python-omnilogic-local"
3
- version = "0.27.1"
3
+ version = "0.28.0"
4
4
  description = "A library for local control of Hayward OmniHub/OmniLogic pool controllers using their local API"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.14.2"