. OpenHAB2 – Sonos und FRITZ!Box – Smarthome

OpenHAB2 – Sonos und FRITZ!Box

Ups, da war die Musik wohl mal wieder zu laut und man hat den Anruf verpasst. Das sollte doch eigentlich mit einem SmartHome lösbar sein. Für viele bedeutet SmartHome ja einfach toll Lichter und sonstige Dinge vom Handy an und ausknipsen können, für mich ist der Fokus aber ein anderer. Die Automatisierung soll automatisch für mehr Komfort sorgen ohne, dass ich etwas dafür tun muss. So z.B. auch meine Steuerung des Frühstücksradios. Genauso soll hier TV und Sonos im Bedarfsfall still sein, wenn ein Anruf kommt. Die Erkennung läuft über die FRITZ!Box gemeinsam mit dem TR064 Binding. Dazu braucht man ein Item welches das Klingeln abfragt:

Switch  FBX_ringing "Anruf eingehend [%s]" {fritzboxtr064="callmonitor_ringing" }

Für die Sonos und das Samsung TV habe ich jeweils ein Item zum Muten angelegt

Switch  SON_mute "Sonos Mute" {channel="sonos:PLAY1:RINCON_XXXXXXXXXXX:mute"}
Switch	SAM_mute "TV Mute"    {channel="samsungtv:tv:XXXXXXXXXXXXXXXXX:mute"}

Und hier die einfache Regel dazu. Für mich war nur wichtig, dass das Muten nur rückgängig gemacht wird, wenn es auch aus der Regel kommt, deshalb merke ich mir das in den Variablen sonos und tv.

var sonos = 0
var tv = 0

rule "Anruf an"
  when
    Item FBX_ringing changed from OFF to ON
  then
    if ( SON_status.state == "PLAYING") {
      logWarn("Anruf", "Sonos Mute ON")
      sendCommand(SON_mute, ON)
      sonos = 1
    }
    if ( SAM_on.state == ON && SAM_mute.state == OFF) {
      logWarn("Anruf", "TV Mute ON")
      sendCommand(SAM_mute, ON)
      tv = 1
    }
end

rule "Anruf aus"
  when
    Item FBX_ringing changed from ON to OFF
  then
    if ( sonos === 1 ) {
      logWarn("Anruf", "Sonos Mute OFF")
      sendCommand(SON_mute, OFF)
      sonos = 0
    }
    if ( tv === 1 ) {
      logWarn("Anruf", "TV Mute OFF")
      sendCommand(SAM_mute, OFF)
      tv = 0
    }		
end

Das Ganze geht mit Sicherheit auch noch deutlich komplexer da es in meinem Fall aber genau ein Festnetztelefon im Haus gibt und ich somit nur die Sonos und den Fernseher in diesem Raum muten muss reicht das völlig für mich.