(Geloest) Motion Sensor

Begonnen von Wolfgang Hochweller, 09 November 2021, 18:39:23

Vorheriges Thema - Nächstes Thema

Wolfgang Hochweller

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' ?

DeeSPe

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
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

rudolfkoenig

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 :)

Wolfgang Hochweller

Danke, dann kriege ich das hin.

Wolfgang Hochweller

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 ?


DeeSPe

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
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Wolfgang Hochweller

#6
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.

MadMax-FHEM

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
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)

Wolfgang Hochweller

Das stimmt natuerlich; notify ist die bessere Loesung.

Wolfgang Hochweller

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)

DeeSPe

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
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe