python-omnilogic-local 0.14.4__tar.gz → 0.14.6__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {python_omnilogic_local-0.14.4 → python_omnilogic_local-0.14.6}/PKG-INFO +1 -1
- {python_omnilogic_local-0.14.4 → python_omnilogic_local-0.14.6}/pyomnilogic_local/api.py +5 -5
- {python_omnilogic_local-0.14.4 → python_omnilogic_local-0.14.6}/pyomnilogic_local/models/mspconfig.py +3 -0
- {python_omnilogic_local-0.14.4 → python_omnilogic_local-0.14.6}/pyomnilogic_local/models/telemetry.py +1 -1
- {python_omnilogic_local-0.14.4 → python_omnilogic_local-0.14.6}/pyomnilogic_local/types.py +21 -2
- {python_omnilogic_local-0.14.4 → python_omnilogic_local-0.14.6}/pyproject.toml +1 -1
- {python_omnilogic_local-0.14.4 → python_omnilogic_local-0.14.6}/LICENSE +0 -0
- {python_omnilogic_local-0.14.4 → python_omnilogic_local-0.14.6}/README.md +0 -0
- {python_omnilogic_local-0.14.4 → python_omnilogic_local-0.14.6}/pyomnilogic_local/__init__.py +0 -0
- {python_omnilogic_local-0.14.4 → python_omnilogic_local-0.14.6}/pyomnilogic_local/cli.py +0 -0
- {python_omnilogic_local-0.14.4 → python_omnilogic_local-0.14.6}/pyomnilogic_local/exceptions.py +0 -0
- {python_omnilogic_local-0.14.4 → python_omnilogic_local-0.14.6}/pyomnilogic_local/models/__init__.py +0 -0
- {python_omnilogic_local-0.14.4 → python_omnilogic_local-0.14.6}/pyomnilogic_local/models/const.py +0 -0
- {python_omnilogic_local-0.14.4 → python_omnilogic_local-0.14.6}/pyomnilogic_local/models/filter_diagnostics.py +0 -0
- {python_omnilogic_local-0.14.4 → python_omnilogic_local-0.14.6}/pyomnilogic_local/models/leadmessage.py +0 -0
- {python_omnilogic_local-0.14.4 → python_omnilogic_local-0.14.6}/pyomnilogic_local/models/util.py +0 -0
- {python_omnilogic_local-0.14.4 → python_omnilogic_local-0.14.6}/pyomnilogic_local/protocol.py +0 -0
- {python_omnilogic_local-0.14.4 → python_omnilogic_local-0.14.6}/pyomnilogic_local/util.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
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
|
@@ -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.4 → python_omnilogic_local-0.14.6}/pyomnilogic_local/__init__.py
RENAMED
File without changes
|
File without changes
|
{python_omnilogic_local-0.14.4 → python_omnilogic_local-0.14.6}/pyomnilogic_local/exceptions.py
RENAMED
File without changes
|
{python_omnilogic_local-0.14.4 → python_omnilogic_local-0.14.6}/pyomnilogic_local/models/__init__.py
RENAMED
File without changes
|
{python_omnilogic_local-0.14.4 → 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.4 → python_omnilogic_local-0.14.6}/pyomnilogic_local/models/util.py
RENAMED
File without changes
|
{python_omnilogic_local-0.14.4 → python_omnilogic_local-0.14.6}/pyomnilogic_local/protocol.py
RENAMED
File without changes
|
File without changes
|