smarthome-tricks.de

ioBroker und Fritzbox – Anrufbenachrichtigung per Telegram

In diesem Artikel zeige ich Dir, wie ich eine Anrufbenachrichtigung per Telegram implementiert habe.

Im letzten Artikel habe ich Dir die Installation und Einrichtung des ioBroker TR-064 Adapters gezeigt. Dabei bin ich auch kurz auf die verfügbaren Datenpunkte und Anwendungsmöglichkeiten eingegangen. In diesem Artikel werden wir uns jetzt ein Blockly-Script erstellen, mit dem wir bei einem eingehenden Anruf eine Benachrichtigung per Telegram erhalten können.

Bevor wir das eigentliche Script erstellen und besprechen, hier die dafür verwendeten Datenpunkte des TR-064 Adapters:

Im Ordner callmonitor – inbound findest Du die oben dargestellten Datenpunkte. Der Datenpunkt callee speichert die aktuell angerufene Telefonnummer. Im Datenpunkt calleeName wird die Bezeichnung des Anrufers gespeichert. Der Datenpunkt caller speichert die aktuell anrufende Nummer, der Datenpunkt callerName den Name der Telefonnummer aus dem Telefonbuch der Fritzbox. Der Datenpunkt json speichert die Daten in Form einer JSON-Zeichenkette. Im timestamp Datenpunkt wird der Zeitpunkt des Anrufs gespeichert.

Nach dem wir uns jetzt die Datenpunkte angesehen haben, werden wir im nächsten Schritt mit der Erstellung des Scripts beginnen. Hierfür wechseln wir in den Bereich Skripte und erstellen über die Plus-Schaltfläche ein neues Script.

Ich habe hier den Typ Blockly gewählt.

Anbei das fertige Script zum direkten Download:

Blockly - TR-064 Anruf-Benachrichtigung über Telegram (940 Downloads)

Im Script habe ich zunächst einen Trigger auf den Datenpunkt tr-064.0.callmonitor.inbound.json erstellt. Bei einer Änderung des Datenpunkts wird dann die Variable callerName auf einen Leerstring gesetzt. Über den Timeout-Block stelle ich hier sicher, dass alle Datenpunkte mit den korrekten Inhalten gesetzt sind. Im nächsten Schritt lese ich mir dann die Datenpunkte callerName, caller und callee in lokale Variablen. Im Falls-Block frage ich die Länger des CallerNames ab (Anrufer-Name) um diesen somit bei Bedarf in die Nachricht zu schreiben. Abschließend wird dann dann die messageText-Variable mit den Variablen zusammengesetzt und an die Telegram-Instanz übergeben.

Über Kommentare unterhalb des Artikels oder per E-Mail freue ich mich wie immer 🙂

Die mobile Version verlassen