Logitech Harmony Hub Modul [Testversion]

Details dazu kenne ich nicht, habe mir das hier durchgelesen (letzen Satz mit dem Ausrufezeichen war der Grund für meinen Beitrag).
GitHub - JordanMartin/harmonyhub-api: Harmony Hub API that use the local websocket API of the hub
Da es in Symcon aktuell keinen WebSocketClient gibt, kannst da aber einfach mein Modul nutzen.
Brauchst zum testen auch mein eigenes Modul, die Daten siehst du im Debug und senden kannst du mit einfachen WSC_Send* Befehlen.
Michael

Ja anscheinend verhällt sich das ja unter Websocket genauso das die Verbindung nach 60 Sekunden getrennt wird.
:warning: Without activities, the connection is automatically closed after 60 seconds. You can periodically send a ping or catch the close event to open a new connection.
in sofern finde ich den Vorschlag von ssimn mit dem XMPP-Ping ja gut, denn das wäre ja wohl das analog zu dem Ping unter dem Websocket.

Jetzt müsste mir nur noch jemand helfen wie so ein XMPP Ping aus IP-Symcon gesendet wird bzw. das mal ausprobieren.

Nicht unbedingt, beim WebSocket ist es halt im WebSocket-Protokoll fest definiert.
Michael

Hi Michael,
fest definiert ist das Ping auch bei XMPP. Ich habe es mir auch mal angesehen sieht nicht so kompliziert aus wenn man sich mit XMPP auskennen würde.

Ralf

Es gibt schon seit Ewigkeiten im Modul die Methode


HarmonyHUB_Ping(12345); // 12345 Objekt ID Harmony Hub (Splitter)

Nur ob das was bringen soll bzw. die Verbindung dann nicht abbricht konnte ich nie richtig herausbekommen. Es gab meiner Meinung nach trotzdem Verbindungsabbrüche. Wer dem mehr nachgehen will, kann ja mal im Splitter das Update auf 0 stellen und statt dessen einen zyklischen Timer einrrichten der den Ping sendet und schauen ob das dauerhaft etwas bringt.

XMPP Ping ist hier spezifiziert (4.2 Client-To-Server Pings) und recht trivial: XEP-0199: XMPP Ping

Das Nutzung von Whitespace ist hier beschrieben, wobei es darauf ankommt ob das Timeout im Hub aufgrund jeglichen Traffics (dann funktioniert WS Keepalive) oder nur durch Aufruf des Kommandointerpreters (dann funktioniert es nicht) zurückgesetzt wird: 403 Forbidden

Kann mir wer bei diesem Fehler helfen?
Anmerkung 2019-08-12 214637.png

Irgendwas muss mit dem Script auch ziemlich schief gehen… es legt total wirr verteilt auch Links an, im DWD-Bereich, im IPS-Logger, Twilight-Modul etc… das kann doch nicht richtig sein oder?

Hat der Konfiguator denn als übergeordnete Instanz den Harmony Hub (Splitter) zugeordnet? Ist die Variable mit Aktivität vorhanden?
Seit wann triit der Fehler denn bei Dir auf?

Übergeordnete Instanz ist da, aber Variable Aktivität ist nicht da. Da ist ein Link der auf ID 0 zeigt.

Kannst Du mal im Harmony Hub (Splitter) nochmals auf 1. Konfiguration auslesen drücken, kurz warten und anschließend auf 2. Setup Harmony drücken, und dann prüfen ob die Variable vorhanden ist. Wenn ja kommt dann noch der Fehler im Konfigurator?

ja, danke, jetzt hat es geklappt, jetzt ist auch das unbenannte Dummy-Device weg und das richtige Dummy-Device mit Link auf den Status vorhanden

Hi,
Roku mit einem Hub klappt. Wenn ich jetzt einen (oder mehr) weiteren Hub auswähle ist die Steuerung des 1. Hubs dann weg oder kann man mit einem Roku mehrere Hubs versorgen?

Ralf

Habe ich ehrlich gesagt noch nicht ausprobiert das müsste ich selber mal probieren bzw. näher anschauen.

Hallo,

hat Logitech irgendetwas an den Hub gemacht? Seit paar Tagen lässt sich mein Fernseher nicht mehr einschalten, diesen habe ich per LAN einschalten lassen. Per HUB-IR funktioniert es, obwohl unter den Einstellungen Hub sowie Fernbedienung nicht aktiv sind. Des Weiteren sind die Icons von den Aktionen in der FB verschwunden. Wollte erst hier nachfragen, bevor ich planlos anfange zu suchen😉

Grüße

Hi,
mir ist keine Änderung aufgefallen. Ich benutze aber hauptsächlich Companion und Smart Control ohne Display und ich habe keinen Fernseher den Logitech per IP unterstützt (Roku, Sony-Android).

Ralf

Ich habe den TV gelöscht und neu eingefügt, nun funktioniert es wieder. Keine Ahnung was da los war:confused:

Hallo zusammen,

ich habe mir gestern eine DEMO-Lizenz von IP-Symcon besorgt und auch schon einiges eingerichtet, komme aber in einem Punkt nicht weiter.

