From 68254717603c422f60107c2fccb3d5942fcf4f82 Mon Sep 17 00:00:00 2001 From: Brandon Harvey <8107750+bharvey88@users.noreply.github.com> Date: Wed, 17 Jun 2026 19:23:53 -0500 Subject: [PATCH] Add delta filter examples to TEMP-1 update interval page (#950) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds intermediate (delta threshold) and advanced (delta + heartbeat) variants so users can poll the probe quickly but only report on a meaningful temperature change, without flooding the database. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- ...temp1-change-temp-probe-update-interval.md | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/docs/products/temp1/setup/temp1-change-temp-probe-update-interval.md b/docs/products/temp1/setup/temp1-change-temp-probe-update-interval.md index 6539362b48..bfd2203d18 100644 --- a/docs/products/temp1/setup/temp1-change-temp-probe-update-interval.md +++ b/docs/products/temp1/setup/temp1-change-temp-probe-update-interval.md @@ -37,6 +37,53 @@ sensor: Your Temperature Probe will now report at the new interval. +## Report only when the temperature changes + +A fast interval reacts quickly, but it also writes every single reading to Home Assistant and grows your database fast. If you want a quick response without that flood, read the probe often and only report when the temperature actually moves. ESPHome's `delta` filter does this: it reads on your interval but only sends a value when it differs enough from the last one it reported. + +The threshold is in the probe's native unit, Celsius. `0.5` means 0.5°C, which is roughly 0.9°F. + +=== "Intermediate: report on a threshold jump" + + This reads the probe every second but only reports when the reading moves at least 0.5°C from the last value it sent. Steady temperatures stay quiet, and a real change shows up within about a second. + + ```yaml + sensor: + - platform: dallas_temp + id: !extend temp_probe + update_interval: 1s + filters: + - delta: 0.5 + ``` + + To think in percentages instead, pass a string with a `%`. The probe then reports when the reading changes by that much from the last value. + + ```yaml + filters: + - delta: 5% + ``` + +=== "Advanced: threshold jump plus a heartbeat" + + The `delta` filter on its own can stay silent for a long time when the temperature is stable, which can look like the probe stopped working. Wrapping it in `or` with a `heartbeat` guarantees at least one reading on a slower schedule, on top of any threshold reports. + + ```yaml + sensor: + - platform: dallas_temp + id: !extend temp_probe + update_interval: 1s + filters: + - or: + - delta: 0.5 + - heartbeat: 60s + ``` + + This reports the moment the temperature moves 0.5°C, and otherwise sends a reading once a minute so you always know the probe is alive. + +!!! note "1 second is about as fast as the probe can go" + + The DS18B20 probe needs around 750 ms to take a full-resolution reading, so `1s` is close to its limit. If you see missed or blank readings, raise the interval to `2s`. + !!! success "Make sure the right probe is selected" The Temperature Probe only reads when **Select Probe** is set to `Temperature`. If it is set to `Food`, the probe reports nothing regardless of the update interval.