Smart Home openHAB 2 Harmony Sprachsteuerung

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.

openHAB 2 – Harmony Sprachsteuerung – Konfiguration

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

Werbung

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.

  • Produkt
  • Features
  • Fotos

Vilros Raspberry Pi 3 Complete Starter Kit---Enthalt: Raspberry Pi 3 Model B...

Gewöhnlich versandfertig in 24 Stunden & Versandkostenfrei
Last update was in: 18. Dezember 2017 9:57

69,99

Kaufen
Amazon amazon.de

Weiterhin braucht ihr den Harmony Hub.

  • Produkt
  • Features
  • Fotos

Logitech Harmony Hub

Gewöhnlich versandfertig in 24 Stunden & Versandkostenfrei
Last update was in: 18. Dezember 2017 9:57

69,00 129,00

Kaufen
Amazon amazon.de

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.

  • Produkt
  • Features
  • Fotos

Logitech Harmony Elite - Touchscreen-Fernbedienung für Home Entertainment schwarz

Gewöhnlich versandfertig in 24 Stunden & Versandkostenfrei
Last update was in: 18. Dezember 2017 9:57

219,95 379,00

Kaufen
Amazon amazon.de

Und natürlich braucht ihr einen Amazon Echo Dot.

  • Produkt
  • Features
  • Fotos

Amazon Echo Dot (2. Generation), Schwarz

Gewöhnlich versandfertig in 24 Stunden & Versandkostenfrei
Last update was in: 18. Dezember 2017 9:57

34,99

Kaufen
Amazon amazon.de

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.

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.

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.

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. Hierfür ruft ihr folgende Seite auf.

Das Ergebnis erschlägt einen erst Mal. Ihr könnt aber einfach nach dem Namen Eures Dinges suchen z.B. bei mir Toshiba und ihr findet den Anfang. Das Ende ist durch die Channel ID begrenzt. Hier das Beispielelement von meinem Toshiba mit den entsprechenden Werten.

Smart-Home-openHAB-2-Harmony-Rest-Channel-Types

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.

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

