DoorBird-Klingel löst in Home Assistant nichts aus
Die DoorBird ist in Home Assistant eingebunden, Kamerabilder kommen, aber beim Klingeln passiert nichts. Woran das liegt und wie du das Klingel-Event zuverlässig ans Laufen bringst.
Das Problem
Die DoorBird ist über die offizielle Integration eingebunden, die Kamerabilder laden, alles wirkt fertig. Nur eins fehlt: Wenn jemand klingelt, passiert in Home Assistant nichts. Kein Popup, kein Gong, keine Automation. Die DoorBird-App schickt dir weiter brav eine Push aufs Handy, aber HA bleibt still.
Das ist eine der häufigsten DoorBird-Sackgassen. Fast alle raten an der falschen Stelle. Es liegt nämlich meistens nicht an Home Assistant.
Warum die Klingel oft still bleibt
Damit ein Klingeldruck in HA ankommt, muss die DoorBird beim Drücken eine URL auf deinem Home Assistant aufrufen. Die Integration legt dafür auf dem Gerät zwei Dinge an:
- Einen HTTP-Favoriten, also die Callback-URL zu HA.
- Einen Zeitplan-Eintrag (Schedule), der den Eingang „doorbell" mit diesem Favoriten verknüpft.
Erst wenn beides existiert, ruft die DoorBird beim Klingeln HA auf. Und genau hier steckt der Haken:
Wichtig: Die Home-Assistant-Integration erstellt selbst KEINEN Klingel-Zeitplan. Sie hängt ihren Aufruf nur an einen bereits vorhandenen „doorbell"-Eintrag an. Gibt es keinen, bleibt der Favorit unverknüpft. Ganz ohne eine einzige Fehlermeldung im Log.
Das erklärt das Verhalten perfekt: Der Favorit ist da, die URL stimmt, der Webhook funktioniert, aber der Klingeldruck ruft ihn nie auf. Die App-Push, die trotzdem kommt, läuft über die DoorBird-Cloud und braucht den lokalen Zeitplan gar nicht. Deshalb „App ja, HA nein".
Schritt 1: Prüfen, ob Home Assistant überhaupt reagiert
Bevor du an der DoorBird schraubst, teste die HA-Seite. Öffne die Favoriten-URL direkt im Browser (im selben Netz wie HA). Sie sieht so aus:
http://<HA-IP>:8123/api/doorbird/<geraetename>_doorbell?token=<token>Den genauen Wert findest du in der DoorBird-App unter Administration, Favoriten, HTTP(S) Aufrufe (Eintrag „Home Assistant"). Rufst du die URL auf und bekommst 200 OK, dann funktioniert alles ab Home Assistant. Der Bus-Event doorbird_<geraetename>_doorbell feuert, deine Automation läuft.
Heißt: Wenn dieser Test klappt, ist HA fertig eingerichtet. Das Problem sitzt dann allein in der DoorBird (der fehlende Zeitplan-Eintrag).
Schritt 2: Der einfache Weg über die DoorBird-App
Auf vielen Geräten kannst du den Zeitplan direkt in der App setzen:
- DoorBird-App, unten Einstellungen, dann Administration. Mit deinen DoorBird-Administrations-Zugangsdaten einloggen.
- Experteneinstellungen, dann Zeitplan für die Türklingel.
- Oben links auf das Glocken-Symbol tippen, dann HTTP(S) Aufrufe wählen.
- Deinen Home-Assistant-Aufruf auswählen und das Wochenraster komplett grün schalten (immer aktiv).
- Speichern, ein paar Minuten warten, klingeln.
Hinweis: Der Menüpunkt heißt „Zeitplan für die Türklingel" und liegt in den Experteneinstellungen. Nicht verwechseln mit „Zeitbasierte Aktionen" (das sind reine Uhrzeiten) oder „Zeitplan für Folgeaktionen" (das gehört zum Relais, also dem Türöffner).
Schritt 3: Wenn der App-Menüpunkt fehlt, per API
Bei manchen Modellen oder App-Versionen fehlt „Zeitplan für die Türklingel" komplett. Dann setzt du den Eintrag direkt über die DoorBird-LAN-API. Das geht am saubersten von einem Gerät im Heimnetz aus, zum Beispiel über das Add-on „Terminal & SSH", weil das auf dem HA-Host läuft und die DoorBird erreicht.
Ein Detail vorweg: Die DoorBird-HTTP-API nutzt einen eigenen DoorBird-Benutzer, nicht dein App-Konto-Passwort. Die Zugangsdaten, die die Integration verwendet, liegen im Klartext in der HA-Konfiguration. So liest du sie aus, ohne sie am Bildschirm zu zeigen:
F=/config/.storage/core.config_entries
H=$(jq -r '.data.entries[]|select(.domain=="doorbird")|.data.host' "$F")
U=$(jq -r '.data.entries[]|select(.domain=="doorbird")|.data.username' "$F")
P=$(jq -r '.data.entries[]|select(.domain=="doorbird")|.data.password' "$F")Jetzt die HTTP-Favoriten anzeigen, um die ID deines Klingel-Aufrufs zu finden:
curl -s -u "$U:$P" "http://$H/bha-api/favorites.cgi"In der Ausgabe steht unter "http" ein Eintrag mit dem Titel „Home Assistant (...doorbell)". Der Schlüssel davor (oft "0" oder "1") ist die Favoriten-ID. Die brauchst du gleich als param.
Dann den Zeitplan-Eintrag setzen. Wichtig ist hier alles, was viele falsch machen, siehe die Fallen weiter unten:
curl -s -u "$U:$P" -H "Content-Type: application/json" -d '{"input":"doorbell","param":"1","output":[{"enabled":"1","event":"notify","param":"","schedule":{"weekdays":[{"from":"0","to":"604799"}]}},{"enabled":"1","event":"http","param":"0","schedule":{"weekdays":[{"from":"0","to":"604799"}]}}]}' "http://$H/bha-api/schedule.cgi"Setz "param":"0" beim http-Output auf deine tatsächliche Favoriten-ID aus dem Schritt davor. Kommt HTTP 200 zurück, ist der Eintrag gesetzt. Danach einmal klingeln und prüfen, ob deine Klingel-Automation auslöst.
Die drei Fallen, die richtig Zeit kosten
Falle 1: notify weglassen. Der Schedule-POST ersetzt die komplette Aktionsliste der Klingel. Schreibst du nur den http-Aufruf rein, ist die DoorBird-App-Push plötzlich weg. Deshalb immer notify (Push und Verlauf) UND http (Home Assistant) zusammen setzen, so wie oben.
Falle 2: to zu hoch. Für „ganze Woche, immer aktiv" ist der Maximalwert 604799 (7 Tage minus 1 Sekunde). Nimmst du 604800, antwortet die DoorBird mit 400 Bad Request. Startwerte müssen Vielfache von 1800 sein, 0 passt also.
Falle 3: fehlendes Recht. Der DoorBird-Benutzer braucht die Berechtigung API-Operator, sonst kommt beim Schreiben ein 401. Kamerabilder gehen auch ohne dieses Recht, deshalb wirkt die Integration trotzdem „eingerichtet". Das Recht setzt du in der DoorBird-App bei dem Benutzer, den Home Assistant nutzt (zusammen mit Watch always, History und Motion).
internal_url richtig setzen
Die Callback-URL, die auf der DoorBird landet, baut Home Assistant aus seiner internen URL. Steht die auf homeassistant.local, kann die DoorBird sie oft nicht auflösen. Setz sie deshalb auf die feste IP:
Einstellungen, System, Netzwerk, „Lokales Netzwerk", http://<HA-IP>:8123. Die IP siehst du dort im Netzwerkadapter oder in deinem Router.
Modell-Unterschiede
Die D11x- und D21x-Reihe unterstützt den Zeitplan sauber. Ältere oder abgespeckte Modelle (D301) kennen die Schedule-API nicht. Wenn schedule.cgi bei dir gar nichts liefert, ist das der Grund. Dann führt kein Weg über die API, es bleibt der App-Weg oder eine andere Auslösung.
Checkliste
- Webhook-URL direkt aufgerufen, kommt 200? Dann ist Home Assistant fertig.
- Existiert ein „doorbell"-Eintrag im DoorBird-Zeitplan? Wenn
schedule.cgi[]liefert, ist das dein Problem. - Hat der DoorBird-Benutzer API-Operator?
internal_urlauf die feste HA-IP gesetzt?- Schedule-POST mit
notifyUNDhttp,toauf604799? - Nach dem Setzen einmal klingeln,
last_triggereddeiner Automation läuft.
Wenn alle Häkchen sitzen, klingelt es ab jetzt auch in Home Assistant. Was du damit auslöst, also Popup am Wandpanel, Gong, Push aufs Handy, ist dann ganz normale Automations-Arbeit.
Passende Videos
Bubble Card für Home Assistant: alle Card-Typen erklärt
Bubble Card macht aus dem Standard-Lovelace ein modernes Dashboard mit Pop-Ups, Sub-Buttons und eigenem Styling. Ich zeige dir jeden Card-Typ mit YAML.
Ollama lokal für Home Assistant einrichten
Ich zeige dir, wie du Ollama installierst, ein passendes LLM-Modell auswählst und Home Assistant damit verbindest – komplett ohne Cloud.
OpenRouter in Home Assistant: Cloud-KI für 2,50 € pro Jahr
Mit OpenRouter bekommst du DeepSeek, GPT-4o oder Claude direkt in Home Assistant – ohne eigene Hardware, für unter 10 Euro im Jahr. Hier zeige ich dir, wie das geht.
