SAFETY-118: a missing peak forecast reading keeps the unit-fault state
checks / unit (pull_request) Successful in 40m19s
infra-pin / fresh (pull_request) Successful in 1s

A missing reading (unavailable, unknown, failed read, non-numeric) no longer
clears the fault: no false 'used again' INFO, no repeated WARNING, the status
row stays. Adds pv.has_reading(). DECISIONS wording fixed; tests added.

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
glenn schrooyen
2026-10-16 18:19:44 +02:00
co-authored by Claude
parent f0b4e68e49
commit 7d52dc1c0f
4 changed files with 97 additions and 16 deletions
@@ -4,8 +4,8 @@
`peak_forecast_entity` was read as a bare number, and anything under 50 was
multiplied by 1000 ("accept kW or W"). A W sensor reading 17 to 45 W, which a
real site did 430 times in one morning, was taken as 17 to 45 kW. The validator
also called a kW sensor wrong, which was false for this entity.
real site did 430 times in one morning, would be taken as 17 to 45 kW. The
validator also called a kW sensor wrong, which was false for this entity.
Decision: the size rule is gone. The entity is read through `pv.watts()`, the
same unit table and reader as the solar entities, so W, kW, MW and the rest