Onkyo AV Receiver in openHAB integrieren

Ich habe gerade noch gesehen, dass es auch ein Binding für Onkyo-Receiver für openHAB 2.x gibt. Mein Receiver Onkyo TX-NR515 wird dort zwar nicht offiziell unterstützt, aber funktioniert trotzdem einwandfrei. 🙂

Things

Als erstes wieder die “Dinge” erkennen lassen. Bei der manuellen Erkennung hat leider die Steuerung bei mir nicht funktioniert:

onkyo:onkyoAVR:myOnkyo [ipAddress="xxx.xxx.xxx.xxx", port=60128]

Es muss im Binding noch die richtige IP-Adresse angegeben werden.

Ich habe also über Paper UI das Gerät automatisch erkennen lassen. Damit läuft es dann einwandfrei.

Items

Ich nutze an dem Receiver nur die Zone 1 und auch keine NET-Funktionen. Für einen ersten Test kann man die Funktionen wie folgt in seine Item-Datei aufnehmen:

Switch Onkyo_Power "Onkyo - Power" {channel="onkyo:onkyoAVR:xxxIDxxx:zone1#power"}
Number Onkyo_Input "Onkyo - Eingang" {channel="onkyo:onkyoAVR:xxxIDxxx:zone1#input"}
Dimmer Onkyo_Volume "Onkyo - Lautstärke" {channel="onkyo:onkyoAVR:xxxIDxxx:zone1#volume"}
Switch Onkyo_Mute "Onkyo - Stumm" {channel="onkyo:onkyoAVR:xxxIDxxx:zone1#mute"}

Die xxxIDxxx muss noch gegen den richtigen Unique Device Name getauscht werden.

Sitemap

Dann kann man den AVR wie folgt im Web / App visualisieren:

 Text label="Onkyo AVR" icon="video" {
 Switch item=Onkyo_Power label="Ausschalten"
 Setpoint item=Onkyo_Volume label="Lautstärke ändern" minValue=0 maxValue=50 step=1 visibility=[Onkyo_Power==ON]
 Switch item=Onkyo_Mute label="Stumm" visibility=[Onkyo_Power==ON]
 Selection item=Onkyo_Input label="Eingang wechseln" mappings=[01="CBL/SAT", 02="GAME", 03="AUX", 05="PC", 16="BD/DVD", 34="PHONO", 35="TV/CD", 36="FM", 37="AM", 39="NETWORK", 41="USB", 46="BLUETOOTH"] visibility=[Onkyo_Power==ON]
 }

Fazit

Mittlerweile bin ich bei der Einbindung von neuen Geräten in openHAB recht schnell geworden. Man muss aber immer schauen, ob man aus einer Einbindung eines Geräts den entsprechenden Nutzen hat.

Beim Onkyo-Receiver ist mir aufgefallen, dass das entfernte Einschalten nicht funktioniert (aber das Ausschalten). Da ich dafür scheinbar ein Firmeware-Update benötige, werde ich das jetzt erst einmal so belassen (bis ich ein vernünftiges Szenario dafür habe). Leider gab es im Internet einige Beiträge, bei denen nach einem Firmeware-Update der Receiver nicht mehr bedienbar war.

Ich habe zufällig auch bemerkt, dass der Receiver über vTuner auch als Internetradio verwendet werden kann. Das macht natürlich nur Sinn, wenn ich den Radio über openHAB auch einschalten kann 😉

Update openHAB auf 2.0 beta5

Am 24.12.2016 wurde die neue Beta-Version von openHAB 2.0 beta5 veröffentlicht. Hier findet Ihr ein paar Informationen zur Ankündigung und den Erweiterungen.

Falls Ihr die beta4 im Einsatz habt, passt beim Update etwas auf (hier gab es Änderungen die nicht abwärtskompatibel sind). Es wurde von einer proprietären mapdb auf eine offene jsondb gewechselt (und davon gibt es keinen Migrationspfad).

Das Update kann durch die automatische Installation einfach per apt-get durchgeführt werden:

