Klingelanlage
Gepostet am 16. Februar 2025 • 3 Minuten • 501 Wörter
Table of contents
Vor Jahren umgesetzt und nun endlich auch mal dokumentiert.
Gegensprechanlage nachrüsten
Das Problem war, dass ich die Klingel mit einer Gegensprechanlage ausstatten wollte, die über die DECT-Telefone im Haus lief. Die im Einsatz befindliche Fritz!Box kann das ja prinzipiell.

Die Auerswald TFS-Universal-Plus wird im Briefkasten gegen die Öffnungen für die Gegensprechanlage geklebt und mittel 2-adrigem Kabel mit einem der Analoganschlüsse der Fritz!Box verbunden. In der Fritz!Box wird das neue Gerät als “Türsprechanlage” konfiguriert und soll (in meinem Fall) einen Rundruf an alle internen Telefne auslösen.

openHAB einbinden
Nun sollte meine openHAB-Installation auch zumindest getriggert werden, wenn es an der Tür klingelt. Das wiederum ist etwas schwieriger, weil TR064-Binding von openHAB keine internen Anrufe mitbekommt, was wohl am Call-Monitor der Fritz!Box liegt…
Meine Idee war es nun die Fritz!Box in eine SIP-Telefonanlage zu verwandeln, eine Asterisk-Instanz an der Fritz!Box anmelden zu lassen, die dann auch den durch die Klingel ausgelösten internen Rundruf mitbekommt und dann einen REST-Request auf ein openHAB-Item macht.

Fritz!Box konfigurieren
Der Fritz!Box muss beigebracht werden, wie sich ein VOIP-Client anmelden kann. Hierzu starten wir den Wizard über die Fritz!Box-Konfigurationsseite -> Telefonie -> Telefoniegeräte -> Neues Gerät einrichten
- Neues “Telefon (mit und ohne Anrufbeantworter)” einrichten

- Als Anschluss wird “LAN/WLAN (IP-Telefon)” gewählt

- Benutzernamen und Passwort für die Anmeldung festlegen

- Im nächsten Schritt wird die ausgehende Nummer eingerichtet. Da aktuell nicht raus telefoniert werden soll, ist die Wahl der Rufnummer hier egal.
- Das neue Telefoniegerät soll auf eingehende Anrufe keiner Rufnummer reagieren.
- Im letzten Schritt wird nochmal eine Zusammenfassung dargestellt. Diese sind zu überprüfen und zu “Übernehmen”.
Asterisk installieren
Ich brauchte eine einfache Minimalinstallation von asterisk. Dies gestaltete sich allerdings etwas aufwändiger als gedacht, weshalb ich das Ganze in einem Docker-Container verpackt habe. Das Basisimage ist nicht mehr das Aktuellste, da es bei mir allerdings keine Verbindung nach außen hat, ist es meinen Anwendungsfall vertretbar. Die erforderlichen Konfigurationsdateien mit Platzhaltern habe ich ich hier abgelegt. Für die Installation auf Unraid habe ich ebenfalls das notwendige Template erstellt .
openHAB konfigurieren
In openHAB wird ein Switch-Item benötigt, das durch Asterisk bei einem eingehenden Anruf auf ON gesetzt werden kann.
Switch Doorbell_ringing "Klingel" (Doorbell) ["Status"]
Außerdem eine Regel, die den Switch nach 5 Sekunden wieder auf “off” stellt.
var Timer timerDoorbellReset = null
rule "When doorbell rings do ..."
when
Item Doorbell_ringing changed to ON
then
if(timerDoorbellReset!==null) {
logInfo("Doorbell", "Delete timer...")
timerDoorbellReset.cancel
timerDoorbellReset = null
}
timerDoorbellReset = createTimer(now.plusSeconds(5)) [|
Doorbell_ringing.postUpdate(OFF)
]
// send notification...
// blink some lights...
// turn off the tv...
end
Optimierung
Vom Betätigen des Klingeltasters bis hin zum Signal in openHAB dauert es einige Sekunden, was für den einen oder anderen Paketauslieferer schon eine Geduldsprobe ist. Im Intranet der Dinge habe gelesen, dass es ebenso möglich ist einen Schaltkontakt an dem Gegensprechanlagen-Modul anzubinden, was dann vielleicht schneller das Klingelsignal überträgt.
Wofür?
Es ist damit nun möglich, auf das Klingeln an der Tür zu regieren mit:
- Pausieren von TV oder Musikstreams
- Notification auf TV und Lautsprecher
- Push-Benachrichtigung aufs Handy
- Foto des Eingangsbereiches, das ebenfalls aufs Handy geschickt wird
