Seite 1 von 2
harmony Hub Kommandos
Verfasst: 2. Mai 2019 00:08
von Mr. BJ
Hallo zusammen,
ich habe heute das harmony Binding in openHAB2 (ich möchte es in habPanel verwenden) eingebunden. Die Aktionen ausführen funkioniert ganz gut aber mein Problem ist das ich nicht weis wie ich die einzelnen Button emulieren soll.
Ich weis das es den Befehl/Value ButtonPress der einzelnen Geräte gibt aber da die Aktionen bereits in der Harmony existiert möchte ich keine neue Regeln verwenden sondern das gleiche machen was die Orginal Fernbedienung tut...einfach Lautstärke+ senden und die Harmony weis dann welches Geräte für die Lautstärke zuständig ist.
Weis jemand wie man das hinbekommt?
Gruß und besten Dank im Vorraus,
Björn
Re: harmony Hub Kommandos
Verfasst: 2. Mai 2019 06:51
von sihui
Mr. BJ hat geschrieben: ↑2. Mai 2019 00:08
einfach Lautstärke+ senden
Code: Alles auswählen
String HarmonyWZBose <receiver> (gRestore) { channel="harmonyhub:device:HarmonyWZ:123456789:buttonPress" }
Code: Alles auswählen
Switch item=HarmonyWZBose label="Lautstärke" mappings=["VolumeUp"="Lauter","VolumeDown"="Leiser"] icon="soundvolume"
Das "VolumeUp" und "VolumeDown" musst du natürlich an dein Gerät anpassen.
Re: harmony Hub Kommandos
Verfasst: 2. Mai 2019 09:35
von Mr. BJ
Das "VolumeUp" und "VolumeDown" musst du natürlich an dein Gerät anpassen.
Genau das ist ja mein Problem. Gut, vielleicht war das mit der Lautstärke bzw. Verstärker ein schlechtes Beispiel da es meistens nur ein Gerät ist.
Nehmen wir das Steuerkreuz das wird von verschiedenen Geräten verwendet...Receiver, Fire TV Stick, Playstation (BR schauen).
Das Hauptproblem ist wohl habPanel, dort kann man die Oberfläche nicht dynamisch (z.B. durch Regeln) ändern wenn man die Aktion ändert. Sprich, andere Aktion muss das Steuerkreuz an ein anderes Gerät senden. Deswegen hatte ich das Beispiel mit der Fernbedienung z.B. die Elite gebracht. Die ist im Prinzip dumm, Sie schickt nur ein Code von der genutzten Taste an den Hub und dieser weis welche Aktion gerade ausgeführt wird und sendet das Signal an das entsprechende Gerät.
Danke dir für deine Hilfestellung.
Re: harmony Hub Kommandos
Verfasst: 2. Mai 2019 13:41
von mamoel
Bist Du sicher, dass wenn Du 'VolumeUp' an den 'buttonPress'-channel übergibst nicht das zur aktuellen Harmony-activity passende Gerät gesteuert wird?
Das müsste doch den gleichen Effekt haben, wie wenn Du auf Deiner Harmony-Fernbedienung 'Vol+' drückst.
Aber selbst wenn das so nicht funktionieren sollte, kannst Du das mit HABpanel lösen. Du müsstest Dir für die einzelnen Tasten in HABpanel Dummy Items anlegen und dann die normalen (DSL-)Rules triggern. Innerhalb der Rule kannst Du dann machen, was Du willst.
Re: harmony Hub Kommandos
Verfasst: 2. Mai 2019 14:03
von Mr. BJ
Ich bin ein wenig weiter.
Es reicht ein Item mit dem Channel
anzulegen und die dementsprechende values (Mute,VolumeDown,VolumeUp,DirectionDown,DirectionLeft, usw.). Somit braucht man keine Dummy-Items. OH reagiert auch darauf aber keine reaktion beim Hub.
dann die normalen (DSL-)Rules triggern. Innerhalb der Rule kannst Du dann machen, was Du willst.
Das mit den Regeln ist mir schon klar aber so muss ich immer die Aktionen in der Harmony App einrichten und zugleich Regeln in OH einfügen bzw. ändern und dieses möchte ich gerne verhindern.
Was ich komisch finde das in der Binding-Doku folgendes steht:
Hubs can also send a button press to a device associated with the current activity. A String item can be used to send any button name/label or a Player item can be used to send Play/Pause/FastForward/Rewind/SkipForward/SkipBackward. This mimics the physical remote where buttons are mapped differently depending on which activity is running.
https://github.com/openhab/openhab2-add ... harmonyhub
Somit sollte eigentlich das alles so funktionieren wie ich es gerne möchte.
Re: harmony Hub Kommandos
Verfasst: 2. Mai 2019 14:30
von mamoel
Sorry, mir war gar nicht mehr bewusst, dass der 'buttonPress'-channel nur auf Device-Ebene und nicht auf dem Hub selbst verfügbar ist.
Re: harmony Hub Kommandos
Verfasst: 2. Mai 2019 17:00
von Mr. BJ
Du liegst ja nicht falsch...also wenn mein Englisch nicht zu schlecht ist... Laut der Doku kann man ja die Geräte der aktuellen Aktion mit channel="harmonyhub:hub:DEIN_HUB:buttonPress" (Den musst/kannst du als virtual Item anlegen) steuern aber bei mir reagiert nur OH (Karaf-Konsole) und nicht der harmony Hub.
Re: harmony Hub Kommandos
Verfasst: 2. Mai 2019 19:19
von sihui
Ich verstehe die ganze Diskussion nicht: wenn bei mir die Lautstärke mit den unten geposteten Befehlen funktioniert warum sollte es denn nicht genauso bei euch funktionieren?
Natürlich werden die Lautstärkebefehle an genau das Gerät gesendet welches auch direkt von der Fernbedienung oder der App angesteuert wird.
Also einfach die Konfiguration der Fernbedienung aufrufen und schauen, wie diese Befehle bei euren Geräten heißen. Ich möchte fast wetten ebenfalls "VolumeUp" und "VolumeDown".
Have fun.
Re: harmony Hub Kommandos
Verfasst: 2. Mai 2019 19:21
von sihui
Mr. BJ hat geschrieben: ↑2. Mai 2019 17:00
Den musst/kannst du als virtual Item anlegen
Wie soll das gehen? Dann brauchst du eine Regel um das Binding anzusteuern. Aber warum kompliziert wenn es auch einfach (und direkt) geht?
Re: harmony Hub Kommandos
Verfasst: 2. Mai 2019 19:28
von mamoel
Ich habe das Item auch mal händisch angelegt, aber den Kanal dazu gibt es einfach nicht. Deshalb funktioniert das Senden auch nicht wirklich.
Im Log sieht das dann so aus:
Code: Alles auswählen
2019-05-02 19:17:46.473 [ome.event.ItemCommandEvent] - Item 'HarmonyHubHarmonyHub_ButtonPress' received command VolumeUp
2019-05-02 19:17:46.474 [nt.ItemStatePredictedEvent] - HarmonyHubHarmonyHub_ButtonPress predicted to become NULL
Der Hub hat - zumindest wenn über die Autodetection erkannt - nur die drei Kanäle:
- Activity Starting Trigger
- Activity Started Trigger
- currentActivity
Die Doku kann nicht korrekt sein oder ich habe irgend etwas verpasst.