Werbung
Hinweis: Diese Seite enthält Werbelinks

Smart Home – openHAB 2 Harmony Sprachsteuerung

In diesem Beitrag geht es um die Sprachsteuerung Eurer alten Geräte mittels Logitech Harmony Hub. Wir können also von einer openHAB 2 Harmony Sprachsteuerung sprechen. Das wirklich geniale hierbei ist, dass ich nun nicht nur meine Enigma Box über Sprache bedienen kann. Es ist nun auch möglich meinen ollen Toshiba, meine Logitech Z5500 und die Playstation 3 über Sprache zu bedienen.

Wie das ganze in Aktion aussieht, seht ihr in folgendem Video.

openHAB 2 – Harmony Sprachsteuerung – Konfiguration

Ihr benötigt mehrere Schritte zur Steuerung Eurer alten Geräte mittels Sprache.

openHAB 2 – Harmony Sprachsteuerung – Hardware

Ihr benötigt also die folgenden Komponenten zur Realisierung.

Zum einen wird ein Raspberry Pi benötigt. Dieser ist günstig im Set zu bekommen.

Weiterhin braucht ihr den Harmony Hub.

Eine gute Alternative, falls ihr auch per Fernbedienung einiges steuern wollt ist die Harmony Elite. Hier ist ein Hub dabei und ihr bekommt eine super Fernbedienung dazu.

Und natürlich braucht ihr einen Amazon Echo Dot.

Alles in allem kostet die Umsetzung also um die 150 – 200 € (ohne Elite). Aber dafür alle alten Geräte mittels Sprache steuern? Genial und für mich jeden Cent wert!

openHAB 2 – Harmony Sprachsteuerung – Item Konfiguration

Wurde sowohl das Binding als auch der Hue Emulation Service installiert, geht es an die Konfiguration der Items. Dies ist releativ simpel. Ihr müsst die Kanäle mit dem Tag für die Sprachsteuerung kombinieren.

Ihr sucht Euch daher als erstes den Kanal aus, der den Knopf der Fernbedienung emuliert. Geht hierfür in Eure Thing Konfiguration und öffnet das entsprechende Geräte.

http://<openHABIP:PORT>/paperui/index.html#/configuration/things

Smart-Home-openHAB-2-Harmony-Sprachsteuerung-Kanal

Legt Euch mit dem Channel ein entsprechende Item und vergebt auch gleich das Tag Switchable für die Sprachsteuerung. Dies macht ihr für jedes Thing, welches ihr per Sprache steuern möchtet. Vergesst auch die Aktivität nicht. In meinem Beispiel wähle ich die Aktion und meinen Toshiba TV.

//--> Harmony Hub
// Aktionen
String harmony_hub_ps3 "Playstation 3" (gHarmony) { channel="harmonyhub:hub:HarmonyHub:currentActivity" }

//Geräte
String harmony_tv "Toshiba TV" (gHarmony)  { channel="harmonyhub:device:HarmonyHub:43395493:buttonPress" }

Nun ergänzt ihr noch entsprechende Items für die Sprachsteuerung. Ihr nehmt für jeden Befehl ein Switch Item, welches ihr gleich mit dem entsprechenden Tag für die Sprachsteuerung verseht. Ich wähle hier ein allgemeines Item „Harmony Aktion“ zum ausschalten aller Aktionen. Weiterhin die „Playstation Aktion“ zum anschalten meiner Playstation. Weiterhin möchte ich meinen Fernseher per Sprache an-/ausschalten und die Eingänge HDMI1 und HDMI2 schalten. Hierfür ergänze ich die folgenden Items.

//--> Harmony Hub
// Aktionen
Switch harmony_hub_act "Harmony Aktion" (gHarmony) [ "Switchable" ]
Switch harmony_hub_ps3_act "Playstation Aktion" (gHarmony) [ "Switchable" ]

//Geräte
Switch harmony_tv_power "Fernseher" (gHarmony) [ "Switchable" ] 
Switch harmony_tv_eingang_hdmi1 "Hademi Eins" (gHarmony) [ "Switchable" ]
Switch harmony_tv_eingang_hdmi2 "Hademi Zwei" (gHarmony) [ "Switchable" ]

Was fällt Euch auf? Richtig, die Items habe gar keine Verknüpfung zu einem Binding. Die Schaltung erfolgt hier über entsprechende Regeln.

openHAB 2 – Harmony Sprachsteuerung – Regel Konfiguration

Bei der Erstellung der Regel ist die größte Herausforderung zu verstehen, wo ihr die Werte für die Schaltung herbekommt. Dies macht ihr über die REST Dokumentation. Ist dies noch nicht installiert, nehmt dies über die Paper UI unter Addons -> Misc vor.

Smart-Home-openHAB-2-REST-Documentation

Im Anschluss ruft die REST Dokumentation auf:

http://<openHAB_IP>/doc/index.html

In der REST Dokumentation wählt unter channel-types klickt auf /channel-types/{channelTypeUID} (1), gebt den Namen des Kanal an (2). Diesen bekommt ihr aus dem Thing in der Paper UI. Drückt zum Schluss Try it Out (3)

Smart-Home-openHAB-2-REST-Documentation-Channel

Etwas weiter unten erhaltet ihr die Werte im Bereich Response Body.

Smart-Home-openHAB-2-REST-Channel

Wie ihr hier per Zoom erkennen könnt (oder auch nicht=), gibt es ein Label und ein Value. Nehmt immer den Wert bei Value. Dieser ist der richtige. Nun erstellt eine entsprechende Regel. Hier die Beispielregeln für die oben dargestellten Items. Die Regel sind alle sehr ähnlich aufgebaut. In der When Bedingung steht das Switch Item, welches per Sprache ausgelöst wird. In der Then Bedingung wird der entsprechende Wert an das Harmony Hub Item übergeben.

/**********************************************************************************/
/***************************** Amazon Alexa Rules *********************************/
/**********************************************************************************/

rule "Aktion"
    when
        Item harmony_hub_act received command
    then
    
        switch(receivedCommand) {
            case OFF : harmony_hub_ps3.sendCommand("PowerOff")
            }
               
end

rule "Playstation Aktion"
    when
        Item harmony_hub_ps3_act received command
    then
    
        switch(receivedCommand) {
	    case ON :  harmony_hub_ps3.sendCommand("Wiedergabe PS3")
            case OFF : harmony_hub_ps3.sendCommand("PowerOff")
            }
               
end

rule "Toshiba an/aus"
    when
        Item harmony_tv_power received command
    then
    
        switch(receivedCommand) {
            case ON :  harmony_tv.sendCommand("PowerToggle")
            case OFF : harmony_tv.sendCommand("PowerToggle")
            }
               
end

rule "Toshiba HDMI"
    when
        Item harmony_tv_eingang_hdmi1 received command
    then
    
        switch(receivedCommand) {
	    case ON :  harmony_tv.sendCommand("InputHdmi1")
            }
               
end

rule "Toshiba HDMI2"
    when
        Item harmony_tv_eingang_hdmi2 received command
    then
    
        switch(receivedCommand) {
	    case ON :  harmony_tv.sendCommand("InputHdmi2")
            }
               
end

Das war es. Jetzt ein wenig Phantasie und ihr könnt diverse Ding wie im Video oben zu sehen schalten.

Smarthome Training and Tutorials
Logo