Skip to content

0.23.17, Freeze Detection Algorithm Testing for Large Data Houses

Pre-release
Pre-release

Choose a tag to compare

@TheThinkingHome TheThinkingHome released this 29 Sep 20:06
· 102 commits to main since this release
f56b53d

This release prepares a more accurate freeze alert for houses with a long history. Device Sentinel learns how often each device normally reports and alerts you when one goes quiet for longer than that. Today, it learns from the last two weeks. This is a reliable method, but a couple of bad days, such as an outage or a long restart, can stretch a device's window till the bad data ages out in two weeks. A device that actually dies is then noticed later than it should be.

The new method looks at up to six weeks once a device has 28 days of history. It sets aside days that fall far outside the device's usual pattern and learns from the rest. In testing, longer than 6-weeks history had no measurable benefit, and this shorter window allows Device Sentinel to adapt to a device whose habits change because of a new battery, a firmware update, or a physical move to another room, instead of holding onto how it used to behave for months.

On real houses, the new method keeps each device's window at its true rhythm even with several bad days in its history. On one house, a leak sensor whose window had been stretched to nearly 18 minutes by an outage read just over 4 minutes under the new method, its real rhythm.

Nothing changes in this release. The new method runs silently beside the current one and only records where the two would disagree. This allows it to be proven on real house data before it is trusted with your live alerts.

A Second Rhythm

Each device gets a second rhythm, shown beside the one in use. The current rhythm takes the second-longest daily silence of the last two weeks, so one bad day that slips through can widen a device's freeze window for two weeks. The new one, from a device's 28th day, looks at up to six weeks, sets aside days far longer than the device's usual, and works from what's left. On one test house, a leak sensor read 17.7 minutes under the current rule after an outage and a restart, and 4.3 minutes under the new one.

Device Telemetry shows both. Each device's row has its current basis and window beside the new ones, with how many days the new rhythm read and how many it set aside.

A new report records where the two would disagree. rhythm_shadow.md adds a line when one rhythm would list a device as frozen and the other wouldn't, a line when they agree again, and a daily count.

Upgrading

Update and restart. Your learned rhythms, battery history, and signal history are completely safe, and there is nothing to change. Devices with fewer than 28 days of history show "under 28 days" in the new columns until they have enough.