Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,21 @@
# OSPy-plugins Changelog

September 2 2026
----------------
(Martin Pihrt) - System Update v1.2.8<br/>
Forced GitHub fetch operations to use HTTP/1.1, avoiding HTTP/2 transport failures that returned misleading HTTP 401 and `expected flush after ref listing` errors for public repositories. Required command failures and timeouts now preserve the command, exit status and Git output in diagnostics instead of reporting only a generic exit code 128. Added regression coverage for the fetch transport and error reporting on both stable and beta update channels.

August 31 2026
--------------
(Martin Pihrt) - Irrigation Safety v1.0.0<br/>
Added a dedicated irrigation protection plug-in over cached Water Meter, Pressure Monitor and tank-provider data. It provides per-station flow profiles, robust one-station automatic learning, combined ranges for simultaneous stations, startup and confirmation timing, unexpected-flow, pressure, tank and unavailable-data incidents, Off/Monitor only/Active protection modes, guarded output shutdown, scheduler disabling, persistent administrator acknowledgement, bounded temporary bypass, asynchronous e-mail and mobile push delivery, live background page updates, health/mobile/provider contributions, documentation and regression coverage. Active protection is never enabled by default.

(Martin Pihrt) - Thermostat v1.1.1<br/>
Moved the enabled or disabled state directly behind each thermostat name with green or red text and replaced the plain Edit or Add caption with a colored button-style card control.

(Martin Pihrt) - Thermostat v1.1.0<br/>
Replaced the three fixed thermostat slots with create, edit and delete cards for up to 20 thermostats while retaining existing settings. Added optional per-card operating windows with continuous, daytime and overnight operation, exact boundary wakeups and program stopping when a window ends or a thermostat is disabled or deleted. Enforced one distinct OSPy program per enabled thermostat, added stable card identities, responsive styling, updated documentation and regression coverage.

August 30 2026
--------------
(Martin Pihrt) - Wind Speed Monitor v1.2.3 and Venetian Blind v1.2.8<br/>
Expand Down
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,8 @@ Water Meter v1.2.1 uses uninterrupted one-second measurements and separates its

Automation Rules v1.1.3 also discovers concrete provider actions from Venetian Blind 1.2.7, Water Tank Monitor 1.1.1, Current Loop Tanks Monitor 1.1.1 and OSPy Backup 1.0.5. Rules can operate one configured blind, stop regulation belonging to a selected tank or all tanks, reset the ultrasonic tank extrema and create a plug-in data backup through each provider's existing guarded implementation. OSPy Backup also declares native mobile creation and download of its latest plug-in-data ZIP, while Venetian Blind exposes the same per-blind movement and configured tilt actions on mobile cards.

Irrigation Safety v1.0.0 is a dedicated protection layer over Water Meter, optional Pressure Monitor and optional tank providers. It learns a robust expected flow range for each OSPy station while that station runs alone, combines configured ranges for simultaneous stations and detects missing, low, high or unexpected flow, missing pressure, low tank level and unavailable measurements. Off, Monitor only and Active protection modes support safe commissioning. A confirmed live incident is recorded before asynchronous e-mail and mobile push delivery; Active protection can immediately stop all outputs, disable the scheduler and enforce a persistent lock until an administrator acknowledges the cleared fault. A bounded temporary bypass suppresses control actions without stopping monitoring. The responsive page uses OSPy slider switches and cards and refreshes measurements, active stations, learning progress, incidents and history in the background.

