Modul für IP-Symcon ab Version 5. Ermöglicht die Kommunikation mit einem Logitech Harmony Hub und das Senden von Befehlen über den Logitech Harmony Hub.
Inhaltsverzeichnis
Mit Hilfe des Logitech Harmony Hub sind Geräte bedienbar, die sonst über IR-Fernbedienungen steuerbar sind oder auch neuere Geräte wie FireTV und AppleTV die über Bluetooth angesteuert werden. Nähere Informationen zu ansteuerbaren Geräten über den Logitech Harmony Hub unter Logitech Harmony Elite
Mit Hilfe des Moduls können die Geräte die im Logitech Harmony Hub hinterlegt sind in IP-Symcon importiert werden und dann von IP-Symcon über den Logitech Harmony Hub geschaltet werden. Harmony Aktivitäten können von IP-Symcon aus gestartet werden. Wenn der Harmony Hub eine Aktivität ausführt wird die aktuelle laufende Aktivität an IP-Symcon übermittelt.
- Senden eines IR Signals über den Logitech Harmony Hub an dem Hub bekannte Geräte
- Senden von Befehlen an einen FireTV
- Anzeige der momentanen aktiven Harmony Activity des Harmony Hub
- Starten einen Harmony Hub Aktivität
- Es können bei einem IP-Symcon Geräte (Roku 3 Emulation) die Tastendrücke Up, Down, Left, Right, Select, Back, Play, Reverse, Forward, Search, Info, Home in IP-Symcon ausgewertet werden und Skripte gestartet werden
- IPS 5.x
- Logitech Harmony Hub im gleichen Netzwerk wie IP-Symcon
- XMPP in der Harmony App aktiviert
Die Harmony App öffnen und dort dann XMPP aktivieren unter Harmony-Einrichtung -> Geräte und Aktionen hinzufügen und bearbeiten -> Fernbedienung / Tastatur und Hub -> XMPP aktivieren.
Die Webconsole von IP-Symcon mit http://{IP-Symcon IP}:3777/console/ öffnen.
Anschließend oben rechts auf das Symbol für den Modulstore (IP-Symcon > 5.1) klicken
Im Suchfeld nun
Logitech Harmony
eingeben
und schließend das Modul auswählen und auf Installieren
drücken.
Den Objektbaum Öffnen.
Die Instanz 'Modules' unterhalb von Kerninstanzen im Objektbaum von IP-Symcon (>=Ver. 5.x) mit einem Doppelklick öffnen und das Plus Zeichen drücken.
Im Feld die folgende URL eintragen und mit OK bestätigen:
https://github.com/Wolbolar/IPSymconHarmony
Anschließend erscheint ein Eintrag für das Modul in der Liste der Instanz Modules
Es wird im Standard der Zweig (Branch) master geladen, dieser enthält aktuelle Änderungen und Anpassungen. Nur der Zweig master wird aktuell gehalten.
Sollte eine ältere Version von IP-Symcon die kleiner ist als Version 5.1 (min 4.3) eingesetzt werden, ist auf das Zahnrad rechts in der Liste zu klicken. Es öffnet sich ein weiteres Fenster,
hier kann man auf einen anderen Zweig wechseln, für ältere Versionen kleiner als 5.1 (min 4.3) ist hier Old-Version auszuwählen.
Wenn Skripte angelegt werden sollen werden diese unterhalb einer Kategorie abgelegt. Zunächst legen wir eine Kategorie im Objektbaum Rechte Maustaste -> Objekt hinzufügen -> Kategorie an, dieser geben wir einen beliebigen Namen wie z.B. Harmony Geräte. Unter dieser Kategorie werden später alle Skripte für Geräte des Logitech Harmony Hub angelegt werden.
Danach in IP-Symcon 5.x unter Splitter eine Instanz hinzufügen.
Hier nun als Hersteller Logitech eingeben und Logitech Harmony Hub auswählen.
Im dem sich öffnenden Fenster zunächst bei Erstinstallation folgende Dinge auswählen:
1. Slider auf Aktiv setzten. Dies ist notwenig damit die I/O Instanz später aktiv ist.
2. IP Adresse des Logitech Harmony Hub eintragen
3. Email Adresse (entspricht Anmeldename) für MyHarmony
5. Passwort für MyHarmony
6. Anschließend ÄNDERUNGEN ÜBERNEHMEN drücken.
7. Konfiguration auslesen drücken und ein paar Sekunden abwarten.
8. Nachdem die Variable Harmony Config aktualisiert wurde auf Setup Harmony drücken, danach kann die Instanz geschlossen werden.
Anschließend wird ein Konfigurator anlegt.
Im Konfigurator steht jetzt folgendes zur Auswahl:
- Kategorie Harmony Skripte ist die Kategorie unter der Skripte angelegt werden
- Harmony Variablen wenn nicht aktiv wird nur die Instanz angelegt, es können dann dennoch Skripte genutzt werden. Aktivieren um über Variablen im Webfront schalten zu können. Achtung! Bei vielen Geräten können viele Variablen verbraucht werden. Optional Wenn diese Option gewählt wird werden für jede Befehlsgruppe eines Logitech Harmony Geräts eine Variable zum Schalten aus dem Webfront angelegt. VORSICHT: Diese Option sollte nur gewählt werden wenn noch ausreichend Variablen in IP-Symcon verfügbar sind oder die Variablenanzahl unbegrenzt ist, da eine hohe Anzahl an Variablen je nach angelernten Geräten im Harmony Hub verbraucht werden kann. Es werden bei jedem Harmony Hub Gerät für jede im Harmony Hub hinterlegte Controllgroup eine Variable zum Schalten im Webfront angelegt. Hier können je nach Anzahl der im Harmony Hub konfigurierten Geräte eine hohe Anzahl an Variablen anfallen. Die Option ist für IP-Symcon Nutzer gedacht die noch genügend Variablen zur Verfügung haben und Befehle aus dem Webfront absetzten wollen.
- Harmony Skript wenn dies aktiviert wird, wird für jede bereits angelegte Instanz mit Setup Harmony die zugehörigen Skripte angelegt. Optional Dies Option kann gewählt werden als Alternative oder Ergänzung zu Variablen. Es werden für jede im Harmony Hub hinterlegte Controllgroup eine Subkategorie mit Scripten angelegt. Das einzelne Script sendet dann denn jeweiligen Befehl (Skriptname) an den Logitech Harmony Hub.
Sollte etwas an der Konfiguration im Harmony Hub verändert worden sein ist Konfiguration auslesen zu drücken und nach einer Pause dann Liste aktualisieren. Im Konfigurator können nun einzelne Geräte ausgewählt werden und mit Erstellen wird das Gerät in IP-Symcon angelegt.
Mit Setup Harmony wird für jedes in IP-Symcon angelegte Gerät abhänig von den Einstellungen (s.o.) Skripte angelegt, des Weiteren werden Skripte für die Aktivitäten erzeugt.
Im Webfront von IP-Symcon sieht das z.B. dann so aus:
Es lassen sich über das Webfront oder die Skripte dann Befehle absetzten. Die Aktivität wird im Webfront angezeigt. Sobald ein Gerät oder Harmony Fernbedienung eine Harmony Aktivität auslöst wird diese auch in IP-Symcon aktualisiert. Die aktuelle Aktivität wird in der Variable Harmony Activity, diese liegt unter dem Logitech Harmony Splitter, angezeigt. Es wird automatisch ein Link unter der oben gewählten Kategorie zu dieser Variable angelegt.
Die Variablennamen und die Bezeichnung der Befehle werden so angelegt wie diese von der Bezeichnung im Harmony Hub hinterlegt sind. Für jede angelegte Variable wird auch das Beschreibungsfeld genutzt, hier steht der eigentliche Befehl drinnen der an den Harmony Hub gesendet wird. Daher darf das Beschreibungsfeld der Variable nicht geändert werden. Die Bezeichnung der Variable sowie die Befehlsnamen die im Variablenprofile der Variable hinterlegt sind können individuell vom Nutzer angepasst werden. Dabei darf nur nicht die Reihenfolge im Variablenprofil verändert werden.
Um auf Tastendrücke einer Harmony Remote reagieren zu können muss zunächst ein zusätzliches Gerät im Harmony Hub eingebunden werden und dieses dann in die Harmony Aktion eingebunden werden, in der auf einen Tastendruck reagiert werden soll. Dazu ist zunächst in IP-Symcon unter Splitter eine neue Instanz SSDP Roku anzulegen.
Anschließend wird eine weitere Instanz Logitech Harmony Roku Emulator angelegt.
In der neuen Instanz ist der Port auszuwählen sowie der passende Harmony Hub.
Jetzt kann in der Harmony App das Gerät gesucht und hinzugefügt werden. Dazu ist in der Harmony App Harmony-Einrichtung -> Geräte und Aktionen hinzufügen und bearbeiten -> Geräte -> Gerät hinzufügen -> WLAN-Geräte suchen anzuklicken. Nach einer Weile sollte von der Harmony App Geräte im WLAN gefunden worden sein und eine Auswahl der gefundenen Geräte angezeigt werden. Es sollte auch ein Eintrag Roku 3 vorhanden sein. Wenn man hier auf das i (Infozeichen) klickt sollte bei Name IP-Symcon (Roku Device) stehen. Mit Weiter wird das Gerät den Geräten des Harmony Hub hinzugefügt. Das Gerät kann jetzt entweder aus der App einzeln geschaltet werden oder das Gerät wird in Harmony Aktionen eingebunden.
Nachdem das Roku Gerät hinzugefügt wurde, wird dies zusätzlich in die Harmony Aktion eingebunden in der die Tastendrücke ausgewertet werden sollen.
Anschließend wechselt man nun zu den Einstellungen der Tastenbelegung in MyHarmony und weist der Taste einen Befehl des IP-Symcon Roku 3 Geräts zu
In IP-Symcon zeigt die Instanz Logitech Harmony Roku Emulator den letzten Tastendruck an der beim Gerät Roku Emulator erfolgt ist.
In der Instanz können pro Aktion den Tastenbefehlen ein Skript zugewiesen werden das ausgeführt wird sobald die Taste gedrückt worden ist.
Es werden nur die in IP-Symcon ausgewiesenen Befehle von der Harmony Remote an IP-Symcon übergeben. Man kann also z.B. beim Tastendruck auf Play den Befehl Play und beim Tastendruck von Pause den Befehl Instant Replay in der MyHarmony App zuweisen. Jetzt muss das passende Skript noch zugewiesen werden, im Beipiel Bild heißen die Skripte Pause Beleuchtung hochdimmen und Pause Beleuchtung abdimmen. Die jeweiligen Skripte umfassen nun alle Befehle die ausgeführt werden sollen sobald die Play Taste gedrückt wird. Das ist in der Regel die Standardfunktion des Geräts das in der Harmony Aktion gesteuert wird und noch weitere Befehle.
Eine Beispiel für das Abdimmen einer Hue Lampe bei Play
<?php
IPS_RunScript(53512); // Dreambox Play
$list = ["BRIGHTNESS" => 0, "TRANSITIONTIME" => 40];// Helligkeit in (0 bis 254), transitiontime x 100ms 10 entspricht 1 s
$lightId = 33485; // Coachlampen
HUE_SetValues($lightId, $list);
Es können in dem Skript dann beliebige Geräte, die aus IP-Symcon ansteuerbar sind, angesprochen werden. Man kann also so bei einem Tastendruck z.B. auch KNX, LCN, Homematic, Hue usw. dimmen.
Die Einstellungen sind pro Harmony Aktion vorzunehmen in der Tastendrücke ausgewertet werden sollen.
So kann man dann das Gerät in die Harmony Aktionen, in denen man einen Tastaturdruck der Harmony Remote auswerten will, einbinden und auf die Tasten der Harmony legen. IP-Symcon wertet dann diesen Tastendruck aus und ein beliebiges Gerät, das von IP-Symcon gesteuert wird, kann so geschaltet werden.
Die Harmony Devices sind über den Konfigurator anzulegen An jedes Device kann ein Befehl geschickt werden
Liest die verfügbaren Funktionen des Geräts aus und gibt diese als Array aus
LHD_GetCommands(integer $InstanceID)
Parameter $InstanceID ObjektID des Harmony Hub Geräts
Sendet einen Befehl an den Logitech Harmony Hub
LHD_Send(integer $InstanceID, string $Command)
Parameter $InstanceID ObjektID des Harmony Hub Geräts Parameter $Command Befehl der gesendet werden soll, verfügbare Befehle werden über LHD_GetCommands ausgelesen.
Es können Aktivitäten des Logitech Harmony Hub ausgeführt werden. Die aktuelle Akivität des Logitech Harmony Hub wird in der Variable Harmony Activity angezeigt und kann im Webfront geschaltet werden.
Wenn die Aktivität über Funktionen aktualisiert werden soll oder über ein Skript geschaltet sind die folgenden Funktionen zu benutzten: Fordert die aktuelle Aktivität des Logitech Harmony Hub an. Der Wert wird in die Variable Harmony Activity gesetzt.
HarmonyHub_getCurrentActivity(integer $InstanceID)
Parameter $InstanceID ObjektID des Harmony Hub Splitters
Liest alle verfügbaren Aktivitäten des Logitech Harmony Hub aus und gibt einen Array zurück.
HarmonyHub_GetAvailableAcitivities(integer $InstanceID)
Parameter $InstanceID ObjektID des Harmony Hub Splitters
Liest alle verfügbaren Device IDs des Logitech Harmony Hub aus und gibt einen Array zurück.
HarmonyHub_GetHarmonyDeviceIDs(integer $InstanceID)
Parameter $InstanceID ObjektID des Harmony Hub Splitters
Schaltet auf die gewünschte Logitech Harmony Hub Aktivität
HarmonyHub_startActivity(integer $InstanceID, integer $activityID)
Parameter $InstanceID ObjektID des Harmony Hub Splitters Parameter $activityID ID der Harmony Aktivität, verfügbare IDs können über HarmonyHub_GetAvailableAcitivities ausgelesen werden
Eigenschaft | Typ | Standardwert | Funktion |
---|---|---|---|
Open | boolean | true | Verbindung zum Logitech Harmony Hub aktiv / deaktiv |
Host | string | IP Adresse des Logitech Harmony Hub | |
string | Email Adresse zur Anmeldung MyHarmony | ||
Passwort | string | Passwort zur Anmeldung MyHarmony | |
ImportCategoryID | integer | ObjektID der Import Kategorie | |
HarmonyVars | boolean | Aktiv legt Variablen pro Controlgroup an | |
HarmonyScript | boolean | Aktiv legt für jeden Befehl ein Skript an |
Eigenschaft | Typ | Standardwert | Funktion |
---|---|---|---|
Name | string | Name des Geräts | |
DeviceID | integer | DeviceID des Geräts | |
BluetoothDevice | boolean | false | Bluetooth Gerät |
GUID: {7E03C651-E5BF-4EC6-B1E8-397234992DB4}
GUID: {C45FF6B3-92E9-4930-B722-0A6193C7FFB5}
Credits: Logitech Harmony Ultimate Smart Control Hub Library Zapp