Verständnisfrage zu Batterie-Devices

Begonnen von dennis_n, 28 November 2015, 00:05:03

Vorheriges Thema - Nächstes Thema

dennis_n

Hi,

ich habe mir heute einen Fibaro Motion Sensor zugelegt und auch direkt in fhem einbinden können. Association Gruppe habe ich 3 gesetzt.
Mein wakeup Interval habe ich derzeit auf 3600, also 1 Stunde stehen.

Wenn ich jetzt vor dem Sensor etwas bewege, ändert sich das Reading für state, basicset und ReportedState

Was sich aber nicht ändert ist z.B. der Status der Batterie. Wenn ich manuell ein get battery auslöse, wartet er auf die notification.
Auch das Reading für luminance oder temperature aktualisiert sich nicht.

Wie soll ein DOIF z.B. ein Licht je nach Helligkeit einschalten, wenn es aus den Readings keinen aktuellen Wert bekommt?

Das verstehe ich nicht so ganz und wäre für eine Erklärung froh.

Danke

Gruss
Dennis

rudolfkoenig

Ueblicherweise sendet der Sensor bei Bewegung nur diese Information, und steht fuer Fragen  (Batterie, Helligkeit) nicht zur Verfuegung. Fragen kann man nur bei einem wakeup:notification stellen.

Die Methode: bei Bewegung nach Helligkeit fragen, und falls zu dunkel, dann Lampe schalten, funktioniert nicht.

Workarounds:
- Sensor so konfigurieren, dass nur im Dunkeln die Bewegung meldet.
- statt Helligkeit in FHEM den Sonnenstand mit isday() abfragen
- den zuletzt vom Sensor gemeldeten Helligkeitswert nehmen, diesen stuendlich abfragen
- Sensor mit Strom versorgen, und in "always_on" Modus schalten (laut pepper1 kann Fibaro das nicht, der EZMotion kann das).

scooty

Hallo Dennis,

der Fibaro Motion Sensor (ich rede vom FGMS001) verfügt über einige Konfigurationsmöglichkeiten.
Für Dich interessant wären wohl die Möglichkeiten, abhängig von der Größe der Änderung eines Wertes, ein Reading aktualisiert zu bekommen (=Motion Sensor sendet den aktuellen Wert an Zentrale).
Diese sind z.B.:
configTemperatureReportThreshold
configIlluminationReportThreshold

Oder aber Du lässt Dir eben  die benötigten Werte öfter vom Motion Sensor melden (geht aber auf die Batterie):
configIlluminationReportsInterval
configTemperatureReportsInterval
(letzterer sinnvollerweise in Kombination mit configIntervalOfTemperatureMeasuring)

Viele Grüße,
Andreas
PS: battery wird meines Wissens nach nur bei Änderung des Batteriewertes beim WakeUp (bei Dir derzeit 3600s) gemeldet.

Fhem auf Gigabyte Brix
CUL V3 HM / CUL V3 MAX / MaxCube aFW Homematic&MAX / ZWave.me ZME_UZB1 / SDuino 433 / Velux KLF200
Homematic / MAX / Logitech Hub / ZWave / Wifi LED / div. 433 Temperatursensoren / pywws WH10880 / IO Homecontrol

dennis_n

Hallo ihr beiden.
Danke für eure Antworten.

Aber es scheint ja so zu sein, dass er die Werte für battery, luminance usw. nicht automatisch nach jedem wakeup aktualisiert. Vielmehr scheint es so zu sein, dass ich zum wakeup explizit danach fragen muss.

Der luminance wert wurde beispielsweise seit gestern 22 Uhr nicht mehr aktualisiert.
Also muss ich mir wohl etwas zurecht bauen.

Gruß
Dennis

dennis_n

Habe in einem anderen Thread das hier gefunden. Demnach müsste ich das wohl genauso lösen, oder ?
define SensorWZ.Battery notify SensorWZ:wakeup:.* get SensorWZ battery

Aber mir leuchtet nicht ein, wie sich der luminance wert ändert.
Wenn es doch in dem Raum wo der Sensor hängt plötzlich dunkel wird, soll ein Licht angehen.
Kann ja nicht sein, dass man 1 Stunde warten muss bis das passiert.

Gruß
Dennis

scooty

#5
Zitat von: dennis_n am 28 November 2015, 09:02:36
Der luminance wert wurde beispielsweise seit gestern 22 Uhr nicht mehr aktualisiert.

OK, bleiben wir erstmal beim luminance Wert.
Wie oft/häufig der Sensor den von sich aus meldet (ohne WakeUp) bestimmst Du mit den Konfigurationseinstellungen:
1) configIlluminationReportThreshold
The parameter determines the change in light intensity level resulting in illumination report being sent to the main controller. Available settings: 0 - 65535 (1 - 65535 lux; 0 = reports are not sent) Default setting: 200 (200 lux)

