Skip to content

feat(control): wave 3 — sprinklers, speed control, variable delete/move - #30

Merged
simons-plugins merged 2 commits into
mainfrom
feat/control-wave-3
Jul 22, 2026
Merged

feat(control): wave 3 — sprinklers, speed control, variable delete/move#30
simons-plugins merged 2 commits into
mainfrom
feat/control-wave-3

Conversation

@simons-plugins

Copy link
Copy Markdown
Owner

Closes #27. Stacked on #29 (which stacks on #28) — merge in order, retarget before deleting base branches.

  • Sprinklers: sprinkler_run_zone (1-based setActiveZone), sprinkler_run_schedule (per-zone minutes list), stop/pause/resume/next_zone/previous_zone
  • Speed control: speedcontrol_set_index (0=off..N), speedcontrol_set_level (0-100), increase/decrease with optional by
  • variable_delete (PERMANENT warning + check-dependencies guidance in description) and variable_move_to_folder
  • 336 tests (10 new). 2026.5.0 → 2026.6.0 (66 tools).

Completes the control-function wave from the 2026-07-22 gap audit (issues #25/#26/#27).

🤖 Generated with Claude Code

https://claude.ai/code/session_01EYAGXd4bE9D9Z5kZeSHeo7

tools/irrigation_speed.py: 7 sprinkler tools (run zone / run schedule
with per-zone minutes / stop / pause / resume / next / previous zone),
4 speed-control tools (set index, set 0-100 level, increase/decrease),
plus variable_delete (with check-dependencies warning in the
description) and variable_move_to_folder. 53 -> 66 tools.

Closes #27.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EYAGXd4bE9D9Z5kZeSHeo7
@coderabbitai

coderabbitai Bot commented Jul 22, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 710cbc13-5a54-4a71-b40c-ff4b4d7b8e63

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/control-wave-3

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

- Unknown-argument rejection on all 31 new handlers: a misspelled
  optional key (delay_seconds, zone_index) now raises naming the
  valid args instead of being silently dropped and firing the
  command immediately with a misleading ok.
- Integral JSON floats (5.0) coerce for integer args everywhere via
  shared _coerce_int; fractional floats still rejected.
- Bad ids on mutating tools (trigger/schedule enable+execute,
  sprinkler_*, speedcontrol_*, variable_delete/move) pre-validate
  existence -> friendly isError result instead of -32603 back-off.
- device_lock/unlock return status=dispatched with a verify-via-
  on_state note (async dispatch was overstating success — safety-
  relevant for locks). device_status_request no longer suppresses
  the hardware response log and notes the refresh is async.
- device_ping guards unexpected/None results with a descriptive
  error instead of KeyError -> -32603.
- Description accuracy: sprinkler zone max-duration caveat; speed
  index range clarified as 0..speedIndexCount-1.
- 349 tests (13 new): wire-path dispatch through real MCPHandler for
  each new module, float coercion, unknown-arg, bad-id, pagination
  edge, missing-enabled cases.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EYAGXd4bE9D9Z5kZeSHeo7
@simons-plugins
simons-plugins changed the base branch from feat/control-wave-2 to main July 22, 2026 19:29
@simons-plugins
simons-plugins merged commit 6fe3271 into main Jul 22, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Control wave 3: sprinklers, speed control, variable_delete

1 participant