sudo systemctl stop openhab2.service
sudo apt-get update
sudo apt-get upgrade
sudo systemctl start openhab2.service

Ich habe also erst einmal den Dienst gestoppt, dann das Update durchgeführt und der Dienst wird wieder automatisch gestartet.

Danach einmal die Logs und die Bindings kontrolliert. Aus irgendeinem Grund muss ich das KNX und das Fritzbox TR064 Binding neu installieren. Nachdem ich das gemacht habe, haben aber wieder alle Szenarien einwandfrei funktioniert.

Der nächste wichtige Termin ist der 22.01.2017. An dem Tag soll die Version 2.0 offiziell erscheinen 🙂

Habt Ihr auch schon auf beta5 aktualisiert? Falls ja, lief bei euch alles reibungslos?

Telegram-Nachrichten mit openHAB verschicken

Schritt für Schritt wird die Hausautomatisierung ausgebaut. Da ich gerade an der Integration der Rauchmelder bin, möchte ich natürlich eine externe Benachrichtigung auf mein SmartPhone haben, wenn ein Rauchmelder im Haus auslöst.

Normalerweise verwende ich für Nachrichten WhatsApp, aber das ist leider direkt an die Telefonnummer gebunden. Bei onesmarthome habe ich die Integration von Telegram in openHAB gesehen. Damit kann ich alle Nachrichten des SmartHome direkt auf das Telefon “pushen”. Die genaue Einrichtung wird in dem oben genannten Link erklärt.

Hier einmal die Kurzfassung:

  • Binding über “PaperUI – Extensions – Actions – Telegram” installieren
  • Auf dem SmartPhone z.B. Google Play Store die Telegram-App installieren
  • Einen neuen Bot wie folgt anlegen:
    • /newbot
    • [name]
    • [name_bot]
  • Wenn das erfolgreich war, kann man über eine Nachricht an den Bot schicken
  • Diese Nachricht muss noch hier ausgelesen werden: https://api.telegram.org/botAPI/getUpdates (API gegen euren oben generierten Token tauschen)
  • Danach bekommt man eine Message-ID (diese ist für das Binding in openHAB wichtig)
  • Jetzt wird in der telegram.cfg der Bot erstellt und die chatId und der token eingetragen

Jetzt kann man wie folgt per Script oder automatisiert an seinen neuen Bot Textnachrichten senden:

sendTelegram("reinhard", "Licht wurde eingeschalten")

In Kombination mit der Hausautomatisierung und den Rauchmeldern fallen mir da einige Einsatzszenarien ein. Welche Szenarien seht Ihr für Push-Nachrichten direkt auf ein mobiles Endgerät?

Smarter Wecker “BEDDI” ist bestellt

Ich habe mir gerade noch einen smarten bzw. intelligenten Wecker bestellt. Ich denke bei dem BEDDI passt der Funktionsumfang und der Preis sehr gut.

Hier sieht man was man mit dem BEDDI-Wecker alles so machen kann:

Die meisten Funktionen werde ich nicht benötigen. Ich möchte den Wecker nur nutzen um meine openHAB-Regeln und EIB / KNX Funktionen beim Aufstehen zu aktivieren.

Hoffentlich dauert die Lieferung jetzt über Weihnachten nicht zu lange 🙂

Anbindung Rauchmelder an openHAB – durch manuelle Konfigurationen ein Bein gestellt

Da ich meisten im Detail wissen möchte wie ein System funktioniert meine ich meistens Assistenten von Lösungen. Also habe ich auch das Hausautomatisierungssystem openHAB per Hand konfiguriert (und gleich zwei riesen Fehler gemacht).

Manuelles Hinzufügen von “Things”

Laut Dokumentation kann man wie folgt die HomeMatig Bridge und die Things dazu definieren:

