userReading für "battery" funktioniert nicht ?!

Begonnen von somansch, 20 Dezember 2018, 23:32:45

Vorheriges Thema - Nächstes Thema

somansch

Ich habe schon einige userReadings erfolgreich umgesetzt. Jetzt habe ich einfach keine Erklärung, warum mit dieser Konfig aus dem "batteryState" das reading "battery" nicht erzeugt wird?!

nternals:
   CHANGED   
   DEF        158d000234bc24 sensor_wleak.aq1 XIAOMI
   IODev      XIAOMI
   LASTInputDev XIAOMI
   MODEL      sensor_wleak.aq1
   MSGCNT     33
   NAME       Abstellraum_Wassersensor
   NR         437
   SID        158d000234bc24
   STATE      initialized
   TYPE       XiaomiSmartHome_Device
   VERSION    1.30
   XIAOMI_MSGCNT 33
   XIAOMI_TIME 2018-12-20 23:28:40
   .attraggr:
   .attreour:
     1
   .attrminint:
   .userReadings:
     HASH(0x739057c)
   OLDREADINGS:
   READINGS:
     2018-12-20 23:28:40   batteryState    ok
     2018-12-20 23:28:40   batteryVoltage  3.0
     2018-12-20 23:28:40   heartbeat       158d000234bc24
Attributes:
   event-on-update-reading 1
   room       XIAOMI
   userReadings battery {ReadingsVal("Abstellraum_Wassersensor","batteryState",0)}


Jemand eine Idee?

Danke vorab und viele Grüße
Andreas

MadMax-FHEM

Hast du bei den anderen auch event-on-update-reading gesetzt!?

So wie ich das im Wiki lese wird bei deinem Attribut nur noch ein Event für Reading mit dem Namen '1' erzeugt.
Gibt es aber nicht...
Ergo: kein Event -> keine Berechnung/Aktualisierung des userReadings...

https://wiki.fhem.de/wiki/Event-on-update-reading

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

somansch

Zitat von: MadMax-FHEM am 20 Dezember 2018, 23:47:44
Hast du bei den anderen auch event-on-update-reading gesetzt!?

So wie ich das im Wiki lese wird bei deinem Attribut nur noch ein Event für Reading mit dem Namen '1' erzeugt.
Gibt es aber nicht...
Ergo: kein Event -> keine Berechnung/Aktualisierung des userReadings...

https://wiki.fhem.de/wiki/Event-on-update-reading

Gruß, Joachim

