python-omnilogic-local 0.28.2__tar.gz → 1.0.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.28.2 → python_omnilogic_local-1.0.0}/PKG-INFO +1 -1
  2. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/omnitypes.py +3 -0
  3. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyproject.toml +9 -18
  4. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/LICENSE +0 -0
  5. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/README.md +0 -0
  6. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/__init__.py +0 -0
  7. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/_base.py +0 -0
  8. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/api/__init__.py +0 -0
  9. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/api/api.py +0 -0
  10. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/api/constants.py +0 -0
  11. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/api/exceptions.py +0 -0
  12. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/api/mock_api.py +0 -0
  13. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/api/protocol.py +0 -0
  14. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/backyard.py +0 -0
  15. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/bow.py +0 -0
  16. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/chlorinator.py +0 -0
  17. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/chlorinator_equip.py +0 -0
  18. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/cli/__init__.py +0 -0
  19. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/cli/cli.py +0 -0
  20. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/cli/debug/__init__.py +0 -0
  21. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/cli/debug/commands.py +0 -0
  22. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/cli/get/__init__.py +0 -0
  23. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/cli/get/backyard.py +0 -0
  24. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/cli/get/bows.py +0 -0
  25. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/cli/get/chlorinators.py +0 -0
  26. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/cli/get/commands.py +0 -0
  27. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/cli/get/csads.py +0 -0
  28. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/cli/get/filters.py +0 -0
  29. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/cli/get/groups.py +0 -0
  30. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/cli/get/heaters.py +0 -0
  31. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/cli/get/lights.py +0 -0
  32. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/cli/get/pumps.py +0 -0
  33. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/cli/get/relays.py +0 -0
  34. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/cli/get/schedules.py +0 -0
  35. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/cli/get/sensors.py +0 -0
  36. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/cli/get/valves.py +0 -0
  37. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/cli/pcap_utils.py +0 -0
  38. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/cli/utils.py +0 -0
  39. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/collections.py +0 -0
  40. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/colorlogiclight.py +0 -0
  41. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/csad.py +0 -0
  42. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/csad_equip.py +0 -0
  43. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/decorators.py +0 -0
  44. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/filter.py +0 -0
  45. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/groups.py +0 -0
  46. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/heater.py +0 -0
  47. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/heater_equip.py +0 -0
  48. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/models/__init__.py +0 -0
  49. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/models/const.py +0 -0
  50. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/models/exceptions.py +0 -0
  51. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/models/filter_diagnostics.py +0 -0
  52. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/models/leadmessage.py +0 -0
  53. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/models/mspconfig.py +0 -0
  54. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/models/telemetry.py +0 -0
  55. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/omnilogic.py +0 -0
  56. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/pump.py +0 -0
  57. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/py.typed +0 -0
  58. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/relay.py +0 -0
  59. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/schedule.py +0 -0
  60. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/sensor.py +0 -0
  61. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.0}/pyomnilogic_local/system.py +0 -0
  62. {python_omnilogic_local-0.28.2 → python_omnilogic_local-1.0.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.28.2
3
+ Version: 1.0.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>
@@ -161,6 +161,7 @@ class ChlorinatorType(PrettyEnum, StrEnum):
161
161
  MAIN_PANEL = "CHLOR_TYPE_MAIN_PANEL"
162
162
  DISPENSER = "CHLOR_TYPE_DISPENSER"
163
163
  AQUA_RITE = "CHLOR_TYPE_AQUA_RITE"
164
+ AQUA_RITE_S3 = "CHLOR_TYPE_AQR_S3"
164
165
 
165
166
 
166
167
  class ChlorinatorDispenserType(PrettyEnum, StrEnum):
@@ -463,6 +464,8 @@ class PumpState(PrettyEnum, IntEnum):
463
464
  OFF = 0
464
465
  ON = 1
465
466
  FREEZE_PROTECT = 2 # This is an assumption that 2 means freeze protect, ref: https://github.com/cryptk/haomnilogic-local/issues/147
467
+ UNKNOWN_1 = 3
468
+ PRIMING = 4 # https://github.com/cryptk/haomnilogic-local/issues/223
466
469
 
467
470
 
468
471
  class PumpType(PrettyEnum, StrEnum):
@@ -1,31 +1,23 @@
1
1
  [project]
2
2
  name = "python-omnilogic-local"
3
- version = "0.28.2"
3
+ version = "1.0.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"
7
7
  authors = [
8
- {name = "Chris Jowett",email = "421501+cryptk@users.noreply.github.com"},
9
- {name = "djtimca"},
10
- {name = "garionphx"}
8
+ { name = "Chris Jowett", email = "421501+cryptk@users.noreply.github.com" },
9
+ { name = "djtimca" },
10
+ { name = "garionphx" },
11
11
  ]
12
12
  license-files = ["LICENSE"]
13
- dependencies = [
14
- "pydantic >=2.0.0,<3.0.0",
15
- "xmltodict >=1.0.1,<2.0.0",
16
- ]
13
+ dependencies = ["pydantic >=2.0.0,<3.0.0", "xmltodict >=1.0.1,<2.0.0"]
17
14
 
18
15
  [project.scripts]
19
16
  omnilogic = "pyomnilogic_local.cli.cli:entrypoint"
20
17
 
21
18
  [project.optional-dependencies]
22
- cli = [
23
- "scapy>=2.6.1,<3.0.0",
24
- "click >=8.0.0,<9.0.0",
25
- ]
26
- build = [
27
- "uv ~= 0.11.6"
28
- ]
19
+ cli = ["scapy>=2.6.1,<3.0.0", "click >=8.0.0,<9.0.0"]
20
+ build = ["uv ~= 0.11.6"]
29
21
 
30
22
  [build-system]
31
23
  requires = ["uv_build>=0.11.6,<0.12.0"]
@@ -78,12 +70,12 @@ select = [
78
70
  "PERF", # perflint
79
71
  "E", # pycodestyle errors
80
72
  "W", # pycodestyle warnings
81
- # "DOC", # pydoclint, only available with ruff preview mode enabled
82
73
  "D", # pydocstyle
83
74
  "F", # pyflakes
84
75
  "UP", # pyupgrade
85
76
  "RUF", # ruff-specific rules
86
- "TRY",
77
+ "TRY", # tryceratops
78
+ # "DOC", # pydoclint, only available with ruff preview mode enabled
87
79
  ]
88
80
  ignore = [
89
81
  "D100", # Disabled until we get everything documented.
@@ -99,7 +91,6 @@ convention = "google"
99
91
  [tool.semantic_release]
100
92
  branch = "main"
101
93
  version_toml = ["pyproject.toml:project.version"]
102
- allow_zero_version = true
103
94
  build_command = """
104
95
  python -m pip install -e '.[build]'
105
96
  uv lock --upgrade-package "$PACKAGE_NAME"