Skip to content

Releases: jrx-code/hassio-integration-birdnet

v1.11.0 — Swedish translation

Choose a tag to compare

@jrx-code jrx-code released this 28 Aug 18:51

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 — every translations/*.json must parse, carry exactly the key set of en.json and 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.json was missing its closing brace and could not be parsed — repaired on merge.

Full changelog: CHANGELOG.md

v1.10.0

Choose a tag to compare

@jrx-code jrx-code released this 27 Aug 19:24

Changed

  • Card layout values renamed to English, matching the rest of the config schema: sylwetkasilhouette, tabliczkaplaque, pasekbar. 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

Choose a tag to compare

@jrx-code jrx-code released this 27 Aug 19:12

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 to en.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

Choose a tag to compare

@jrx-code jrx-code released this 26 Aug 12:59

Three new compact tile layouts for birdnet-go-cardSilhouette, 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 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

Choose a tag to compare

@jrx-code jrx-code released this 26 Aug 10:20

New layout field (stacked/overlay) for birdnet-go-card, independent of preset — overlay puts the caption directly on the photo.

v1.6.0

Choose a tag to compare

@jrx-code jrx-code released this 26 Aug 10:01

Layout presets (basic/simple/advanced/nerd/custom) for birdnet-go-card, plus a visual restyle (icon chips, connectivity pill, top-species mini-card).

v1.5.0

Choose a tag to compare

@jrx-code jrx-code released this 26 Aug 09:48

Visual (GUI) config editor for birdnet-go-card via getConfigElement — ha-form + device selector, replacing the YAML-only fallback.

v1.4.1

Choose a tag to compare

@jrx-code jrx-code released this 25 Aug 22:50

Bundled birdnet-go-card (auto-registered Lovelace resource) + fixes for entity_category, lovelace.resource_mode, and translation_key entity matching. See CHANGELOG.md.

v1.3.0

Choose a tag to compare

@jrx-code jrx-code released this 25 Aug 21:55

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 no homeassistant import, so it's testable without the full HA test harness
  • tests/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 + pytest CI jobs alongside the existing hassfest/HACS validation
  • Docstrings on all public methods

Changed

  • coordinator.py is now pure async plumbing (HTTP/SSE/coordinator lifecycle) around parsing.py — no payload-shaping logic left in it
  • datetime.utcnow()dt_util.utcnow() (HA's own helper; utcnow() is deprecated and returns a naive datetime)

Full changelog: CHANGELOG.md

v1.2.0

Choose a tag to compare

@jrx-code jrx-code released this 25 Aug 21:44

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_url attribute on both image entities — 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_time was permanently stuck unavailabledevice_class: timestamp requires native_value to be a real datetime.datetime with tzinfo, not the ISO string BirdNET-Go returns; now parsed with dt_util.parse_datetime()
  • last_detection_image source 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_thumbnail moved from URL-string sensors to proper image platform entities — HA fetches and proxies the picture itself

[1.0.0]

Added

  • Initial release — config_flow (host + verify_ssl)
  • DataUpdateCoordinator with 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