NEWS
Software: Türklingel -> IOBroker -> Fritzbox (inkl. Webcam)
-
Hallo,
habe heute nach mehrmaligem Aufsetzen endlich die Anbindung der Türklingel an die Fritzbox geschafft. Jetzt klingeln bei Betätigung der Klingel alle Telefone. Die Telefone C4/6 zeigen auch ein Bild einer Webcam.
Der iobroker läuft bei uns nur parallel zur Hausautomation mit EIB/KNX um einige unabhängige übergeordnete Funktionen zu übernehmen. Eingebunden ist u.a. KNX über den entsprechenden Adapter.
Es gibt unterschiedliche Methoden/Anleitungen, um Klingelsignale an die Fritz!box zu übermitteln, z.B. einen a/b Adapter (KlingelPaul), Anbindung über WLAN (ESP 8266, ct-Artikel) oder eine spezifizierte Türsprechstelle (DoorPI).
Da das Betätigen der Türklingel aber auf den Haus-Bus übertragen übertragen wird, sollte auch eine reine Software-Lösung möglich sein.
Über den Adapter TR-064 habe ich eine Realisierung nicht hinbekommen.
Als Alternative bot sich eine Anbindung als SIP-Türsprechstelle (Telefon) an. Hierfür eignet sich der Adapter Asterisk. Nach/Vor dessen Installation im iobroker muss noch das Programm installiert werden.
Asterisk installieren
sudo apt-get install lame
sudo apt-get install sox
sudo apt-get install libsox-fmt-mp3
sudo apt-get install ffmpeg
sudo apt-get install asteriskIm Adapter (Instanz) in iobroker dann noch anpassen:
-
Seite
Server (dieser)
127.0.0.1
Nutzerdaten so lassen
"Create Asterisk config files (once)" anklicken.
-
Seite
Zugangsdaten Fritzbox (SIP) (merken, um sie nachher in der Fritzbox einzugeben).
Dann Speichern und die vom Adapter erstellten Konfigurationsdateien zum Asterisk verschieben:
sudo mv /tmp/extensions.ael /etc/asterisk/extensions.ael
sudo mv /tmp/manager.conf /etc/asterisk/manager.conf
sudo mv /tmp/pjsip_fritzbox.conf /etc/asterisk/pjsip.conf
sudo mv /tmp/sip_fritzbox.conf /etc/asterisk/sip.conf
sudo mv /tmp/rtp.conf /etc/asterisk/rtp.confBei Auswahl von pjsip anstelle sip ist es eine andere Konfigurationsdatei. Ggf. im Verzeichnis /tmp nachschauen.
Asterisk neu starten mit
sudo /etc/init.d/asterisk restartMit
sudo asterisk -vvvr
kann man die Ausgabe des Asterisk nachverfolgen (z.B. Restart der Instanz im iobroker). Hier werden Fehler angezeigt.Ich hatte das Problem, dass der Asterisk keine Verbindung bei parallel installiertem TR-064 Adapter hatte. Außerdem hatte ich zwei Fehlermeldungen.
Die Ursache eines Verbindungsfehler vom Asterisk zum iobroker lag an einer falschen Konfiguration (der Raspberry läuft bei uns mit Raspbee Image). Änderung in der Konfigurationsdatei oder Ergänzung "iobroker 127.0.0.1" in der host Datei.
In der Fritzbox muss man dann eine Türsprechstelle einrichten:
Telefonie > Telefoniegeräte> Neues Gerät einrichten >Türsprechstelle
LAN/WLAN (IP) auswählenAuf der folgenden Seite
Klingeltaste 1 / 11 / alle Telefone / Eigener 1 (ein eigener Klingelton kann in einem der DECT-Telefone - s. dort - hochgeladen werden).
Name z.B. tuerklingel
Live Bild: Aktuelles Bild der Webcam.
Alternativer Klingelton
Nicht alle Webcams bieten ein Einzelbild zum Download an. Instar Kameras können dies zum Beispiel.
Auf dem zweiten Tab unter Anmeldedaten dann die Daten aus der iobroker-Asterisk-Instanz (von der zweiten Seite in der, s.o.) eingeben.
Im iobroker kann man dann die Verbindung testen.
In Objekte callerid (11), telnr (**9) und nachricht ("Es klingelt an der Haustür") eintragen und Aufbau mit call testen. **9 geht an alle Telefone der Fritzbox.
Wenn es nicht funktioniert, kann, wie oben geschrieben mit parallel laufendem
sudo asterisk -vvvr
die (Fehler-) Ausgabe von Asterisk beobachtet werden.Nun noch ein Skript.
Definiert wird hier das Telegramm der Klingel (knx), bei pos. Signal das Skript Klingeln gestartet, hier wird ein Anruf initiert und danach die Tasteingabe alle 0,5 Sekunden kontrolliert. Wenn die 5 am Telefon eingegeben wird, könnte ein Türöffner getriggert werden (haben wir nicht).
var Klingel = "knx.0.hier.unten.Klingel", Klingelval; on({id: Klingel, change: "any"}, function (obj) { Klingelval = getState(Klingel).val; if (Klingelval ==true) { Klingeln(); } console.log('Result: ' + Klingelval); }) function Klingeln() { // call telephone nummber and play text message as audio var number = "**9"; var callerid = '11'; // optional, if not set anonymous call var msg = "Es klingelt an der Tür! "; sendTo('asterisk.0', "dial", { telnr: number, callerid: callerid, text: msg, timeout: 15000}, (res) => { setState("asterisk.0.dialout.dtmf", ""); console.log('Result: ' + JSON.stringify(res)); var i; dtmf_callback(); }); } function Sleep(milliseconds) { return new Promise(resolve => setTimeout(resolve, milliseconds)); } async function dtmf_callback() { for (i = 0; i < 30; i++) { await Sleep(500); var dtmf = JSON.stringify(getState("asterisk.0.dialout.dtmf").val); if (dtmf.length>2) { if (dtmf.substring(dtmf.length - 1, dtmf.length)=="5") { console.log("Türöffner"); } else { console.log(dtmf); } setState("asterisk.0.dialout.dtmf", ""); } } }
-
-
Sprechen kannst du aber nicht mit der Türklingel oder?
Es geht hier rein ums Klingeln an den Telefonen? -
Hallo,
nein, wir haben keine Türsprechstelle (Einfamilienhaus), auch keinen Türöffner. Wobei man letzteren mit der obigen Möglichkeit auch ansprechen könnte.
Es geht primär um die Spielerei. Nebenbei kann man auf dem Dachboden auch sehen wer das steht (wenn man denn ein Schnurloses dabei hat).
-
Hi,
nicht falsch verstehen, aber das ist auch möglich mit dem TR-064 Adapter. Da kannst du auch das Telefon klingeln lassen, wenn jemand den Knopf drückt.
Nur so als InfoJemand ist auch schon an einem SIP Client für die VIS dran. Das finde ich ganz interessant.
-
Hallo,
ja, aber nicht die Anzeige des Webcambildes.
In unserem Haus hören wir die Klingel eigentlich überall, aber sehen kann man (fast) nicht, wer vor der Tür steht.
-
Die Option eine Kamera einzutragen habe ich bei der TR-064 Variante auch.
-
Oups,
dann war ich wohl nur zu blöd.
Bei mir habe ich das mit Bild nicht ans Laufen bekommen.
Aber ändern würde ich es nicht mehr. Man kann den Asterisk auch zum Anrufen zur Übermittlung von Statusnachrichten verwenden. Das ist sogar einigermaßen verständlich.
-
war auch nur als Tipp gemeint
Und falls noch andere das lesen und das Gleiche vorhaben. -
@Hansi1234 Nur mal so aus Interesse:
Wie steuerst du mit dem tr064Adapter die Türsprechstelle an? Also löst dort einen Tastendruck aus?
Das habe ich nie hingebracht.
Ich lasse per script auf "ring" die entsprechenden Telefone klingeln. -
@Chaot
Meine Klingel basiert auch dem Doorpi.Das Forenmitglied Wal hat auch mal einen änlichen Adapter (Doorio) für iobroker erstellt.
Klingeln lasse ich mit dem TR-064 Adapter jetzt meine Telefon, wenn jemand klingelt.
Vorher hatte ich das mit dem Picoreplayer und LMS gelöst. Aber diesen baue ich jetzt ein wenig um, darum musste eine Zwischenlösung her. -
@Chaot schade, hier stand blödsinn
-
@Hansi1234 Ach so.
Ja, ich steuere auch die Telefone direkt an mit einem Sonoff und einem Script.
Ich dachte das ich über die Türsprechanlage das Livebild dazuschalten kann auf das Telefon. Aber das scheint leider nicht zu klappen.
Macht auch nichts, da das Bild sowieso an den Tablets dargestellt wird. Wäre nur so als Bonus gewesen. -
@Chaot wenn es nur um das Bild geht, schau mal mein Screenshot oben an.
-
@Hansi1234 Den habe ich ja gesehen. Deshalb dachte ich ich kann anstelle der Telefone die Türsprechstelle ansteuern. Dann wird das Bild übertragen.
Bei meinem Script wird ja ansonsten das Klingeln per internruf auf das/die Telefon/e ausgelöst. Dann wird ja der Kamerapunkt nicht angesteuert. -
@Chaot, ja das Problem hatte ich auch, daher mein Umweg über Asterisk/IP-Telefonie um der Fritzbox eine Türstelle vorzugaukeln.
-
ich selber habe leider kein FritzFon um es zu testen.
Muss denn immer erst ein Anruf getätigt werden um auf die angegebene Kamera zugreifen zu können? -
@Hansi1234: Bei einem Anruf von der Türsprechstelle (und nur von der) zeigt das C4/5/6 das Standbild der Webcam an, dass in der Konfiguration eingegeben ist.
-
@acrasp ok, aber man kann doch bestimmt auch im Menü das Kamerabild auswählen oder nicht?
-
@Hansi1234 ja, kann ma, ist auch einstellbar auf "Wunsch"Taste sich das Bild anzeigen zu lassen
-
@crunchip
Ja dann verstehe ich aber das Problem doch nicht.
Ihr habt doch dann alle Werkzeuge um die Telefone klingeln zu lassen und ein Bild zu sehen. Oder stehe ich gerade auf dem Schlauch?