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:
- 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:
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?