Bridge homematic:bridge:ccu [gatewayAddress="homematic-ccu2", callbackHost="192.168.1.1", callbackPort=9125]
{
 Thing HM-RCV-50 BidCoS-RF "HomeMatic CCU2"
 Thing GATEWAY-EXTRAS-CCU GWE00000000 "HomeMatic Gateway Extras"
 Thing ...
}

Leider funktioniert dann die Erkennung nicht und schöne Java-Exceptions erscheinen (sinngemäß: Could not update because it is read-only). Nach Abstimmung mit dem Entwickler sollte man es mal so probieren (es wäre ein Problem im “Core Framework”):

Bridge homematic:bridge:ccu [gatewayAddress="homematic-ccu2", callbackHost="192.168.1.1", callbackPort=9125]

Danach einmal in er Web-Oberfläche die Things aktiviert und schon funktioniert auch die HomeMatic-Anbindung und im Log sind keine Fehlermeldungen mehr.

Test der Rauchmelder per “Script”

Da ich zu faul war, um immer die Rauchmelder “physikalisch” mit Rauch zu aktivieren, habe ich ein Script verwendet das dies per Software hätte umsetzen sollen. Man merkt schon, es hat nicht funktioniert 🙂

Da mir die Tests jetzt gereicht haben, habe ich ein “Test-Rauchmelderspray” bei Amazon bestellt und gehe jetzt auf physikalische Tests mit richtigem Alarmton über. Mal schauen ab wann sich die Nachbarn beschweren 🙂

HomeMatic Rauchmelder an openHAB anbinden

Nachdem die ersten drei HomeMatic-Rauchmelder (HM-Sec-SD-2) jetzt aktiviert und montiert wurden, wollte ich die Komponenten auch noch in openHAB integrieren.

Binding installieren

Im ersten Schritt muss die Paper UI geöffnet und die Erweiterung installiert werden:

  • Extensions – Binding – Homematic Binding = INSTALL

Danach kann man über die Inbox die Things automatisch hinzufügen oder wie ich es gemacht habe manuell.

Things und Bridge

Nun wird die Bridge zur HomeMatic konfiguriert und die ersten Things wie folgt angelegt:

Bridge homematic:bridge:auto [gatewayAddress="HOMEMATICIP", callbackHost="OPENHABIP", callbackPort=9125]
{
 Thing HM-RCV-50 BidCoS-RF
 Thing GATEWAY-EXTRAS-AUTO GWE00000000
 Thing HM-Sec-SD-2-Team SERIAL1
 Thing HM-Sec-SD-2 SERIAL2
}

die HOMEMATICIP, OPENHABIP, SERIAL1 und SERIAL2 muss entsprechend angepasst werden.

Items

Die Items für das zentrale Gateway sehen grob so aus:

Switch hmGateway_GatewayExtras_ReloadAllFromGateway "Gateway (GATEWAY-EXTRAS-AUTO) Gateway-extras - Reload all from gateway" {channel="homematic:GATEWAY-EXTRAS-AUTO:auto:GWE00000000:0#RELOAD_ALL_FROM_GATEWAY"}
Switch hmGateway_GatewayVariable_Alarmzone1 "Gateway (GATEWAY-EXTRAS-AUTO) Gateway-variable - Alarmzone 1" {channel="homematic:GATEWAY-EXTRAS-AUTO:auto:GWE00000000:1#Alarmzone_1"}

Hier ist ein Switch hinterlegt, der alle Daten vom Gateway aktualisiert und eine Systemvariable in der ich die Alarmgruppe der Rauchmelder hinterlegt habe.

Die Rauchmelder sind wie folgt angebunden:

