Releases: jrx-code/hassio-integration-birdnet
Release list
v1.11.0 — Swedish translation
Added
- Swedish translation of the integration (config flow, entity names), contributed by @Svardsten53 in #4. The card's own UI strings still fall back to English for Swedish users.
tests/test_translations.py— everytranslations/*.jsonmust parse, carry exactly the key set ofen.jsonand hold no empty strings. Hassfest already rejects a file that is not valid JSON; it passes one that parses but has drifted (a renamed key, an empty string), which is the gap this test closes.
Fixed
sv.jsonwas missing its closing brace and could not be parsed — repaired on merge.
Full changelog: CHANGELOG.md
v1.10.0
Changed
- Card layout values renamed to English, matching the rest of the config schema:
sylwetka→silhouette,tabliczka→plaque,pasek→bar. Existing dashboards with the old values keep working (mapped on load; the editor rewrites them on next save).
Added
- Localised card UI following the HA user's language: editor field labels, layout/preset option labels, stats labels, online/offline pill and the "Top species today" header. Built in: English, Polish, French. Other languages fall back to English.
v1.9.0
Added
- French translations (
translations/fr.json) — contributed by @Aimache in #2. Covers the config flow (host, SSL verification, error/abort messages) and all entity names (sensors, binary sensor, images). Key set verified identical toen.json.
Fixed
- French spelling/accents corrected after merge (
Connexion,Vérifier,Échec,espèces,détections,Statut).
Available languages: English, Polish, French.
v1.8.0 — Silhouette, Plaque, Bar tile layouts
Three new compact tile layouts for birdnet-go-card — Silhouette, Plaque, Bar — ported from a standalone tuning POC and settled at real values, not sliders.
Unlike overlay (a caption treatment of the normal card body), these three replace header/stats/top-species entirely with one small fixed-height block, meant for narrow dashboard columns.
| Silhouette | Plaque | Bar |
|---|---|---|
![]() |
![]() |
![]() |
- Silhouette (
layout: sylwetka) — photo bleeds off the right edge, masked to fade into the card background; the text column sits over the faded part. - Plaque (
layout: tabliczka) — rounded-square thumbnail beside left-aligned text. - Bar (
layout: pasek) — circular thumbnail beside right-aligned text.
All three reuse the preset's existing show_* toggles for content — no new config fields — and bake in bleed/thumbnail-size/gap as fixed layout constants at the POC's tuned values. Each falls back to stacked whenever there's no photo, same as overlay.
Verified live on a real Home Assistant instance against an actual BirdNET-Go detection — all three layouts render correctly, zero console errors. Full details in CHANGELOG.md.
Also fixes a stale README image reference: docs/screenshots/birdnet-go-card.png was linked but had never actually been committed — added now.
v1.7.0
v1.6.0
v1.5.0
v1.4.1
v1.3.0
Repo-quality pass in preparation for a HACS default-repository submission — no functional/entity changes, everything below is internal.
Added
parsing.py— the BirdNET-Go payload → entity-field mapping extracted into plain functions with nohomeassistantimport, so it's testable without the full HA test harnesstests/test_parsing.py— 19 unit tests (empty payloads, missing keys, the URL percent-encoding regression from 1.2.0, SSE payload shapes)pyproject.toml— Ruff configured with the same ruleset Home Assistant core uses for its own integrations;ruff+pytestCI jobs alongside the existing hassfest/HACS validation- Docstrings on all public methods
Changed
coordinator.pyis now pure async plumbing (HTTP/SSE/coordinator lifecycle) aroundparsing.py— no payload-shaping logic left in itdatetime.utcnow()→dt_util.utcnow()(HA's own helper;utcnow()is deprecated and returns a naive datetime)
Full changelog: CHANGELOG.md
v1.2.0
First tagged release — versions 1.0.0 through 1.2.0 were developed without releases (HACS would have shown a commit SHA instead of a version). From here on, every manifest version bump gets a matching GitHub Release.
[1.2.0]
Added
- Polish translation (
translations/pl.json) — HA auto-selects it by the user's language setting source_urlattribute on bothimageentities — the raw BirdNET-Go URL, for external consumers (notifications, WhatsApp API, ...) that can't use HA's authenticated/api/image_proxy/...link- Screenshots in README (device page, add-integration picker, config flow)
Fixed
last_detection_timewas permanently stuckunavailable—device_class: timestamprequiresnative_valueto be a realdatetime.datetimewith tzinfo, not the ISO string BirdNET-Go returns; now parsed withdt_util.parse_datetime()last_detection_imagesource URL wasn't percent-encoded (a raw space in the scientific name produced an invalid URL)- Two orphaned entity-registry rows left over from the pre-1.1.0 URL-string sensors removed via the WS API
[1.1.0]
Changed
- All entities now enabled by default
last_detection_image/top_species_thumbnailmoved from URL-string sensors to properimageplatform entities — HA fetches and proxies the picture itself
[1.0.0]
Added
- Initial release — config_flow (host + verify_ssl)
DataUpdateCoordinatorwith REST polling + background SSE listener on/api/v2/detections/stream- 13 sensors + 1 binary_sensor (connectivity), single "BirdNET-Go" device
- No MQTT dependency — direct REST+SSE connection to the BirdNET-Go host
Full changelog: CHANGELOG.md


