Hauptmenü

Mehrfachbedingungen

Begonnen von wendeling, 05 Mai 2017, 20:10:57

Vorheriges Thema - Nächstes Thema

Damian

Per FHEM-Update hat man sie automatisch.

mit "Version DOIF.pm" in der Kommandozeile siehst du deine Version.

Die aktuelle lautet:

# $Id: 98_DOIF.pm 14112 2017-04-26 16:09:48Z Damian $#
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

wendeling

Habe jetzt letzte Version , aber dennoch das gleiche Problem

Damian

Zitat von: wendeling am 06 Mai 2017, 22:00:51
Habe jetzt letzte Version , aber dennoch das gleiche Problem

tja, dann machst du wohl etwas falsch.


ich kann bei mir das Beispiel:

defmod Pumpe_A DOIF ([#"^MAX:^valveposition":valveposition:$number >0] > 0 ) (set HMW_IO_12_Sw7_DR_LEQ0117043_19 on) DOELSE (set HMW_IO_12_Sw7_DR_LEQ0117043_19 off)

mit copy und paste über die Kommandozeile ohne Probleme definieren.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

wendeling

Hab ich gemacht , gleiche Problem!
Was ist das mit der Zeit ?

wendeling

error: Wrong timespec #"^MAX:^valveposition":valveposition:$number>0: either HH:MM:SS or {perlcode}

Thorsten Pferdekaemper

Hi,
zeig am Besten mal ein list Deines DOIF.
Gruß,
   Thorsten
FUIP

wendeling

Internals:
   CFGFN
   DEF        ([#"^MAX:^valveposition":valveposition:$number >0] > 0 ) (set HMW_IO_12_Sw7_DR_LEQ0117043_19 on) DOELSE (set HMW_IO_12_Sw7_DR_LEQ0117043_19 off)
   NAME       Pumpe_A
   NR         75266
   NTFY_ORDER 50-Pumpe_A
   STATE      initialized
   TYPE       DOIF
   Readings:
     2017-05-06 22:58:34   cmd             0
     2017-05-06 22:58:34   state           initialized
     2017-05-06 22:58:34   timer_01_c01    error: Wrong timespec #"^MAX:^valveposition":valveposition:$number>0: either HH:MM:SS or {perlcode}
   Condition:
     0          DOIF_time_once($hash,0,$wday) > 0
   Devices:
   Do:
     0:
       0          set HMW_IO_12_Sw7_DR_LEQ0117043_19 on
     1:
       0          set HMW_IO_12_Sw7_DR_LEQ0117043_19 off
   Helper:
     globalinit 1
     last_timer 1
     sleeptimer -1
   Itimer:
   Localtime:
   Regexp:
   State:
   Time:
     0          #"^MAX:^valveposition":valveposition:$number>0
   Timecond:
     0          0
   Timer:
     0          0
   Timers:
     0           0
Attributes:
   room       KG Heizung

Damian

und jetzt noch mal Output von "Version DOIF.pm"
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

wendeling

98_DOIF.pm 14112 2017-04-26 16:09:48Z Damian

Damian

Zitat von: wendeling am 07 Mai 2017, 08:19:16
98_DOIF.pm 14112 2017-04-26 16:09:48Z Damian

Hast du das System durchgestartet? So verhält sich eigentlich nur das alte Modul. So sieht bei mir die Definition mit der obigen Version aus:
Internals:
   CFGFN
   DEF        ([#"^MAX:^valveposition":valveposition:$number >0] > 0 ) (set HMW_IO_12_Sw7_DR_LEQ0117043_19 on) DOELSE (set HMW_IO_12_Sw7_DR_LEQ0117043_19 off)
   NAME       Pumpe_A
   NR         501
   NTFY_ORDER 50-Pumpe_A
   STATE      initialized
   TYPE       DOIF
   Readings:
     2017-05-07 08:28:21   cmd             0
     2017-05-07 08:28:21   state           initialized
   Condition:
     0          AggregateDoIf($hash,'#','^MAX','valveposition','$number >0') > 0
   Devices:
   Do:
     0:
       0          set HMW_IO_12_Sw7_DR_LEQ0117043_19 on
     1:
       0          set HMW_IO_12_Sw7_DR_LEQ0117043_19 off
   Helper:
     globalinit 1
     last_timer 0
     sleeptimer -1
   Itimer:
   Regexp:
     0:
       0          ^MAX:^valveposition
     All:
       0          ^MAX:^valveposition
   State:
     State:
Attributes:


Unter "Condition" ist die neue Aggregationsfunktion zu sehen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

wendeling

!!!! Genau das war mein Fehler !!!!!
Jetzt funktioniert es super !

Vielen lieben Dank an die Spezialisten !!

Danke

Gruß
Wendelin

Damian

Zitat von: wendeling am 07 Mai 2017, 13:49:30
!!!! Genau das war mein Fehler !!!!!
Jetzt funktioniert es super !

Vielen lieben Dank an die Spezialisten !!

Danke

Gruß
Wendelin

Dann teste es ausgiebig. Dieser Fall ist ein typischer Anwendungsfall für die Steuerung einer Umwälzpumpe abhängig der Ventil-Öffnungen. Wenn es sich bewährt, werde ich es als Beispiel in die Commandref zu DOIF aufnehmen. Jede andere Lösung des Problems dürfte mehr als eine Definitionszeile brauchen ;)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

wendeling

Mach ich , und Danke noch einmal .
Habe jetzt sogar ein zweites mit alias Name , und das funktioniert genauso
Gut

Gruß
Wendelin