// Funk-Rauchmelder (HM-Sec-SD-2)
// Rauchmelder_EG_Flur_HM-Sec-SD-2
Switch hmFunkRauchmelder_EG_Flur_Maintenance_LOWBAT "Funk-Rauchmelder EG - Flur (HM-Sec-SD-2) Maintenance - Low Battery" {channel="homematic:HM-Sec-SD-2:auto:SERIAL:0#LOWBAT"}
Number hmFunkRauchmelder_EG_Flur_Maintenance_RSSI_DEVICE "Funk-Rauchmelder EG - Flur (HM-Sec-SD-2) Maintenance - Signal Strength" {channel="homematic:HM-Sec-SD-2:auto:SERIAL:0#RSSI_DEVICE"}
Switch hmFunkRauchmelder_EG_Flur_SmokeDetector_LOWBAT "Funk-Rauchmelder EG - Flur (HM-Sec-SD-2) Smoke Detector - Low Battery" {channel="homematic:HM-Sec-SD-2:auto:SERIAL:1#LOWBAT"}
Switch hmFunkRauchmelder_EG_Flur_SmokeDetector_STATE "Funk-Rauchmelder EG - Flur (HM-Sec-SD-2) Smoke Detector - State" {channel="homematic:HM-Sec-SD-2:auto:SERIAL:1#STATE"}

SERIAL muss noch gegen die richtige Seriennummer des Geräts getauscht werden.

Sitemap

Am Schluss kann die Konfiguration noch wie folgt visualisiert werden:

Frame label="Sicherheit" { 
 Text label="Rauchwarnmelder (HomeMatic)" {
 Frame label="Einstellungen" {
 Switch item=hmGateway_GatewayExtras_ReloadAllFromGateway label="Reload all from gateway"
 Switch item=hmGateway_GatewayVariable_Alarmzone1 label="Alarmzone 1"
 } 
 Frame label="Funk-Rauchmelder EG - Flur (HM-Sec-SD-2)" {
 Switch item=hmFunkRauchmelder_EG_Flur_Maintenance_LOWBAT label="Maintenance - LOWBAT"
 Text item=hmFunkRauchmelder_EG_Flur_Maintenance_RSSI_DEVICE label="Maintenance - RSSI_DEVICE" icon="text"
 Switch item=hmFunkRauchmelder_EG_Flur_SmokeDetector_LOWBAT label="Smoke Detector - LOWBAT"
 Switch item=hmFunkRauchmelder_EG_Flur_SmokeDetector_STATE label="Smoke Detector - STATE"
 } 
 } 
}

Damit hat man über das Web und die App Zugriff auf die Daten.

Fazit

Leider ist die HomeMatic-Anbindung nicht so ganz verbreitet und man findet wenig Informationen zur Anbindung von Rauchwarnmeldern.

Aktuell können die Zustände zwischen HomeMatic und openHAB nur mit dem oben genannten Schalter ausgetauscht werden. Das ist für eine spätere produktive Verwendung von Rauchmeldern keine Option. Auch erscheinen noch einige Fehlermeldung bezüglich “read-only” der HomeMatic-Komponenten im Log.

Ich werde jetzt erst einmal die nächsten Rauchmelder in Betrieb nehmen und dann die “nice to have” Visualisierung vervollständigen.

Hat jemand ein ähnliches Problem / Phänomen mit HomeMatic in Kombination mit openHAB?

openHAB 2.x in Verbindung mit unserem Samsung TV

Als nächstes soll unser Samsung TV (UE46D7090) in die Hausautomatisierungssoftware openHAB integriert werden. Ziel ist es nicht mehr eine extra App von Samsung als Fernbedienungsersatz zu verwenden, sondern alles zentral über openHAB zu steuern.

Eine grobe Übersicht über das Samsung-Binding bekommt man hier. Nun muss man sich überlegen, ob man die Konfiguration lieber über die Konfigurationsoberfläche “Paper UI”  umsetzen möchte oder ob man lieber in den Text-Dateien konfiguriert. Ich habe beide Wege getestet, ich finde die manuelle Konfiguration für mich passender.

Variante 1: Konfiguration über “Paper UI”