Hallo Joachim,
danke für den Hinweis. Habe event-on-update mal rausgenommen und auf das nächste update gewartet, leider erfolglos  :(
Internals:
   DEF        158d000234bc24 sensor_wleak.aq1 XIAOMI
   IODev      XIAOMI
   LASTInputDev XIAOMI
   MODEL      sensor_wleak.aq1
   MSGCNT     36
   NAME       Abstellraum_Wassersensor
   NR         437
   SID        158d000234bc24
   STATE      initialized
   TYPE       XiaomiSmartHome_Device
   VERSION    1.30
   XIAOMI_MSGCNT 36
   XIAOMI_TIME 2018-12-21 00:18:48
   .attraggr:
   .attrminint:
   .userReadings:
     HASH(0x739057c)
   OLDREADINGS:
   READINGS:
     2018-12-21 00:18:48   batteryState    ok
     2018-12-21 00:18:48   batteryVoltage  3.0
     2018-12-21 00:18:48   heartbeat       158d000234bc24
Attributes:
   room       XIAOMI
   userReadings battery {ReadingsVal("Abstellraum_Wassersensor","batteryState",0)}

MadMax-FHEM

Kommt denn ein Event im Eventmonitor?

Habe es eben bei einem Dummy getestet: Reading test und userReadings tes...

Also das mit dem Trigger kann es nicht sein aber es muss ein Event kommen, sonst wird das userReadings ja nicht bearbeitet...

Bei meinen Xiaomi läuft grad der EventMonitor aber bislang noch nix...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

somansch

Es ist ein Bug! Ich habe gerade mal statt "battery" das Reading "test" genannt, dies funktioniert auf Anhieb:
Internals:
   DEF        158d000234bc24 sensor_wleak.aq1 XIAOMI
   IODev      XIAOMI
   LASTInputDev XIAOMI
   MODEL      sensor_wleak.aq1
   MSGCNT     46
   NAME       Abstellraum_Wassersensor
   NR         437
   SID        158d000234bc24
   STATE      initialized
   TYPE       XiaomiSmartHome_Device
   VERSION    1.30
   XIAOMI_MSGCNT 46
   XIAOMI_TIME 2018-12-21 12:32:01
   .attraggr:
   .attrminint:
   .userReadings:
     HASH(0x6fb9bb8)
   OLDREADINGS:
   READINGS:
     2018-12-21 12:32:01   batteryState    ok
     2018-12-21 12:32:01   batteryVoltage  3.0
     2018-12-21 12:01:36   heartbeat       158d000234bc24
     2018-12-21 12:32:01   test            ok
Attributes:
   room       XIAOMI
   userReadings test {ReadingsVal("Abstellraum_Wassersensor","batteryState",0)}


Ich vermute, dass der Bug daher kommt, dass das Ursprungsreading (batteryState) mit "battery" beginnt.

Wer kann sich um diesen Bug kümmern?

Danke und Gruß
Andreas

marvin78

Warum benötigst du das Reading battery überhaupt identisch zu dem batteryState Reading?

Funktioniert folgendes?

userReadings battery:batteryState.* {ReadingsVal($name,"batteryState",0)}

somansch

Zitat von: marvin78 am 21 Dezember 2018, 13:11:03
Warum benötigst du das Reading battery überhaupt identisch zu dem batteryState Reading?

Funktioniert folgendes?

userReadings battery:batteryState.* {ReadingsVal($name,"batteryState",0)}

Danke für den Ansatz. Leider ohne Erfolg  :(.

Ich benötige das Reading für meine ReadingGroup und die Templates in FTUI. Möchte halt alle Batteriestati einheitlich ansprechen können  ;).

MadMax-FHEM

Zitat von: somansch am 21 Dezember 2018, 12:35:53
Es ist ein Bug! Ich habe gerade mal statt "battery" das Reading "test" genannt, dies funktioniert auf Anhieb:

Ich vermute, dass der Bug daher kommt, dass das Ursprungsreading (batteryState) mit "battery" beginnt.

Wer kann sich um diesen Bug kümmern?

Danke und Gruß
Andreas

Dann würde aber mein Test mit dem Dummy auch fehlgeschlagen sein...

Hast du mal den Eventmonitor geöffnet, ob da überhaupt der Event kommt?
Wenn kein Event kommt, dann wird auch kein userReadings berechnet...

Ich werde das später mal bei meinen XiaomiDingern einbauen...

@marvin78: wahrscheinlich für eine Batterieübersichtsanzeige oder leer-Nachricht (die aus dem Wiki!? Die "hört" glaube ich nur auf "battery" und nicht auf die Änderung/Angleichung batteryState)... Aber: nat. nur Vermutung... ;)

Ich selbst nutze für Batterieanzeige etc. (in etwa ;)  ) das hier: https://forum.fhem.de/index.php/topic,82637.msg747514.html#msg747514

Das Monitoring Modul wäre eine weiter Möglichkeit: https://forum.fhem.de/index.php?topic=68765.0


Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

MadMax-FHEM

Zitat von: somansch am 21 Dezember 2018, 13:32:01
Danke für den Ansatz. Leider ohne Erfolg  :(.

Ich benötige das Reading für meine ReadingGroup und die Templates in FTUI. Möchte halt alle Batteriestati einheitlich ansprechen können  ;).

Genau wegen Einheitlichkeit wurde die Änderung/Anpassung auf batteryState etc. vorgenommen...
...zukunftssicherer scheint da wohl die Anpassung an batteryState...

Weil vermutlich (über kurz oder lang) alle Module nachziehen und neue gleich so gebaut werden dürften...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

MadMax-FHEM

So ich habe das nun mal bei meinen Xiaomi angelegt und was soll ich sagen: geht.
Nix Bug etc.

