Hallo
Für ein Homematic Device HM-ES-PMSW1-DR > channel_01 > Kueche_Sw setze ich das attr
attr Kueche_Sw event-on-change-reading state
Auch wenn keine Änderung des Readings state vorkommt wird das Reading aktualisiert.
Übersehe ich etwas, geht es nicht für state?
Update: bei einer FS20 Schaltsteckdose funktioniert es vs. state - nur bei Änderung wird das Reading aktualisiert.
Beste Grüße
Heinz
Hallo Heinz,
sicher, dass sich das Reading state nicht (temporär) ändert? Hast Du Dir das mal im Eventmonitor angeschaut?
Gruß Otto
Hallo Otto
Der state ist on und ich setze ihn im Web Frontend nochmal auf on und es wird ein Event ausgelöst.
2020-10-25 20:39:54 CUL_HM Kueche_Sw set_on noArg
2020-10-25 20:39:55 CUL_HM Kueche_Sw on
2020-10-25 20:40:10 CUL_HM Kueche_Sw set_on noArg
2020-10-25 20:40:10 CUL_HM Kueche_Sw on
Grüße
Heinz
weil es zwischenzeitlich anders, nämlich set_on ist. Ist ja laut Event so :)
Heißt aber auch: jemand löst ein set Kueche_Sw on aus !
Ja, richtig, wie wird man den zwischenzeitlichen status "CUL_HM Kueche_Sw set_on noArg" los?
So ist das event-on-change-reading vs. state wirkugslos, gibt es ein weiteres Reading um on mit einem notify auszuwerten, bei Änderung?
ein set_on liefert das Gerät eigentlich nicht von sich aus im Ruhezustand "on". Irgendwer feuert set Kueche_Sw on
Evtl. könnte man noch mit dem Reading pct arbeiten, nur liefert das 0 bzw. 100 für den Schaltzustand und kein "on".
Das dürfte auch von dem "set_" Zwischenschritt beim schalten nicht betroffen sein.
Wobei es natürlich besser wäre die Ursache für die gesendeten on-Befehle zu finden.
Gruß
Danny
Ich versuche es mit dem Reading pct.
Danke für Eure Beiträge
Du scheinst nicht zu verstehen was ich sage: Dieser Event mit set_on kommt nicht von alleine. Ich habe auch nichts gemacht. 8)
Aber Du hast etwas programmiert was offenbar alle 16 sec ein set_on an das gerät schickt.
Nun kannst Du sagen: es interessiert mich nicht weil on ist on und ich will es einfach nicht wissen was passiert. Aber Du sendest alle 16 sec einen unnützen Befehl an das Gerät.
Also bitte suche deinen Code nach diesem Fehler ab und ignoriere das nicht einfach!
Wie kommst Du auf die Idee so zu Antworten.
Laut Deiner Antwort #1 soll ich es doch im Eventmonitor ansehen.
Siehe Antwort #2
Ich habe nochmals im Web Frontend auf on gesetzt um den Event im Eventmonitor zu sehen.
Das hat geholfen, es ist verstanden, muss anders gelöst werden.
Lösung Antwort #6
Moin,
:'(
die Lösung wäre, die Ursache für die ungewollten state Änderungen zu finden.
Lösch doch einfach mal das Attribut, mach selbst nichts an dem Device und beobachte den Eventmonitor.
Das Reading state wird hier bei meinem HM Switch nicht von allein aktualisiert wenn keine Änderung geschieht. Klar wird es geändert wenn man einen set Befehl absetzt, auch wenn der den gleichen Endzustand hat, weil temporär eben mehr passiert.
Oder habe ich das Problem falsch verstanden, und Du erwartest genau dieses Verhalten? Also das Gerät ist on, Du schickst ein set on und erwartest keinen Event?
Gruß Otto
Moin auch, hallo Otto,
klinke mich mal ein, denn ich habe das gleiche Problem. > 150.000 Records im Log pro Monat (auf SSD, naja).
Also, ich will nur die Änderungen am Schaltzustand und die zugehörigen elektr. Werte im Log sehen. Die elektr. Werte brauche ich nicht alle 3 Minuten im Log.
attr HM_69B232_Sw event-on-change-reading state
Das nützt nichts.
Alle drei Minuten werden diese Records ins Log des Schalters geschrieben.
2021-01-27 11:37:16 CUL_HM HM_69B232_Pwr boot: off
2021-01-27 11:37:16 CUL_HM HM_69B232_Pwr current: 66
2021-01-27 11:37:16 CUL_HM HM_69B232_Pwr eState: E: 9313.2 P: 0.78 I: 66 U: 225.2 f: 49.97
2021-01-27 11:37:16 CUL_HM HM_69B232_Pwr energy: 9313.2
2021-01-27 11:37:16 CUL_HM HM_69B232_Pwr energyCalc: 9313.2
2021-01-27 11:37:16 CUL_HM HM_69B232_Pwr frequency: 49.97
2021-01-27 11:37:16 CUL_HM HM_69B232_Pwr power: 0.78
2021-01-27 11:37:16 CUL_HM HM_69B232_Pwr 9313.2
2021-01-27 11:37:16 CUL_HM HM_69B232_Pwr voltage: 225.2
2021-01-27 11:37:16 CUL_HM HM_69B232_SenF 49.97
2021-01-27 11:37:16 CUL_HM HM_69B232_SenI 66
2021-01-27 11:37:16 CUL_HM HM_69B232_SenPwr 0.78
2021-01-27 11:37:16 CUL_HM HM_69B232_SenU 225.2
Es gibt definitv kein aktives "set HM_69B232_Sw on" oder so, aber ein DOIF mit dem HM_69B232_Sw im Status disabled.
Dieses erzeugt im FHEM-Log folgenden Eintrag:
2021.01.27 11:23:19 3: CUL_HM set HM_69B232_Sw off noArg
2021.01.27 11:23:20 3: CUL_HM set HM_69B232_Sw on noArg
Ich habe das DOIF gelöscht, jetzt sind die Einträge weg. Anscheinend wird das DOIF doch irgendwie ausgeführt.
Die Einträge im Log des Schalters gehen jedoch munter weiter, siehe oben.
Vielleicht was für Martin?
Zitatattr HM_69B232_Sw event-on-change-reading state
Dein event-on-change greift nur bei dem Device "HM_69B232_Sw"
Für die anderen Devices "HM_69B232_Pwr", "HM_69B232_SenF" u.s.w. musst du es dort aktivieren.
Da aber die Werte von Spannung, Frequenz netzbedingt sich immer irgendwie ändern, wird es nahezu keinen Effekt haben.
Etwas ruhiger bekommt man es dann mit einem Schwellert (siehe commandref, oder besser Wiki):
ZitatWenn hinter dem Namen eines "readings" eine :Schwelle angegeben ist, wird das Event nur getriggert wenn die Änderung grösser als diese Schwelle ist.
Gruß
Danny
Moin Danny,
genau so habe ich es jetzt gemacht.
Am Pwr Channel den event-on-change-reading power.*:1
Da kann ich bei Bedarf noch voltage oder so mit aufnehmen.
Zitat von: DL4FBR am 27 Januar 2021, 13:15:17
Da kann ich bei Bedarf noch voltage oder so mit aufnehmen.
warum nicht "eState"? dann hast du alles auf einmal. ;)
Dann ist der Plot schwieriger, weil alle Werte in einer Zeile stehen.