mirror of
https://github.com/alexbelgium/hassio-addons.git
synced 2026-01-19 19:18:10 +01:00
152 lines
8.2 KiB
Markdown
152 lines
8.2 KiB
Markdown
## ⚠ Open Request : [✨ [birdnet-pi] Ongoing work (opened 2024-05-01)](https://github.com/alexbelgium/hassio-addons/issues/1371) by [@alexbelgium](https://github.com/alexbelgium)
|
|
# Home assistant add-on: birdnet-pi
|
|
|
|
[![Donate][donation-badge]](https://www.buymeacoffee.com/alexbelgium)
|
|
[![Donate][paypal-badge]](https://www.paypal.com/donate/?hosted_button_id=DZFULJZTP3UQA)
|
|
|
|

|
|

|
|

|
|
|
|
[](https://www.codacy.com/gh/alexbelgium/hassio-addons/dashboard?utm_source=github.com&utm_medium=referral&utm_content=alexbelgium/hassio-addons&utm_campaign=Badge_Grade)
|
|
[](https://github.com/alexbelgium/hassio-addons/actions/workflows/weekly-supelinter.yaml)
|
|
[](https://github.com/alexbelgium/hassio-addons/actions/workflows/onpush_builder.yaml)
|
|
|
|
[donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee%20(no%20paypal)-%23d32f2f?logo=buy-me-a-coffee&style=flat&logoColor=white
|
|
[paypal-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee%20with%20Paypal-0070BA?logo=paypal&style=flat&logoColor=white
|
|
|
|
_Thanks to everyone having starred my repo! To star it click on the image below, then it will be on top right. Thanks!_
|
|
|
|
[](https://github.com/alexbelgium/hassio-addons/stargazers)
|
|
|
|

|
|
|
|
## About
|
|
|
|
---
|
|
|
|
[birdnet-pi](https://github.com/Nachtzuster/BirdNET-Pi) is an AI solution for continuous avian monitoring and identification originally developed by @mcguirepr89 on github (https://github.com/mcguirepr89/BirdNET-Pi), whose work is continued by @Nachtzuster and other developers on an active fork (https://github.com/Nachtzuster/BirdNET-Pi)
|
|
|
|
Features of the addon :
|
|
- Robust base image provided by [linuxserver](https://github.com/linuxserver/docker-baseimage-debian)
|
|
- Working docker system thanks to https://github.com/gdraheim/docker-systemctl-replacement
|
|
- Uses HA pulseaudio server
|
|
- Uses HA tmpfs to store temporary files in ram and avoid disk wear
|
|
- Exposes all config files to /config to allow remanence and easy access
|
|
- Allows to modify the location of the stored bird songs (preferably to an external hdd)
|
|
- Supports ingress, to allow secure remote access without exposing ports
|
|
|
|
## Configuration
|
|
|
|
---
|
|
|
|
Install, then start the addon a first time
|
|
Webui can be found at <http://homeassistant:80>.
|
|
|
|
You'll need a microphone : either use one connected to HA or the audio stream of a rstp camera.
|
|
|
|
Options can be configured through three ways :
|
|
|
|
- Addon options
|
|
|
|
```yaml
|
|
BIRDSONGS_FOLDER: folder to store birdsongs file # It should be an ssd if you want to avoid clogging of analysis
|
|
LIVESTREAM_BOOT_ENABLED: start livestream from boot, or from settings
|
|
SPECIES_CONVERTER_ENABLED: true/false. if enabled, will create a new setting in the birdnet options where you can specify birds to convert. It will convert on the fly the specie when detected
|
|
PROCESSED_FOLDER_ENABLED : if enabled, you need to set in the birdnet.conf (or the setting of birdnet) the number of last wav files that will be saved in the temporary folder "/tmp/Processed" within the tmpfs (so no disk wear) in case you want to retrieve them. This amount can be adapted from the addon options
|
|
TZ: Etc/UTC specify a timezone to use, see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
|
|
pi_password: set the user password to access the web terminal
|
|
localdisks: sda1 #put the hardware name of your drive to mount separated by commas, or its label. ex. sda1, sdb1, MYNAS...
|
|
networkdisks: "//SERVER/SHARE" # optional, list of smb servers to mount, separated by commas
|
|
cifsusername: "username" # optional, smb username, same for all smb shares
|
|
cifspassword: "password" # optional, smb password
|
|
cifsdomain: "domain" # optional, allow setting the domain for the smb share
|
|
```
|
|
|
|
- Config.yaml
|
|
Additional variables can be configured using the config.yaml file found in /config/db21ed7f_birdnet-pi/config.yaml using the Filebrowser addon
|
|
|
|
- Config_env.yaml
|
|
Additional environment variables can be configured there
|
|
|
|
## Installation
|
|
|
|
---
|
|
|
|
The installation of this add-on is pretty straightforward and not different in comparison to installing any other add-on.
|
|
|
|
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)
|
|
[](https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2Falexbelgium%2Fhassio-addons)
|
|
1. Install this add-on.
|
|
1. Click the `Save` button to store your configuration.
|
|
1. Set the add-on options to your preferences
|
|
1. Start the add-on.
|
|
1. Check the logs of the add-on to see if everything went well.
|
|
1. Open the webUI and adapt the software options
|
|
|
|
## Integration with HA
|
|
|
|
---
|
|
|
|
You can use apprise to send notifications with mqtt, then act on those using HomeAssistant
|
|
Further informations : https://wander.ingstar.com/projects/birdnetpi.html
|
|
|
|
## Using ssl
|
|
|
|
---
|
|
|
|
Option 1 : Install let's encrypt addon, generate certificates. They are by default certfile.pem and keyfile.pem stored in /ssl. Just enable ssl from the addon option and it will work.
|
|
|
|
Option 2 : enable port 80, define your BirdNET-Pi URL as https. Certificate will be automatically generated by caddy
|
|
|
|
## Improve detections
|
|
|
|
---
|
|
|
|
### Gain for card
|
|
|
|
Using alsamixer in the Terminal tab, make sure that the sound level is high enough but not too high (not in the red part)
|
|
https://github.com/mcguirepr89/BirdNET-Pi/wiki/Adjusting-your-sound-card
|
|
|
|
### Ferrite
|
|
|
|
Adding ferrite beads lead in my case to worst noise
|
|
|
|
### Aux to usb adapters
|
|
|
|
Based on my test, only adapters using KT0210 (such as Ugreen's) work. I couldn't get adapters based on ALC to be detected.
|
|
|
|
### Microphone comparison
|
|
|
|
Recommended microphones ([full discussion here](https://github.com/mcguirepr89/BirdNET-Pi/discussions/39)):
|
|
- Clippy EM272 (https://www.veldshop.nl/en/smart-clippy-em272z1-mono-omni-microphone.html) + ugreen aux to usb connector : best sensitivity with lavalier tech
|
|
- Boya By-LM40 : best quality/price
|
|
- Hyperx Quadcast : best sensitivity with cardioid tech
|
|
|
|
Conclusion, using mic from Dahua is good enough, EM272 is optimal, but Boya by-lm40 is a very good compromise as birndet model analysis the 0-15000Hz range
|
|
|
|

|
|
|
|
### Denoise ([Full discussion here](https://github.com/mcguirepr89/BirdNET-Pi/discussions/597))
|
|
|
|
Denoise is frowned upon by serious researchers. However it does seem to significantly increase quality of detection ! Here is how to do it in HA :
|
|
- Using Portainer addon, go in the hassio_audio container, and modify the file /etc/pulse/system.pa to add the line `load-module module-echo-cancel`
|
|
- Go in the Terminal addon, and type `ha audio restart`
|
|
- Select the echo cancelled device as input device in the addon options
|
|
|
|
### High pass
|
|
|
|
Should be avoided as the model uses the whole 0-15khz range
|
|
|
|
## Common issues
|
|
|
|
Not yet available
|
|
|
|
## Support
|
|
|
|
Create an issue on github
|
|
|
|
---
|
|
|
|

|