Irgendwas scheint bei dir "eigenartig" zu sein...


Internals:
   DEF        xxxxxxxxxxxxxxxxxxxxx sensor_ht XiaomiGateway
   IODev      XiaomiGateway
   LASTInputDev XiaomiGateway
   MODEL      sensor_ht
   MSGCNT     1
   NAME       XiaomiHumTemp_Buero
   NR         378
   SID        xxxxxxxxxxxxxxxxxx
   STATE      13.49 °C, 71.50 %
   TYPE       XiaomiSmartHome_Device
   VERSION    1.30
   XiaomiGateway_MSGCNT 1
   XiaomiGateway_TIME 2018-12-21 19:14:23
   OLDREADINGS:
   READINGS:
     2018-12-21 19:14:23   battery         ok
     2018-12-21 19:14:23   batteryState    ok
     2018-12-21 19:14:23   batteryVoltage  3.0
     2018-12-21 19:14:23   dewpoint        8.4
     2018-12-21 18:55:28   heartbeat       158d0001c2c887
     2018-12-21 19:14:23   humidity        71.50
     2018-12-21 19:14:23   temperature     13.49
Attributes:
   room       MiSmartHome
   stateFormat temperature °C, humidity %
   userReadings battery {ReadingsVal("XiaomiHumTemp_Buero", "batteryState",0)}


Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

somansch

Zitat von: MadMax-FHEM am 21 Dezember 2018, 19:18:14
So ich habe das nun mal bei meinen Xiaomi angelegt und was soll ich sagen: geht.
Nix Bug etc.

Irgendwas scheint bei dir "eigenartig" zu sein...


Internals:
   DEF        xxxxxxxxxxxxxxxxxxxxx sensor_ht XiaomiGateway
   IODev      XiaomiGateway
   LASTInputDev XiaomiGateway
   MODEL      sensor_ht
   MSGCNT     1
   NAME       XiaomiHumTemp_Buero
   NR         378
   SID        xxxxxxxxxxxxxxxxxx
   STATE      13.49 °C, 71.50 %
   TYPE       XiaomiSmartHome_Device
   VERSION    1.30
   XiaomiGateway_MSGCNT 1
   XiaomiGateway_TIME 2018-12-21 19:14:23
   OLDREADINGS:
   READINGS:
     2018-12-21 19:14:23   battery         ok
     2018-12-21 19:14:23   batteryState    ok
     2018-12-21 19:14:23   batteryVoltage  3.0
     2018-12-21 19:14:23   dewpoint        8.4
     2018-12-21 18:55:28   heartbeat       158d0001c2c887
     2018-12-21 19:14:23   humidity        71.50
     2018-12-21 19:14:23   temperature     13.49
Attributes:
   room       MiSmartHome
   stateFormat temperature °C, humidity %
   userReadings battery {ReadingsVal("XiaomiHumTemp_Buero", "batteryState",0)}


Gruß, Joachim

Ich habe gestern nochmal das UserReading von die kopiert und nur den Devicenamen angepasst, um eventuelle nicht sichtbare Zeichen auszuschliessen. Leider ohne Erfolg  ???

Stündlich gibt es einen Event, der den BatteryStatus aktualisiert. Ist ein Wassersensor, bei dir ein Tempsensor. Mir ist jedoch unklar, warum das ein Unterschied sein sollte?! Ich bin ratlos....
Internals:
   DEF        158d000234bc24 sensor_wleak.aq1 XIAOMI
   IODev      XIAOMI
   LASTInputDev XIAOMI
   MODEL      sensor_wleak.aq1
   MSGCNT     23
   NAME       Abstellraum_Wassersensor
   NR         437
   SID        158d000234bc24
   STATE      initialized
   TYPE       XiaomiSmartHome_Device
   VERSION    1.30
   XIAOMI_MSGCNT 23
   XIAOMI_TIME 2018-12-22 16:26:04
   .attraggr:
   .attrminint:
   .userReadings:
     HASH(0x572b814)
   OLDREADINGS:
   READINGS:
     2018-12-22 16:26:04   batteryState    ok
     2018-12-22 16:26:04   batteryVoltage  3.0
     2018-12-22 16:26:04   heartbeat       158d000234bc24
     2018-12-21 12:51:41   test            ok
