Files
hassio-addons/birdnet-pipy
Yudong Sun 896adcd858 fix(birdnet-pipy): serve API via gunicorn + gevent worker
Replace the legacy Werkzeug dev server (python -m core.api) with a single
gunicorn GeventWebSocketWorker, matching upstream BirdNET-PiPy 0.7.0's
production-server migration (the add-on already builds 0.7.0 source).

Single worker is mandatory: live detections fan out via an in-process
Socket.IO emit (no Redis message_queue), so >1 worker would silently drop
Live Feed broadcasts. Heavy maintenance jobs cooperatively yield to keep the
worker responsive. Bound to 127.0.0.1:5002 for single-container use. Also
fixes the now-stale 'Python core.api' comment in nginx/run.

Add-on packaging change only -> 0.7.0 -> 0.7.0-1 (suffix convention; base
tracks upstream via the updater bot).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 08:33:01 -04:00
..
2026-01-28 15:06:11 +01:00
2026-02-15 23:09:56 +00:00
2026-02-15 23:09:56 +00:00
2026-05-17 23:23:37 +00:00

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 addon_config mapping:

Notes

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