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...
Bitte mal was handfesten damit man auch mal helfen kann und nicht nur Kaffeesatzlesen muss.
list von so einem Dummy bitte
Also
list DEVICENAME
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...
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?
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...
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...
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...
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
Danke, habe es jetzt mal verschoben, vielleicht kann ja jemand den Nebel lichten... :)
@justme1968 hast du vielleicht eine Idee?
Ich würde den Betreff im ersten Thread noch anpassen. Zwecks Harmony
Habe den Betreff mal angepasst...
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.
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.
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.
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.
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.