Moin zusammen,
seit einiger Zeit setze ich mich mit fhem auseinander und spiele aktuell mit einem Fibaro Fensterkontakt FGK-101 Gen5 herum. Inklusion, Temperaturabfrage haben funktioniert. Nun generiert mir der Sensor bei Öffnen und Schließen immer mehrere State Events im EventMonitor.
Auszug EventMonitor:
2016-12-31 08:47:55 ZWave Az_Fenster alarm: AccessControl: Window/Door is open
2016-12-31 08:47:55 ZWave Az_Fenster open
2016-12-31 08:47:55 ZWave Az_Fenster reportedState: open
2016-12-31 08:47:56 ZWave Az_Fenster open
2016-12-31 08:47:56 ZWave Az_Fenster reportedState: open
2016-12-31 08:47:58 ZWave Az_Fenster alarm: AccessControl: Window/Door is closed
2016-12-31 08:47:58 ZWave Az_Fenster closed
2016-12-31 08:47:58 ZWave Az_Fenster reportedState: closed
2016-12-31 08:47:58 ZWave Az_Fenster closed
2016-12-31 08:47:58 ZWave Az_Fenster reportedState: closed
Ein list des Sensors bringt folgendes Ergebnis:
Internals:
DEF d5dc415b 5
IODev ZWDongle_0
LASTInputDev ZWDongle_0
MSGCNT 209
NAME Az_Fenster
NR 66
STATE closed
TYPE ZWave
ZWDongle_0_MSGCNT 209
ZWDongle_0_RAWMSG 0004000503300300
ZWDongle_0_TIME 2016-12-31 08:47:58
ZWaveSubDevice no
endpointChildren ZWave_Node_5.1
homeId d5dc415b
isWakeUp 1
lastMsgSent 1483168218.05769
nodeIdHex 05
Readings:
2016-12-31 08:10:15 CMD ZW_APPLICATION_UPDATE
2016-12-31 08:47:58 alarm AccessControl: Window/Door is closed
2016-12-31 07:57:58 alarm_type_00 level 0 node 5 seconds 0
2016-12-31 08:08:16 assocGroup_1 Max 1 Nodes ZWDongle_0
2016-12-31 08:08:16 assocGroup_2 Max 5 Nodes
2016-12-31 08:08:16 assocGroup_3 Max 5 Nodes
2016-12-31 08:08:16 assocGroup_4 Max 5 Nodes ZWDongle_0
2016-12-31 08:08:16 assocGroup_5 Max 5 Nodes
2016-12-31 08:08:16 assocGroups 5
2016-12-31 07:58:50 basicSet 0
2016-12-30 10:34:08 battery 100 %
2016-12-31 07:56:44 config2ndAssociationGroupTriggers10 switchAfterOpeningAndClosing
2016-12-31 07:56:44 configAlarmBroadcast71 broadcastInactive
2016-12-31 07:56:44 configAssociationsInZWaveNetwork72 allGroupsSentAsSecure
2016-12-31 07:56:44 configCommandsSentTo2ndAssociation11 ONOFF
2016-12-31 07:56:44 configDelayOfTamperAlarmCancellation30 5
2016-12-31 07:56:44 configDoorWindowOrAlarmStatus2 doorWindowClosed
2016-12-31 07:56:44 configHighTemperatureAlarmThreshold55 540
2016-12-31 07:56:44 configIntervalOfTemperature50 300
2016-12-31 07:56:44 configIntervalOfTemperatureReports52 0
2016-12-31 07:56:44 configLowTemperatureAlarmThreshold56 40
2016-12-31 07:56:44 configOperationMode1 DoorWindowsSensorOrExternal0
2016-12-31 07:56:44 configRangeTestAfterDoubleClick4 disabled
2016-12-31 07:56:44 configReportingTamperAlarm31 sendTamperCancelationReport
2016-12-31 07:56:44 configSceneActivationFunctionality70 0
2016-12-31 07:56:44 configTemperatureAlarmReports54 temperatureAlarmsDisabled
2016-12-31 07:56:44 configTemperatureOffset53 0
2016-12-31 07:56:44 configTemperatureReportsThreshold51 5
2016-12-31 07:56:44 configTimeDelayOfOFFCommandFrame15 0
2016-12-31 07:56:45 configTimeDelayOfONCommandFrame14 0
2016-12-31 07:56:45 configTypeOfSentAlarmFrames20 DoorWindowSensorGeneralPurpose0
2016-12-31 07:56:45 configValueOfOFFCommandFrameSentTo2nd13 0
2016-12-31 07:56:45 configValueOfONCommandFrameSentTo2nd12 255
2016-12-31 07:56:45 configVisualLEDIndications3 indicationOfAllEvents
2016-12-31 08:10:15 mcaGroups 5
2016-12-31 08:10:15 mca_1 Max 1 Nodes ZWDongle_0
2016-12-31 08:10:15 mca_2 Max 10
2016-12-31 08:10:16 mca_3 Max 10
2016-12-31 08:10:16 mca_4 Max 10 Nodes ZWDongle_0
2016-12-31 08:10:16 mca_5 Max 10
2016-12-21 17:00:21 model FIBARO System FGK101-ZW5 Door Opening Sensor
2016-12-21 17:00:21 modelConfig fibaro/fgk001-zw5.xml
2016-12-21 17:00:21 modelId 010f-0701-1001
2016-12-31 08:47:58 reportedState closed
2016-12-31 08:47:58 state closed
2016-12-31 08:13:55 temperature 20.75 C
2016-12-31 08:10:18 timeToAck 0.027
2016-12-31 08:10:18 transmit OK
2016-12-31 07:57:43 wakeup notification
2016-12-29 16:18:52 wakeupReport interval 21600 target 1
Attributes:
IODev ZWDongle_0
classes ZWAVEPLUS_INFO ASSOCIATION ASSOCIATION_GRP_INFO APPLICATION_STATUS BASIC BATTERY CONFIGURATION CRC_16_ENCAP DEVICE_RESET_LOCALLY FIRMWARE_UPDATE_MD MANUFACTURER_SPECIFIC MULTI_CHANNEL_ASSOCIATION ALARM POWERLEVEL SECURITY SCENE_ACTIVATION SENSOR_ALARM SENSOR_BINARY SENSOR_MULTILEVEL VERSION WAKE_UP
group Security
room Büro,Wohnung
Dementsprechend wird ein notify auf "open" oder "closed" auch immer mehrfach ausgelöst. Kann es was mit den associations zu tun haben?
Danke und Gruß
Malte
Hi,
ich kenne den Sensor nicht, aber Deine Vermutung dürfte richtig sein. Wenn in der Gruppe 1 und in der Gruppe 4 jeweils der Status gemeldet wird dann kommt es auch zwei mal an...
Mal in der Bedienungsanleitung nachsehen was in welcher Gruppe gesendet wird und ob man das evtl. konfigurieren kann.
Gruß,
Andreas.
Das komische an der Sache ist, wenn ich die Gruppe 4 entferne erhalte folgende Events.
2016-12-31 09:25:00 ZWave Az_Fenster alarm: AccessControl: Window/Door is closed
2016-12-31 09:25:01 ZWave Az_Fenster alarm: AccessControl: Window/Door is open
Allerdings nicht im "State" sondern im Reading "Alarm".
Hi,
ja, das wird über die Klasse ALARM/NOTIFICATION gemeldet und ist "normal". (Und das war vorher auch schon da, siehe erste Zeile deines Eventlogs...)
Reicht das nicht?
Was wird den in der Gruppe 4 gesendet? Kann man das evtl. konfigurieren? Teilweise kann man über einen Zahlencode (der binär ausgedrückt die einzelnen Werte darstellt) konfigurieren was gesendet wird.
Gruß,
Andreas.
Lösungsmöglichkeit bei ausschließlicher Assoziation mit Assogroup 1 über stateFormat: https://forum.fhem.de/index.php/topic,48639.msg489829.html#msg489829
Gruß, Christian
So ganz verstehe ich das mit dem stateFormat noch nicht. Folgendes habe ich eingetragen: stateFormat {(split(/,|is /, ReadingsVal($name,"alarm","")))[1]}
Als Event kommt folgendes:
2016-12-31 10:15:25 ZWave Az_Fenster alarm: AccessControl: Window/Door is closed
2016-12-31 10:15:25 ZWave Az_Fenster alarm: AccessControl: Window/Door is open
Sorry für die blöden Fragen :(
ZitatAllerdings nicht im "State" sondern im Reading "Alarm".
stateFormat ändert nicht den Event, sondern die Anzeige im STATE. Hatte aus obigem geschlossen, dass Dich fehlender STATE stört.
Für das notify solltest Du jetzt passendes regex/pattern (ungetestet: Az_Fenster:alarm..AccessControl.*closed) heraussuchen. Es dürfte auch nur noch ein Event für open/closed kommen.
Erstmal danke für die Lösungsansätze. In der Tat bin ich verwundert über den fehlenden STATE. Bzw. steht bei mit dort aktuell wakeupInterval 86400 1 drin. Nach der Eingabe des stateFormat hat sich daran nichts geändert.
Das mit dem Deinem Vorschlag für das notify verstehe ich. Allerdings hätte ich damit in der Anzeige der Web Oberfläche immer noch keine Anzeige von Open/closed. Also ja, im Prinzip besteht das Hauptinteresse darin den fehlenden STATE hinzubekommen. Ich vermute nur das dieser Code {(split(/,|is /, ReadingsVal($name,"alarm","")))[1]} noch nicht ganz korrekt auf meine Events passt.
Internals:
CFGFN
DEF d5dc415b 8
IODev ZWDongle_0
LASTInputDev ZWDongle_0
MSGCNT 113
NAME Az_Fenster
NR 996
STATE open
TYPE ZWave
ZWDongle_0_MSGCNT 113
ZWDongle_0_RAWMSG 00040008097105000000ff061600
ZWDongle_0_TIME 2016-12-31 11:58:44
ZWaveSubDevice no
homeId d5dc415b
isWakeUp 1
lastMsgSent 1483175678.1467
nodeIdHex 08
Readings:
2016-12-31 10:14:36 CMD ZW_APPLICATION_UPDATE
2016-12-31 11:58:44 alarm AccessControl: Window/Door is open
2016-12-31 10:09:40 alarm_AccessControl Window/Door is open, notificationIsOn
2016-12-31 10:10:23 config2ndAssociationGroupTriggers10 switchAfterOpeningAndClosing
2016-12-31 10:10:23 configAlarmBroadcast71 broadcastInactive
2016-12-31 10:10:23 configAssociationsInZWaveNetwork72 allGroupsSentAsSecure
2016-12-31 10:10:23 configCommandsSentTo2ndAssociation11 ONOFF
2016-12-31 10:10:24 configDelayOfTamperAlarmCancellation30 5
2016-12-31 10:10:24 configDoorWindowOrAlarmStatus2 doorWindowClosed
2016-12-31 10:10:24 configHighTemperatureAlarmThreshold55 540
2016-12-31 10:10:24 configIntervalOfTemperature50 300
2016-12-31 10:10:24 configIntervalOfTemperatureReports52 0
2016-12-31 10:10:24 configLowTemperatureAlarmThreshold56 40
2016-12-31 10:10:24 configOperationMode1 DoorWindowsSensorOrExternal0
2016-12-31 10:10:24 configRangeTestAfterDoubleClick4 disabled
2016-12-31 10:10:24 configReportingTamperAlarm31 sendTamperCancelationReport
2016-12-31 10:10:24 configSceneActivationFunctionality70 0
2016-12-31 10:10:24 configTemperatureAlarmReports54 temperatureAlarmsDisabled
2016-12-31 10:10:24 configTemperatureOffset53 0
2016-12-31 10:10:24 configTemperatureReportsThreshold51 10
2016-12-31 10:10:24 configTimeDelayOfOFFCommandFrame15 0
2016-12-31 10:10:24 configTimeDelayOfONCommandFrame14 0
2016-12-31 10:10:24 configTypeOfSentAlarmFrames20 DoorWindowSensorGeneralPurpose0
2016-12-31 10:10:24 configValueOfOFFCommandFrameSentTo2nd13 0
2016-12-31 10:10:24 configValueOfONCommandFrameSentTo2nd12 255
2016-12-31 10:10:24 configVisualLEDIndications3 indicationOfAllEvents
2016-12-31 09:59:22 model FIBARO System FGK101-ZW5 Door Opening Sensor
2016-12-31 09:59:22 modelConfig fibaro/fgk001-zw5.xml
2016-12-31 09:59:22 modelId 010f-0701-1001
2016-12-31 09:47:38 state wakeupInterval 86400 1
2016-12-31 11:13:24 temperature 23.25 C
2016-12-31 10:14:38 timeToAck 0.036
2016-12-31 10:14:38 transmit OK
2016-12-31 09:48:36 wakeup notification
Attributes:
IODev ZWDongle_0
classes ZWAVEPLUS_INFO ASSOCIATION ASSOCIATION_GRP_INFO APPLICATION_STATUS BASIC BATTERY CONFIGURATION CRC_16_ENCAP DEVICE_RESET_LOCALLY FIRMWARE_UPDATE_MD MANUFACTURER_SPECIFIC MULTI_CHANNEL_ASSOCIATION ALARM POWERLEVEL SECURITY SCENE_ACTIVATION SENSOR_ALARM SENSOR_BINARY SENSOR_MULTILEVEL VERSION WAKE_UP
room Büro
stateFormat {(split(/,|is /, ReadingsVal($name,"alarm..AccessControl","")))[1]}
vclasses ALARM:5 APPLICATION_STATUS:1 ASSOCIATION:2 ASSOCIATION_GRP_INFO:1 BASIC:1 BATTERY:1 CONFIGURATION:1 CRC_16_ENCAP:1 DEVICE_RESET_LOCALLY:1 FIRMWARE_UPDATE_MD:3 MANUFACTURER_SPECIFIC:2 MULTI_CHANNEL_ASSOCIATION:3 POWERLEVEL:1 SCENE_ACTIVATION:1 SECURITY:1 SENSOR_ALARM:1 SENSOR_BINARY:1 SENSOR_MULTILEVEL:5 VERSION:2 WAKE_UP:2 ZWAVEPLUS_INFO:2
Also im Prinzip wäre mein Ziel das im STATE open/closed angezeigt werden.
Events sind nicht gleichzusetzen mit Readings.
Mit ReadingsVal liest Du ein Reading aus. In Deinem stateFormat willst Du das Reading alarm_AccessControl auslesen. Also bitte den Readingnamen korrekt übernehmen (mein obiger Link führt zum richtigen Code); du darfst dort nicht mit Regex .. arbeiten. Das gilt nur für regex in notify.
Ok, verstanden. In der tat wird in der Weboberfläche jetzt open und closed angezeigt.
Für das notify muss ich mir also jetzt noch etwas anhand Deines Vorschlages bauen.
ZitatstateFormat ändert nicht den Event, sondern die Anzeige im STATE. Hatte aus obigem geschlossen, dass Dich fehlender STATE stört.
Für das notify solltest Du jetzt passendes regex/pattern (ungetestet: Az_Fenster:alarm..AccessControl.*closed) heraussuchen. Es dürfte auch nur noch ein Event für open/closed kommen.
Hi,
das Notify bspw. funktioniert:
(EG_Kueche_Fenstersensor:alarm_AccessControl:.*) {
if ($EVTPART3 eq "open,")
{
...
}
else
{
...
}
}
Gruß
throbin
Danke Leute, ich denke so langsam steige ich dahinter. So läuft es erstmal.
Danke Euch und einen guten Rutsch :)!