Alle Geräte mit Harmony und normalen Fernbedienungen schaltbar machen

  • hier die umsetzung einer idee von @SLiX ...sry für den ideen-diebstahl :thumbup:

    wie der ambitionierte openhab user und Harmony besitzer weiss, kann man aktionswechsel einer harmony in openhab zwar wunderschön auswerten, nicht jedoch einen tastendruck.
    ein umweg (den ich bisher auch genutzt hab) war mittels kodi [definition=10,0][definition='3','0']keymap[/definition][/definition] ein script ausführen zu lassen, welches ein openhab gerät mittels curl anspricht.
    das funktioniert zwar sehr gut, belegt aber auf der [definition=10,0][definition='3','0']keymap[/definition][/definition] tasten und setzt vorraus, dass man zum schalten mit der harmony auch kodi an haben muss.

    hier jetzt die umsetzung um mittels harmony auch autark alle geräte schaltbar zu machen. das ganze funktioniert natürlich auch mit normalen fernbedienungen.

    einkaufsliste:
    - wemos d1 mini (< 2€...bspw https://de.aliexpress.com/item/328313537…rchweb201603_53 )
    - tsop4838 diode (30cent ...bspw https://de.aliexpress.com/item/400018427…rchweb201603_53 )
    - altes usb netzteil

    bitte beachtet, dass bei den o.g. links versandkosten anfallen. es gibt bspw beim wemos aber auch 5er packs ohne bzw mit geringeren versandkosten. zumindest beim wemos gibts immer anwendungsmöglichkeiten, kann man nicht genug im haus haben :thumbup:

    arbeitsschritte:
    - auf den wemos tasmota raufbügeln https://github.com/arendst/Tasmota/releases/tag/v8.1.0
    - mqtt-server und mqtt-topic in tasmota konfigurieren
    - data pin festlegen ("configuration" -> "configure module" ...bei "D4 GPIO2" wählt ihr den eintrag "IRrecv (51)"
    - tsop4838 an den wemos anklemmen (belegung siehe anhang)

    in die openhab things (IN EURE MQTT BRIDGE) folgendes eintragen (topic name, topic, unique name etc muss natürlich auf eure wemos config angepasst werden

    Code
    Thing topic IR_Receiver "IR Receiver"  @ "Wohnzimmer" {
        Channels:
            Type string : IR_Receiver                    "IR Receiver"     [stateTopic="tele/infrarot/RESULT", transformationPattern="JSONPATH:$.IrReceived.Data"]
        }

    in die openhab items kommt (auch da wieder auf euer system anpassen)
    String IR_Receiver "[%s]" {channel="mqtt:topic:embedded-mqtt-broker:IR_Receiver:IR_Receiver"}
    jetzt die harmony software am rechner öffnen, ein neues dummy gerät "erstellen" (am besten von einer marke die ihr nicht besitzt), eure aktionen editieren und dieses gerät mit hinein nehmen, tastennamen des gerätes einzeln und in den aktionen ändern (bspw licht, ventilator etc), harmony synchronisieren.
    openhab [definition='1','0']log[/definition] aufmachen, euer dummy gerät auf der harmony auswählen, eine eurer tasten drücken und den angezeigten wert im [definition='1','0']log[/definition] (bspw 0xE0E048B7) notieren.
    abschliessend fehlt nur noch eine rule um das was ihr wollt auszuführen (eure daten und geräte anpassen)


    bei case 0xE0E0E01F hab ich für rule-einsteiger gleich ein beispiel eingefügt, wie man mit einer taste auf der fernbedienung ein und ausschalten kann.
    bei case 0xE0E0D02F dagegen schaltet die taste dagegen nur einen status (ON)

    ich hab das mal mit ner normalen samsung fernbedienung gemacht, die zeit was bei harmony anzulernen hatte ich nicht.

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.

    fragen, anregungen vorschläge?

  • Wäre es damit nicht auch theoretisch möglich Geräte per IP Kommandos zu steuern?

    Harmony sendet nen IR-Befehl und openHAB übersetzt es dann in ein IP-Kommando um bspw. Kodi hier drüber zu steuern oder andere Geräte.

    Aktuell habe ich ja noch meine NEEO, aber bei dieser ist das Ende ja definitiv vorprogrammiert. Jedoch steuere ich bspw. meine S905 Box bzw. coreELEC darauf nur per IP Kommandos und unseren Kabel Receiver ebenso, da man sonst nur über Umwege auf bspw. die Aufnahmen kommt.

    NAS: Gehäuse: Jonsbo G3, Mainboard: MSI B460M PRO, CPU: Intel Pentium G6400, OS: OMV 6

    Client: NVIDIA Shield Pro 2019

  • Harmony sendet nen IR-Befehl und openHAB übersetzt es dann in ein IP-Kommando um bspw. Kodi hier drüber zu steuern oder andere Geräte.

    ja geht natürlich, du musst jedem ir code per rule einen befehl geben.
    in dem fall würde ich das kodi binding nutzen. da sind ja quasi alle befehle drin.
    also nach schema "neeo ir befehl" ----> "auswertung durch openhab" ----> "befehl ans kodi binding"

  • Hat noch Zeit.

    Die NEEO wird dann eh ausm Haushalt fliegen.
    Sobald die Server abgeschaltet werden kann man die nur noch im IST Zustand nutzen, aber keine Änderungen mehr vollziehen.

    NAS: Gehäuse: Jonsbo G3, Mainboard: MSI B460M PRO, CPU: Intel Pentium G6400, OS: OMV 6

    Client: NVIDIA Shield Pro 2019

  • Hi,

    erstmal danke für die super Anleitung. War sogar für mich als blutiger Openhab Anfänger zu verstehen.
    Jetzt zu meinem Problem:
    Ich würde gerne über meine Harmony die Lautstärke von meinem Echo Studio steuern. Dazu hab ich mir das Binding Echo Control installiert, somit ist es mir möglich die Lautstärke über Openhab zu steuern. Soweit so gut...
    Ich hänge aktuell nur noch an der Rule, die vom Mqtt Server den Infrarot Befehl entgegen nimmt und ihn in das Echo Kommando umwandelt.
    Hier mal das was ich habe...
    Wäre cool wenn mir jemand auf die Sprünge helfen könnte.

    [errorbox]

    Code
    Group   Home         "Home"           <house>                 ["Building"]
    Group   Wohnzimmer   "Wohnzimmer"     <sofa>         (Home)   ["Wohnzimmer"]
    Dimmer Echo_Wohnzimmer_Volume                   "Echo Studio"                        (Wohnzimmer) {channel="amazonechocontrol:echo:account1:echo1:volume"}
    String Echo_Wohnzimmer_TTS                   "Text to Speech"                        (Wohnzimmer) {channel="amazonechocontrol:echo:account1:echo1:textToSpeech"}
    String IR_Receiver "[%s]"  {channel="mqtt:topic:mqttbrokertest:IR_Receiver:IR_Receiver"}

    [/errorbox]

  • zeile 7 in deiner rule ist falsch. "dimmer received command" muss immer "itemname received command" heissen....das mal als grundsätzliches.
    in dem falle natürlich auch "sendCommand"...du willst ja etwas senden. als itembefehl gehen "sendCommand" sowie postUpdate". ersteres sendet etwas und das zweite aktualisiert nur einen itemstatus.
    weiterhin sind so ziemlich alle klammern falsch in der zeile....aber das ist alles learning by doing [ay]
    deine rule könnte bspw so aussehen:

    damit hast du auch "leiser" gleich in der rule drin. den ir code in zeile 10 musst du dann natürlich noch anpassen.
    u.a. bei rechenaufgaben in rules am besten immer "val" nutzen. das verkleinert gerade bei komplexen rules alles nochmal deutlich.

  • Hi nochmal,

    leider funktioniert das ganze auch mit der neuen Regel noch nicht so recht @horschte.

    In der PaperUI unter Control wird mir der IR Code angezeigt und wenn ich das ganze über "Text to Speech" laufen lasse funktioniert alles einwandfrei. Damit meine ich, dass ich meinen Echo "Hallo Welt" sagen lassen kann wenn ich meinen IR Code sende.

    Also vermute ich an der Rule irgendetwas noch nicht passt.

    Ich hänge mal noch den event.[definition='1','0']log[/definition] an, vielleicht hilft das ja weiter.
    Wäre echt super wenn mir noch jemand helfen könnte.

    Kann das einfach nicht abhaben wenn etwas nicht funktioniert. Ich glaube ihr wisst was ich meine [ag]

    event.[definition='1','0']log[/definition]


    texttospeech


  • Erstmal nochmals danke das du überhaupt bereit bist mir zu helfen. Du hast mich glaube ich falsch verstanden. Ich hab damit nicht gemeint das die Rule von dir falsch ist. Ich denke eher das einfach irgendetwas nicht zusammen passt.

    Ich versuch nochmal genau zu erklären was ich vor habe und wie ich bis jetzt vorgegangen bin.

    Über das Echo Control binding steuere ich im Moment die Lautstärke von meinem Echo Studio. Das klappt auch über die PaperUi über das Item Dimmer Echo_Wohnzimmer_Volume ohne Probleme. Das heißt ich kann in der PaperUi über einen Slider die Lautstärke des Echos ändern.
    Soweit so gut.... Jetzt kommt das Problem... Ich wollte die in deinem Tutorial erklärte Methode mit dem Wemos nutzen um mit meiner Harmony diesen Slider anzusprechen und die Lautstärke zu ändern.

    Vllt hat dich ja mein Versuch mit einer anderen Rule verwiert. Die war einfach nur zum Test ob die Verbindung zwischen dem IR_Receiver und dem Echo binding überhaupt funktioniert.
    Da wurde einfach die IR Code ausgelesen und wenn er korrekt war sollte mein Echo "Hello World" sagen. Und das hat auch geklappt.

    Hoffe das ist so einigermaßen verständlich

  • also auch nachdem ich mir das angeschaut habe finde ich da keinen fehler. für mich siehts eher aus als ob die rule gar nicht triggert. ändere die rule mal wie folgt ab:

    beim speichern der rule sofort ins [definition='1','0']log[/definition] schauen ob da ne fehlermeldung kommt. wenn ja hier posten. ansonsten die rule nochmals testen und logs posten.


    edit:

    Ich hänge mal noch den event.[definition='1','0']log[/definition] an, vielleicht hilft das ja weiter.

    wenn du nicht openhabian und fronttail nutzt, dann bitte auch openhab.[definition='1','0']log[/definition] anhängen. da werden die fehler geloggt, nicht in event.[definition='1','0']log[/definition]
    openhabian ist übrigens immer die bessere wahl. da ist allles schon dabei was man braucht bzw vorbereitet für eine einfache installation.

  • Das ist meine home.rules

  • schande über mein haupt...da fehlen die doppelpunkte. habs gestern nur mit nem normalen editor geschrieben [an]
    so ist es richtig (ir code bei "leise" anpassen) :

    edit: hab mal die openhab.[definition='1','0']log[/definition] in deinem beitrag gelöscht. da waren mir zuviele ids drin von amazon ^^....sicherheit geht alle an

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!