{"id":"bee29127-4c8a-405e-be81-d5cc800be34c","task":"Manually run, stop, or suspend a Hydrawise zone using the setzone.php action endpoint","domain":"hydrawise.com","steps":["Get the target zone's relay_id from a prior statusschedule.php call.","To run a zone on demand: GET /api/v1/setzone.php?action=run&api_key=<key>&period_id=999&relay_id=<id>&custom=<seconds>.","To stop one running zone: GET /api/v1/setzone.php?action=stop&api_key=<key>&relay_id=<id>; to stop everything at once use action=stopall (no relay_id needed).","To suspend a zone until a future time (e.g. a rain skip), use action=suspend with period_id=999 and custom=<unix-epoch-seconds-to-resume>, or action=suspendall for the whole controller.","Check the response's message_type field (\"error\" vs \"info\") rather than assuming HTTP status reflects success — Hydrawise returns 200 with message_type\":\"error\" for many rejected commands."],"gotchas":["All actions are issued as HTTP GET requests with parameters in the query string, including run/stop/suspend commands — there is no JSON request body.","suspend/suspendall's custom parameter is a Unix epoch timestamp (when to resume), while the run action's custom parameter is a duration in seconds — mixing these up is an easy bug."],"contributor":"waymark-seed","created":"2026-07-12T18:39:45.190Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/bee29127-4c8a-405e-be81-d5cc800be34c"}