[ERLEDIGT] DOIF Syntax mit RegExp wird nicht aktiviert

Begonnen von CoolTux, 02 Juni 2016, 11:00:41

Vorheriges Thema - Nächstes Thema

CoolTux


(["^TempFeuchtSensor:^humidity$"])
(set pushmsg msg 'Wohnungsstatus - Luftfeuchtealarm' 'Der Sensor $DEVICE meldet eine zu hohe Luftfeuchtigkeit von [$DEVICE:humidity]!' 'nexus5-marko' 1 '')


Spreche auf alle Trigger an welche vom Device kommen die mit TempFeuchtSensor anfangen und der Trigger das Reading humidity enthält.
Dachte eigentlich das es so gehen sollte. Aber das DOIF wird einfach nicht aktivert.
Jemand eine Idee?

list vom DOIF

Internals:
   CFGFN
   DEF        (["^TempFeuchtSensor:^humidity$"])
(set pushmsg msg 'Wohnungsstatus - Luftfeuchtealarm' 'Der Sensor $DEVICE meldet eine zu hohe Luftfeuchtigkeit von [$DEVICE:humidity]!' 'nexus5-marko' 1 '')
   NAME       doifInnenraumLuftfeuchteAlarm
   NR         509
   NTFY_ORDER 50-doifInnenraumLuftfeuchteAlarm
   STATE      initialized
   TYPE       DOIF
   Readings:
     2016-06-02 10:50:08   cmd             0
     2016-06-02 10:50:08   state           initialized
   Condition:
     0          EventDoIf('^TempFeuchtSensor',$hash,'^humidity$',0)
   Devices:
   Do:
     0:
       0          set pushmsg msg 'Wohnungsstatus - Luftfeuchtealarm' 'Der Sensor $DEVICE meldet eine zu hohe Luftfeuchtigkeit von [$DEVICE:humidity]!' 'nexus5-marko' 1 ''
   Helper:
     globalinit 1
     last_timer 0
     sleeptimer -1
   Itimer:
   Regexp:
     0:
       0          ^TempFeuchtSensor:^humidity$
     All:
       0          ^TempFeuchtSensor:^humidity$
   State:
Attributes:


Hier mal Exemplarisch ein TempFeuchtSensor Device


Internals:
   CFGFN
   DEF        239AA9
   HMLAN1_MSGCNT 2621
   HMLAN1_RAWMSG E239AA9,0000,78C06CF5,FF,FFCD,2F8670239AA900000000E542
   HMLAN1_RSSI -51
   HMLAN1_TIME 2016-06-02 10:57:38
   IODev      HMLAN1
   LASTInputDev HMLAN1
   MSGCNT     2621
   NAME       TempFeuchtSensorBadezimmer
   NR         337
   NTFY_ORDER 50-TempFeuchtSensorBadezimmer
   STATE      T: 22.9 H: 66
   TYPE       CUL_HM
   lastMsg    No:2F - t:70 s:239AA9 d:000000 00E542
   peerList   HeizungsThermostatBadezimmer_Weather,
   protLastRcv 2016-06-02 10:57:38
   rssi_at_HMLAN1 lst:-51 min:-75 avg:-52.29 cnt:2621 max:-44
   Helper:
     Dblog:
       Dewpoint:
         Logdb:
           TIME       1464857858.16989
           VALUE      16.2
       Humidity:
         Logdb:
           TIME       1464857858.16989
           VALUE      66
       Statdewpointtendency:
         Logdb:
           TIME       1464854396.3482
           VALUE      1h: +0.3 2h: +0.7 3h: +0.7 6h: +0.2
       Stathumiditytendency:
         Logdb:
           TIME       1464854396.3482
           VALUE      1h: -1 2h: -1 3h: -1 6h: -1
       Stattemperaturetendency:
         Logdb:
           TIME       1464854396.3482
           VALUE      1h: +0.5 2h: +0.9 3h: +0.9 6h: +0.4
       Temperature:
         Logdb:
           TIME       1464857858.16989
           VALUE      22.9
   Readings:
     2016-05-28 19:43:11   Activity        alive
     2016-02-28 09:44:22   D-firmware      1.3
     2016-02-28 09:44:22   D-serialNr      KEQ0850685
     2016-02-28 09:44:20   PairedTo        0x2AEE70
     2016-02-28 09:44:20   R-burstRx       on
     2016-02-28 09:44:20   R-pairCentral   0x2AEE70
     2016-02-28 09:44:20   RegL_00.        01:01 02:01 05:00 0A:2A 0B:EE 0C:70 0F:00 00:00
     2016-06-02 10:57:38   battery         ok
     2016-06-02 10:57:38   dewpoint        16.2
     2016-06-02 10:57:38   humidity        66
     2016-05-28 19:43:11   peerList        HeizungsThermostatBadezimmer_Weather,
     2016-06-02 09:59:56   statDewpointTendency 1h: +0.3 2h: +0.7 3h: +0.7 6h: +0.2
     2016-06-02 09:59:56   statHumidityTendency 1h: -1 2h: -1 3h: -1 6h: -1
     2016-06-02 09:59:56   statTemperatureTendency 1h: +0.5 2h: +0.9 3h: +0.9 6h: +0.4
     2016-06-02 10:57:38   state           T: 22.9 H: 66
     2016-06-02 10:57:38   temperature     22.9
   Helper:
     HM_CMDNR   47
     _98_statistics STATISTIKEN
     mId        003F
     rxType     132
     Expert:
       def        1
       det        0
       raw        1
       tpl        0
     Io:
       newChn     +239AA9,00,01,00
       nextSend   1464857858.24269
       rxt        0
       vccu       VCCU1
       p:
         239AA9
         00
         01
         00
       prefIO:
         HMLAN1
     Mrssi:
       mNo        2F
       Io:
         HMLAN1     -49
     Prt:
       bErr       0
       sProc      0
     Q:
       qReqConf
       qReqStat
     Role:
       chn        1
       dev        1
     Rssi:
       At_hmlan1:
         avg        -52.2933994658527
         cnt        2621
         lst        -51
         max        -44
         min        -75
     Shadowreg:
     Tmpl:
