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 CHANGED
@@ -18,44 +18,43 @@ RELAY_SYSTEM_ID = 13
18
18
 
19
19
 
20
20
  async def async_main() -> None:
21
- diags: FilterDiagnostics # noqa: F842
22
- mspconfig: MSPConfig # noqa: F842
23
- telem: Telemetry # noqa: F842
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 parsed into a model
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 parsed into a model
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
- diags = await omni.async_get_filter_diagnostics(POOL_ID, PUMP_EQUIPMENT_ID)
46
- print(diags)
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(diags.get_param_by_name("DisplayFWRevisionB1"))
49
- # b2=chr(diags.get_param_by_name("DisplayFWRevisionB2"))
50
- # b3=chr(diags.get_param_by_name("DisplayFWRevisionB3"))
51
- # b4=chr(diags.get_param_by_name("DisplayFWRevisionB4"))
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(diags.get_param_by_name("DisplayFWRevisionB5"))
54
- # b6=chr(diags.get_param_by_name("DisplayFWRevisionB6"))
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=diags.get_param_by_name("PowerMSB")
58
- # p2=diags.get_param_by_name("PowerLSB")
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] # pylint: disable=not-an-iterable
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:
@@ -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
 
5
5
  from .util import ParameterGetter
6
6
 
@@ -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
  Metadata-Version: 2.1
2
2
  Name: python-omnilogic-local
3
- Version: 0.14.1
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.7,<2.0.0)
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=jHAhN_VfjgEVbXlvLsPdgNSab-jY8XntpXoek0I1Vfc,3921
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=ELj-M4NCFhxWg-4ghpAPidlE5u-jNY4nBplyLv5qozU,1567
8
- pyomnilogic_local/models/leadmessage.py,sha256=9r6PbIHHzD0tyeKiFUve3WLcjS8uL2Gj6r_96X7l5H8,407
9
- pyomnilogic_local/models/mspconfig.py,sha256=GgkLvpKVlcZdeWFjd56AK_6DQXIO31Z1yHDGx2pLEj8,10424
10
- pyomnilogic_local/models/telemetry.py,sha256=86WPCmemNLwXAg-dHp1EvgpJzqQIHfwkNtO1eGF4eZk,10629
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.1.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
16
- python_omnilogic_local-0.14.1.dist-info/METADATA,sha256=yBV8uwi8Ihmnz78CJhjbCf9_NPFuIeanmBUSLts0zHQ,2939
17
- python_omnilogic_local-0.14.1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
18
- python_omnilogic_local-0.14.1.dist-info/entry_points.txt,sha256=PUvdumqSijeB0dHH_s5oE2TnWtPWdJSNpSOsn8yTtOo,56
19
- python_omnilogic_local-0.14.1.dist-info/RECORD,,
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,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 1.9.0
2
+ Generator: poetry-core 1.9.1
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any