Skip to content

Commit 97d4528

Browse files
authored
Merge pull request #47 from dknowles2/legacy
Fix some bugs with the legacy API
2 parents e2967d8 + ba143bf commit 97d4528

File tree

2 files changed

+36
-9
lines changed

2 files changed

+36
-9
lines changed

pydrawise/legacy/__init__.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
from ..exceptions import NotInitializedError, UnknownError
1111

12-
_BASE_URL = "https://app.hydrawise.com/api/v1"
12+
_BASE_URL = "https://api.hydrawise.com/api/v1"
1313
_TIMEOUT = 10 # seconds
1414

1515

@@ -105,6 +105,8 @@ def suspend_zone(self, days: int, zone: int | None = None) -> dict:
105105
if days > 0:
106106
params["custom"] = time.time() + (days * 24 * 60 * 60)
107107
params["period_id"] = 999
108+
else:
109+
params["period_id"] = 0
108110

109111
if zone is None:
110112
params["action"] = "suspendall"
@@ -131,5 +133,7 @@ def run_zone(self, minutes: int, zone: int | None = None) -> dict:
131133
if minutes > 0:
132134
params["custom"] = time.time() + (minutes * 60)
133135
params["period_id"] = 999
136+
else:
137+
params["period_id"] = 0
134138

135139
return self._get("setzone.php", **params)

tests/test_legacy.py

+31-8
Original file line numberDiff line numberDiff line change
@@ -333,12 +333,12 @@ def test_update(mock_request, customer_details, status_schedule):
333333
mock_request.assert_has_calls(
334334
[
335335
mock.call(
336-
"https://app.hydrawise.com/api/v1/customerdetails.php",
336+
"https://api.hydrawise.com/api/v1/customerdetails.php",
337337
params={"api_key": API_KEY, "type": "controllers"},
338338
timeout=10,
339339
),
340340
mock.call(
341-
"https://app.hydrawise.com/api/v1/statusschedule.php",
341+
"https://api.hydrawise.com/api/v1/statusschedule.php",
342342
params={"api_key": API_KEY},
343343
timeout=10,
344344
),
@@ -399,7 +399,7 @@ def test_suspend_zone(mock_request, success_status):
399399
with freeze_time("1970-01-01 00:00:00") as t:
400400
assert client.suspend_zone(1, 1) == success_status
401401
mock_request.assert_called_once_with(
402-
"https://app.hydrawise.com/api/v1/setzone.php",
402+
"https://api.hydrawise.com/api/v1/setzone.php",
403403
params={
404404
"api_key": API_KEY,
405405
"action": "suspend",
@@ -411,6 +411,27 @@ def test_suspend_zone(mock_request, success_status):
411411
)
412412

413413

414+
def test_suspend_zone_unsuspend(mock_request, success_status):
415+
client = legacy.LegacyHydrawise(API_KEY)
416+
mock_request.reset_mock(return_value=True, side_effect=True)
417+
418+
mock_request.return_value.status_code = 200
419+
mock_request.return_value.json.return_value = success_status
420+
421+
with freeze_time("1970-01-01 00:00:00") as t:
422+
assert client.suspend_zone(0, 1) == success_status
423+
mock_request.assert_called_once_with(
424+
"https://api.hydrawise.com/api/v1/setzone.php",
425+
params={
426+
"api_key": API_KEY,
427+
"action": "suspend",
428+
"period_id": 0,
429+
"relay_id": 428639,
430+
},
431+
timeout=10,
432+
)
433+
434+
414435
def test_suspend_zone_all(mock_request, success_status):
415436
client = legacy.LegacyHydrawise(API_KEY)
416437
mock_request.reset_mock(return_value=True, side_effect=True)
@@ -421,7 +442,7 @@ def test_suspend_zone_all(mock_request, success_status):
421442
with freeze_time("1970-01-01 00:00:00") as t:
422443
assert client.suspend_zone(1) == success_status
423444
mock_request.assert_called_once_with(
424-
"https://app.hydrawise.com/api/v1/setzone.php",
445+
"https://api.hydrawise.com/api/v1/setzone.php",
425446
params={
426447
"api_key": API_KEY,
427448
"action": "suspendall",
@@ -442,7 +463,7 @@ def test_run_zone(mock_request, success_status):
442463
with freeze_time("1970-01-01 00:00:00") as t:
443464
assert client.run_zone(1, 1) == success_status
444465
mock_request.assert_called_once_with(
445-
"https://app.hydrawise.com/api/v1/setzone.php",
466+
"https://api.hydrawise.com/api/v1/setzone.php",
446467
params={
447468
"api_key": API_KEY,
448469
"action": "run",
@@ -464,7 +485,7 @@ def test_run_zone_all(mock_request, success_status):
464485
with freeze_time("1970-01-01 00:00:00") as t:
465486
assert client.run_zone(1) == success_status
466487
mock_request.assert_called_once_with(
467-
"https://app.hydrawise.com/api/v1/setzone.php",
488+
"https://api.hydrawise.com/api/v1/setzone.php",
468489
params={
469490
"api_key": API_KEY,
470491
"action": "runall",
@@ -485,10 +506,11 @@ def test_run_zone_stop(mock_request, success_status):
485506
with freeze_time("1970-01-01 00:00:00") as t:
486507
assert client.run_zone(0, 1) == success_status
487508
mock_request.assert_called_once_with(
488-
"https://app.hydrawise.com/api/v1/setzone.php",
509+
"https://api.hydrawise.com/api/v1/setzone.php",
489510
params={
490511
"api_key": API_KEY,
491512
"action": "stop",
513+
"period_id": 0,
492514
"relay_id": 428639,
493515
},
494516
timeout=10,
@@ -505,10 +527,11 @@ def test_run_zone_stop_all(mock_request, success_status):
505527
with freeze_time("1970-01-01 00:00:00") as t:
506528
assert client.run_zone(0) == success_status
507529
mock_request.assert_called_once_with(
508-
"https://app.hydrawise.com/api/v1/setzone.php",
530+
"https://api.hydrawise.com/api/v1/setzone.php",
509531
params={
510532
"api_key": API_KEY,
511533
"action": "stopall",
534+
"period_id": 0,
512535
},
513536
timeout=10,
514537
)

0 commit comments

Comments
 (0)