DOIF für KWL / Feuchtesteuerung klappt nicht

Begonnen von michisa86888, 28 September 2021, 21:32:21

Vorheriges Thema - Nächstes Thema

michisa86888

Hallo zusammen,
ich probiere mich gerade an einem DOIF das ich so in der Zusammensetzung noch nicht hatte. Das Problem ist nicht die Bedingung sondern das der Auslöser in PERL (?) geschrieben ist..
Bedingung ist diese die passt meiner Meinung nach auch:

([08:00-22:30] and [ELW_Bad_Sensor:humidity] >55)

Es soll immer wenn die Feuchte über 55% steigt ausgelöst werden, das nur im Zeitraum von 8 bis 22:30

Jetzt kommt der Auslöser der auch so funktioniert wenn ich ihn ohne "set" in die FHEM Kommandozeile eingebe

{helios_req_level("KWL_EG_KG",4,15)}


Zusammen als DOIF funktioniert das ganze aber nicht....

([08:00-22:30] and [ELW_Bad_Sensor:humidity] >55)
{helios_req_level("KWL_EG_KG",4,15)}


Ich weiss die Lösung ist wahrscheinlich sehr einleuchtend für die meisten aber ich bekomme es nicht hin. Weder mit einem "set" davor noch mit "{fhem"

Adimarantis

Auf den ersten Blick gehören da runde Klammern drum und evtl. auch ein Semikolon ab Ende.
([08:00-22:30] and [ELW_Bad_Sensor:humidity] >55)
({helios_req_level("KWL_EG_KG",4,15);})
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Damian

Zitat von: Adimarantis am 28 September 2021, 21:39:53
Auf den ersten Blick gehören da runde Klammern drum und evtl. auch ein Semikolon ab Ende.
([08:00-22:30] and [ELW_Bad_Sensor:humidity] >55)
({helios_req_level("KWL_EG_KG",4,15);})


Das dürfte unerheblich sein.

Bitte immer List vom vermeintlich nicht funktionierenden Fall posten.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

michisa86888

Hier mal ein list vom DOIF. Runde Klammern brauchten keine Besserung....

Internals:
   CFGFN     
   DEF        ([08:00-19:30] and [ELW_Bad_Sensor:humidity] >70)
({helios_req_level("KWL_EG_KG",4,15);})
   FUUID      61521801-f33f-f7a6-0a6b-f528731fb087eca7
   MODEL      FHEM
   NAME       DOIF_ELW_Badentfreuchtung
   NOTIFYDEV  global,ELW_Bad_Sensor
   NR         351
   NTFY_ORDER 50-ELW_Badentfeuchtung_DOIF
   STATE      cmd_2
   TYPE       DOIF
   VERSION    24905 2021-09-01 18:35:54
   Helper:
     DBLOG:
       cmd:
         DBLogging:
           TIME       1632862462.60227
           VALUE      2
       cmd_event:
         DBLogging:
           TIME       1632862462.60227
           VALUE      ELW_Bad_Sensor
       cmd_nr:
         DBLogging:
           TIME       1632862462.60227
           VALUE      2
       mode:
         DBLogging:
           TIME       1632858274.0952
           VALUE      enabled
       state:
         DBLogging:
           TIME       1632862462.60227
           VALUE      cmd_2
   READINGS:
     2021-09-29 16:43:48   Device          ELW_Bad_Sensor
     2021-09-28 22:54:22   cmd             2
     2021-09-28 22:54:22   cmd_event       ELW_Bad_Sensor
     2021-09-28 22:54:22   cmd_nr          2
     2021-09-29 16:43:48   e_ELW_Bad_Sensor_humidity 61
     2021-09-28 21:44:34   mode            enabled
     2021-09-28 22:54:22   state           cmd_2
     2021-09-28 21:44:34   timer_01_c01    29.09.2021 08:00:00
     2021-09-28 21:44:34   timer_02_c01    29.09.2021 19:30:00
   Regex:
     accu:
     collect:
     cond:
       ELW_Bad_Sensor:
         0:
           humidity   ^ELW_Bad_Sensor$:^humidity:
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          ::DOIF_time($hash,0,1,$wday,$hms) and ::ReadingValDoIf($hash,'ELW_Bad_Sensor','humidity') >70
   days:
   do:
     0:
       0          {helios_req_level("KWL_EG_KG",4,15);}
     1:
   helper:
     DEVFILTER  ^global$|^ELW_Bad_Sensor$
     NOTIFYDEV  global|ELW_Bad_Sensor
     event      humidity: 61,T: 20.4 H: 61
     globalinit 1
     last_timer 2
     sleeptimer -1
     timerdev   ELW_Bad_Sensor
     timerevent humidity: 61,T: 20.4 H: 61
     triggerDev ELW_Bad_Sensor
     timerevents:
       humidity: 61
       T: 20.4 H: 61
     timereventsState:
       humidity: 61
       state: T: 20.4 H: 61
     triggerEvents:
       humidity: 61
       T: 20.4 H: 61
     triggerEventsState:
       humidity: 61
       state: T: 20.4 H: 61
   internals:
   interval:
     0          -1
     1          0
   intervalfunc:
   intervaltimer:
   localtime:
     0          1632895200
     1          1632936600
   readings:
     all         ELW_Bad_Sensor:humidity
   realtime:
     0          08:00:00
     1          19:30:00
   time:
     0          08:00:00
     1          19:30:00
   timeCond:
     0          0
     1          0
   timer:
     0          0
     1          0
   timers:
     0           0  1
   trigger:
   triggertime:
     1632936600:
       localtime  1632936600
       hash:
   uiState:
   uiTable:
Attributes:
   icon       helper_doif
   room       30_ELW,92_DOIF

xenos1984


([08:00-19:30] and [ELW_Bad_Sensor:humidity] >70)

Da steht 70 und nicht 55.

2021-09-29 16:43:48   e_ELW_Bad_Sensor_humidity 61

...ist kleiner als 70.

Damian

Mit set DOIF_ELW_Badentfreuchtung cmd_1 kannst du die Ausführung auch direkt testen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF