Logitech Harmony Hub Modul [Testversion]

Ah vielen Dank für die Erklärung?

Hab die Companion, das hat auch funktioniert gehabt,
das ich 2 Geräte als wieder gefunden hatte.
Habe es aber nirgends im IPS gefunden, wo diese eingestellt sind.

Warscheinlich in dem was Du genannt hast.

Schaue noch mal bei Gelegenheit!

Danke!

Hallo,

könnt Ihr vielleicht sagen, warum ich Harmony Szenen nicht mir über Alexa starten kann?

XMPP aktiviert, etwa um diese Zeit geht Harmony mit Alexa nicht mehr,
Was sagt Ihr, kann es damit was zutun haben?

Gruß

Hi,
was sagt Alexa denn wenn Du es versuchst?

Ralf

Fragt mich ob ich einen Schalter meine den ich im IPS angelegt habe. "Meinen Sie … "

Sagst nein, sagt dann „Tut mir leid es konnte kein Gerät mit dem Namen „Cube“ gefunden“.
Oder sagst „Konsole an“, fragt dann „meinen Sie Kommode“, sage „Nein“ sagt dann "Tut mir leid ich kann kein Gerät
mit dem Namen „Konsole“ finden.

In der Alexa App sieht man auch nicht ungewöhliches.

Hi,
hast Du in IP Symcon in der Amazon Alexa Kern-Instanz auch z.B. Szenen für Cube oder Konsole eingerichtet? Hast Du den IP Symcon Skill in Alexa aktiviert und verbunden? Läuft dein Connect Dienst in IP Symcon? Hast Du gesagt „Alexa suche neue Geräte“?

Ralf

Hallo,

es geht wieder! Im der Alexa App das Konto neu Verknüpft.
Davor stand aber das es auch Verknüpft war…

Danke für die Tipps!

Gruß

Hallo Fonzo,

kann es sein das die Geräte beim erstellen durch den Konfigurator in der falschen Kategorie angelegt werden? Meine Root Kategorie ist KBW25. Im Konfigurator habe ich die vorher erstelle Kategorie Harmony Hubs ausgewählt. Wenn ich dann ALLE ERSTELLEN auswähle wird eine neue Kategorie KWB25/KBW25/Harmony Hubs/ angelegt.

Viele Grüße
Stephan

Ich möchte eine Steckdose einschalten wenn Activity ungleich -1 ist.
Das Script funktioniert, reagiert aber erst wenn der Status von Activity wechselt (ca. 10 Sekunden zu spät).

<?php
$Status = GetValue(22985 /*[Logitech Harmony Hub\Harmony Activity]*/);

    if ($Status !== - 1)
    {
       RequestAction(35389, true);
       IPS_LogMessage("Logitech Harmony Hub", "Power On ausführen");
    } 

Wie kann ich auf das EVENT „* is starting“ reagieren ??? (Bild angefügt)

Die 2. Frage ist warum überhaupt noch ein Logitech Login im Modul benötigt wird, bei FHEM war das nicht mehr notwendig.

Hi,
in der Splitter-Instanz vom Hub gibt es die Variable Activity die einfach als Event benutzen. Ob das andere Zeiten liefert weiß ich nicht weil man ja darauf angewiesen wann Harmony was verschickt.

Ich vermute die Anmeldung wird noch benötigt weil es XMPP benutzt.

Ralf

in der Splitter-Instanz vom Hub gibt es die Variable Activity die einfach als Event benutzen

Genau das mach ich ja.
Der rote Pfeil im Bild zeigt an wenn auf der Fernbedienung gedrückt wurde, reagiert wird aber erst genau 13 Sekunden später (auch im Bild zu sehen), darum frage ich ja wie kann ich auf „is starting“ reagieren ?

Im Codedes Moduls scheint es zumindest vorhanden zu sein „Activity is starting“, wird ja auch mitgelogt.

Nochmals die Frage, wie kann ich auf Event „Activity ist starting“ zugreifen und ein Skript/Aktion starten :confused:

Hi,
nur wenn mal das Modul ändert. Im module.php vom Harmony Hub müsste man die Zeilen um 590 ändern. Aktuell wird die Variable an dieser Stelle nur geschrieben wenn die Aktivität schon gestartet ist.

von:


                    if ($activityStatus == 2) {
                        IPS_LogMessage('Logitech Harmony Hub', 'Activity ' . $ActivityName . ' is started');
                        SetValueInteger($this->GetIDForIdent('HarmonyActivity'), $CurrentActivity);
                    } elseif ($activityStatus == 1) {
                        IPS_LogMessage('Logitech Harmony Hub', 'Activity ' . $ActivityName . ' is starting');
                    } elseif ($activityStatus == 0) {
                        IPS_LogMessage('Logitech Harmony Hub', 'Hub Status is off');
                    }

