DOIF funktioniert nicht (HMIP Wassersensor)

Begonnen von errazzor, 09 Januar 2020, 00:40:27

Vorheriges Thema - Nächstes Thema

errazzor

Hallo,

ich bekomme ein einfaches DOIF nicht hin und stehe völlig auf dem Schlauch....es geht um einen HMIP Wassersensor (HmIP-SWD).

Das Device:


Internals:
   DEF        HmIP-SWD-Wassersensor defaults
   FUUID      5e161d47-f33f-d150-de87-46b1d6f1f15820f3
   IODev      CCU2
   NAME       KG_HWR_Wassersensor
   NR         1192
   STATE      Initialized
   TYPE       HMCCUDEV
   ccuaddr    00189A4995CDBC
   ccudevstate active
   ccuif      HmIP-RF
   ccuname    HmIP-SWD-Wassersensor
   ccutype    HmIP-SWD
   channels   3
   statevals  devstate
   READINGS:
     2020-01-08 23:52:53   0.ERROR_CODE    0
     2020-01-08 23:52:53   0.ERROR_NON_FLAT_POSITIONING 0
     2020-01-08 23:52:53   0.LOW_BAT       ok
     2020-01-08 23:52:53   0.UNREACH       alive
     2020-01-08 23:52:53   1.ALARMSTATE    ok
     2020-01-08 23:52:53   1.MOISTURE_DETECTED ok
     2020-01-08 23:52:53   1.WATERLEVEL_DETECTED ok
     2020-01-08 23:52:53   battery         ok
     2020-01-08 23:52:53   hmstate         Initialized
     2020-01-09 00:04:24   state           Initialized
   hmccu:
     devspec    HmIP-SWD-Wassersensor
Attributes:
   IODev      CCU2
   ccureadingfilter (^ALARMSTATE|^LOW_BAT|^UNREACH|^MOISTURE_DETECTED|^WATERLEVEL_DETECTED|^ERROR_NON_FLAT_POSITIONING|^ERROR_CODE)
   ccureadingformat datapoint
   ccureadingname 0.(LOWBAT|LOW_BAT):+battery
   event-on-change-reading . *
   genericDeviceType LeakSensor
   group      Schaltdosen
   homebridgeMapping LeakDetected=1.ALARMSTATE,values=ok:0;Alarm:1 StatusTampered=0.ERROR_NON_FLAT_POSITIONING StatusFault=0.ERROR_CODE
   room       Hausstatus
   stateFormat Status: 1.ALARMSTATE | Feuchtigkeitserkennung: 1.MOISTURE_DETECTED | Wassererkennung: 1.WATERLEVEL_DETECTED
   substitute ALARMSTATE!(0|false):ok,(1|true):Alarm;LOW_BAT!(0|false):ok,(1|true):low;MOISTURE_DETECTED!(0|false):ok,(1|true):Alarm;WATERLEVEL_DETECTED!(0|false):ok,(1|true):Alarm;ERROR_NON_FLAT_POSITIONING!(0|false):0,(1|true):1


Ich möchte eine Telegram-Nachricht, wenn sich der Alarm- und/oder Batteriestatus ändert.

Aber das DOIF wird einfach nicht ausgelöst, bei keinem Reading:


Internals:
   DEF        ([KG_HWR_Wassersensor:1.ALARMSTATE] eq "Alarm") (set Telegram message Wassersensor KG_HWR ALARM!)
   FUUID      5e165ff8-f33f-d150-f0f3-932ee175156e796b
   MODEL      FHEM
   NAME       Wassersensor_Alarmierung_DOIF
   NOTIFYDEV  global,KG_HWR_Wassersensor
   NR         1198
   NTFY_ORDER 50-Wassersensor_Alarmierung_DOIF
   STATE      initialized
   TYPE       DOIF
   VERSION    20500 2019-11-12 17:54:48
   READINGS:
     2020-01-09 00:37:06   cmd             0
     2020-01-09 00:37:06   mode            enabled
     2020-01-09 00:37:06   state           initialized
   Regex:
     accu:
     cond:
       KG_HWR_Wassersensor:
         0:
           1.ALARMSTATE ^KG_HWR_Wassersensor$:^1.ALARMSTATE:
   condition:
     0          ::ReadingValDoIf($hash,'KG_HWR_Wassersensor','1.ALARMSTATE') eq "Alarm"
   do:
     0:
       0          set Telegram message Wassersensor KG_HWR ALARM!
     1:
   helper:
     DEVFILTER  ^global$|^KG_HWR_Wassersensor$
     NOTIFYDEV  global|KG_HWR_Wassersensor
     globalinit 1
     last_timer 0
     sleeptimer -1
   readings:
     all         KG_HWR_Wassersensor:1.ALARMSTATE
   uiState:
   uiTable:
Attributes:
   do         always
   room       Licht




Internals:
   DEF        ([KG_HWR_Wassersensor:battery] eq "low") (set Telegram message Wassersensor KG_HWR Batterie leer!)
   FUUID      5e165ff8-f33f-d150-f0f3-932ee175156e796b
   MODEL      FHEM
   NAME       Wassersensor_Alarmierung_DOIF
   NOTIFYDEV  global,KG_HWR_Wassersensor
   NR         1198
   NTFY_ORDER 50-Wassersensor_Alarmierung_DOIF
   STATE      initialized
   TYPE       DOIF
   VERSION    20500 2019-11-12 17:54:48
   READINGS:
     2020-01-09 00:35:47   cmd             0
     2020-01-09 00:35:47   mode            enabled
     2020-01-09 00:35:47   state           initialized
   Regex:
     accu:
     cond:
       KG_HWR_Wassersensor:
         0:
           battery    ^KG_HWR_Wassersensor$:^battery:
   condition:
     0          ::ReadingValDoIf($hash,'KG_HWR_Wassersensor','battery') eq "low"
   do:
     0:
       0          set Telegram message Wassersensor KG_HWR Batterie leer!
     1:
   helper:
     DEVFILTER  ^global$|^KG_HWR_Wassersensor$
     NOTIFYDEV  global|KG_HWR_Wassersensor
     globalinit 1
     last_timer 0
     sleeptimer -1
   readings:
     all         KG_HWR_Wassersensor:battery
   uiState:
   uiTable:
Attributes:
   do         always
   room       Licht


Ich teste dann immer mit


trigger KG_HWR_Wassersensor 1.ALARMSTATE: Alarm
oder
trigger KG_HWR_Wassersensor battery: low


Im Eventmonitor kann ich sehen, dass der Wert gesetzt wird. Aber im DOIF passiert gar nichts.

Was mache ich verkehrt?



amenomade

Siehe hier: https://forum.fhem.de/index.php/topic,107177.msg1010786.html#msg1010786
(Doppelpost - statt dessen, kannst Du ein Thread verschieben: Knopf ganz unten links)
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus