Skip to content

Releases: bareli/schedule_wizard

v0.7.4 — fix quick-run duration input reset

Choose a tag to compare

@bareli bareli released this 22 Jul 05:46

Fixes

  • Quick-run minutes box no longer resets while typing. The Dashboard's per-valve duration input snapped back to the valve default every 5 seconds because the panel auto-refresh re-rendered the row. The focus guard relied on document.activeElement, which returns an outer host element inside Home Assistant's panel shadow DOM, so it never matched. The guard now combines a focusin/focusout flag, a shadow-root-walking active-element lookup, and a :focus query.
  • Typed durations persist per valve for the session, so re-rendering after a run or stop no longer discards the value.

Update via HACS, then restart Home Assistant and hard-refresh the browser (Ctrl+Shift+R).

v0.7.3

Choose a tag to compare

@bareli bareli released this 25 Apr 12:06

0.7.3 — fresh README screenshots

  • Refreshed all panel screenshots in the README to reflect the new tabs (Cycles, Reports), rain delay button, advanced toggle, and per-valve stats.

v0.7.2

Choose a tag to compare

@bareli bareli released this 25 Apr 11:35

0.7.2 — Reports tab + README sync + UI spacing

  • New Reports tab in the panel:
    • 30-day total-minutes-per-day mini bar chart.
    • Per-valve totals: 7d / 30d / lifetime runs and minutes.
    • Per-cycle totals (last 30d): completed / cancelled / skipped / total.
    • Skip reasons summary: rain / moisture / overlap / failed / cancelled.
    • Export CSV button: full history download.
  • History capacity raised from 100 to 500 entries.
  • README updated with all v0.6 + v0.7 features.
  • Added bottom margin to header rows (+ Add buttons in Valves / Cycles / Schedules).

v0.7.1

Choose a tag to compare

@bareli bareli released this 25 Apr 11:01

0.7.1 — fix get_state crash on rain_delay_until

  • Fixed AttributeError: 'dict' object has no attribute 'options' in the WebSocket get_state handler when reading rain_delay_until. Reads from the cached options dict instead of trying to access a non-existent entry variable.

v0.7.0

Choose a tag to compare

@bareli bareli released this 25 Apr 10:56

0.7.0 — rain delay, master valve, fail detection, cycle pause/resume, Settings basic/advanced

  • Rain delay button on Dashboard: pause all schedule + calendar runs for 24h / 48h / 7d, with one-tap clear. New services set_rain_delay and clear_rain_delay.
  • Master valve / pump option: a central valve that auto-opens before the first zone runs and auto-closes after the last zone closes. Optional pre-open delay for pump pressurization.
  • Fail-to-open detection: after issuing a turn-on, verify entity reaches an "on" state within N seconds. If not, log error, fire schedule_wizard_valve_failed_to_open, send notification.
  • Cycle pause / resume: pause an in-progress cycle and resume from where it left off. New services pause_cycle, resume_cycle. New events cycle_paused, cycle_resumed.
  • Settings: Basic / Advanced split: opens with just calendar fields. "Show advanced" reveals the rest.
  • New notification event types: valve_failed, rain_delay.
  • Recent activity groups cycle runs with their valve openings indented under the parent cycle.
  • "10m" → "10min" everywhere on the dashboard for clarity.

v0.6.4

Choose a tag to compare

@bareli bareli released this 25 Apr 10:22

0.6.4 — fix cycle never starting + blocking I/O

  • Fixed: cycle task started eagerly before being added to the active-cycles map (HA 2024.7+ async_create_task runs eagerly). The task saw "not in active_cycles" and exited immediately, leaving a phantom step-0 entry. Now adds to the map first, then starts the task.
  • Fixed: blocking open() on manifest.json from the event loop. Version is now read once via the executor and cached.

v0.6.3

Choose a tag to compare

@bareli bareli released this 25 Apr 10:12

0.6.3 — list_config completeness + cycle skip diagnostics

  • schedule_wizard.list_config service now also returns cycles, active_cycles, and options (previously missing).
  • Cycle steps that are skipped due to missing entity_id or zero duration now log a warning with the cycle id, step number, and computed values, making "stuck on step 0" much easier to diagnose.

v0.6.2

Choose a tag to compare

@bareli bareli released this 24 Apr 15:59

0.6.2 — next opening time per valve

  • Dashboard Quick run, Valves tab, and Lovelace card now show the next scheduled opening per valve with time label and countdown (Next: Wed 06:00 (in 18h)).
  • Computed from direct valve schedules AND schedules targeting a cycle that contains the valve.

v0.6.1

Choose a tag to compare

@bareli bareli released this 24 Apr 15:17

0.6.1 — clearer seasonal UI

  • Seasonal section shows temperature unit (°C or °F) taken from HA config on all threshold labels.
  • Added inline explanation of how Low/High/Min%/Max% interact.
  • Live preview: reads the configured temperature entity/attribute and shows "current temp → factor → example 10-min schedule length" — updates as you edit fields.

v0.6.0

Choose a tag to compare

@bareli bareli released this 24 Apr 15:07

0.6.0 — seasonal adjust, moisture skip, overlap guard, valve stats

  • Seasonal adjustment (temperature-scaled): scales schedule and calendar durations between a low and high temp threshold, clamped to min/max percent. Manual runs unaffected.
  • Soil moisture skip: skip cron/calendar when moisture sensor ≥ threshold (soil already wet). Independent of rain.
  • Cycle overlap protection: when off (default), schedule/calendar cycles skip while another cycle is running. Opt-in via allow_concurrent_cycles.
  • Per-valve stats on Valves tab: last run timestamp + status + duration, plus runs / minutes in the last 7 days.
  • New events: schedule_wizard_moisture_skipped, schedule_wizard_cycle_skipped_overlap.
  • Schedule/calendar runs whose duration was adjusted record |seasonal:N% in the history note.