Attributes:
   room       XIAOMI
   userReadings battery {ReadingsVal("Abstellraum_Wassersensor", "batteryState",0)}

CoolTux


userReadings battery:batteryState:.* { ReadingsVal($name, 'batteryState',0) }


Ist sauberer. Vielleicht klappt es ja so. Die Frage bleibt ob tatsächlich ein Event kommt oder das Reading ohne Event aktualisiert wird.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

somansch

Zitat von: CoolTux am 22 Dezember 2018, 17:57:25

userReadings battery:batteryState:.* { ReadingsVal($name, 'batteryState',0) }


Ist sauberer. Vielleicht klappt es ja so. Die Frage bleibt ob tatsächlich ein Event kommt oder das Reading ohne Event aktualisiert wird.

Ich habe deine Definition nochmal getestet für "battery" und gewartet bis ein Event kam. Leider ohne Erfolg  :(. Danach habe ich das UserReading auf "Test" geändert und wieder gewartet. Test wird aktualisiert! Ich bin ratlos....
Internals:
   DEF        158d000234bc24 sensor_wleak.aq1 XIAOMI
   IODev      XIAOMI
   LASTInputDev XIAOMI
   MODEL      sensor_wleak.aq1
   MSGCNT     18
   NAME       Abstellraum_Wassersensor
   NR         438
   SID        158d000234bc24
   STATE      initialized
   TYPE       XiaomiSmartHome_Device
   VERSION    1.30
   XIAOMI_MSGCNT 18
   XIAOMI_TIME 2018-12-23 14:59:44
   .attraggr:
   .attrminint:
   .userReadings:
     HASH(0x6c23d8c)
   OLDREADINGS:
   READINGS:
     2018-12-23 14:59:44   batteryState    ok
     2018-12-23 14:59:44   batteryVoltage  3.0
     2018-12-23 14:59:44   heartbeat       158d000234bc24
     2018-12-23 14:59:44   test            ok
Attributes:
   room       XIAOMI
   userReadings test:batteryState:.* { ReadingsVal($name, 'batteryState',0) }

CoolTux

Nimm mal statt battery batteryNew. Wieso das mit Test geht kann ich mir gerade nicht erklären. Aber schau doch Mal was im Log steht.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

somansch

Zitat von: CoolTux am 23 Dezember 2018, 15:55:51
Nimm mal statt battery batteryNew. Wieso das mit Test geht kann ich mir gerade nicht erklären. Aber schau doch Mal was im Log steht.

Mit "batteryNew" geht es auch. Hier das Event:
2018-12-23 17:22:19 XiaomiSmartHome_Device Abstellraum_Wassersensor batteryState: ok
2018-12-23 17:22:19 XiaomiSmartHome_Device Abstellraum_Wassersensor batteryVoltage: 3.0
2018-12-23 17:22:19 XiaomiSmartHome_Device Abstellraum_Wassersensor batteryNew: ok


Und die Raw Data:
Internals:
   DEF        158d000234bc24 sensor_wleak.aq1 XIAOMI
   IODev      XIAOMI
   LASTInputDev XIAOMI
   MODEL      sensor_wleak.aq1
   MSGCNT     1
   NAME       Abstellraum_Wassersensor
   NR         438
   SID        158d000234bc24
   STATE      initialized
   TYPE       XiaomiSmartHome_Device
   VERSION    1.30
   XIAOMI_MSGCNT 1
   XIAOMI_TIME 2018-12-23 17:22:19
   .attraggr:
   .attrminint:
   .userReadings:
     HASH(0x734c89c)
   READINGS:
     2018-12-23 17:22:19   batteryNew      ok
     2018-12-23 17:22:19   batteryState    ok
     2018-12-23 17:22:19   batteryVoltage  3.0
     2018-12-23 15:49:52   heartbeat       158d000234bc24
Attributes:
   room       XIAOMI
   userReadings batteryNew:batteryState:.* { ReadingsVal($name, 'batteryState',0) }
   verbose    5