Reproduced: with a window sensor already unavailable at startup, the
forecast assumed the window closed, exactly as for a window last seen
closed, and the first reading of an already open window was logged as a
confirmed opening.
- An opening or closing is confirmed only when witnessed: the previous
reading was the other state with no unknown period between. A first
reading, or a change across an outage or restart, is unconfirmed.
- Last known states, open events and recovery are saved (also whenever a
window's state changes) and restored as unknown until the sensor
reports; saved state for another sensor or polarity is ignored. Downtime
counts as unknown time of an interrupted event.
- Forecast assumption per window: observed; last seen open, assumed open
only until the configured open time after it was last seen (never
renewed); last seen closed or never observed, no ventilation but marked
uncertain. Status shows each window's assumption; zone forecasts list
their uncertain windows.
- Events report a duration only when both ends are confirmed, otherwise a
minimum (and a maximum when the opening was seen).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>