python-omnilogic-local 0.14.3__tar.gz → 0.14.6__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.
- {python_omnilogic_local-0.14.3 → python_omnilogic_local-0.14.6}/PKG-INFO +2 -2
- {python_omnilogic_local-0.14.3 → python_omnilogic_local-0.14.6}/pyomnilogic_local/api.py +5 -5
- {python_omnilogic_local-0.14.3 → python_omnilogic_local-0.14.6}/pyomnilogic_local/models/mspconfig.py +3 -0
- {python_omnilogic_local-0.14.3 → python_omnilogic_local-0.14.6}/pyomnilogic_local/models/telemetry.py +1 -1
- {python_omnilogic_local-0.14.3 → python_omnilogic_local-0.14.6}/pyomnilogic_local/models/util.py +1 -1
- {python_omnilogic_local-0.14.3 → python_omnilogic_local-0.14.6}/pyomnilogic_local/types.py +21 -2
- {python_omnilogic_local-0.14.3 → python_omnilogic_local-0.14.6}/pyproject.toml +1 -1
- {python_omnilogic_local-0.14.3 → python_omnilogic_local-0.14.6}/LICENSE +0 -0
- {python_omnilogic_local-0.14.3 → python_omnilogic_local-0.14.6}/README.md +0 -0
- {python_omnilogic_local-0.14.3 → python_omnilogic_local-0.14.6}/pyomnilogic_local/__init__.py +0 -0
- {python_omnilogic_local-0.14.3 → python_omnilogic_local-0.14.6}/pyomnilogic_local/cli.py +0 -0
- {python_omnilogic_local-0.14.3 → python_omnilogic_local-0.14.6}/pyomnilogic_local/exceptions.py +0 -0
- {python_omnilogic_local-0.14.3 → python_omnilogic_local-0.14.6}/pyomnilogic_local/models/__init__.py +0 -0
- {python_omnilogic_local-0.14.3 → python_omnilogic_local-0.14.6}/pyomnilogic_local/models/const.py +0 -0
- {python_omnilogic_local-0.14.3 → python_omnilogic_local-0.14.6}/pyomnilogic_local/models/filter_diagnostics.py +0 -0
- {python_omnilogic_local-0.14.3 → python_omnilogic_local-0.14.6}/pyomnilogic_local/models/leadmessage.py +0 -0
- {python_omnilogic_local-0.14.3 → python_omnilogic_local-0.14.6}/pyomnilogic_local/protocol.py +0 -0
- {python_omnilogic_local-0.14.3 → python_omnilogic_local-0.14.6}/pyomnilogic_local/util.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.3
|
2
2
|
Name: python-omnilogic-local
|
3
|
-
Version: 0.14.
|
3
|
+
Version: 0.14.6
|
4
4
|
Summary: A library for local control of Hayward OmniHub/OmniLogic pool controllers using their local API
|
5
5
|
Home-page: https://github.com/cryptk/python-omnilogic-local
|
6
6
|
License: Apache-2.0
|
@@ -436,12 +436,12 @@ class OmniLogicAPI:
|
|
436
436
|
pool_id: int,
|
437
437
|
equipment_id: int,
|
438
438
|
timed_percent: int,
|
439
|
+
cell_type: int,
|
440
|
+
op_mode: int,
|
441
|
+
sc_timeout: int,
|
442
|
+
bow_type: int,
|
443
|
+
orp_timeout: int,
|
439
444
|
cfg_state: int = 3,
|
440
|
-
op_mode: int = 1,
|
441
|
-
bow_type: int = 0,
|
442
|
-
cell_type: int = 4,
|
443
|
-
sc_timeout: int = 24,
|
444
|
-
orp_timeout: int = 24,
|
445
445
|
) -> None:
|
446
446
|
body_element = ET.Element("Request", {"xmlns": "http://nextgen.hayward.com/api"})
|
447
447
|
|
@@ -15,6 +15,7 @@ from xmltodict import parse as xml_parse
|
|
15
15
|
from ..exceptions import OmniParsingException
|
16
16
|
from ..types import (
|
17
17
|
BodyOfWaterType,
|
18
|
+
ChlorinatorCellType,
|
18
19
|
ChlorinatorDispenserType,
|
19
20
|
ColorLogicLightType,
|
20
21
|
ColorLogicShow,
|
@@ -151,7 +152,9 @@ class MSPChlorinator(OmniBase):
|
|
151
152
|
enabled: Literal["yes", "no"] = Field(alias="Enabled")
|
152
153
|
timed_percent: int = Field(alias="Timed-Percent")
|
153
154
|
superchlor_timeout: int = Field(alias="SuperChlor-Timeout")
|
155
|
+
orp_timeout: int = Field(alias="ORP-Timeout")
|
154
156
|
dispenser_type: ChlorinatorDispenserType | str = Field(alias="Dispenser-Type")
|
157
|
+
cell_type: ChlorinatorCellType = Field(alias="Cell-Type")
|
155
158
|
chlorinator_equipment: list[MSPChlorinatorEquip] | None
|
156
159
|
|
157
160
|
def __init__(self, **data: Any) -> None:
|
@@ -71,7 +71,7 @@ class TelemetryChlorinator(BaseModel):
|
|
71
71
|
sc_mode: int = Field(alias="@scMode")
|
72
72
|
operating_state: int = Field(alias="@operatingState")
|
73
73
|
timed_percent: int | None = Field(alias="@Timed-Percent")
|
74
|
-
operating_mode: ChlorinatorOperatingMode
|
74
|
+
operating_mode: ChlorinatorOperatingMode = Field(alias="@operatingMode")
|
75
75
|
enable: bool = Field(alias="@enable")
|
76
76
|
|
77
77
|
# Still need to do a bit more work to determine if a chlorinator is actively chlorinating
|
{python_omnilogic_local-0.14.3 → python_omnilogic_local-0.14.6}/pyomnilogic_local/models/util.py
RENAMED
@@ -2,7 +2,7 @@ from collections.abc import Awaitable, Callable
|
|
2
2
|
import logging
|
3
3
|
from typing import Any, Literal, TypeVar, cast, overload
|
4
4
|
|
5
|
-
from pydantic.utils import GetterDict
|
5
|
+
from pydantic.v1.utils import GetterDict
|
6
6
|
|
7
7
|
from .const import XML_NS
|
8
8
|
from .filter_diagnostics import FilterDiagnostics
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from enum import Enum
|
1
|
+
from enum import Enum, IntEnum
|
2
2
|
|
3
3
|
from .util import PrettyEnum
|
4
4
|
|
@@ -87,7 +87,8 @@ class BodyOfWaterType(str, PrettyEnum):
|
|
87
87
|
# Chlorinator status is a bitmask that we still need to figure out
|
88
88
|
# class ChlorinatorStatus(str,Enum):
|
89
89
|
# pass
|
90
|
-
class ChlorinatorOperatingMode(
|
90
|
+
class ChlorinatorOperatingMode(IntEnum):
|
91
|
+
DISABLED = 0
|
91
92
|
TIMED = 1
|
92
93
|
ORP = 2
|
93
94
|
|
@@ -96,6 +97,24 @@ class ChlorinatorDispenserType(str, PrettyEnum):
|
|
96
97
|
SALT = "SALT_DISPENSING"
|
97
98
|
|
98
99
|
|
100
|
+
class ChlorinatorCellType(PrettyEnum):
|
101
|
+
T3 = "CELL_TYPE_T3"
|
102
|
+
T5 = "CELL_TYPE_T5"
|
103
|
+
T9 = "CELL_TYPE_T9"
|
104
|
+
T15 = "CELL_TYPE_T15"
|
105
|
+
|
106
|
+
# There is probably an easier way to do this
|
107
|
+
def __int__(self) -> int:
|
108
|
+
return ChlorinatorCellInt[self.name].value
|
109
|
+
|
110
|
+
|
111
|
+
class ChlorinatorCellInt(IntEnum):
|
112
|
+
T3 = 1
|
113
|
+
T5 = 2
|
114
|
+
T9 = 3
|
115
|
+
T15 = 4
|
116
|
+
|
117
|
+
|
99
118
|
# Lights
|
100
119
|
class ColorLogicSpeed(PrettyEnum):
|
101
120
|
ONE_SIXTEENTH = 0
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[tool.poetry]
|
2
2
|
name = "python-omnilogic-local"
|
3
|
-
version = "0.14.
|
3
|
+
version = "0.14.6"
|
4
4
|
description = "A library for local control of Hayward OmniHub/OmniLogic pool controllers using their local API"
|
5
5
|
authors = ["cryptk <cryptk@users.noreply.github.com>", "djtimca", "garionphx"]
|
6
6
|
license = "Apache-2.0"
|
File without changes
|
File without changes
|
{python_omnilogic_local-0.14.3 → python_omnilogic_local-0.14.6}/pyomnilogic_local/__init__.py
RENAMED
File without changes
|
File without changes
|
{python_omnilogic_local-0.14.3 → python_omnilogic_local-0.14.6}/pyomnilogic_local/exceptions.py
RENAMED
File without changes
|
{python_omnilogic_local-0.14.3 → python_omnilogic_local-0.14.6}/pyomnilogic_local/models/__init__.py
RENAMED
File without changes
|
{python_omnilogic_local-0.14.3 → python_omnilogic_local-0.14.6}/pyomnilogic_local/models/const.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{python_omnilogic_local-0.14.3 → python_omnilogic_local-0.14.6}/pyomnilogic_local/protocol.py
RENAMED
File without changes
|
File without changes
|