Hat jemand von das Harmony Hub Modul & die Amazon-Alexa Instanz von Symcon und schon einmal versucht,
Aktionen des Hubs mit der Alexa-Instanz zu starten?

Ich kann die Aktionen nur als „Scene“ bzw. „Scene (deaktivierbar)“ einrichten, da die Aktionen ja im Grunde ein Script sind.
Damals in dem Harmony-Skill auf Alexa konnte ich einfach „Alexa, schalte den Fernseher ein“ sagen, und schon wurde die
Aktion gestartet - Fernseher, Receiver und Sat-Receiver wurden eingeschaltet)

Jetzt muss ich sagen „Alexa, aktiviere Fernseher“, damit die Aktion die entsprechenden Geräte einschaltet.
Das ist meiner Frau schwer beizubringen :stuck_out_tongue:

Wie hab Ihr das gelöst? Habt Ihr die eigentliche Aktion in IPS erstellt?

Viele Grüße
Jens

Dazu gibt es zwei Möglichkeiten:

  • Ansteuerung als Skript und ansprechen über eine Routine
  • Ansteuern als Gerät

Das geht grundsätzlich auch, das Problem ist eher das nur immer eine Harmony Aktion aktiv ist daher müsste man da in IP-Symcon etwas einrichten um das sauber abzubilden.

Wenn Du eine Alexa Routine erstellst kannst Du die Redewendung ja frei definieren und in der Routine die Szene aufrufen.
Dann kann sich Deine Frau auch was wünschen was sie sich merken kann oder aus Ihrer Sicht intuitiv ist wie „Alexa starte den Filmabend“ oder für Männer „Alexa Playstation zocken“. Das hat außerdem den Vorteil das eben nicht nur der TV geschaltet wird sondern Du in der Alexa Routine ja auch noch andere Dinge aufrufen kannst oder ein Skript in IP-Symcon aufrufen, das mehrere Dinge gleichzeitig macht, wie das Licht dimmen, TV einschalten, Rollläden oder Jalousien runterfahren und Ähnliches.

Ich nutzte inzwischen überwiegend Alexa Routinen, da das für meine Frau besser zu bedienen ist und sie sich aussuchen kann was sie sagen will und man dann die Routine genau so nennen kann.

Alternative wäre es Variablen zu erstellen, dann kannst Du auch so was sagen wie gewohnt „Alexa, schalte den Fernseher ein“

Dazu erstellst Du Dir eine Variable im Objektbaum Rechts Klick -> Objekt hinzufügen -> Variable, der Variable weist Du das Variablenprofil ~Switch zu. Jetzt brauchst Du noch ein Aktionsskript das Du dieser Variable zuweisen musst.

Das Aktion Skript sieht so aus:


<?php

if($_IPS['VALUE'])
{
    IPS_RunScript(12335); // TV an
}
else
{
    IPS_RunScript(45678); // Power Off
}


SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);

Wo die Nummern Stehen bei RunScript drückst Du Shift+O und wählst das passende Skript aus. Oben das Skript was die Aktion startet TV und unten die Aktion PowerOff.
Jetzt kannst Du diese Variable als Schalter in der Alexa Instanz zuweisen, dann kannst Du in Alexa das Gerät auch ein / ausschalten.

Der Nachteil ist jetzt das ja immer nur eine Harmony Aktion aktiv sein kann. Um also den Status der eigenen Variable aktuell zu halten müsstest Du daher dann noch später in dem Skript etwas ergänzen. Wenn Du also zwei Variablen hast und damit auch zwei Geräte für Alexa kannst Du ja z.B. den Verstärker zum Musik hören einschalten, dann geht in der Harmony Logik aber der TV aus. Daher musst Du in dem Teil des Skripts der eine Harmony Aktion startet noch ein SetValue ergänzen auf alle weiteren Variablen (Alexa Geräte) die Du noch angelegt hast und diese auf false setzten. So bildest Du dann auch den richtigen Status in IP-Symcon nach.

Ansonsten viel Spass beim Ausprobieren, wenn Fragen sind dann einfach sagen wo es hängt.

Hi,
für Anfänger ist es vielleicht einfacher deaktivierbare Szenen für Alexa zu programmieren da kann man nämlich gleich die Scripte angeben. Schalter mit Aktionsscript ist schon etwas tiefer im System.

Also ich habe für Fernsehen z.B. eine deaktivierbare Szene eingerichtet und dann als Ein-Script von der Harmony-Instanz in den Aktionen die für TV ausgesucht und für aus Poweroff. So braucht man nicht einmal selbst ein Script schreiben. Als Name für den Alexa-Befehl gibt man einfache Fernseher bzw. Fernsehen an und dann kann man TV mit „Alexa schalte Fernsehen/Fernseher an“.

Mehre Aktionen gleichzeitig ist mit Harmony selbst unmöglich mit IPS vermutlich ziemlich kompliziert.

Schreib mal was Du so vor hast und es wird schon klappen.

Ralf

@Fonzo
@HarmonyFan

Danke für Eure Tipps. Ich werde es am Wochenede mal ausprobieren.

Viele Grüße
Jens