FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: caldir65 am 10 Dezember 2016, 20:21:51

Titel: DOIF führt nur erstes CMD aus
Beitrag von: caldir65 am 10 Dezember 2016, 20:21:51
Hallo,

ich habe folgendes DOIF definiert:

([{sunset(0,"17:00","21:45")}] and ["tr_ThermometerTerasse:themperature",0]<5.0) (
set wz_RolladenGarten 90,
set wz_RolladenStrasse 90,
set hwr_RolloHWR down,
set wz_RolladenEsszimmer 82,
set wz_RolladenTerasse 76,
set RolloKueche position 90
)
DOELSEIF ([{sunset(0,"17:00","21:45")}] and ["tr_ThermometerTerasse:themperature",0]>5.0)(
set wz_RolladenGarten 90,
set wz_RolladenStrasse 90,
set hwr_RolloHWR down
)


Es wird, was die Zeit angeht, auch korrekt ausgeführt, nur leider findet die Temperatur nicht die richtige Würdigung - es wird immer die erste Bedingung angenommen und alle 4 Rollos angesteuert, obwohl heute z.B. rund 7°C waren ...

Das Thermometer habe ich als Screenshot angehängt...

Irgendwie finde ich den Fehler nicht, und würde mich über Tipps freuen. Vielen Dank.

Gruß, Christoph
Titel: Antw:DOIF führt nur erstes CMD aus
Beitrag von: CoolTux am 10 Dezember 2016, 20:26:18
Setz mal das default von 0 auf 6 könnte wetten dann springt er in die zweite. Aber das heißt dann auch das du einen Fehler hast beim Auslesen der Temp.
Mach mal bitte ein list vom DOIF Device
Titel: Antw:DOIF führt nur erstes CMD aus
Beitrag von: caldir65 am 10 Dezember 2016, 20:38:09
bitte sehr

Internals:
   DEF        ([{sunset(0,"17:00","21:45")}] and ["tr_ThermometerTerasse:themperature",0]<5.0) (
set wz_RolladenGarten 90,
set wz_RolladenStrasse 90,
set hwr_RolloHWR down,
set wz_RolladenEsszimmer 82,
set wz_RolladenTerasse 76,
set RolloKueche position 90,
{Log 1, "Rollo runter mit Terasse und Essbereich wg. Temperatur < 5.0°C"}
)
DOELSEIF ([{sunset(0,"17:00","21:45")}] and ["tr_ThermometerTerasse:themperature",0]>5.0)(
set wz_RolladenGarten 90,
set wz_RolladenStrasse 90,
set hwr_RolloHWR down,
{Log 1, "Rollo runter ohne Terasse und Essbereich wg. Temperatur > 5.0°C"}
)
   NAME       wz_RolloRunter
   NR         1459
   NTFY_ORDER 50-wz_RolloRunter
   STATE      initialized
   TYPE       DOIF
   Readings:
     2016-12-10 20:11:28   cmd             0
     2016-12-10 20:11:28   state           initialized
     2016-12-10 20:11:28   timer_01_c01    11.12.2016 17:01:16
     2016-12-10 20:11:28   timer_02_c02    11.12.2016 17:01:16
   Condition:
     0          DOIF_time_once($hash,0,$wday) and EventDoIf('tr_ThermometerTerasse',$hash,'themperature',0,'[^\:]*: (.*)','','0')<5.0
     1          DOIF_time_once($hash,1,$wday) and EventDoIf('tr_ThermometerTerasse',$hash,'themperature',0,'[^\:]*: (.*)','','0')>5.0
   Days:
   Devices:
   Do:
     0:
       0            set wz_RolladenGarten 90, set wz_RolladenStrasse 90, set hwr_RolloHWR down, set wz_RolladenEsszimmer 82,  set wz_RolladenTerasse 76,  set RolloKueche position 90, {Log 1, "Rollo runter mit Terasse und Essbereich wg. Temperatur < 5.0°C"}
     1:
       0            set wz_RolladenGarten 90, set wz_RolladenStrasse 90, set hwr_RolloHWR down, {Log 1, "Rollo runter ohne Terasse und Essbereich wg. Temperatur > 5.0°C"}
   Helper:
     globalinit 1
     last_timer 2
     sleeptimer -1
   Itimer:
   Localtime:
     0          1481472076
     1          1481472076
   Realtime:
     0          17:01:16
     1          17:01:16
   Regexp:
     0:
       0          tr_ThermometerTerasse:themperature
     1:
       0          tr_ThermometerTerasse:themperature
     All:
       0          tr_ThermometerTerasse:themperature
   State:
   Time:
     0          {sunset(0,"17:00","21:45")}
     1          {sunset(0,"17:00","21:45")}
   Timecond:
     0          0
     1          1
   Timer:
     0          0
     1          0
   Timers:
     0           0
     1           1
   Triggertime:
     1481472076:
       localtime  1481472076
       Hash:
Attributes:
   do         always
   group      Automatik
   room       Kueche,Wohnzimmer
   verbose    5


Ich glaube, ich habe einen Tipfehler in die Temp-Abfrage eingebaut  ::) oder sollte ich fehlerhaft "Themp"-Abfrage schreiben  :o

Ich habe es mal korrigiert und werde es dann morgen sehen (es soll ja nicht kälter werden ;))

Danke erst einmal, und ich werde berichten ...

Gruß, Christoph
Titel: Antw:DOIF führt nur erstes CMD aus
Beitrag von: CoolTux am 10 Dezember 2016, 20:45:12
Ich glaube es sollte temperature heißen, oder?
Titel: Antw:DOIF führt nur erstes CMD aus
Beitrag von: caldir65 am 11 Dezember 2016, 13:23:39
Ebend ;) aber manchmal sieht man den Wald vor lauter Bäumen nicht mehr  ::)
Mir ist es aufgefallen, als ich das Devicelist gesehen habe nach absenden des letzten Postings von mir ...

Ich werde mal abwarten, wie es sich weiter verhält - ich hoffe, daß ich es jetzt soweit alles richtig habe ;)

Schönen 3. Advent,

Gruß, Christoph
Titel: Antw:DOIF führt nur erstes CMD aus
Beitrag von: caldir65 am 16 Dezember 2016, 10:59:32
Hallo,

leider war es das auch nicht ...

Gruß, Christoph
Titel: Antw:DOIF führt nur erstes CMD aus
Beitrag von: Per am 16 Dezember 2016, 12:22:15
Lass mal die Anführungszeichen bei der Temperatur weg.
Titel: Antw:DOIF führt nur erstes CMD aus
Beitrag von: caldir65 am 24 Dezember 2016, 22:01:54
Danke, damit funktioniert es jetzt

Gesendet von meinem SM-G900F mit Tapatalk