python-omnilogic-local 0.14.1__tar.gz → 0.14.3__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {python_omnilogic_local-0.14.1 → python_omnilogic_local-0.14.3}/PKG-INFO +3 -2
- {python_omnilogic_local-0.14.1 → python_omnilogic_local-0.14.3}/pyomnilogic_local/cli.py +22 -23
- {python_omnilogic_local-0.14.1 → python_omnilogic_local-0.14.3}/pyomnilogic_local/models/filter_diagnostics.py +2 -2
- {python_omnilogic_local-0.14.1 → python_omnilogic_local-0.14.3}/pyomnilogic_local/models/leadmessage.py +1 -1
- {python_omnilogic_local-0.14.1 → python_omnilogic_local-0.14.3}/pyomnilogic_local/models/mspconfig.py +1 -1
- {python_omnilogic_local-0.14.1 → python_omnilogic_local-0.14.3}/pyomnilogic_local/models/telemetry.py +1 -1
- {python_omnilogic_local-0.14.1 → python_omnilogic_local-0.14.3}/pyproject.toml +2 -2
- {python_omnilogic_local-0.14.1 → python_omnilogic_local-0.14.3}/LICENSE +0 -0
- {python_omnilogic_local-0.14.1 → python_omnilogic_local-0.14.3}/README.md +0 -0
- {python_omnilogic_local-0.14.1 → python_omnilogic_local-0.14.3}/pyomnilogic_local/__init__.py +0 -0
- {python_omnilogic_local-0.14.1 → python_omnilogic_local-0.14.3}/pyomnilogic_local/api.py +0 -0
- {python_omnilogic_local-0.14.1 → python_omnilogic_local-0.14.3}/pyomnilogic_local/exceptions.py +0 -0
- {python_omnilogic_local-0.14.1 → python_omnilogic_local-0.14.3}/pyomnilogic_local/models/__init__.py +0 -0
- {python_omnilogic_local-0.14.1 → python_omnilogic_local-0.14.3}/pyomnilogic_local/models/const.py +0 -0
- {python_omnilogic_local-0.14.1 → python_omnilogic_local-0.14.3}/pyomnilogic_local/models/util.py +0 -0
- {python_omnilogic_local-0.14.1 → python_omnilogic_local-0.14.3}/pyomnilogic_local/protocol.py +0 -0
- {python_omnilogic_local-0.14.1 → python_omnilogic_local-0.14.3}/pyomnilogic_local/types.py +0 -0
- {python_omnilogic_local-0.14.1 → python_omnilogic_local-0.14.3}/pyomnilogic_local/util.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: python-omnilogic-local
|
3
|
-
Version: 0.14.
|
3
|
+
Version: 0.14.3
|
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
|
@@ -16,8 +16,9 @@ Classifier: Programming Language :: Python :: 3
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.10
|
17
17
|
Classifier: Programming Language :: Python :: 3.11
|
18
18
|
Classifier: Programming Language :: Python :: 3.12
|
19
|
+
Classifier: Programming Language :: Python :: 3.13
|
19
20
|
Classifier: Topic :: Software Development :: Libraries
|
20
|
-
Requires-Dist: pydantic (>=1.10.
|
21
|
+
Requires-Dist: pydantic (>=1.10.17)
|
21
22
|
Requires-Dist: xmltodict (>=0.13.0,<0.14.0)
|
22
23
|
Project-URL: Repository, https://github.com/cryptk/python-omnilogic-local
|
23
24
|
Description-Content-Type: text/markdown
|
@@ -18,44 +18,43 @@ RELAY_SYSTEM_ID = 13
|
|
18
18
|
|
19
19
|
|
20
20
|
async def async_main() -> None:
|
21
|
-
|
22
|
-
mspconfig: MSPConfig
|
23
|
-
telem: Telemetry
|
21
|
+
filter_diags: FilterDiagnostics # pylint: disable=unused-variable # noqa: F842
|
22
|
+
mspconfig: MSPConfig
|
23
|
+
telem: Telemetry
|
24
24
|
|
25
25
|
omni = OmniLogicAPI(os.environ.get("OMNILOGIC_HOST", "127.0.0.1"), 10444, 5.0)
|
26
|
+
get_raw = os.environ.get("OMNILOGIC_RAW", False)
|
26
27
|
|
27
28
|
# Some basic calls to run some testing against the library
|
28
29
|
|
29
|
-
# Fetch the MSPConfig data
|
30
|
-
mspconfig = await omni.async_get_config()
|
31
|
-
# Fetch the MSPConfig data as the raw XML
|
32
|
-
# mspconfig = await omni.async_get_config(raw=True)
|
33
|
-
print(mspconfig)
|
30
|
+
# Fetch the MSPConfig data
|
31
|
+
mspconfig = await omni.async_get_config(raw=get_raw) # pylint: disable=unexpected-keyword-arg
|
34
32
|
|
35
|
-
# Fetch the current telemetry data
|
36
|
-
telem = await omni.async_get_telemetry()
|
37
|
-
# Fetch the current telemetry data as the raw XML
|
38
|
-
# telem = await omni.async_get_telemetry(raw=True)
|
39
|
-
print(telem)
|
33
|
+
# Fetch the current telemetry data
|
34
|
+
telem = await omni.async_get_telemetry(raw=get_raw) # pylint: disable=unexpected-keyword-arg
|
40
35
|
|
41
36
|
# Fetch a list of current alarms
|
42
37
|
# print(await omni.async_get_alarm_list())
|
43
38
|
|
44
39
|
# Fetch diagnostic data for a filter pump
|
45
|
-
|
46
|
-
|
40
|
+
# filter_diags = await omni.async_get_filter_diagnostics(POOL_ID, PUMP_EQUIPMENT_ID, raw=get_raw)
|
41
|
+
|
42
|
+
print(mspconfig)
|
43
|
+
print(telem)
|
44
|
+
# print(filter_diags)
|
45
|
+
|
47
46
|
# Decode the filter display revision
|
48
|
-
# b1=chr(
|
49
|
-
# b2=chr(
|
50
|
-
# b3=chr(
|
51
|
-
# b4=chr(
|
47
|
+
# b1=chr(filter_diags.get_param_by_name("DisplayFWRevisionB1"))
|
48
|
+
# b2=chr(filter_diags.get_param_by_name("DisplayFWRevisionB2"))
|
49
|
+
# b3=chr(filter_diags.get_param_by_name("DisplayFWRevisionB3"))
|
50
|
+
# b4=chr(filter_diags.get_param_by_name("DisplayFWRevisionB4"))
|
52
51
|
# b5 and b6 are whitespace and a null terminator
|
53
|
-
# b5=chr(
|
54
|
-
# b6=chr(
|
52
|
+
# b5=chr(filter_diags.get_param_by_name("DisplayFWRevisionB5"))
|
53
|
+
# b6=chr(filter_diags.get_param_by_name("DisplayFWRevisionB6"))
|
55
54
|
# print(f"{b1}{b2}.{b3}.{b4}")
|
56
55
|
# Decode the filter power consumption (don't do this, it's returned already decoded in the telemetry)
|
57
|
-
# p1=
|
58
|
-
# p2=
|
56
|
+
# p1=filter_diags.get_param_by_name("PowerMSB")
|
57
|
+
# p2=filter_diags.get_param_by_name("PowerLSB")
|
59
58
|
# The f-string below converts the bytes to hex and displays them. Just get this value from the telemetry, it's easier
|
60
59
|
# print(f"{p1:x}{p2:x}")
|
61
60
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from __future__ import annotations
|
2
2
|
|
3
|
-
from pydantic import BaseModel, Field
|
3
|
+
from pydantic.v1 import BaseModel, Field
|
4
4
|
from xmltodict import parse as xml_parse
|
5
5
|
|
6
6
|
|
@@ -23,7 +23,7 @@ class FilterDiagnostics(BaseModel):
|
|
23
23
|
orm_mode = True
|
24
24
|
|
25
25
|
def get_param_by_name(self, name: str) -> int:
|
26
|
-
return [param.value for param in self.parameters if param.name == name][0]
|
26
|
+
return [param.value for param in self.parameters if param.name == name][0]
|
27
27
|
|
28
28
|
@staticmethod
|
29
29
|
def load_xml(xml: str) -> FilterDiagnostics:
|
@@ -9,7 +9,7 @@ if sys.version_info >= (3, 11):
|
|
9
9
|
else:
|
10
10
|
from typing_extensions import Self
|
11
11
|
|
12
|
-
from pydantic import BaseModel, Field, ValidationError
|
12
|
+
from pydantic.v1 import BaseModel, Field, ValidationError
|
13
13
|
from xmltodict import parse as xml_parse
|
14
14
|
|
15
15
|
from ..exceptions import OmniParsingException
|
@@ -2,7 +2,7 @@ from __future__ import annotations
|
|
2
2
|
|
3
3
|
from typing import Any, SupportsInt, TypeAlias, TypeVar, cast, overload
|
4
4
|
|
5
|
-
from pydantic import BaseModel, Field, ValidationError
|
5
|
+
from pydantic.v1 import BaseModel, Field, ValidationError
|
6
6
|
from xmltodict import parse as xml_parse
|
7
7
|
|
8
8
|
from ..exceptions import OmniParsingException
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[tool.poetry]
|
2
2
|
name = "python-omnilogic-local"
|
3
|
-
version = "0.14.
|
3
|
+
version = "0.14.3"
|
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"
|
@@ -20,7 +20,7 @@ omnilogic = "pyomnilogic_local.cli:main"
|
|
20
20
|
|
21
21
|
[tool.poetry.dependencies]
|
22
22
|
python = "^3.10"
|
23
|
-
pydantic = "
|
23
|
+
pydantic = ">=1.10.17"
|
24
24
|
xmltodict = "^0.13.0"
|
25
25
|
|
26
26
|
[tool.poetry.group.dev.dependencies]
|
File without changes
|
File without changes
|
{python_omnilogic_local-0.14.1 → python_omnilogic_local-0.14.3}/pyomnilogic_local/__init__.py
RENAMED
File without changes
|
File without changes
|
{python_omnilogic_local-0.14.1 → python_omnilogic_local-0.14.3}/pyomnilogic_local/exceptions.py
RENAMED
File without changes
|
{python_omnilogic_local-0.14.1 → python_omnilogic_local-0.14.3}/pyomnilogic_local/models/__init__.py
RENAMED
File without changes
|
{python_omnilogic_local-0.14.1 → python_omnilogic_local-0.14.3}/pyomnilogic_local/models/const.py
RENAMED
File without changes
|
{python_omnilogic_local-0.14.1 → python_omnilogic_local-0.14.3}/pyomnilogic_local/models/util.py
RENAMED
File without changes
|
{python_omnilogic_local-0.14.1 → python_omnilogic_local-0.14.3}/pyomnilogic_local/protocol.py
RENAMED
File without changes
|
File without changes
|
File without changes
|