Man ruft die Web-Oberfläche des openHAB-Systems auf und nimmt folgende Einstellungen vor:

  • Installation des Bindings vornehmen:
    • Paper UI – Extensions – Bindings – Samsung TV Binding = Install
  • Gefundenen TV als “Thing” aktivieren:
    • Paper UI – Inbox
  • Optional: Konfiguration vornehmen z.B. Host Name, Port
    • Paper UI – Configuration – Things (Edit mit Bleistift)
  • Items erstellen und entsprechend verknüpfen:
    • Paper UI – Configuration – Things (Funktionsmenü mit “T”) – Anpassung der “Funktionen” z.B. Linked Items zum TV (diese habe ich manuell vorgenommen, da ich sprechendere Namen als bei der automatischen Erkennung wollte)
  • Funktionstest der Konfiguration vornehmen:
    • Control

Und schon ist der Smart-TV in das openHAB-System integriert. Bei diesem Weg kann man aber keinen Einfluss auf die Benennung der “Items” nehmen. Darum habe ich mich für eine manuelle Variante entschieden 🙂

Variante 2: Manuelle Konfiguration

Things erstellen

Thing samsungtv:tv:livingroom [hostName="xxx.xxx.xxx.xxx", port=55000, refreshInterval=1000]

Damit wurde das “Ding” mit einem etwas sprechenderem Namen erstellt. Der Parameter hostName muss entsprechend angepasst werden.

Items erstellen

Dimmer SamsungTV_Volume "Samsung TV - Lautstärke ändern" {channel="samsungtv:tv:livingroom:volume"}
Switch SamsungTV_Mute "Samsung TV - Stumm" {channel="samsungtv:tv:livingroom:mute"}
String SamsungTV_Source_Name "Samsung TV - Quellename" {channel="samsungtv:tv:livingroom:sourceName"}
Number SamsungTV_Channel "Samsung TV - Kanalnummer" {channel="samsungtv:tv:livingroom:channel"}
String SamsungTV_Program_Name "Samsung TV - Kanalname" {channel="samsungtv:tv:livingroom:channelName"}
String SamsungTV_Program_Title "Samsung TV - Programmtitel" {channel="samsungtv:tv:livingroom:programTitle"}
String SamsungTV_Key_Code "Samsung TV - Funktion aufrufen" {channel="samsungtv:tv:livingroom:keyCode"}
Switch SamsungTV_Power "Samsung TV - Ausschalten" {channel="samsungtv:tv:livingroom:power"}

Damit hat man schon einmal die Hauptfunktionen für den Samsung TV in openHAB integriert. Nun ist auch ein Test über das “Control” Menü in “Paper UI” möglich. Als guter Funktionstest hat sich die keyCode-Funktion heraus gesellt (hier gib es ein paar Detailkommandos dazu).

Integration in Sitemap

Text label="Samsung TV" icon="video" {
Frame label="Samsung TV Control" {
Switch item=SamsungTV_Key_Code label="Kanal wechseln" icon="text" mappings=[KEY_CHUP="+", KEY_CHDOWN="-"]
Switch item=SamsungTV_Key_Code label="Lautstärke ändern" icon="text" mappings=[KEY_VOLUP="+", KEY_VOLDOWN="-"]
Switch item=SamsungTV_Key_Code label="Stumm" icon="text" mappings=[KEY_MUTE="ON", KEY_MUTE="OFF"]
Switch item=SamsungTV_Power label="Ausschalten"
} 
}

Die konfigurierten Optionen sollen nun auch noch in der Web-Oberfläche und der App dargestellt werden. Dazu ist die oben beschriebene Integration in die Sitemap notwendig (ich habe die Funktionen über den keyCode integriert – das war die einfachste Variante).

Automatisierung über Rules

rule "TV Test bei KNX"
 when
 Item Licht_EG_Buero received update ON 
 then
 SamsungTV_Key_Code.sendCommand("KEY_SOURCE")
end

Jetzt besteht auch noch die optionale Möglichkeit die verschiedenen Systeme zu kombinieren. In einem ersten Versuch wird beim Einschalten des Büro-Lichts über das Bus-System das Eingabemodul des TVs gewechselt (kein realistisches Beispiel, aber für einen Test in Ordnung).

Fazit