in:


                    SetValueInteger($this->GetIDForIdent('HarmonyActivity'), $CurrentActivity);
                    if ($activityStatus == 2) {
                        IPS_LogMessage('Logitech Harmony Hub', 'Activity ' . $ActivityName . ' is started');
                    } elseif ($activityStatus == 1) {
                        IPS_LogMessage('Logitech Harmony Hub', 'Activity ' . $ActivityName . ' is starting');
                    } elseif ($activityStatus == 0) {
                        IPS_LogMessage('Logitech Harmony Hub', 'Hub Status is off');
                    }

Aber bei mir kommt nicht bei jedem Hub und jeder Aktivität auch wirklich die Nachricht das eine Aktivität gestartet wird.

Ralf

Aber bei mir kommt nicht bei jedem Hub und jeder Aktivität auch wirklich die Nachricht das eine Aktivität gestartet wird.

Ich habe 2 Stück, den starting Eintrag sehe ich in beiden Fällen im Eventlog.

Meiner Meinung fehlt dem Symcon Harmony Modul eine eigene Variable „CurrentActivity“.

Da hier FHEM noch läuft hier die Abbildung der Readings (was in Symon ja einer Variable entspricht):
Wenn ich hier auf der Hamony Fernbedienung auf zb. Aktion „SmartTV“ klicke passiert das (und ich kann auf das Event in der selben Sekunde reagieren und die Steckdose einschalten):

Hi,
nach der Änderung steht in Activity die CurrentActivity. Im Paket wo „starting“ gemeldet wird steht auch schon die ID der Aktivität.

Ich würde eher noch den Status einbauen dann könnte man in IPS noch feiner reagieren.

Also:
0 = Hub aus
1 = Aktion startet
2 = Aktion ist gestartet
3 = Hub geht aus

Das wäre aber eine etwas größere Änderung die ich nicht machen möchte. Fonzo hast Du Lust den Status noch einzubauen?

Ralf

Zur Zeit wird die Variable erst dann aktualisiert wenn der Harmony Hub die Aktion wirklich als abgeschlossen gemeldet hat.
Ich kann aber noch eine weitere Variable hinzufügen, die dann aktualisiert wird wenn der Harmony Hub beginnt die Aktion abzuarbeiten, dann kann man auch mit dem Start der Aktion reagieren. Bisher hatte ich das nicht drinnen, da im Extermfall auch mal eine Harmony Aktion nicht vollständig abgearbeitet werden könnte. Aber damit man in dem Fall schneller reagieren kann würde ich da mal eine zusätzliche Variable ergänzen, die sofort mit dem Start des Ausführens der Aktion aktualisiert wird. So kann man dann schneller mit einem Ereignis bei Variablenaktualisierung reagieren.

Für abhängige Steckdosen wäre das schon eine tolle Sache.
Ich habe mir die module.php vom Modul mal verändert, hab jedoch keine Ahnung wie Änderungen überhaupt geladen werden können ohne den Symcon Service durchzustarten. Agesehen davon das ich den Inhalt des php-codes zu 1% verstehe :smiley:

Die Variable „CurrentActivity“ entspricht der bisherigen Variable Harmony Activity, diese wird aber erst aktualisiert wenn der Harmony Hub auch meldet das die Harmony Aktivität erfolgreich ausgeführt wurde.

Ich habe jetzt aber noch zwei weitere Variablen hinzugefügt. Dazu muss nach der Aktualisierung des Moduls der Harmony Hub (Splitter) geöffnet werden. Hier dann nochmals auf Setup Harmony drücken.

Es erscheinen dann zwei neue Variablen gestartete Harmony Aktivität und vorhergehende Harmony Aktivität.

Die Variable gestartete Harmony Aktivität aktualisiert sobald der Harmony Hub meldet, das die begonnen worden ist die Harmony Aktivität abzuarbeiten.

Durch ein Ereignis auf der neuen Variable kann man dann schneller reagieren.

Fonzo, DICKES Danke!

Werde gleich testen und berichten :slight_smile:

Auf Beta umgestellt und getestet.
Juhu funktioniert nun sofort.
Tastendruck auf die Harmony Fernbedienung, und die Homematic Steckdose schaltet sofort ein. :slight_smile:
Danke!

Moin Fonzo,
vorhergehende Aktivität ist bei mir immer die Aktivität und gestartete Aktivität ist bei mir immer Power off.

Es gibt noch den ActivityStatus 3 der vermutlich bedeutet das PowerOff gestartet wird. Ich vermute das dieser Status dafür sorgt das gestartete Aktivität immer Power Off ist und die Namen für gestartete und vorhergehende Aktivität vertauscht sind.

Ralf

Seit dem Update oder war das vorher schon so. Kannst Du mir mal ein Debug zuschicken wenn Du eine Aktion gestartest hast.