Attributes:
   IODev      HMLAN1
   IOgrp      VCCU1:HMLAN1
   actCycle   000:10
   actStatus  alive
   autoReadReg 4_reqStatus
   event-on-change-reading battery,statDewpointTendency,statHumidityTendency,statTemperatureTendency
   event-on-update-reading temperature,humidity,dewpoint
   expert     2_full
   firmware   1.3
   model      HM-WDS40-TH-I
   peerIDs    00000000,2E783001,
   serialNr   KEQ0850685
   subType    THSensor





Grüße
Leon
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Damian

Zitat von: CoolTux am 02 Juni 2016, 11:00:41

(["^TempFeuchtSensor:^humidity$"])
(set pushmsg msg 'Wohnungsstatus - Luftfeuchtealarm' 'Der Sensor $DEVICE meldet eine zu hohe Luftfeuchtigkeit von [$DEVICE:humidity]!' 'nexus5-marko' 1 '')


Spreche auf alle Trigger an welche vom Device kommen die mit TempFeuchtSensor anfangen und der Trigger das Reading humidity enthält.
Dachte eigentlich das es so gehen sollte. Aber das DOIF wird einfach nicht aktivert.
Jemand eine Idee?

list vom DOIF

Internals:
   CFGFN
   DEF        (["^TempFeuchtSensor:^humidity$"])
(set pushmsg msg 'Wohnungsstatus - Luftfeuchtealarm' 'Der Sensor $DEVICE meldet eine zu hohe Luftfeuchtigkeit von [$DEVICE:humidity]!' 'nexus5-marko' 1 '')
   NAME       doifInnenraumLuftfeuchteAlarm
   NR         509
   NTFY_ORDER 50-doifInnenraumLuftfeuchteAlarm
   STATE      initialized
   TYPE       DOIF
   Readings:
     2016-06-02 10:50:08   cmd             0
     2016-06-02 10:50:08   state           initialized
   Condition:
     0          EventDoIf('^TempFeuchtSensor',$hash,'^humidity$',0)
   Devices:
   Do:
     0:
       0          set pushmsg msg 'Wohnungsstatus - Luftfeuchtealarm' 'Der Sensor $DEVICE meldet eine zu hohe Luftfeuchtigkeit von [$DEVICE:humidity]!' 'nexus5-marko' 1 ''
   Helper:
     globalinit 1
     last_timer 0
     sleeptimer -1
   Itimer:
   Regexp:
     0:
       0          ^TempFeuchtSensor:^humidity$
     All:
       0          ^TempFeuchtSensor:^humidity$
   State:
Attributes:


Hier mal Exemplarisch ein TempFeuchtSensor Device


