python-omnilogic-local 0.20.11__tar.gz → 0.20.13__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.20.11 → python_omnilogic_local-0.20.13}/PKG-INFO +1 -1
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/api/api.py +1 -1
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/cli/debug/commands.py +4 -11
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyproject.toml +1 -1
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/LICENSE +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/README.md +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/__init__.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/_base.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/api/__init__.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/api/constants.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/api/exceptions.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/api/protocol.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/backyard.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/bow.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/chlorinator.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/chlorinator_equip.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/cli/__init__.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/cli/cli.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/cli/debug/__init__.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/cli/get/__init__.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/cli/get/backyard.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/cli/get/bows.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/cli/get/chlorinators.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/cli/get/commands.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/cli/get/csads.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/cli/get/filters.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/cli/get/groups.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/cli/get/heaters.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/cli/get/lights.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/cli/get/pumps.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/cli/get/relays.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/cli/get/schedules.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/cli/get/sensors.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/cli/get/valves.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/cli/pcap_utils.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/cli/utils.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/collections.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/colorlogiclight.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/csad.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/csad_equip.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/decorators.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/filter.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/groups.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/heater.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/heater_equip.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/models/__init__.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/models/const.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/models/exceptions.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/models/filter_diagnostics.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/models/leadmessage.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/models/mspconfig.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/models/telemetry.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/omnilogic.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/omnitypes.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/pump.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/py.typed +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/relay.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/schedule.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/sensor.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/system.py +0 -0
- {python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/util.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-omnilogic-local
|
|
3
|
-
Version: 0.20.
|
|
3
|
+
Version: 0.20.13
|
|
4
4
|
Summary: A library for local control of Hayward OmniHub/OmniLogic pool controllers using their local API
|
|
5
5
|
Author: Chris Jowett, djtimca, garionphx
|
|
6
6
|
Author-email: Chris Jowett <421501+cryptk@users.noreply.github.com>
|
|
@@ -182,22 +182,15 @@ def set_equipment(ctx: click.Context, bow_id: int, equip_id: int, is_on: str) ->
|
|
|
182
182
|
ensure_connection(ctx)
|
|
183
183
|
omni: OmniLogicAPI = ctx.obj["OMNI"]
|
|
184
184
|
|
|
185
|
+
is_on_value: int | bool | str
|
|
185
186
|
# Parse is_on parameter - can be bool-like string or integer
|
|
186
187
|
is_on_lower = is_on.lower()
|
|
187
188
|
if is_on_lower in ("true", "on", "yes", "1"):
|
|
188
|
-
is_on_value
|
|
189
|
+
is_on_value = True
|
|
189
190
|
elif is_on_lower in ("false", "off", "no", "0"):
|
|
190
191
|
is_on_value = False
|
|
191
192
|
else:
|
|
192
|
-
|
|
193
|
-
try:
|
|
194
|
-
is_on_value = int(is_on)
|
|
195
|
-
if not 0 <= is_on_value <= 100:
|
|
196
|
-
click.echo(f"Error: Integer value must be between 0-100, got {is_on_value}", err=True)
|
|
197
|
-
raise click.Abort
|
|
198
|
-
except ValueError as exc:
|
|
199
|
-
click.echo(f"Error: Invalid value '{is_on}'. Use true/false, on/off, or 0-100 for speed.", err=True)
|
|
200
|
-
raise click.Abort from exc
|
|
193
|
+
is_on_value = is_on
|
|
201
194
|
|
|
202
195
|
# Execute the command
|
|
203
196
|
try:
|
|
@@ -243,7 +236,7 @@ def set_chlor_params(ctx: click.Context, bow_id: int, equip_id: int, timed_perce
|
|
|
243
236
|
omni: OmniLogicAPI = ctx.obj["OMNI"]
|
|
244
237
|
|
|
245
238
|
# Validate timed_percent
|
|
246
|
-
if not 0 <= timed_percent <=
|
|
239
|
+
if not 0 <= timed_percent <= 1000: # Temporarily allow up to 1000 to test ORP behavior
|
|
247
240
|
click.echo(f"Error: timed_percent must be between 0-100, got {timed_percent}", err=True)
|
|
248
241
|
raise click.Abort
|
|
249
242
|
|
|
File without changes
|
|
File without changes
|
{python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/__init__.py
RENAMED
|
File without changes
|
{python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/_base.py
RENAMED
|
File without changes
|
{python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/api/__init__.py
RENAMED
|
File without changes
|
{python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/api/constants.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/api/protocol.py
RENAMED
|
File without changes
|
{python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/backyard.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/chlorinator.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/cli/__init__.py
RENAMED
|
File without changes
|
{python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/cli/cli.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/cli/get/bows.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/cli/get/csads.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/cli/get/pumps.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/cli/utils.py
RENAMED
|
File without changes
|
{python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/collections.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/csad_equip.py
RENAMED
|
File without changes
|
{python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/decorators.py
RENAMED
|
File without changes
|
{python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/filter.py
RENAMED
|
File without changes
|
{python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/groups.py
RENAMED
|
File without changes
|
{python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/heater.py
RENAMED
|
File without changes
|
{python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/heater_equip.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/models/const.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/omnilogic.py
RENAMED
|
File without changes
|
{python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/omnitypes.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/py.typed
RENAMED
|
File without changes
|
{python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/relay.py
RENAMED
|
File without changes
|
{python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/schedule.py
RENAMED
|
File without changes
|
{python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/sensor.py
RENAMED
|
File without changes
|
{python_omnilogic_local-0.20.11 → python_omnilogic_local-0.20.13}/pyomnilogic_local/system.py
RENAMED
|
File without changes
|
|
File without changes
|