Automation Rules v1.1.2 builds collapsible responsive graphical AND/OR conditions over cached `ospy.provider.v1` values, enabled built-in OSPy sensors from Pihrt or Shelly, local date/time ranges and read-only OSPy operating states. OSPy conditions include scheduler and operating modes, water-level adjustment, rain delay, rain-sensor state and cached system or plug-in update availability without starting a network check. Ultrasonic sensors provide distance, water level, fill and volume conditions. Trigger, repeat and recovery messages include actual values, operators and limits. Browser permission performs an immediate visible test, Firefox and other capable browsers use Service Worker delivery first, the direct Notification API remains a fallback, and client delivery errors are shown on the settings page. It also supports confirmation and repeat intervals, recovery notices, a separate default-on test state, bounded action history, Home popups, e-mail, Telegram and mobile push. A separate default-off control switch enables actions that stop stations, outputs or programs, disable the scheduler, operate a specific output once or in a bounded run/pause cycle, change the water level or invoke a declared provider action. Every cycle start, pause, resumed run, failure and final stop is recorded with its reason. Water Meter 1.2.1 supplies the first concrete provider action by allowing a rule to reset its accumulated counters. Cycles continue only while conditions are available and matched and stop safely when configuration, manual mode or control permission changes. Test mode only simulates actions, while optional incident locking requires safe administrator acknowledgement after conditions become normal. Version 1.1.2 requires OSPy 3.0.354 or newer so the core control contract is installed before this plug-in.

Energy Meter v1.0.6 monitors multiple Shelly Pro 3EM and Shelly 3EM-63T Gen3 meters over direct local RPC by IP address or DNS name, or optionally through Shelly Cloud Integration. It recognizes configured Integrator devices while their first reading is still loading and retries only those meters every five seconds without producing a failure traceback or changing other meter intervals. Grid, Solar production, Load and Auxiliary roles keep import, export and generation distinct; phase and total history supports restart-safe counters, meter replacement, time tariffs, costs and feed-in income in every overview period, a selectable retained calendar day, photovoltaic self-consumption and savings, append-only local history or optional SQL, CSV, separate energy and power graphs, explicitly documented history deletion, Home, diagnostics and mobile API cards. See [the Energy Meter README](plugins/energy_meter/README.md) for configuration and formulas.
Expand All @@ -62,6 +64,7 @@ Venetian Blind v1.2.7 manages blinds individually in list or card form, stores o

Available plugins:
* Automation Rules
* Irrigation Safety
* Usage Statistics
* LCD Display
* Pressure Monitor
Expand Down
28 changes: 28 additions & 0 deletions plugins/irrigation_safety/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Irrigation Safety

Irrigation Safety is a dedicated protection layer for OSPy. It combines live OSPy output state with cached `ospy.provider.v1` data and never performs an extra hardware read.

Version 1.0.0 provides:

- Off, Monitor only and Active protection modes. Monitor only is the safe commissioning mode.
- A separate flow profile for every enabled non-master OSPy station, including startup delay and fault-confirmation time.
- Combined expected ranges when several fully configured stations run at once.
- Detection of no, low or high flow during irrigation and flow while no irrigation station is active.
- Optional pressure and tank-level protection, including unavailable or stale measurement incidents.
- One-shot automatic learning from Water Meter. Learning accepts samples only after startup delay and while exactly one selected station is active. A robust P10/P90 range expanded by a configurable margin is saved when enough samples have been collected.
- Guarded shutdown that clears current runs and outputs, switches off the separate master relay and optionally disables the scheduler.
- Persistent incident locking. A locked incident is enforced continuously and can be acknowledged only after its condition is no longer active. The scheduler is never re-enabled automatically.
- A bounded temporary bypass that suppresses control actions while monitoring, incident history and notifications continue.
- E-mail delivery through either official e-mail plug-in and immediate mobile push through OSPy's asynchronous push dispatcher. Notification work is kept outside the safety evaluation worker.
- A responsive page styled after Thermostat and Automation Rules, using OSPy buttons and slider switches. Current values, active stations, learning progress, incidents and history update every two seconds without refreshing the page.
- Health, mobile-card and read-only `ospy.provider.v1` contributions.

## Safety workflow

1. Install and enable Water Meter.
2. Select **Monitor only**.
3. Enable a station profile and either enter verified flow limits or start automatic learning, then run that station by itself.
4. Test every configured station and notification channel.
5. Select **Active protection** only after the displayed limits and startup delays have been verified on the actual irrigation hardware.

If a confirmed fault occurs in Active protection, output shutdown is executed before e-mail or push delivery. A notification outage therefore cannot delay valve or pump shutdown.
Loading