2) configIlluminationReportsInterval
Time interval between consecutive illumination reports. The reports are sent even if there are no changes in the light intensity. Available settings: 0 - 65535 (1 - 65535 seconds; 0 = reports are not sent) Default setting: 0 (no reports) NOTE Frequent reports will shorten the battery life. Parameter value under 5 may result in blocking the temperature reports.

Also Standard ist, dass nicht regelmäßig sondern nur bei Änderung des luminance Wertes um +/- 200 der luminance Wert gemeldet wird.
Das sagt aber leider nichts darüber aus, wie schnell der Sensor eine Änderung erkennt (und dann entsprechend meldet).
Meiner Erfahrung nach dauert es schon so 4-5 Sekunden, d.h. schnelle Meldung auf Grund von luminance Änderungen wirst Du eher nicht erwarten können.
Bitte beschreibe doch mal Deinen genauen Anwendungsfall, wie Du den Sensor verwenden möchtest: auf was genau Du regieren möchtest und was geschaltet werden soll.

Bitte dazu noch ein:
set <Motion-Sensor> configRequestAll
Dreimal kurz hintereinander die Taste am Sensor drücken (WakeUp wird ausgelöst [LED leuchte kurz blau), er nimmt die Befehle an und verarbeitet sie)
list <Motion-Sensor>

und poste das Ergebnis hier, um die aktuellen Konfigurationseinstellungen bewerten zu können.

Viele Grüße,
Andreas
Fhem auf Gigabyte Brix
CUL V3 HM / CUL V3 MAX / MaxCube aFW Homematic&MAX / ZWave.me ZME_UZB1 / SDuino 433 / Velux KLF200
Homematic / MAX / Logitech Hub / ZWave / Wifi LED / div. 433 Temperatursensoren / pywws WH10880 / IO Homecontrol

dennis_n

Hi,

hier das list:
Internals:
   CFGFN
   DEF        c1aa9dda 15
   IODev      ZWAVE1
   LASTInputDev ZWAVE1
   MSGCNT     670
   NAME       ZWave_SENSOR_BINARY_15
   NR         144
   STATE      open
   TYPE       ZWave
   ZWAVE1_MSGCNT 670
   ZWAVE1_RAWMSG 0004000f032001ff
   ZWAVE1_TIME 2015-11-28 11:14:11
   homeId     c1aa9dda
   isWakeUp   1
   lastMsgSent 1448705562.45076
   nodeIdHex  0f
   Readings:
     2015-11-28 11:11:47   CMD             ZW_APPLICATION_UPDATE
     2015-11-27 22:22:45   UNPARSED        WAKE_UP 028405
     2015-11-28 11:13:13   alarm_type_00   level 00 node 0f seconds 0
     2015-11-27 22:37:20   assocGroups     3
     2015-11-28 11:14:11   basicSet        ff
     2015-11-28 00:44:45   battery         100 %
     2015-11-28 11:06:34   configAmbientIlluminationLevelAbove83 1000
     2015-11-28 11:11:51   configAmbientIlluminationLevelBelow82 100
     2015-11-28 11:12:23   configBASICOFFCommandFrameValue 0
     2015-11-28 11:12:24   configBASICONCommandFrameValue 255
     2015-11-28 11:12:25   configBasicCommandClassFrames12 BASICONAndBASICOFFCommandFrames0
     2015-11-28 11:12:26   configIlluminationReportThreshold 200
     2015-11-28 11:12:27   configIlluminationReportsInterval 0
     2015-11-28 11:12:28   configIntervalOfTemperatureMeasuring 900
     2015-11-28 11:12:29   configLEDBrightness 100
     2015-11-28 11:12:30   configLEDIndicatingTamperAlarm LEDIndicatesTamperAlarm
     2015-11-28 11:12:31   configLEDSignalingMode LongBlinkThenShortBlinkLEDColour10
     2015-11-28 11:12:33   configMaximumTemperatureResultingInRed87 28
     2015-11-28 11:12:34   configMinimumTemperatureResultingIn86 18
     2015-11-27 22:34:51   configMotionAlarmCancellationDelay 30
     2015-11-28 11:12:08   configMotionSensorSBlindTime2 15
     2015-11-28 11:12:36   configMotionSensorSSensitivity 10
     2015-11-28 11:12:36   configNightDay  200
     2015-11-28 11:12:36   configPIRSensorOperatingMode PIRSensorAlwaysActive
     2015-11-28 11:12:37   configPIRSensorSPulseCounter 1
     2015-11-28 11:12:39   configPIRSensorSWindowTime 2
     2015-11-28 11:12:40   configTamperAlarmBroadcastMode TamperAlarmIsNotSentInBroadcast0
     2015-11-28 11:12:41   configTamperAlarmCancellationDelay 30
     2015-11-28 11:12:42   configTamperOperatingModes Tamper
     2015-11-28 11:12:20   configTamperSensitivity 15
     2015-11-28 11:12:21   configTemperatureOffset 0
     2015-11-27 20:35:01   configTemperatureReportThreshold 10
     2015-11-28 11:11:51   configTemperatureReportsInterval 0
     2015-11-28 11:13:14   luminance       192 Lux
     2015-11-27 20:21:54   model           FIBARO System FGMS001 Motion Sensor
     2015-11-27 20:21:54   modelConfig     fibaro/fgms.xml
     2015-11-27 20:21:54   modelId         010f-0800-1001
     2015-11-28 11:14:11   reportedState   open
     2015-11-28 11:14:11   state           open
     2015-11-28 11:13:14   temperature     28.1 C
     2015-11-28 11:12:42   transmit        OK
     2015-11-28 10:44:56   wakeup          notification
