python-omnilogic-local 0.14.1__py3-none-any.whl → 0.14.3__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- pyomnilogic_local/cli.py +22 -23
- pyomnilogic_local/models/filter_diagnostics.py +2 -2
- pyomnilogic_local/models/leadmessage.py +1 -1
- pyomnilogic_local/models/mspconfig.py +1 -1
- pyomnilogic_local/models/telemetry.py +1 -1
- {python_omnilogic_local-0.14.1.dist-info → python_omnilogic_local-0.14.3.dist-info}/METADATA +3 -2
- {python_omnilogic_local-0.14.1.dist-info → python_omnilogic_local-0.14.3.dist-info}/RECORD +10 -10
- {python_omnilogic_local-0.14.1.dist-info → python_omnilogic_local-0.14.3.dist-info}/WHEEL +1 -1
- {python_omnilogic_local-0.14.1.dist-info → python_omnilogic_local-0.14.3.dist-info}/LICENSE +0 -0
- {python_omnilogic_local-0.14.1.dist-info → python_omnilogic_local-0.14.3.dist-info}/entry_points.txt +0 -0
pyomnilogic_local/cli.py
CHANGED
@@ -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
|
{python_omnilogic_local-0.14.1.dist-info → python_omnilogic_local-0.14.3.dist-info}/METADATA
RENAMED
@@ -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
|
@@ -1,19 +1,19 @@
|
|
1
1
|
pyomnilogic_local/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2
2
|
pyomnilogic_local/api.py,sha256=3Xdd1ouAcSrSiLvmQnwrJl_3hgRl6KiloBXp0_JDVkE,28134
|
3
|
-
pyomnilogic_local/cli.py,sha256=
|
3
|
+
pyomnilogic_local/cli.py,sha256=RwzKydC612-ay6TGrlSg8UEQPjYIlylxjf11S062bsk,3931
|
4
4
|
pyomnilogic_local/exceptions.py,sha256=7-EYTP-_VgGrA8WWGwQPUE1NGjJEDWB-ovyvSM2iaNY,164
|
5
5
|
pyomnilogic_local/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
6
6
|
pyomnilogic_local/models/const.py,sha256=j4HSiPJW5If296yJ-AiIsBI9EdlckF4QkVFIpTLb5C4,51
|
7
|
-
pyomnilogic_local/models/filter_diagnostics.py,sha256=
|
8
|
-
pyomnilogic_local/models/leadmessage.py,sha256=
|
9
|
-
pyomnilogic_local/models/mspconfig.py,sha256=
|
10
|
-
pyomnilogic_local/models/telemetry.py,sha256=
|
7
|
+
pyomnilogic_local/models/filter_diagnostics.py,sha256=DnkbjOsmfa39-sbD5qO5PV_Ltn5FHSiImrPBxr7Y0cI,1535
|
8
|
+
pyomnilogic_local/models/leadmessage.py,sha256=XnzXTpLLQzhLQR1OgfAjKmW5N8BBgM7OrntUi1I2VRY,410
|
9
|
+
pyomnilogic_local/models/mspconfig.py,sha256=mXfryaHSA8ecJGazpD_4rmrA2vhWtl32_OBmoSCmxGU,10427
|
10
|
+
pyomnilogic_local/models/telemetry.py,sha256=pBebgBKLClXyLH831GzQdfxbFR7NqyMlktwZzGf1ROg,10632
|
11
11
|
pyomnilogic_local/models/util.py,sha256=3Qch98NOl5eO-KIOUBnE9ar86MlzbZ0g2LRApMgj-co,1476
|
12
12
|
pyomnilogic_local/protocol.py,sha256=1Z7U70mV0sUlqrp3XK1Fvj6NuChRKLz0ejzKaQLSPE8,10194
|
13
13
|
pyomnilogic_local/types.py,sha256=km_tagtJ43m4_cIynalis7oiDa1LUUR-ta5B9HQUG1Q,7264
|
14
14
|
pyomnilogic_local/util.py,sha256=agbRBKnecrYycC9iUmo1aJDjbVg9VxHyq4QY0D8-bfA,359
|
15
|
-
python_omnilogic_local-0.14.
|
16
|
-
python_omnilogic_local-0.14.
|
17
|
-
python_omnilogic_local-0.14.
|
18
|
-
python_omnilogic_local-0.14.
|
19
|
-
python_omnilogic_local-0.14.
|
15
|
+
python_omnilogic_local-0.14.3.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
16
|
+
python_omnilogic_local-0.14.3.dist-info/METADATA,sha256=k8Kin3aHuB15MaJ6rxTDiEG9mqxVZTXuLydLXwSISf0,2984
|
17
|
+
python_omnilogic_local-0.14.3.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
18
|
+
python_omnilogic_local-0.14.3.dist-info/entry_points.txt,sha256=PUvdumqSijeB0dHH_s5oE2TnWtPWdJSNpSOsn8yTtOo,56
|
19
|
+
python_omnilogic_local-0.14.3.dist-info/RECORD,,
|
File without changes
|
{python_omnilogic_local-0.14.1.dist-info → python_omnilogic_local-0.14.3.dist-info}/entry_points.txt
RENAMED
File without changes
|