Internals:
   CFGFN
   DEF        239AA9
   HMLAN1_MSGCNT 2621
   HMLAN1_RAWMSG E239AA9,0000,78C06CF5,FF,FFCD,2F8670239AA900000000E542
   HMLAN1_RSSI -51
   HMLAN1_TIME 2016-06-02 10:57:38
   IODev      HMLAN1
   LASTInputDev HMLAN1
   MSGCNT     2621
   NAME       TempFeuchtSensorBadezimmer
   NR         337
   NTFY_ORDER 50-TempFeuchtSensorBadezimmer
   STATE      T: 22.9 H: 66
   TYPE       CUL_HM
   lastMsg    No:2F - t:70 s:239AA9 d:000000 00E542
   peerList   HeizungsThermostatBadezimmer_Weather,
   protLastRcv 2016-06-02 10:57:38
   rssi_at_HMLAN1 lst:-51 min:-75 avg:-52.29 cnt:2621 max:-44
   Helper:
     Dblog:
       Dewpoint:
         Logdb:
           TIME       1464857858.16989
           VALUE      16.2
       Humidity:
         Logdb:
           TIME       1464857858.16989
           VALUE      66
       Statdewpointtendency:
         Logdb:
           TIME       1464854396.3482
           VALUE      1h: +0.3 2h: +0.7 3h: +0.7 6h: +0.2
       Stathumiditytendency:
         Logdb:
           TIME       1464854396.3482
           VALUE      1h: -1 2h: -1 3h: -1 6h: -1
       Stattemperaturetendency:
         Logdb:
           TIME       1464854396.3482
           VALUE      1h: +0.5 2h: +0.9 3h: +0.9 6h: +0.4
       Temperature:
         Logdb:
           TIME       1464857858.16989
           VALUE      22.9
   Readings:
     2016-05-28 19:43:11   Activity        alive
     2016-02-28 09:44:22   D-firmware      1.3
     2016-02-28 09:44:22   D-serialNr      KEQ0850685
     2016-02-28 09:44:20   PairedTo        0x2AEE70
     2016-02-28 09:44:20   R-burstRx       on
     2016-02-28 09:44:20   R-pairCentral   0x2AEE70
     2016-02-28 09:44:20   RegL_00.        01:01 02:01 05:00 0A:2A 0B:EE 0C:70 0F:00 00:00
     2016-06-02 10:57:38   battery         ok
     2016-06-02 10:57:38   dewpoint        16.2
     2016-06-02 10:57:38   humidity        66
     2016-05-28 19:43:11   peerList        HeizungsThermostatBadezimmer_Weather,
     2016-06-02 09:59:56   statDewpointTendency 1h: +0.3 2h: +0.7 3h: +0.7 6h: +0.2
     2016-06-02 09:59:56   statHumidityTendency 1h: -1 2h: -1 3h: -1 6h: -1
     2016-06-02 09:59:56   statTemperatureTendency 1h: +0.5 2h: +0.9 3h: +0.9 6h: +0.4
     2016-06-02 10:57:38   state           T: 22.9 H: 66
     2016-06-02 10:57:38   temperature     22.9
   Helper:
     HM_CMDNR   47
     _98_statistics STATISTIKEN
     mId        003F
     rxType     132
     Expert:
       def        1
       det        0
       raw        1
       tpl        0
     Io:
       newChn     +239AA9,00,01,00
       nextSend   1464857858.24269
       rxt        0
       vccu       VCCU1
       p:
         239AA9
         00
         01
         00
       prefIO:
         HMLAN1
     Mrssi:
       mNo        2F
       Io:
         HMLAN1     -49
     Prt:
       bErr       0
       sProc      0
     Q:
       qReqConf
       qReqStat
     Role:
       chn        1
       dev        1
     Rssi:
       At_hmlan1:
         avg        -52.2933994658527
         cnt        2621
         lst        -51
         max        -44
         min        -75
     Shadowreg:
     Tmpl:
Attributes:
   IODev      HMLAN1
   IOgrp      VCCU1:HMLAN1
   actCycle   000:10
   actStatus  alive
   autoReadReg 4_reqStatus
   event-on-change-reading battery,statDewpointTendency,statHumidityTendency,statTemperatureTendency
   event-on-update-reading temperature,humidity,dewpoint
   expert     2_full
   firmware   1.3
   model      HM-WDS40-TH-I
   peerIDs    00000000,2E783001,
   serialNr   KEQ0850685
   subType    THSensor





Grüße
Leon

Beim Event humidity steht normalerweise eine Zahl dahinter, also kann das Event nicht mit humidity enden.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

CoolTux

Hallo Damian,

Vielen Dank für Deine Antwort. Bin bei meinen Experimenten vor 2 min auch darauf gekommen. Musste noch mal den Commandref Text ganz genau lesen um zu verstehen wie das gemeint ist.    ;D



Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net