Ich tue mich schwer ....
Hier ist ein Devicelisting :
Internals:
DEF cfba8db6 78
FUUID 5ca64a90-f33f-775d-abfa-1137b98b91d3a6f6
IODev ZWAVE2
LASTInputDev ZWAVE2
MSGCNT 184
NAME FlurObenSensor
NR 151
STATE ???
TYPE ZWave
ZWAVE2_MSGCNT 184
ZWAVE2_RAWMSG 0004004e028407
ZWAVE2_TIME 2021-11-09 18:34:14
ZWaveSubDevice no
cmdsPending 0
homeId cfba8db6
isWakeUp 1
lastMsgSent 1636479256.54917
nodeIdHex 4e
OLDREADINGS:
READINGS:
2021-11-09 13:44:09 IODev ZWAVE2
2021-11-09 18:34:07 alarm HomeSecurity: Motion Detection - Unknown Location
2021-11-09 17:22:10 assocGroup_1 Max 4 Nodes ZWAVE2
2021-11-09 17:27:14 assocGroup_2 Max 4 Nodes
2021-11-09 17:22:11 assocGroup_3 Max 4 Nodes
2021-11-09 17:22:11 assocGroup_4 Max 4 Nodes
2021-11-09 17:22:10 assocGroups 4
2021-11-09 17:22:55 configAmbientIlluminationLuxLevel 100
2021-11-09 17:22:56 configAmbientIlluminationLuxLevel9 100
2021-11-09 17:22:56 configBasicSetLevel 255
2021-11-09 17:22:56 configLedBlinkEnable Enable
2021-11-09 17:22:56 configLightSensorPollingInterval 180
2021-11-09 17:22:57 configLuxLevelFunctionEnable Disable
2021-11-09 17:22:57 configOnOffDuration 30
2021-11-09 17:22:57 configPIRDetectingFunctionEnabled4 Enable
2021-11-09 17:22:57 configReTriggerIntervalSetting 8
2021-11-09 17:22:58 configSensitivityLevelSetting 12
2021-11-07 15:47:24 luminance 20 Lux
2021-11-09 16:46:35 model Neo CoolCam Battery Powered PIR Sensor
2021-11-09 16:46:35 modelConfig shenzen_neo/nas-pd01z.xml
2021-11-09 16:46:35 modelId 0258-0003-1083
2021-11-09 18:34:07 motion on
2021-11-09 18:34:16 timeToAck 0.050
2021-11-09 18:34:16 transmit OK
2021-11-09 18:34:14 wakeup notification
Attributes:
IODev ZWAVE2
classes ZWAVEPLUS_INFO VERSION MANUFACTURER_SPECIFIC DEVICE_RESET_LOCALLY POWERLEVEL BATTERY SENSOR_MULTILEVEL ALARM SENSOR_BINARY CONFIGURATION ASSOCIATION ASSOCIATION_GRP_INFO WAKE_UP
icon people_sensor
room Oben,ZWave
vclasses ALARM:8 ASSOCIATION:2 ASSOCIATION_GRP_INFO:1 BATTERY:1 CONFIGURATION:1 DEVICE_RESET_LOCALLY:1 MANUFACTURER_SPECIFIC:2 POWERLEVEL:1 SENSOR_BINARY:2 SENSOR_MULTILEVEL:7 VERSION:2 WAKE_UP:2 ZWAVEPLUS_INFO:2
Wie muss ich vorgehen, damit ich irgendwo den Batteriestatus sehen kann ?
Ausser durch ein explizites 'get device battery' ?
Soweit ich weiß geht das bei ZWave nur per explizitem get.
Ich habe das für meine Sensoren so gelöst:
defmod n_Motion_Sensors_wakeup notify (bz|ku|te)_Sensor:wakeup.* {fhem "get $NAME battery" if (ReadingsAge($NAME,"battery",0) > 76400)}
Gruß
Dan
ZitatSoweit ich weiß geht das bei ZWave nur per explizitem get.
Ich vermute, die Hersteller senden das nicht "freiwillig", um Strom zu sparen.
FHEM macht das aus dem gleichem Grund auch nicht (oder was das nur Faulheit?).
Man koennte was Vergleichbares wie von DeeSPe gezeigt ins FHEM-Modul mit Attribut einbauen, aber das koennten die Hersteller per config auch :)
Danke, dann kriege ich das hin.
Macht es einen internen Unterschied , ob man das via Notify, wie oben beschrieben, loest,
oder dafuer sorgt, dass immer ein 'get device battery' ansteht, etwa ueber ein at-Kommando ?
Zitat von: Wolfgang Hochweller am 09 November 2021, 23:06:14
Macht es einen internen Unterschied , ob man das via Notify, wie oben beschrieben, loest,
oder dafuer sorgt, dass immer ein 'get device battery' ansteht, etwa ueber ein at-Kommando ?
Das get funktioniert nur wenn der Sensor wach ist, deswegen das notify auf wakeup. Ein at wird dich also nicht zum Ziel führen.
Gruß
Dan
hhm, der Sensor wacht gemaess Einstellung einmal in 24h auf, und dann sendet er mir das Ergebnis des 'get device battery', das ja genau auf das Wakeup wartet.
Wobei es ziemlich egal ist, wann ich das Kommando losgeschickt habe.
Ob sich FHEM das merkt, wenn es zwischenzeitlich mal neu startet, weiss ich im Moment aber nicht.
Das Kommando wird schon in der Queue warten aber wenn die voll läuft oder andere Kommandos geschickt werden weiß ich nicht was passiert.
Solange du nichts mit dem Gerät und anderen ZWave Geräten machst kann es schon funktionieren...
...ABER: wo liegt jetzt der große Unterschied zwischen einem at was zyklisch läuft und vielleicht funktioniert und einem notify/DOIF was genau dann abfrägt, wenn das Gerät "wach" ist und somit sehr wahrscheinlich funktioniert?
Ich habe auch so ein notify und es macht was es soll :)
Gruß, Joachim
Das stimmt natuerlich; notify ist die bessere Loesung.
Vielleicht noch eine Ergaenzung :
Mit obigem Notify funktioniert es nur, wenn das Reading schon da ist.
Besser ist sicher:
...... if (ReadingsAge($NAME,"battery",80000) > 76400)
Zitat von: Wolfgang Hochweller am 11 November 2021, 10:41:14
Vielleicht noch eine Ergaenzung :
Mit obigem Notify funktioniert es nur, wenn das Reading schon da ist.
Besser ist sicher:
...... if (ReadingsAge($NAME,"battery",80000) > 76400)
Da hast Du Recht!
Gruß
Dan