Werbung
16 Comments
  1. Reply
    Michael Aschenborn 30. Juni 2017 at 6:21

    Wieder Mal ein toller Beitrag! Hab das genauso im Einsatz. Für komplexere Szenarien funktioniert es auch super, wenn man die Switches an Harmony hub Szenen koppelt.
    „Fernseher einschalten“ startet bei mir die Harmony Szene „Fernseher“ in der dann wiederum über Harmony die Komponenten gesteuert werden.

    Bin nur noch nicht ganz zufrieden, wenn openHAB eine Abfolge von Tasten senden soll:
    Bei „Audio auf Verstärker einschalten“ muss z.B. Menü, runter, rechts, rechts, runter, enter, Back gesendet werden. Dazwischen muss ich manuell kleine Wartepausen einsetzen. Hier wäre es toll, wenn man irgendwie Tastenfolgen als ganzes übergeben könnte…

  2. Reply
    Thomas Schwarz 30. Juni 2017 at 7:13

    Hallo Michael,

    freut mich. Du erstellst Dir also Regeln in openhab 2 oder machst du das als Aktion mit der Hub App?

    Ich musst bereits beim schalten per Hub Aktionen Verzögerungen einbauen. Ich vermute, dass ist technisch bedingt. Kommen die alten Geräte ggf. nicht hinterher? Abfolge zu schnell?

    Beste Grüße.
    Thomas

    • Reply
      Michael Aschenborn 30. Juni 2017 at 9:59

      Hallo Thomas,
      das ist genau die Frage. Ich finde das zusammenstellen von mehreren Aktionen und Tastendrücken im Hub über die App sehr sperrig und beschränke das auf Szenen (TV, Netflix…) bei denen dann eben die richtigen Geräte eingeschaltet werden.
      Mit openHAB löse ich solche Einstellungs-Hilfen. Um z.B. den Ton zwischen Verstärker und TV umzuschalten muss man sich durch Menüs hangeln. Und das schreib ich mir als openHAB-Ablauf. Nur da muss ich dann waits zwischenreinsetzen und rumprobieren, bis es klappt.
      In der Regel funktioniert es – aber ich würde sagen, dass es noch nicht auf einem Zuverlässigkeitsgrad ist, dass meine Kinder frustfrei den Ton umschalten können – sondern es kommt gelegentlich zu Situationen mit „Paaaapa – komm mal! Der Toooon geht nicht…“

      • Reply
        Thomas Schwarz 30. Juni 2017 at 11:52

        Hey Michael,

        habe ich vielleicht noch nicht verstanden.

        Ich nutze mehre Aktionen wie Fernsehen, Bluray , Fire TV und wechsle bei Bedarf einfach die Aktion. So schaltet doch auch alles korrekt und inzwischen sehr zuverlässig. Also beispielsweise Fernsehen läuft und ich drück auf FireTV, dann schaltet bei mir der Snakebyte HDMI Switch nur die Eingangsquelle um und die Gigablue Box aus. Ich mach zwar alles über die Elite, da mir das Handygefummel zu doof ist, aber die App hat doch eine schöne Anzeige der Aktionsknöpfe. Aber ich kenne das. Es liegt oft an dem was man hat. Wenn es mit Macros / Szenen losgeht wird es unschön.

        Eventuell mal in eine Switch investieren. Diese hab ich und bin immer noch begeistert. 4 HDMI + optischer Ausgang…
        http://amzn.to/2trrWDN

        Aber wenn es nicht geht kann ich das nachvollziehen. Kann gar nicht verstehen warum andere immer so ungeduldig sind. Vielleicht drücken wir unseren Mitbewohnern mal einfach die 4 Verbindungen in die Hand 😉

        BG

  3. Reply
    Michael 30. Juni 2017 at 8:39

    Klasse Beitrag!! Ich bin ja auch der Meinung, dass man die Funktion die man jetzt über Regeln löst, ins Binding integrieren sollte, damit man es schön über die Paper UI konfigurieren könnte. Das hätte stil. Wobei man letzte Woche ja auch lesen konnte, dass Logitech den Alexa-Skill auf Deutsch fast fertig hat.

    Sehr gut finde ich auch Deine Lösung mit dem „Hademi“. Hatte ich noch gar nicht selber dran gedacht. Jetzt darf ich das also heute noch „nachrüsten“. Dieses Blog sorgt mir für zu viel Freizeitbeschäftigung 😉

    Gibt es schon Pläne für das nächste Thema? 😉

    Schönes Wochenende

    • Reply
      Thomas Schwarz 30. Juni 2017 at 10:18

      Hey Michael,

      danke und das macht wirklich Freude. Freue mich auch immer auf neue Tweets von Dir was Du so am WE getrieben hast =)

      Die PaperUI hat definitiv noch potential nach oben. Aber da gibt es andere GUI Alternativen wie HABmin.
      http://docs.openhab.org/addons/uis/habmin/readme.html

      Alexa Skill wusste ich gar nicht. Liest sich aber nicht so flexibel was damit geht. Und ich Liebe es alles in einer Applikation zu haben. =)

      Ja, mit den Abkürzungen muss man ein wenig testen, aber bisher ging alles ganz gut.

      Pläne gibt es jede Menge. Eine neue Serie, die OH mit anderen Lösungen vergleicht werde ich bald starten. Dann sind da noch diverse Integrationen (Chromecast, FireTV, Fritzbox Telefonie, Green IQ…) geplant. Noch gehen mir die Themen nicht aus. Wenn Du mal Wünsche hast, schreib einfach. Vielleicht mach ich auch mal ein Voting, um zu schauen wie es ankommt.

      Dir auch ein tolles WE und schwimm nicht davon =)

      • Reply
        Michael 2. Juli 2017 at 11:00

        Hi Thomas,

        momentan geht es bei meinem Smarthome mehr rückwärts als vorwärts. Ich muss meine Prioritäten auf jeden Fall mal anders sortieren und nicht gleich jedes neue Gateway oder Device anschaffen und inkludieren. Blöde Angewohnheit 😉

        Hier kannst Du das mit dem Alexa-Skill nachlesen: https://www.ifun.de/alexa-anbindung-von-sonos-und-logitech-harmony-vor-der-freigabe-108852/ Klingt jetzt ja grundsätzlich nicht falsch. Denn die Aktionen werden ja trotzdem von Openhab erfasst, aber man kann sich die Regeln sparen. Für Einsteiger bestimmt hilfreich, für Dich wahrscheinlich überflüssig.

        Neben sei noch für die Apple User unter uns erwähnt, dass sobald man die Harmony Items mit [ „switchable“ ] taggt, diese auch per HomeKit und Siri einzuschalten sind. Für den Fall, dass einmal keine Alexa in der Nähe ist.

        Themenwünsche… puh. Also dieser Artikel ist schon wirklich sehr gut. Hilft mir wirklich mein Setup zu verfeinern. Ich hocke momentan an dem Problem, zwei USB-Sticks im Rasperry zu betreiben. Hätte nie gedacht, dass solch eine gefühlte Kleinigkeit so viel Arbeit machen kann. Auf jeden Fall wühle ich mich jetzt durch irgendwelche udev Regeln und eine laufende Lösung ist noch nicht in Sicht.

        Dann lass Dich man auch nicht von dem Norddeutschen Wetter frustrieren und hab noch ein schönes Wochenende 😉

  4. Reply
    Hector 10. Juli 2017 at 23:57

    Hallo,
    wie kann ich denn eine Tastenfolge als then Bedingung auslösen lassen? Ggf. mit delays. Wäre nett, wenn jemand ein kurzes Beispiel posten könnte. Thx

  5. Reply
    Michael 12. Juli 2017 at 14:34

    So steht das bei mir in der Rule:
    PhilipsTV_ButtonPress.sendCommand("Settings")
    Thread::sleep(300)
    PhilipsTV_ButtonPress.sendCommand("DirectionRight")
    Thread::sleep(300)
    PhilipsTV_ButtonPress.sendCommand("DirectionRight")
    Thread::sleep(300)
    PhilipsTV_ButtonPress.sendCommand("DirectionRight")

    • Reply
      Thomas Schwarz 12. Juli 2017 at 21:44

      Danke Michael =)

  6. Reply
    Hector 12. Juli 2017 at 23:45

    Jupp, danke, probier ich aus 🙂

  7. Reply
    Robin Z 15. Juli 2017 at 12:53

    Hallo,

    hat hier schon jemand eine Lösung gefunden wie ich den OpenHAB2 Alexa Skill benutze? Dazu findet man im Internet rein garnichts, würde es aber gerne damit lösen. Aktuell bin ich soweit das der Cloud Service verbunden ist und das Hub komplett eingerichtet mit Things und Items. Unter „Control“ in der PaperUI kann ich auch die Harmony Geräte steuern. Mir fehlt jetzt lediglich das verbinden von Harmony mit Alexa.

    Viele Grüße,
    Robin

    • Reply
      Thomas Schwarz 15. Juli 2017 at 14:41

      Hallo Robin,

      da ich sowenig wie möglich in der Cloud mache, nutze ich den Service nicht. Hast Du deine Items schon „getaggt“? Das musst Du soweit ich weiß immer noch manuell vornehmen, es sei denn im Release 2.1 hat sich etwas dahingehend geändert.

      Per Habmin geht es auch über die UI, wenn Du keine Items per Editor erstellen möchtest.

      Grüße
      Thomas

  8. Reply
    David 31. August 2017 at 20:52

    Hallo Thomas,

    danke nochmal für die ganzen tollen Tipps und Tricks.
    Ich tue mich allerdings gerade noch mit der Sprachsteuerung der Harmony schwer.

    Ausprobieren wollte ich erstmal meine Aktion Fernsehen von der Harmony.
    Darüber werden folgende Geräte angeschaltet Philips TV + VUplus weiterhin wird ein HDMI Switch auf Eingang 1 gestellt.

    Ist es denn möglich über die Regel nicht einfach zu sagen…wenn du das Kommando „Fernsehen“ empfängst dann starte die Aktion „Fernsehen“ der Harmony?

    Meine Items Datei habe ich um folgende Einträge ergänzt…was vermutlich aber so nicht ganz passt.

    //--> Harmony Hub
    // Aktionen
    String harmony_hub_tv "Fernsehen" (gHarmony) { channel="harmonyhub:hub:WohnzimmerHub:currentActivity" }

    Switch harmony_hub_act "Harmony Aktion" (gHarmony) [ "Switchable" ]
    Switch harmony_hub_tv_act "Fernsehen" (gHarmony) [ "Switchable" ]

    //Geräte
    String harmony_tv "Philips TV" (gHarmony) { channel="harmonyhub:device:WohnzimmerHub:37869287:buttonPress" }
    String harmony_vuplus "VUplus" (gHarmony) { channel="harmonyhub:device:WohnzimmerHub:39803332:buttonPress" }

    Switch harmony_tv_power "Fernseher" (gHarmony) [ "Switchable" ]

    Die Rules Datei sieht wie folgt aus: (vermutlich noch viel „falscher“ 🙂 )

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

    rule "Fernsehen"
    when
    Item harmony_hub_tv_act received command
    then

    switch(receivedCommand) {
    case ON : harmony_hub_tv.sendCommand("PowerToggle")
    }

    end

    Vor der Zeile „case ON“ erscheint auch ein Fehlerhinweis „The method or field harmony_hub_tv is undefined“

    Viele Grüße
    David

  9. Reply
    David 1. September 2017 at 16:27

    Problem gelöst!

    Man darf natürlich nicht vergessen die HUE Emulation zu starten 😀
    Es kann so einfach sein 🙂

  10. Reply
    Olli 15. Oktober 2017 at 10:01

    Hallo,
    ich habe mal eine Verständnis Frage. Ich habe alles wie in deinem Tutorial eingerichtet und möchte für den Anfang nur meinen „Denon Receiver“ per Sprachsteuerung ein- und ausschalten. Der ist auch als Thing mit der ID harmonyhub:device:HarmonyHub:22028016 definiert.

    In der „meine.items“ Konfigdatei habe ich folgendes definiert:

    String harmony_denon "Denon Receiver" (gHarmony) { channel="harmonyhub:device:HarmonyHub:22028016:buttonPress" }

    Switch harmony_denon_power "Denon" (gHarmony) [ "Switchable" ]

    Die „meine.rules“ Datei sieht folgendermaßen aus:

    rule "Denon an/aus"
    when
    Item harmony_denon_power received command
    then
    switch(receivedCommand) {
    case ON : harmony_denon.sendCommand("PowerToggle")
    case OFF : harmony_denon.sendCommand("PowerToggle")
    }

    end

    Wenn ich Alexa jetzt sage „Alexa Denon an“ versteht sie den Befehl zwar, macht aber nichts. Was mache ich falsch?

Hinterlasse einen Kommentar

One Smart Home - Ein Smart Home Blog

Music

NUR FÜR KURZE ZEIT!

3 Monate

für nur 0,99 €

 

Jederzeit

kündbar!

WERBUNG

AMAZON

Weitere Details auf der Aktionsseite