FHEM Forum

FHEM - Anwendungen => Multimedia => Thema gestartet von: h3llraid3r am 25 August 2017, 19:42:06

Titel: Harmony:State eines von einem Notify geschalteten Device aktualisiert sich nicht
Beitrag von: h3llraid3r am 25 August 2017, 19:42:06
Hallo zusammen,

habe da mal eine kleine Frage, vielleicht sehe ich auch einfach den Wald vor lauter Bäumen nicht:

Die bessere Hälfte hat sich per IR schaltbare Kerzen/Teelichter geholt, die ich dann im Harmony-Hub angelernt habe und dann auch in fhem per autocreate angelegt wurden. Damit sich das ganze gruppieren lässt, habe ich einen Dummy "Kerzen angelegt, der dann der Zentrale Schalter ist und auch per Alexa eingebunden ist.
Darüber dann ein notify, welches mir beim Statuswechsel des Dummys die einzelnen Kerzen ein-/ausschaltet.
Funktioniert soweit auch alles...

Nur der Status der einzelnen Kerzen will sich partout nicht aktualisieren. Bleibt auf Initialized stehen, egal ob es aus oder an geht. Im Eventlog taucht natürlich alles auf.
Auch wenn ich das ganze manuell per set ausführe, ändert sich nichts...
Titel: Antw:State eines von einem Notify geschalteten Devices aktualisiert sich nicht
Beitrag von: CoolTux am 25 August 2017, 19:47:43
Bitte mal was handfesten damit man auch mal helfen kann und nicht nur Kaffeesatzlesen muss.

list von so einem Dummy bitte

Also

list DEVICENAME
Titel: Antw:State eines von einem Notify geschalteten Devices aktualisiert sich nicht
Beitrag von: h3llraid3r am 25 August 2017, 22:48:11
Gerne:

Das in Alexa eingebunden Dummy-Device:

Internals:
   NAME       Kerzen
   NR         69
   STATE      on
   TYPE       dummy
   READINGS:
     2017-08-25 21:07:15   state           on
Attributes:
   alexaName  Kerzen
   alexaRoom  Wohnzimmer
   genericDeviceType switch
   room       10_Wohnzimmer,alexa
   setList    on off 


Eines der beiden Geräte, die letztendlich geschaltet werden:
Internals:
   CHANGED
   ConnectionState Initialized
   DEF        DEVICE 46995764
   NAME       harmony_46995764
   NOTIFYDEV  global
   NR         67
   NTFY_ORDER 50-harmony_46995764
   STATE      off
   TYPE       harmony
   hub        WZ.HarmonyHub
   id         46995764
   READINGS:
     2017-08-25 21:37:00   power           off
   helper:
Attributes:
   alias      WZ.Kerzen
   event-on-change-reading .*
   genericDeviceType switch
   room       10_Wohnzimmer
   stateFormat power 


Das Notify, welches die Kerzen schaltet

Internals:
   DEF        Kerzen set harmony_47016346,harmony_46995764 $EVENT
   NAME       KerzenNotify
   NOTIFYDEV  Kerzen
   NR         70
   NTFY_ORDER 50-KerzenNotify
   REGEXP     Kerzen
   STATE      2017-08-25 21:07:15
   TYPE       notify
   READINGS:
     2017-08-25 18:49:29   state           active
Attributes: 


Wie gesagt, rein funktional klappt alles, nur der State wird nicht angepasst...
Titel: Antw:State eines von einem Notify geschalteten Devices aktualisiert sich nicht
Beitrag von: amenomade am 26 August 2017, 02:48:49
Jetzt bin ich verloren.
STATE      on  fürs Dummy
STATE      off fürs Gerät
STATE      2017-08-25 21:07:15 fürs Notify

Welches state wird nicht angepasst und bleibt auf Initialized?
Titel: Antw:State eines von einem Notify geschalteten Devices aktualisiert sich nicht
Beitrag von: h3llraid3r am 26 August 2017, 09:38:41
Hallo,

Ja, ein wenig verwirrend, das stimmt:
Der State des Dummys wird richtig angepasst, der kommt ja auch als erstes. Daher reagiert dann auch das Notify und schaltet die Geräte. Der Status beim Gerät kommt vom Testen, weil ich alternativ probiert hatte über das Notify mittels setstate/setreading den Status umzusetzen. Aber es wundert mich eben, dass das nicht von alleine geht.
Habe das eben nochmal getestet, wenn ich den Dummy schalte, taucht das on/off der Geräte auch bei den Events auf, aber aktualisieren tut sich nix.
Habe aber eben parallel festgestellt, dass das Reading auf off gesetzt wird, wenn ich eine Aktivität in der Harmony starte - obwohl die Kerzen an sind.
Dass die Harmony den State eines Geräts nicht kennt kann ich mir ja noch vorstellen... Aber wenn ich z.B. die Teelichter (Dann ohne Dummy) in der Harmony einschalte und dann eine Aktivität starte/beende, wird der Status der Teelichter in dem Moment auf off gesetzt. Zumindest mal das Reading, da sich der State ja nicht ändert, kann ich das leider nicht sehen, ob das auch dort eingetragen wird.

Aber BTT:
Die Events sehe ich in der Konsole, daher wundert es mich, warum dann nicht der State angepasst wird:
2017-08-26 09:29:10 harmony harmony_47016346 off
2017-08-26 09:29:10 harmony harmony_46995764 off
2017-08-26 09:29:10 dummy Kerzen off
2017-08-26 09:29:30 harmony harmony_47016346 on
2017-08-26 09:29:30 harmony harmony_46995764 on
2017-08-26 09:29:30 dummy Kerzen on
2017-08-26 09:29:53 harmony WZ.HarmonyHub currentActivity: starting Fernsehen
2017-08-26 09:30:13 harmony harmony_46309618 power: on
2017-08-26 09:30:13 harmony harmony_46324265 power: on
2017-08-26 09:30:13 harmony harmony_46309619 power: on
2017-08-26 09:30:13 harmony WZ.HarmonyHub currentActivity: Fernsehen
2017-08-26 09:30:13 harmony WZ.HarmonyHub activity: Fernsehen
2017-08-26 09:30:13 harmony WZ.HarmonyHub currentActivity: Fernsehen
2017-08-26 09:30:13 harmony WZ.HarmonyHub currentActivity: Fernsehen


Im Device sieht es dann aber so aus:


Internals:
   CHANGED
   ConnectionState Initialized
   DEF        DEVICE 46995764
   NAME       harmony_46995764
   NOTIFYDEV  global
   NR         67
   NTFY_ORDER 50-harmony_46995764
   STATE      off
   TYPE       harmony
   hub        WZ.HarmonyHub
   id         46995764
   READINGS:
     2017-08-26 09:30:13   power           off
   helper:
Attributes:
   alias      WZ.Kerzen
   event-on-change-reading .*
   genericDeviceType switch
   room       10_Wohnzimmer
   stateFormat power 


Und siehe da, der State wurde genau da aktualisiert, wo die Aktivität gestartet wird. Und das dann auch noch falsch...
Im Eventlog ist auch nichts davon zu sehen, dass beim Starten der Aktivität der Status von dem Device mit kommt, das sind nur die 3 Devices aus der Aktivität selbst.

Ich hoffe das erklärt mehr mein Problem als es verwirrt...
Titel: Antw:State eines von einem Notify geschalteten Devices aktualisiert sich nicht
Beitrag von: amenomade am 26 August 2017, 19:52:58
Ja, danke, jetzt verstehe ich dein Problem: grundsätzlich

Zitat2017-08-26 09:29:10 harmony harmony_46995764 off
2017-08-26 09:29:30 harmony harmony_46995764 on
und
ZitatNAME       harmony_46995764
READINGS:
     2017-08-26 09:30:13   power           off
Was aber merkwüdig ist, ist die Uhrzeit des Readings. Die stimmt nicht mit den Events des Devices selbst, aber die stimmt mit der Uhrzeit von den letzten 7 Events.

Bis Du sicher, dass Du kein anderes Notify oder DOIF oder perl Routine, das das Reading irgendwo anders aktualisiert? Wobei... ein Event sollte auch dann kommen...
Titel: Antw:State eines von einem Notify geschalteten Devices aktualisiert sich nicht
Beitrag von: h3llraid3r am 26 August 2017, 22:27:09
Richtig, genau das mit den Readings ist ja das Problem. Die Timestamps passen auf die Sekunde genau mit dem Ein-/Ausschalten von beliebigen Aktivitäten zusammen.

Schalte ich also die Aktivität Fernsehen an, kommt direkt das Reading für das gar nicht beteiligte Gerät. Und zwar immer off. Habe ich heute mehrfach getestet.

Als würde die Harmony alle Geräte-Stati senden, egal ob beteiligt oder nicht. Aber dann hätte ich das eigentlich auch bei den Events erwartet, da taucht aber nur das auf, was man auch erwartet.

Andere notifys habe ich dafür nicht...
Titel: Antw:State eines von einem Notify geschalteten Devices aktualisiert sich nicht
Beitrag von: amenomade am 26 August 2017, 22:55:58
Vielleicht solltest Du dieses Thread im SubForum für harmony verschieben, dort lies bestimmt @justme1968.

ZitatFHEM/37_harmony.pm           justme1968           http://forum.fhem.de Multimedia
Titel: Antw:State eines von einem Notify geschalteten Devices aktualisiert sich nicht
Beitrag von: h3llraid3r am 26 August 2017, 23:19:49
Danke, habe es jetzt mal verschoben, vielleicht kann ja jemand den Nebel lichten...  :)
Titel: Antw:State eines von einem Notify geschalteten Devices aktualisiert sich nicht
Beitrag von: h3llraid3r am 28 August 2017, 14:59:02
@justme1968 hast du vielleicht eine Idee?
Titel: Antw:State eines von einem Notify geschalteten Devices aktualisiert sich nicht
Beitrag von: CoolTux am 28 August 2017, 15:03:08
Ich würde den Betreff im ersten Thread noch anpassen. Zwecks Harmony
Titel: Antw:Harmony:State eines von einem Notify geschalteten Device aktualisiert sich nicht
Beitrag von: h3llraid3r am 28 August 2017, 21:07:59
Habe den Betreff mal angepasst...
Titel: Antw:Harmony:State eines von einem Notify geschalteten Device aktualisiert sich nicht
Beitrag von: justme1968 am 29 August 2017, 09:06:43
wie hast du die leds genau angelernt? sind sie in einer activity eingebunden?

die harmony sendet grundsätzlich nur dinge an fhem auf activity ebene geschaltet wird.
Titel: Antw:Harmony:State eines von einem Notify geschalteten Device aktualisiert sich nicht
Beitrag von: h3llraid3r am 29 August 2017, 09:31:39
Die LEDs sind normal über die Original-FB angelernt. In einer Aktivität sind die nicht vorhanden.
Problem ist ja auch eher dass da
1) beim Schalten einer Aktivität die Devices auf off gesetzt werden (verstehe nicht warum, ist auch kein Event in fhem zu sehen dafür)
2) Die Devices ja über das Notify geschaltet werden. Daher müsste der fhem-interne Status dann auf on wechseln. Tut er aber nicht, obwohl das Gerät korrekt eingeschaltet wird.
Titel: Antw:Harmony:State eines von einem Notify geschalteten Device aktualisiert sich nicht
Beitrag von: h3llraid3r am 01 September 2017, 15:38:22
Niemand mehr eine Idee?
Ich hatte vermutet, dass fhem intern den Geräte-Status umsetzt, egal ob von der Harmony was kommt, scheint dann wohl nicht so zu sein, wenn ich dich richtig verstehe...

Könnte ich zwar mit einem setstate abfangen, aber dann bleibt ja das Problem, dass die Harmony den off-State setzt, sobald ich eine Aktivität starte/beende.
Titel: Antw:Harmony:State eines von einem Notify geschalteten Device aktualisiert sich nicht
Beitrag von: justme1968 am 01 September 2017, 18:35:45
wenn die leds nicht in einer activity stecken kennt der hub den zustand nicht und sendet immer off. wenn du über die harmony geräte ausserhalb einer activity schaltest gilt das gleiche.

wenn du die leds nur über fhem schaltest musst du den status selber dokumentieren. d.h. die per autocreate angelegten devices nützen dir hier nichts. nimm einen readingsProxy als led device und schalte per setFn über den hub.

da es aber nie eine rückmeldung gibt kann (und wird) es passieren das der fhem zustand und tatsächliche zustand nicht übereinstimmen. ob du damit leben kannst musst du probieren.

-> am besten ist es immer nur devices zu verwenden die auch rückmeldung geben.
Titel: Antw:Harmony:State eines von einem Notify geschalteten Device aktualisiert sich nicht
Beitrag von: h3llraid3r am 01 September 2017, 19:17:06
Hm schade, hatte ich schon fast befürchtet...
Ansonsten ist Rückmeldung besser, klar, aber nicht wenn Frau für paar Euronen so lustige Lämpchen kauft  ;D

Danke für den Tip, dann werde ich das wohl über ReadingProxy lösen oder nehme halt den Dummy, einzeln muss man es ja nicht zwangsweise schalten.