Files
hassio-addons/birdnet-pipy/README.md
Alexandre ced15122d9 Migrate legacy addon_config maps to app_config (#2937) nobuild
* Add one-shot app_config linter migration workflow

* Add app_config linter compatibility action

* Add add-on map compatibility normalizer

* Test add-on map compatibility normalizer

* Run app_config compatibility preparation on pull request

* Validate app_config short and long map forms separately

* Export validated workflow updates

* Use app_config-compatible linter for PR checks

* Use app_config-compatible linter for builds

* Remove temporary linter preparation workflow

* Add one-shot app_config manifest migration

* Migrate legacy addon_config maps to app_config

* Preserve upstream legacy aliases without deprecated literals

* Test legacy alias compatibility without deprecated literals

* Validate completed app_config migration

* Count only add-on manifests during migration validation

* Remove temporary migration validation workflow

* Document legacy alias construction

* Remove obsolete local linter compatibility script

* Remove obsolete local linter compatibility tests

* fix(pr-2937-review): address reviewer findings on app_config migration

- Remove the orphaned .github/actions/addon-linter composite action: it
  references .github/scripts/prepare_addon_lint_config.py, which was never
  added (the normalization approach was superseded by pinning
  frenck/action-addon-linter directly in #2936). Confirmed unused - no
  workflow invokes it.
- cleanuparr: HA_DATA_DIR pointed at /app_configs/cleanuparr, a path not
  mounted inside the container. cleanuparr's map is app_config:rw, which
  Supervisor mounts at /config, so data was living on the ephemeral
  container filesystem. Point it at /config instead (pre-existing bug,
  not introduced by this PR - just carried the wrong path forward).
- joplin/README.md: joplin's config.yaml still declares config:rw, not
  app_config (it was never part of the 86-manifest migration). Revert the
  doc text that incorrectly started calling it the app_config mapping.
- qbittorrent/00-folders.sh: fix a pre-existing copy/paste bug in the
  migration marker/log for the main-folder migration block - it referenced
  "openvpn" and a "qBitorrent" typo instead of qBittorrent.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-09-11 09:30:49 +02:00

3.0 KiB

Home assistant add-on: BirdNET-PiPy

BirdNET-PiPy is a self-hosted system that uses the BirdNET deep-learning model to identify birds from their sounds, with a modern web dashboard for monitoring detections. This add-on packages the upstream project for Home Assistant with ingress support.

About

Installation

  1. Add my add-ons repository to your home assistant instance (in supervisor addons store at top right, or click button below if you have configured my HA) Open your Home Assistant instance and show the add add-on repository dialog with a specific repository URL pre-filled.
  2. Install this add-on.
  3. Start the add-on.
  4. Check the logs of the add-on to see if everything went well.

Configuration

Install, then start the add-on a first time. Open the Web UI from Home Assistant (Ingress) or directly at http://<host>:8011 (or the port you configure). Configure location, audio source, and other settings in the BirdNET-PiPy UI after the container starts.

Options can be configured through three ways:

  • Add-on options
ICECAST_PASSWORD: "" # Optional: persistent password for the Icecast audio stream
data_location: /config/data # Persistent data location (under /config, /share, or /data)
env_vars: # Optional: extra environment variables
  - name: STREAM_BITRATE
    value: 320k # Icecast mp3 stream bitrate (default 320k)
  • Config.yaml Additional variables can be configured using the config.yaml file found in /config/birdnet-pipy/config.yaml using the Filebrowser add-on.

  • Config_env.yaml Additional environment variables can be configured there.

Mounting Drives

This add-on supports mounting both local drives and remote SMB shares:

Custom Scripts and Environment Variables

This add-on supports custom scripts and environment variables through the app_config mapping:

Notes

  • Audio input uses Home Assistant's PulseAudio server by default.
  • Ingress is enabled; direct access is available on the configured port.