Attributes:
   IODev      ZWAVE1
   alias      Sensor_Flur
   classes    SENSOR_BINARY WAKE_UP ASSOCIATION BATTERY MULTI_CMD CRC_16_ENCAP MANUFACTURER_SPECIFIC VERSION CONFIGURATION MULTI_CHANNEL_ASSOCIATION SENSOR_MULTILEVEL SENSOR_ALARM BASIC
   room       ZWave


Was mich halt wundert ist, dass der battery Wert beispielsweise seit 00:44:45 nicht mehr ausgelesen wurde. Trotz dem gerade angestossenen Wakeup.

Eigentlich habe ich noch keine genaue Anwendung für den Sensor.
Geplant ist, dass er bei mir im Flur hängt und evtl. die HUE anmacht, wenn jemand die Tür reinkommt. Das bekomme ich hin.
Eine andere Anwendung wäre, dass wenn ein bestimmter luminance Wert unterschritten wird, das Licht angeht.

Gruss
Dennis

toms01

#7
Hallo Dennis,

den battery-Wert hole ich mir immer bei einem Wakeup:
2015.11.28 09:29:59 2: ZWave get <name> battery
2015.11.28 09:29:59 2: After sleep: battery:100 %


mit einem kleinen "Sicherheits-Delay" vom Sensor mit:

#Batterie auslesen bei Wakeup-Notify
define Notify_Wakeup_<name> notify <name>:wakeup:.notification sleep 0.3;;get <name> battery


Gruß,
Thomas

toms01

Zitat von: dennis_n am 28 November 2015, 11:18:23
Eine andere Anwendung wäre, dass wenn ein bestimmter luminance Wert unterschritten wird, das Licht angeht.

Das kann der Sensor mWn von sich aus nicht.
Du könntest das Threshold niedrig setzen und das per FHEM auswerten lassen, würde aber viel Batterie "fressen".
Und wie schon gesagt ist da anscheinend ein kleines Delay zwischen Lux-Änderung und Meldung.

dennis_n

Na ja, ich würde mit einem DOIF den Wert abfragen und dann entsprechend das Licht schalten. Das sollte doch gehen.

Ich habe gerade mal dein notify angelegt, aber der Batterie status wird nicht aktualisiert. Habe dazu durch 3x drücken ein manuelle Wakeup ausgelöst:
ZWave_SENSOR_BINARY_15:wakeup:.notification sleep 0.3;get ZWave_SENSOR_BINARY_15 battery

Gruss
Dennis

toms01

Hast du denn in den Sensor-readings bei wakeup notification eine passende Uhrzeit?

dennis_n

#11
Hmmm nein, da habe ich garnicht drauf geachtet.
Ich dachte durch das 3x drücken löse ich ein Wakeup aus.

Ich entferne zum testen mal die Klasse.

Quatsch bringt ka nix, da dann das notify nicht greift.

Gruss
Dennis


toms01

Zitat von: dennis_n am 28 November 2015, 11:40:44
Na ja, ich würde mit einem DOIF den Wert abfragen und dann entsprechend das Licht schalten. Das sollte doch gehen.

Aber den Lux-Wert brauchst du dazu trotzdem und den sendet das Gerät. Und das von sich aus nur bei Änderung nicht
bei einem festgelegten Wert. Bei niedriger Abstufung (Threshold) hast du dann eventuell relativ hohe Funklast und
hohen Batterieverbrauch.

toms01

Du könntest das wakeup-intervall testweise ja mal relativ niedrig setzen und schauen was passiert.

dennis_n

#14
Bin ich gerade dabei. Melde mich gleich.

Update: Also irgendwie stellt er mir das Wakeup interval nicht um.
Habe den Befehl abgesetzt und danach 3x gedrückt. Nimmt er aber nicht an.