Logitech Harmony Hub Modul [Testversion]

Hallo miteinander,

in der Diskussion trat letztes Jahr mal die Aussage auf, dass ein Tastendruck der Harmony
nur über den Weg ROKU / FHEM usw. auswertbar ist.
Dies ist deshalb so, weil in Symcon ein Multicast xy erst ab Version 4.1 verfügbar ist.

Ist das immer noch so, d.h. ich muss über die Krücke FHEM das ganze einrichten, oder gibts
da mittlerweile einen direkten Weg ?

Ich frage deshalb, weil ich zwar die FHEM / fakeRoku Geschichte gemäß Anleitung eingerichtet hab,
aber die Harmony bzw. die APP das ROKU Device beim WLAN Scan nicht findet.
Ferner wärs natürlich schon besser das ganze „direkt“ zu betreiben.

Kann doch eigentlich nicht sein, dass die FHEM’ler das „kostenlos“ hinbringen und im Bezahlprodukt
Symcon klappts nicht, oder ?

(FHEM installiert auf virtuellem Windows 7 / Firewall aus)

Da bin ich ganz Deiner Meinung, ich möchte nur nicht unnötig basteln sondern den Multicast Socket von IPS dazu nutzen.

Das Problem liegt darin, das der Multicast Socket in der jetzigen Form dafür leider nicht geeignet ist, da es an einer Funktion fehlt. Dies ist auch bekannt und sobald dies von IP-Symcon gelöst ist könnte man den Multicast Socket auch dafür nutzen. Da der Bedarf dazu da ist und ich sicher nicht der einzige bin der darauf wartet kann das ja eventuell IP-Symcon priorisieren das der Multicast Socket vollständig nutzbar ist. Natürlich lässt sich eine Lösung auch unabhängig von dem Multicast Socket von IP-Symcon nur mit PHP realisieren ich hatte nur keine Lust das anzugehen. Dies kostet nur wieder Zeit und wird dann durch die „richtige“ Lösung ersetzt. In sofern warte ich und auch andere darauf das es dazu möglichst bald eine Lösung von IP-Symcon gibt, so lange wird man noch den Weg über FHEM gehen müssen.

Zu Deinem eigentlichen Problem eigentlich sollte der FakeRoku durch die Harmony App gefunden werden. Auf welchem Betriebssystem läuft denn FHEM, eventuell ist irgendein Port geblockt?

Hallo Fonzo,

erst einmal vielen Dank für das klasse Modul!!!

Damit konnte ich mir die Harmony-Hub-Befehle über das IPS-Plugin in Mediola Neo holen. Allerdings muss ich nach einer Geräte- oder Aktionsänderung im Hub in IPS ja die Konfiguration neu auslesen und auch Setup Harmony durchführen. Letzteres führt aber dazu, dass die Objekt-IDs sich ändern. Damit muss aber auch ein neuer Geräte-Import in Neo durchgeführt und die Fernbedienungstasten dort nachgezogen werden, was ein erheblicher Aufwand ist.

Ginge es nicht, dass in IPS nach dem Auslesen der Konfiguration (1) nur die Objekte ergänzt werden, die bislang noch nicht angelegt waren, und (2) bestehende Objekte lediglich angepasst werden (etwa bei Änderung einer Aktion dass nur der Skript-Inhalt angepasst wird) bei gleichbleibender Objekt-ID? Dann würde auch in Neo alles unverändert bleiben können.

Viele Grüße

Götz

Doch das sollte gehen, bei mir wird auch nichts neu angelegt wenn das schon existiert. Es kann aber sein das ich das nur im Entwicklungsbranch vor längerer Zeit angepasst hatte und diese Änderung nicht in den Master Branch übernommen habe, da ich noch andere Änderungen übernehmen wollte, wie Multicast Socket. Hier bin ich aber immer noch darauf angewiesen das IP Symcon fehlende Funktionen des Multicast Sockets ergänzt (s.o.) bevor ich alle Änderungen im Master übernehmen kann. Ich werde mir aber mal das Verhalten mit dem Master Branch anschauen und da dann einen Fix einbauen der das Verhalten behebt.

Super, vielen Dank!

Hallo Fonzo,

ich würde mir gerne in IPSView Senderlogos anlegen, über diese ich dann direkt auf einen Kanal umschalten kann.
Bei einstelligen Nummer klappt das, aber sobald diese zwei- oder dreistellig werden verschluckt der HUB immer eine Zahl. Mit den Werten bei Sleep habe ich auch schon gespielt…

Hier mein Versuch.

<?

//	Sky Buli 1

LHD_Send(40292 /*[Hardware\Harmony Hub\Logitech  (192.168.1.42)\Sky+ Receiver]*/, "2");
IPS_Sleep(1200);
LHD_Send(40292 /*[Hardware\Harmony Hub\Logitech  (192.168.1.42)\Sky+ Receiver]*/, "2");
IPS_Sleep(1200);
LHD_Send(40292 /*[Hardware\Harmony Hub\Logitech  (192.168.1.42)\Sky+ Receiver]*/, "1");

?>

Beste Grüße
Kai

Was für einen Receiver nutzt Du denn um Sky zu schauen? Muss ich selber mal schauen habe ich ehrlich selber noch nicht benutzt, da ich Sender über die Dreambox umschalte und selber gar keine 3 stelligen Codes eingebe.

Hallo Fonzo,

es scheint jetzt zu funktionieren. Habe IPS mal neu gestartet.
Ich nutze den standard Sky Receiver. Werde es beobachten und mich ggfs. nochmal melden.

Vielen Dank für die schnelle Antwort.

Beste Grüße
Kai

Zum Nutzen der Haussteuerungstasten auf der Companion bin ich auch den Weg über die HA Bridge gegangen, da ich von der FHEM-Lösung auf S. 7 erst später erfahren habe. Bevor ich umstelle wäre es hilfreich zu wissen, ob über die FHEM-Lösung auch ausgewertet werden kann, ob eine FB-Taste kurz oder lang gedrückt wurde.

Danke schon einmal und viele Grüße…

Der Unterschied ist das bei der HA-Bridge eine Lampe emuliert wird, diese lässt sich also auch auch die SmartHome Tasten (Steckdose, Lampe) der Remote legen. Das ist mit FakeRoku nicht möglich, da es sich ja um einen emulierten Roku Player handelt. In der Harmony Konfiguation mit der Logitech Software kannst Du grundsätzlich auf eine Taste einen langen und kurzen Tastendruck legen. Daher kannst Du auch auf einer Taste zwei Befehle legen und dies dann zu differenzieren. Am besten ist das man wertet in IP-Symcon zusätzlich die Variable mit der Harmony Aktion aus, dann hast Du ja die Möglichkeit in IP-Sycom einen spezifischen Befehl abhänig von einer Harmony Aktion aufzurufen.

Danke, Fonzo. Dann ist das wohl eher eine parallele als eine alternative Geschichte…

Hi Zusammen,

habe eine Harmony Ultimate und auch die Hue Lampen über den Harmony Hub hinzugefügt.
Jetzt dachte ich, dass ich die Fernbedienungstasten selbst belegen könnte, dass ich über die Harmony meine Hue Gruppe dimmen könnte.
Leider scheint das von Logitech Seite nicht untertützt zu sein.

Wie sieht es mit diesem Modul aus, werden Tastendrücke der Fernbedienung auch an IPS weitergeleitet?
Also wenn ich zum Beipiel + oder + drücke ich ein Hue Skript aus IPS starten kann?

Hat jemand bereits etwas ähnliches umgesetzt?

Kla kann man das über die Harmony Aktionen triggern, aber das möchte ich nicht. ich will die Hue Lampen (Gruppe) über die Fernbedienung selber dimmen.

Gruß
Benjamin

Wie bereits hier geschrieben wäre das durchaus theoretisch auch nur mit IP-Symcon alleine möglich. Leider warte ich immer noch darauf, das ein Problem mit dem Multicast Socket durch IP-Symcon behoben wird, erst dann kann man das einfach und sinnvoll lösen ohne extra etwas basteln zu müssen. So lange das Problem nicht von IP-Symcon selber behoben wurde kann man den Weg über FHEM gehen, das dann die Tastendrücke an IP-Symcon weiterleitet, wie hier beschrieben. Ich hoffe ja darauf das es dazu bald eine Lösung gibt endlich den Multicast Socket für diesen Zweck in IP-Symcon einsetzten zu können.

Hallo, bin ziemlicher Anfänger auf dem Gebiet: Wenn ich eine Kategorie anlegen will mit Strg+0 passiert nichts im Objektbaum??

Okay, bin jetzt einen Schritt weiter, hatte es nur mit dem Ziffernblock probiert. Nächstes Problem wenn ich unter Instanz hinzufügen Logitech eingebe, findet er keine Geräte?

Hast Du das Logitech Modul unter Kerninstanzen Modules mit der URL


https://github.com/Wolbolar/IPSymconHarmony

hinzugefügt und ist dort ein Eintrag in der Liste zu sehen?
Wenn ja sollte eigentlich wenn Du im Objektbaum auf STRG+1 drückst und Logitech eingibst auch mehrere Einträge zur Auswahl stehen. Kannst Du vielleicht mal einen Screenshot machen, da sieht man vielleicht ob irgendwas falsch läuft.
Im Zweifelfall auch einfach mal den Dienst am Raspberry
stoppen


sudo /etc/init.d/symcon stop

und neu starten


sudo /etc/init.d/symcon start

Wenn das Logitech Modul eingerichtet ist, findest Du einerseits den Harmony Hub im Objektbaum von IP-Symcon unter Splitter Instanzen. Unterhalb der Instanz des Harmony Hub befindet sich eine Variable Harmony Activity, diese enthält den Status der aktuellen aktiven Logitech Harmony Activity.

soweit bin ich jetzt sieht jetzt so aus:

Wenn Du den Inhalt in ein Skript kopierst kannst Du mit dem Cursor an die Position klicken an der Du die ObjektID setzen willst dann drückst Du STRG+O und wählst die passende ObjektID aus.

Wenn Du den Inhalt in ein Skript kopierst kannst Du mit dem Cursor an die Position klicken an der Du die ObjektID setzen willst dann drückst Du STRG+O und wählst die passende ObjektID aus.

Wie muss ich hierzu weiter vorgehen?

Danke!

Die Gelbe Box steht für eine Kategorie, der graue Kasten (Skins) für eine Instanz. Du hast ganz oben im Objektbaum die Oberkategorie, so was wie das Rootverzeichnis bei einer Festplatte, da solltest Du weitere Kategorien darunter anlegen. Unter einer Instanz so wie bei Dir eher weniger, das macht aber nichts Du markierst einfach die Kategorie Harmony mit der ObjektID 50703 hältst die Maustaste gedrückt und ziehst die Kategorie mit allem was darunter liegt unterhalb der Hauptkategorie im Objektbaum.

Als nächstes erstellst Du Dir eine weitere Kategorie STRG+0 unter der Du dann weitere Skripte einsortierst. Unterhalb der gewählten Kategorie erstellst Du Dir jetzt ein Skript STRG+3, es öffnet sich ein Fenster, hier gibst Du dem Skript einen Namen z.B. Playstation 4 starten und bestätigst mit Ok.

Jetzt hast Du ein Skript offen das Du soeben erstellt hast. Da rein kopierst Du folgenden Inhalt


<?
$HarmonyHub_ID = 40103 /*[Logitech Harmony Hub Wohnzimmer]*/; // hier ist die Objekt ID der Harmony Hub Instanz auszuwählen zu finden unter Splitter
$Activityname = "Wiedergabe PS4"; // Name der Aktivität
// -- ab hier nichts ändern
$Activity = IPS_GetObjectIDByIdent("HarmonyActivity", $HarmonyHub_ID);
$HarmonyActivities =  HarmonyHub_GetAvailableAcitivities($HarmonyHub_ID);  
if (Getvalue($Activity) == $HarmonyActivities[$Activityname])  
{ 
    shell_exec("sudo su -c '/usr/local/bin/ps4-waker' &");  
} 
?>

In der ersten Zeile ersetzt Du die Ziffer 40103 mit der ID des Harmony Hub, dies geht einfacher indem Du die 40103 löscht und dann STRG+O drückst, dann geht der Objektbaum auf, hier wählst Du die Instanz Harmony Hub unterhalb der Splitter Instanzen, anschließend auf Speichern (links oben) gehen.

Jetzt markierst Du dieses Skript mit der Maus im Objektbaum und erstellst ein Ereignis mit STRG+4. In der Auswahl wählst Du Ausgelöstest Ereignis -> weiter -> Als Variable wählst Du hier die Variable Harmony Activity, diese ist unter Splitter Instanzen unterhalb der Instanz Harmony Hub zu finden. Als Bedingung Bei Variablenaktualisierung -> weiter -> Aktion Skript starten hier sollte das Skript, das Du ausgewählt hast, vorausgewählt sein und mit OK abschließen.

Wenn Du jetzt mit der Harmony Remote diese Aktion aktivierst wird die Variable Harmony Activity verändert und zeigt die aktuelle Aktion an, sobald sich diese aktualisiert greift das Ereignis und startet dann die Playstation wenn die Aktivität der Harmony Aktiviät Wiedergabe PS4 entspricht.