Your station can send every bird detection to Home Assistant (or any system that speaks MQTT) the moment it happens. That lets you build automations around what your station hears — flash a light when a Pileated Woodpecker shows up, keep a running tally on a wall dashboard, or have a smart speaker announce a rare visitor.
This is completely optional and off by default. A station sends nothing until you give it a broker address, and turning it on never affects detection, recording, or your dashboard — if the broker is unreachable, the station just carries on and tries again later.
- An MQTT broker on your network. If you run Home Assistant, the one-click Mosquitto broker add-on is the usual choice.
- The broker's address (an IP like
192.168.1.10or a hostname), and a username / password if it requires one. - The station on the latest software, so it has the MQTT option (Update now first if a version banner shows one).
MQTT is enabled through Remote tuning (the same per-station settings panel used elsewhere — see that help section). Add these overrides:
SettingExampleWhat it's forBIRDNET_MQTT_HOST192.168.1.10Your broker's address. This one setting is what switches MQTT on — leave it unset and nothing is sent.BIRDNET_MQTT_PORT1883Broker port. 1883 is the standard default; you usually don't need to set this.BIRDNET_MQTT_USERNAMEbirdnetBroker username, if yours requires a login.BIRDNET_MQTT_PASSWORD••••••Broker password, if required.BIRDNET_STATION_NAMEBackyard FeederThe name this station shows up as in Home Assistant. Defaults to the station's hostname.Save config, and within about five minutes the station picks it up. OnlyBIRDNET_MQTT_HOST is required — the rest have sensible defaults.
You don't have to configure anything on the Home Assistant side. As soon as the station connects, it announces itself using MQTT discovery, and a new device — named after your station — shows up under Settings → Devices & Services → MQTT. It carries a sensor whose state is the latest species heard, with the confidence, scientific name, and time available as attributes. It also reports online/offline, so you can see at a glance whether the station is currently connected.
Each detection is published to the topic birdnet//detection as JSON:
Only confirmed detections are sent — the lightweight “possible, filtered out by location” entries you may see on the dashboard are not published. No audio or file paths are ever included in the message.
A common first automation: announce (or highlight) a specific species. In Home Assistant you'd trigger on the station's sensor changing to the species you care about — for instance, when the latest-bird sensor becomes Pileated Woodpecker, flip a smart light or send a phone notification. Because the confidence rides along as an attribute, you can also require, say, 80%+ before reacting.
- Give it a few minutes after saving — the station applies settings on a cycle, then reconnects.
- Double-check the broker address is reachable from the station's network, and that the username/password match if your broker requires them.
- Confirm the station is on the latest software; older builds don't have the MQTT option.
- Still stuck? The community discussions are the best place to compare notes.
