Integration FritzBox in das openHAB-System

Neben der Präsenzsteuerung über die FritzBox bzw. WLAN soll natürlich auch die Hauptfunktion – Telefonie – integriert werden. Ziel soll es sein in openHAB die aktuell eingehenden Anrufe zu visualisieren und über das Regelwerk entsprechend darauf zu reagieren.

Was würdet Ihr noch an Telefonie-Funktionen und Einstellungen einer FritzBox-Telefonanlage abfragen? Welche Ideen habt Ihr dazu?

Aufbau der Items

Aus der Dokumentation habe ich die Items wie folgt übernommen (nur die WAN-IP funktioniert nicht – wahrscheinlich liegt das aber an meinem Glasfaser-Provider bzw. der eigenen Firmware):

String fboxName "FBox Model [%s]" {fritzboxtr064="modelName"}
//String fboxWanIP "FBox WAN IP [%s]" {fritzboxtr064="wanip"}
Switch fboxWifi24 "2,4GHz Wifi" {fritzboxtr064="wifi24Switch"}
Switch fboxWifi50 "5,0GHz Wifi" {fritzboxtr064="wifi50Switch"}
Switch fboxGuestWifi "Guest Wifi" {fritzboxtr064="wifiGuestSwitch"}

// only when using call monitor
Switch fboxRinging "Phone ringing [%s]" {fritzboxtr064="callmonitor_ringing" }
Switch fboxRinging_Out "Phone ringing [%s]" {fritzboxtr064="callmonitor_outgoing" }
Call fboxIncomingCall "Incoming call: [%1$s to %2$s]" {fritzboxtr064="callmonitor_ringing" } 
Call fboxOutgoingCall "Outgoing call: [%1$s to %2$s]" {fritzboxtr064="callmonitor_outgoing" }

// resolve numbers to names according phonebook
Call fboxIncomingCallResolved "Incoming call: [%1$s to %2$s]" {fritzboxtr064="callmonitor_ringing:resolveName" } 

// Telephone answering machine (TAM) items
// Number after tamSwitch is ID of configured TAM, start with 0
Switch fboxTAM0Switch "Answering machine ID 0" {fritzboxtr064="tamSwitch:0"}
Number fboxTAM0NewMsg "New Messages TAM 0 [%s]" {fritzboxtr064="tamNewMessages:0"}

// Missed calls: specify the number of last days which should be searched for missed calls
Number fboxMissedCalls "Missed Calls [%s]" {fritzboxtr064="missedCallsInDays:5"}Aufbau der Sitemap

Aufbau der Regel

Die Regel für ein eingehendes Telefonat ist auch sehr einfach gehalten (hier werde ich ggf. als Aktion mir eine E-Mail oder Nachricht auf das Handy schicken lassen):

rule "Phone is ringing"
 when
 // fboxRinging is a switch item which switches to ON if call is detected
 Item fboxRinging changed to ON 
 then
 logInfo("Anrufermeldung", "Generating caller name message...")
 // fboxIncoming call receives numbers/name of incoming call
 val CallType incCall = fboxIncomingCall.state as CallType
 var callerName = incCall.destNum //destNum is external number OR resolved Name if no phonebook entry exists

 // do something with callerName
 logInfo("fRITZbOX","Externe Nummer: " + callerName)
end

Aufbau der Sitemap

Die Visualisierung sollte nun so aussehen (ich habe eine Unterteilung für technische Einstellungen und alles zur Telefonie eingefügt):

2016-12-08_215228

Umgesetzt wurde das in der Konfiguration wie folg:

Text label="FritzBox" icon="alarm" {
  Frame label="Einstellungen" {
    Text item=fboxName label="Modell"
    Switch item=fboxWifi24 label="WLAN 2,4 GHz"
    Switch item=fboxWifi50 label="WLAN 5,0 GHz"
    Switch item=fboxGuestWifi label="Gäste WLAN"
}
 
Frame label="Anrufe" {
    Switch item=fboxRinging label="Eingehendes Telefonat"
    Switch item=fboxRinging_Out label="Ausgehendes Telefonat"
    Text item=fboxIncomingCall label="Eingehendes Telefonat"
    Text item=fboxOutgoingCall label="Ausgehendes Telefonat"
    Text item=fboxIncomingCallResolved label="Eingehendes Telefonat (Name)"
    Switch item=fboxTAM0Switch label="Anrufbeantworter"
    Text item=fboxTAM0NewMsg label="Anrufbeantworter (neue Nachrichten)" icon="text"
    Text item=fboxMissedCalls label="Verpasste Anrufe" icon="text"
  }
}
9 Kommentare
  1. Willibald
    Willibald sagte:

    Tolle Leistung – du hast den Text des Bindings 1:1 inkl. Fehler per Copy und Paste in dein Blog gewürgt – null eigene Denkleistung. Das die Rule fehlerhaft ist, ist dir nicht aufgefallen? Die ergibt höchstens eine Fehlermeldung unter openHAB 2 – und ja – openHAB 2 ist die aktuelle Version.

    Die Welt braucht noch mehr Copy&Paste-Cowboys ….

  2. Reinhard
    Reinhard sagte:

    Hallo Willibald,

    ich habe die Regel mit openHAB 2.0 erstellt. Vielleicht hat sich da auf den aktuellen Versionen etwas geändert.

    Wo ist den genau der Fehler, dann ändere ich das.

    Vielen Dank für die Rückmeldung.

  3. Lukas K.
    Lukas K. sagte:

    Ich frage mich immer, ob es sinnvoll ist, Anrufer etc. in OpenHab zu integrieren.
    Sicherlich ergeben sich dadurch tolle Möglichkeiten. Man könnte sich beispielsweise – mit Hilfe einer Anwesenheitserkennung – automatisch per E-Mail benachrichtigen lassen, sofern ein Anruf ankommt und man nicht zu Hause ist.
    Oder man lässt sich einfach die Anrufer anzeigen, wenn man einen permanenten Monitor vor sich hat. Aber ansonsten finde ich das doch etwas fraglich, ob man das wirklich braucht.

  4. Lars
    Lars sagte:

    Der Beitrag ist zwar schon etwas her, aber ich möchte doch kurz ein Beispiel nennen, Anrufer in OpenHab zu integrieren:
    Bei mir ist Alexa fleißig eingebunden. Und wenn nun jemand anruft, dann sagt Sie alle 15 Sekunden, wer es ist. Zusätzlich wird noch eine Push-Nachricht generiert (myopenhab) und auf die Mobiltelefone des Hauses gesendet.
    Grüße,
    Lars

  5. Reinhard
    Reinhard sagte:

    Interessanter Ansatz, den muss ich auch mal testen. Hast du da ein Beispiel?

    Wobei viele Anrufe auf dem Festnetz bekommen wir nicht mehr 😉

  6. Raphael
    Raphael sagte:

    Hi.
    Konntest du schon ausprobieren, was Lars vorgeschlagen hat? Einbinden von Alexa bzw Google Home mit Ansage des Anrufers und vllt der verpassten Anrufe?

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.