Hier sieht man, dass man sehr schnell verschiedene Systeme in openHAB integrieren kann. Etwas Zeit hat es mich gekostet einmal den automatischen Weg und einmal den manuellen Weg umzusetzen (das hat mich aber interessiert).

Etwas schwierig ist, dass es je nach openHAB-Version (1 oder 2) unterschiedliche Dokumentationsstände und Aussagen in Foren über die Bindings gibt. Aber mit etwas Einlesen klappt das auch 🙂

Welche Funktionen fallen euch bei der Integration eines Fernsehers in ein Automatisierungssystem ein? Was seht Ihr noch für Erweiterungen?

HomeMatic mit Rauchmelder verbinden

Die Verbindung der Zentraleinheit mit den Funk-Rauchwarnmeldern (HM-Sec-SD-2) geht auch recht einfach (das habe ich mir im ersten Schritt schwieriger vorgestellt).

In ein paar Minuten waren die Geräte miteinander verbunden und damit einsatzbereit (einen weiteren Funktionstest konnte ich um diese Uhrzeit jetzt nicht mehr durchführen):

  • Erst einmal die Weboberfläche öffnen – http://homematic-ccu2 (wenn man nichts geändert hat)
  • Geräte anlernen – dann “HM Gerät anlernen” aktivieren (dann läuft ein 60 Sekunden Countdown)
  • Am Rauchmelder den Funktionsknopf ein paar Sekunden drücken (nicht nur kurz, da wird ein schriller Alarm ausgelöst)
  • Wenn die Verbindung erfolgreich war (LED blinkt grün), mit allen Rauchmeldern wiederholen
  • Danach unter “Einstellungen – Geräte – Posteingang” die notwendigen Geräte und Gruppen bestätigen
  • Nun kann man unter “Einstellungen – Geräte” den Rauchmeldern und der Rauchmeldergruppe einen sprechenden Namen geben
  • Hierbei habe ich dann auch gleich unter “Einstellungen – Räume” alle Zimmer angelegt (diese kann man dann auch gleich den Geräten zuweisen)
  • Als letztes definiert man noch eine zentrale Rauchmeldergruppe für alle Rauchmelder

Und schon sind die Rauchmelder in einer Gruppe an der Zentraleinheit angeschlossen und können verwendet werden.

Jetzt muss ich mal ein paar Detailfunktionen suchen z.B. Funktionstest bei allen Meldern gleichzeitig durchführen, Melder für Alarmanlage verwenden.

Wer von euch hat die HomeMatic-Rauchwarnmelder im Einsatz? Wie kann man die Geräte im Detail konfigurieren?

HomeMatic CCU2 in Betrieb nehmen

Die gelieferte HomeMatic Zentrale CCU2 (Central Control Unit) soll nach der Lieferung auch in das Netzwerk / Haus integriert werden 🙂

Die Zentrale und die Rauchmelder sieht man hier:

20161220_153003

Die Inbetriebnahme ist mit der beigefügten Anleitung ganz einfach:

  • CCU2 mit Netzwerk und Strom verbinden
  • IP-Adresse wird per DHCP bezogen
  • http://homematic-ccu aufrufen
  • Update für die neueste Version durchführen (von 2.1.3 auf 2.25.15)
  • Uhrzeit und Datum wird automatisch aus dem Internet übernommen

Und schon hat man in ein paar Minuten ein HomeMatic-System in die vorhandene Umgebung integriert.

Die Weboberfläche sieht für mich etwas “altbacken” aus (das ist aber nur der erste optische Eindruck). Bei meinem Anwendungsfall ist das egal, da ich ja eh openHAB als Frontend verwende und die Komponenten in HomeMatic nur kurz anlernen muss.

Wenn ich später noch Zeit habe, werde ich die ersten drei Funk-Rauchwarnmelder an der CCU2 “anlernen” 🙂

HomeMatic Zentrale und Rauchmelder wurden geliefert

Heute kamen die ersten HomeMatic-Komponenten für den Test der Rauchmelder an 🙂