v2.4.0 — Your Own Thermometer
A new integration for the smart-home crowd, plus Species page polish.
🌡️ Local temperature from your own Home Assistant sensor
From issue #17 (@talkingdragon)
If you run Home Assistant with an outdoor temperature sensor, your station can now use your actual yard's temperature instead of the online weather model. Set three fields in Settings → Location & Weather:
- Home Assistant URL (e.g.
http://homeassistant.local:8123) - Access token (create a long-lived token in HA under your profile → Security)
- Temperature entity (e.g.
sensor.backyard_temperature)
The hourly weather sync still fetches conditions, wind, and history from Open-Meteo — but when your sensor is healthy, its reading wins the current hour. The fallback is automatic and stateless: if the sensor is unreachable, unavailable, or its value hasn't changed in over an hour (a frozen or disconnected sensor), that hour simply keeps the online value, with the reason logged. °C/°F/K readings convert automatically, and your display-unit setting keeps working as before.
Station Doctor gains a live "Local temperature sensor" check showing whether the current hour is using your sensor or the online fallback.
Leave the fields blank and nothing changes — the feature is fully dormant until configured. Every code path is tested against a simulated HA server; if you run a real HA install, feedback on #17 is very welcome.
🎨 Species page polish
The filter buttons never actually had styles — "Apply Filters" was a raw browser button, "Reset" floated above its neighbors, and "Export CSV" hid its label on a dark background. All three are now proper themed buttons on one baseline, and the Total Species / Avg. Confidence cards are wider and shorter so the header uses its space.
Updating
cd ~/BirdNET-Pi
git fetch origin
git pull --ff-only origin main
sudo bash scripts/update_birdnet_snippets.sh
Then refresh your browser.
🤖 Generated with Claude Code