mirror of
https://github.com/alexbelgium/hassio-addons.git
synced 2026-10-20 06:50:10 +02:00
Compare commits
5 Commits
eb336f4f8d
...
e1d8f0bb6a
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e1d8f0bb6a | ||
|
|
6d0b014ee9 | ||
|
|
2ccc1945bc | ||
|
|
06ee00a495 | ||
|
|
dbbbdd3581 |
@@ -1,4 +1,8 @@
|
|||||||
|
- MQTT auto-config now also enables BirdNET-Go's native Home Assistant MQTT auto-discovery: detection sensors appear in Home Assistant automatically with no manual YAML (existing UI/config.yaml edits are preserved)
|
||||||
|
- MQTT auto-config seeds `realtime.mqtt.retain: true` (only when unset) so sensor states survive Home Assistant restarts
|
||||||
|
- Added supervisor watchdog (tcp://[HOST]:[PORT:8080]) so the add-on is automatically restarted if BirdNET-Go stops responding
|
||||||
|
- Added backup_exclude for rotated logs, making Home Assistant backups smaller (SQLite journals are kept so hot backups stay consistent)
|
||||||
|
|
||||||
## nightly-20260615 (2026-06-17)
|
## nightly-20260615 (2026-06-17)
|
||||||
- Update to latest version from tphakala/birdnet-go (changelog : https://github.com/tphakala/birdnet-go/releases)
|
- Update to latest version from tphakala/birdnet-go (changelog : https://github.com/tphakala/birdnet-go/releases)
|
||||||
## nightly-20260601-2 (03-06-2026)
|
## nightly-20260601-2 (03-06-2026)
|
||||||
|
|||||||
@@ -2,6 +2,15 @@
|
|||||||
|
|
||||||
BirdNET-Go can be integrated with Home Assistant using a MQTT Broker.
|
BirdNET-Go can be integrated with Home Assistant using a MQTT Broker.
|
||||||
|
|
||||||
|
> **💡 Easiest path — automatic discovery.** If you run the Home Assistant
|
||||||
|
> Mosquitto (MQTT) addon, just set `mqtt_auto_config: true` in this add-on's
|
||||||
|
> options. The add-on then wires in the broker credentials **and** enables
|
||||||
|
> BirdNET-Go's native Home Assistant MQTT auto-discovery, so the detection
|
||||||
|
> sensors appear in Home Assistant automatically with **no manual YAML at
|
||||||
|
> all**. The manual sensor/template/card configuration below is only needed if
|
||||||
|
> you want to build your own custom entities instead of (or in addition to) the
|
||||||
|
> auto-discovered ones.
|
||||||
|
|
||||||
## MQTT Configuration
|
## MQTT Configuration
|
||||||
|
|
||||||
Your Home Assistant must be setup with MQTT and BirdNET-Go MQTT integration must be enabled. Modify the BirdNET-Go config.yaml file to enable MQTT. If you are using the Mosquitto Broker addon, you will see a log message during the BirdNET-Go startup showing the internal MQTT server details needed for configuration similar to below.
|
Your Home Assistant must be setup with MQTT and BirdNET-Go MQTT integration must be enabled. Modify the BirdNET-Go config.yaml file to enable MQTT. If you are using the Mosquitto Broker addon, you will see a log message during the BirdNET-Go startup showing the internal MQTT server details needed for configuration similar to below.
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ Additional environment variables can be configured there
|
|||||||
|
|
||||||
### MQTT and MariaDB auto-configuration (opt-in)
|
### MQTT and MariaDB auto-configuration (opt-in)
|
||||||
|
|
||||||
If the Home Assistant **MQTT** addon is installed and running and you set `mqtt_auto_config: true` in the addon options, the addon writes the HA Mosquitto credentials directly into BirdNET-Go's `config.yaml` on every startup: `realtime.mqtt.enabled`, `broker`, `username`, and `password` are populated, and the topic defaults to `birdnet`. When the option is `false` (the default), the addon still logs the broker details and reminds you about the option whenever Mosquitto is detected — nothing is written.
|
If the Home Assistant **MQTT** addon is installed and running and you set `mqtt_auto_config: true` in the addon options, the addon writes the HA Mosquitto credentials directly into BirdNET-Go's `config.yaml` on every startup: `realtime.mqtt.enabled`, `broker`, `username`, and `password` are populated, and the topic defaults to `birdnet`. In addition, it enables BirdNET-Go's **native Home Assistant MQTT auto-discovery** (`realtime.mqtt.homeassistant.enabled`), so the detection sensors show up in Home Assistant automatically — **no manual MQTT sensor YAML required** (the hand-written sensors in [HAINTEGRATION.md](./HAINTEGRATION.md) remain available if you prefer to build your own). Messages are also retained (`realtime.mqtt.retain: true`) so sensor states survive Home Assistant restarts. When the option is `false` (the default), the addon still logs the broker details and reminds you about the option whenever Mosquitto is detected — nothing is written.
|
||||||
|
|
||||||
If the Home Assistant **MariaDB** addon is installed and running and you set `mariadb_auto_config: true`, the addon writes the HA credentials into `output.mysql.*` and sets `output.sqlite.enabled` to `false` (database name `birdnet`, created on first connect). When the option is `false` (the default), the addon only logs the credentials so you can configure them manually.
|
If the Home Assistant **MariaDB** addon is installed and running and you set `mariadb_auto_config: true`, the addon writes the HA credentials into `output.mysql.*` and sets `output.sqlite.enabled` to `false` (database name `birdnet`, created on first connect). When the option is `false` (the default), the addon only logs the credentials so you can configure them manually.
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,8 @@ arch:
|
|||||||
- aarch64
|
- aarch64
|
||||||
- amd64
|
- amd64
|
||||||
audio: true
|
audio: true
|
||||||
|
backup_exclude:
|
||||||
|
- logs/**
|
||||||
description: Realtime BirdNET and Battybirdnet soundscape analyzer
|
description: Realtime BirdNET and Battybirdnet soundscape analyzer
|
||||||
devices:
|
devices:
|
||||||
- /dev/dri
|
- /dev/dri
|
||||||
@@ -127,3 +129,4 @@ udev: true
|
|||||||
url: https://github.com/alexbelgium/hassio-addons/tree/master/birdnet-go
|
url: https://github.com/alexbelgium/hassio-addons/tree/master/birdnet-go
|
||||||
usb: true
|
usb: true
|
||||||
version: "nightly-20260615"
|
version: "nightly-20260615"
|
||||||
|
watchdog: tcp://[HOST]:[PORT:8080]
|
||||||
|
|||||||
@@ -8,6 +8,11 @@ set -e
|
|||||||
# way to auto-configure them. The behaviour is opt-in via the
|
# way to auto-configure them. The behaviour is opt-in via the
|
||||||
# mqtt_auto_config addon option. When the option is off but Mosquitto is
|
# mqtt_auto_config addon option. When the option is off but Mosquitto is
|
||||||
# detected, we log a one-shot hint pointing users at the option.
|
# detected, we log a one-shot hint pointing users at the option.
|
||||||
|
#
|
||||||
|
# In addition to the broker credentials we enable BirdNET-Go's native Home
|
||||||
|
# Assistant MQTT auto-discovery (realtime.mqtt.homeassistant.*). This makes
|
||||||
|
# the detection sensors appear in Home Assistant automatically, so users no
|
||||||
|
# longer have to hand-write the MQTT sensor YAML from HAINTEGRATION.md.
|
||||||
|
|
||||||
CONFIG_LOCATION="/config/config.yaml"
|
CONFIG_LOCATION="/config/config.yaml"
|
||||||
|
|
||||||
@@ -23,7 +28,7 @@ MQTT_BROKER="tcp://${MQTT_HOST}:${MQTT_PORT}"
|
|||||||
|
|
||||||
if ! bashio::config.true 'mqtt_auto_config'; then
|
if ! bashio::config.true 'mqtt_auto_config'; then
|
||||||
bashio::log.green "---"
|
bashio::log.green "---"
|
||||||
bashio::log.yellow "Home Assistant MQTT addon detected. Set 'mqtt_auto_config: true' in the addon options to wire it into BirdNET-Go automatically. Connection details:"
|
bashio::log.yellow "Home Assistant MQTT addon detected. Set 'mqtt_auto_config: true' in the addon options to wire it into BirdNET-Go automatically AND enable Home Assistant auto-discovery (sensors appear in HA with no manual YAML). Connection details:"
|
||||||
bashio::log.blue "MQTT user : ${MQTT_USER}"
|
bashio::log.blue "MQTT user : ${MQTT_USER}"
|
||||||
bashio::log.blue "MQTT password: ${MQTT_PASS}"
|
bashio::log.blue "MQTT password: ${MQTT_PASS}"
|
||||||
bashio::log.blue "MQTT broker : ${MQTT_BROKER}"
|
bashio::log.blue "MQTT broker : ${MQTT_BROKER}"
|
||||||
@@ -40,10 +45,21 @@ bashio::log.green "---"
|
|||||||
bashio::log.blue "mqtt_auto_config enabled; writing Home Assistant MQTT credentials into BirdNET-Go config"
|
bashio::log.blue "mqtt_auto_config enabled; writing Home Assistant MQTT credentials into BirdNET-Go config"
|
||||||
bashio::log.blue "Broker: ${MQTT_BROKER}"
|
bashio::log.blue "Broker: ${MQTT_BROKER}"
|
||||||
bashio::log.blue "User: ${MQTT_USER}"
|
bashio::log.blue "User: ${MQTT_USER}"
|
||||||
|
bashio::log.blue "Home Assistant auto-discovery: enabled (sensors appear in HA automatically)"
|
||||||
bashio::log.green "---"
|
bashio::log.green "---"
|
||||||
|
|
||||||
# $broker / $user / $pass / "birdnet" are jq/yq variables and literals,
|
# $broker / $user / $pass / "birdnet" are jq/yq variables and literals,
|
||||||
# not shell expansions, so the single quotes are intentional.
|
# not shell expansions, so the single quotes are intentional.
|
||||||
|
#
|
||||||
|
# Connection fields (enabled/broker/username/password) are force-set on every
|
||||||
|
# start so they track the HA MQTT addon's rotating credentials. Topic and the
|
||||||
|
# homeassistant.* discovery knobs use "//=" so they are only seeded when
|
||||||
|
# missing. retain is seeded via an explicit has() check rather than "//=",
|
||||||
|
# because jq treats a user-set "retain: false" as falsy and "//=" would wrongly
|
||||||
|
# flip it back to true; has() seeds the default only when the key is truly
|
||||||
|
# absent. Any value the user later changes in the BirdNET-Go UI or config.yaml
|
||||||
|
# therefore survives restarts. homeassistant.enabled is force-set to true
|
||||||
|
# because turning on discovery is the whole point of the auto-config option.
|
||||||
# shellcheck disable=SC2016
|
# shellcheck disable=SC2016
|
||||||
yq -i -y \
|
yq -i -y \
|
||||||
--arg broker "$MQTT_BROKER" \
|
--arg broker "$MQTT_BROKER" \
|
||||||
@@ -53,5 +69,9 @@ yq -i -y \
|
|||||||
| .realtime.mqtt.broker = $broker
|
| .realtime.mqtt.broker = $broker
|
||||||
| .realtime.mqtt.username = $user
|
| .realtime.mqtt.username = $user
|
||||||
| .realtime.mqtt.password = $pass
|
| .realtime.mqtt.password = $pass
|
||||||
| .realtime.mqtt.topic //= "birdnet"' \
|
| .realtime.mqtt.topic //= "birdnet"
|
||||||
|
| (if (.realtime.mqtt | has("retain")) then . else .realtime.mqtt.retain = true end)
|
||||||
|
| .realtime.mqtt.homeassistant.enabled = true
|
||||||
|
| .realtime.mqtt.homeassistant.discovery_prefix //= "homeassistant"
|
||||||
|
| .realtime.mqtt.homeassistant.device_name //= "BirdNET-Go"' \
|
||||||
"$CONFIG_LOCATION"
|
"$CONFIG_LOCATION"
|
||||||
|
|||||||
Reference in New Issue
Block a user