Seltsames Verhalten von eventMap

Begonnen von JudgeDredd, 27 Februar 2019, 16:02:33

Vorheriges Thema - Nächstes Thema

JudgeDredd

Hallo Zusammen,

ich beobachte gerade ein sehr seltsames/unzuverlässiges Verhalten vom Attribut "eventMap".

Für meinen Test habe ich mir mal ein Dummy angelegt:
Internals:
   FUUID      5c753f5e-f33f-e996-89c6-b0dde190fd7e15d3
   NAME       dumTest
   NR         227
   STATE      off
   TYPE       dummy
   READINGS:
     2019-02-27 15:25:25   Runsec          0
     2019-02-27 15:25:25   state           0
Attributes:
   eventMap   1:on 0:off
   setList    on off
   userReadings Runsec { ReadingsVal( "dumTest", "state", "0" ) * 10 }


Wenn man nun den Dummy schaltet, dann sollte ja im UserReading nach meinem Verständnis entweder 0 oder 10 stehen.
Bei meinen Tests habe ich dann ein paarmal hin und her geschaltet und folgende Events wurden generiert:

2019-02-27 15:21:20 dummy dumTest off
2019-02-27 15:21:20 dummy dumTest Runsec: off
2019-02-27 15:21:23 dummy dumTest on
2019-02-27 15:21:23 dummy dumTest Runsec: 10
2019-02-27 15:22:05 dummy dumTest off
2019-02-27 15:22:05 dummy dumTest Runsec: off
2019-02-27 15:22:07 dummy dumTest off
2019-02-27 15:22:07 dummy dumTest Runsec: off
2019-02-27 15:25:02 dummy dumTest on
2019-02-27 15:25:02 dummy dumTest Runsec: 10
2019-02-27 15:25:21 dummy dumTest on
2019-02-27 15:25:21 dummy dumTest Runsec: 10
2019-02-27 15:25:25 dummy dumTest off
2019-02-27 15:25:25 dummy dumTest Runsec: off


Wie zu sehen ist, hat das UserReading bei "on" den erwarteten Wert 10. Bei "off" allerdings enthält das UserReading ebenfalls den String "off".
Verstehe ich hier die Funktionsweise von eventMap falsch oder stimmt meine Syntax nicht ?

Gruß,
JudgeDredd
Router: Eigenbau (pfSense)
FHEM: Proxmox (DELL R720) | Debian 12 (VM)

amenomade

Ich kann das nicht reproduzieren. Irgendwelches unsichtbare Zeichen in eventMap oder setList?
Ich würde das dummy löschen, und ohne copy/paste o.ä. neu anlegen.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

JudgeDredd

ZitatIch kann das nicht reproduzieren.
Das ist ja mal echt strange.

Der Dummy ist schon ein test, weil es bei einen anderen dummy auch nicht funktioniert.

Dabei habe ich das Device extra selbst reingeklimpert um Copy/Paste Fehler zu vermeiden.

Wenn keine Weiteren Vorschläge kommen,  muss ich selbst nochmal einen workaround bauen um mwin Problem zu umschiffen.

Danke aber mal das Du es bei Dir getestest hast.
Router: Eigenbau (pfSense)
FHEM: Proxmox (DELL R720) | Debian 12 (VM)

Otto123

Hi,

ist bei mir auch so. Das userReadings springt auf off und dann auf 0 wenn man F5 im Browser drückt. Der Event wird aber nicht erzeugt.

Da überholt sich irgendetwas. Das Problem ist aber dein userReadings und nicht eventMap.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

amenomade

Komischerweise, ist es jetzt auch bei mir so. Ohne, dass ich etwas geändert habe!

Allerdings für dieses userReading hätte ich Value() statt ReadingsVal(state) benutzt

EDIT: nicht besser mit Value()
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

amenomade

Und mit
attr dumtest userReadings Runsec { Log3 $NAME, 1, ReadingsVal( "dumtest","state", 0 ) * 10;;;; return  ReadingsVal( "dumtest","state", 0 ) * 10}
kriege ich folgendes in der Log:

2019.02.27 21:30:29 4: dummy set dumtest 1
2019.02.27 21:30:29 1: 10
2019.02.27 21:30:30 4: dummy set dumtest 0
2019.02.27 21:30:30 1: 0
2019.02.27 21:30:32 4: dummy set dumtest 1
2019.02.27 21:30:32 1: 10
2019.02.27 21:30:33 4: dummy set dumtest 0
2019.02.27 21:30:33 1: 0


obwohl in der UI "off" im userReading kommt
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

JudgeDredd

Zitat von: Otto123ist bei mir auch so. Das userReadings springt auf off und dann auf 0
Zitat von: amenomadeKomischerweise, ist es jetzt auch bei mir so. Ohne, dass ich etwas geändert habe!
OK, dann kann ich die Ghostbusters wieder abbestellen ;)

Zitat von: Otto123Da überholt sich irgendetwas.
Schöne Formulierung :)

Wie dem auch sei, ich schmeiße das eventMap raus und nehme::
Runsec { ReadingsNum( $name, "state", 0 ) * 10; }
Das funktioniert bei mir.

Komisch finde ich ja nur, das ich der erste sein soll, dem das auffällt.

Gruß,
JudgeDredd
Router: Eigenbau (pfSense)
FHEM: Proxmox (DELL R720) | Debian 12 (VM)