[gelöst] Rolladensteuerung nach Twilight

Begonnen von Muschelpuster, 15 November 2016, 07:49:58

Vorheriges Thema - Nächstes Thema

Muschelpuster

Das lief schon, aber irgendwie habe ich es jetzt kaputt optimiert und finde den Fehler nicht  :'(
Was soll passieren: Ich habe 2 Dummys, die mit dem Twilight-Wert versorgt werden sollen, bei dem die Rollläden auf, bzw. zu fahren sollen. Aber das soll nur passieren, wenn die Terassentür nicht auf ist und die Rollläden nicht manuell eingestellt sind. Dazu habe ich folgendes gebaut:define di_Rollo_TL
([Home_TL:light] == [?du_Rollo_TL_auf] and [?HM_Tuer_WZ_Terasse:state] ne "open" and [?DuoFern_Rollladen_Terasse_Fenster:position] > 75 and [?06:00-13:00]) (set DuoFern_Rollladen_Terasse_.* position 0)
DOELSEIF
([Home_TL:light] == [?du_Rollo_TL_zu] and [?HM_Tuer_WZ_Terasse:state] ne "open" and [?DuoFern_Rollladen_Terasse_Fenster:position] < 10  and [?15:00-23:00]) (set DuoFern_Rollladen_Terasse_.* position 85)
attr di_Rollo_TL do always

Home_TL: mein Twilight
du_Rollo_TL_auf: Dummy mit dem Auf-Wert
du_Rollo_TL_zu: Dummy mit dem Zu-Wert
HM_Tuer_WZ_Terasse: Drehgriff Terassentür
Die Zeiten habe ich gesetzt, damit beim Sonnenaufgang nicht der 'Zu'-Teil der Regel greift und umgekehrt. Was mich verwirrt ist, dass ich List nicht den Status des Drehgriffsensors sehe:Internals:
   CFGFN
   DEF        ([Home_TL:light] == [?du_Rollo_TL_auf] and [?HM_Tuer_WZ_Terasse:state] ne "open" and [?DuoFern_Rollladen_Terasse_Fenster:position] > 75 and [?06:00-13:00]) (set DuoFern_Rollladen_Terasse_.* position 0)
DOELSEIF
([Home_TL:light] == [?du_Rollo_TL_zu] and [?HM_Tuer_WZ_Terasse:state] ne "open" and [?DuoFern_Rollladen_Terasse_Fenster:position] < 10  and [?15:00-23:00]) (set DuoFern_Rollladen_Terasse_.* position 85)

   NAME       di_Rollo_TL
   NR         31767
   NTFY_ORDER 50-di_Rollo_TL
   STATE      cmd_2
   TYPE       DOIF
   Readings:
     2016-11-15 07:45:09   Device          Home_TL
     2016-11-11 16:17:06   cmd             2
     2016-11-11 16:17:06   cmd_event       Home_TL
     2016-11-11 16:17:06   cmd_nr          2
     2016-11-15 07:45:09   e_Home_TL_light 3
     2016-11-11 16:17:06   state           cmd_2
     2016-11-14 13:00:00   timer_1_c1      15.11.2016 06:00:00
     2016-11-14 13:00:00   timer_2_c1      15.11.2016 13:00:00
     2016-11-14 23:00:00   timer_3_c2      15.11.2016 15:00:00
     2016-11-14 23:00:00   timer_4_c2      15.11.2016 23:00:00
   Condition:
     0          ReadingValDoIf($hash,'Home_TL','light','','',AttrVal($hash->{NAME},'notexist',undef)) == InternalDoIf($hash,'du_Rollo_TL_auf','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) and ReadingValDoIf($hash,'HM_Tuer_WZ_Terasse','state','','',AttrVal($hash->{NAME},'notexist',undef)) ne "open" and ReadingValDoIf($hash,'DuoFern_Rollladen_Terasse_Fenster','position','','',AttrVal($hash->{NAME},'notexist',undef)) > 75 and DOIF_time($hash,$hash->{realtime}{0},$hash->{realtime}{1},$wday,$hms,"")
     1          ReadingValDoIf($hash,'Home_TL','light','','',AttrVal($hash->{NAME},'notexist',undef)) == InternalDoIf($hash,'du_Rollo_TL_zu','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) and ReadingValDoIf($hash,'HM_Tuer_WZ_Terasse','state','','',AttrVal($hash->{NAME},'notexist',undef)) ne "open" and ReadingValDoIf($hash,'DuoFern_Rollladen_Terasse_Fenster','position','','',AttrVal($hash->{NAME},'notexist',undef)) < 10  and DOIF_time($hash,$hash->{realtime}{2},$hash->{realtime}{3},$wday,$hms,"")
   Days:
   Devices:
     0           Home_TL
     1           Home_TL
     all         Home_TL
   Do:
     0:
       0          set DuoFern_Rollladen_Terasse_.* position 0
     1:
       0          set DuoFern_Rollladen_Terasse_.* position 85
     2:
   Helper:
     event      azimuth: 121.29,elevation: -1.77,twilight: 56.8,twilight_weather: 20.1,compasspoint: east-southeast
     globalinit 1
     last_timer 4
     sleeptimer -1
     timerdev   Home_TL
     timerevent 9,light: 3,horizon: 0,aktEvent: ss,nextEvent: ss_civil,nextEventTime: 17:03:19
     triggerDev Home_TL
     timerevents:
       9
       light: 3
       horizon: 0
       aktEvent: ss
       nextEvent: ss_civil
       nextEventTime: 17:03:19
     timereventsState:
       state: 9
       light: 3
       horizon: 0
       aktEvent: ss
       nextEvent: ss_civil
       nextEventTime: 17:03:19
     triggerEvents:
       azimuth: 121.29
       elevation: -1.77
       twilight: 56.8
       twilight_weather: 20.1
       compasspoint: east-southeast
     triggerEventsState:
       azimuth: 121.29
       elevation: -1.77
       twilight: 56.8
       twilight_weather: 20.1
       compasspoint: east-southeast
   Internals:
     0           du_Rollo_TL_auf:STATE
     1           du_Rollo_TL_zu:STATE
     all         du_Rollo_TL_auf:STATE du_Rollo_TL_zu:STATE
   Interval:
     0          -1
     1          0
     2          -1
     3          2
   Itimer:
   Localtime:
     0          1479186000
     1          1479211200
     2          1479218400
     3          1479247200
   Readings:
     0           Home_TL:light HM_Tuer_WZ_Terasse:state DuoFern_Rollladen_Terasse_Fenster:position
     1           Home_TL:light HM_Tuer_WZ_Terasse:state DuoFern_Rollladen_Terasse_Fenster:position
     all         Home_TL:light HM_Tuer_WZ_Terasse:state DuoFern_Rollladen_Terasse_Fenster:position
   Realtime:
     0          06:00:00
     1          13:00:00
     2          15:00:00
     3          23:00:00
   Regexp:
     0:
     1:
     All:
   State:
   Time:
     0          06:00:00
     1          13:00:00
     2          15:00:00
     3          23:00:00
   Timecond:
     0          0
     1          0
     2          1
     3          1
   Timer:
     0          0
     1          0
     2          0
     3          0
   Timers:
   Trigger:
   Triggertime:
     1479211200:
       localtime  1479211200
       Hash:
     1479218400:
       localtime  1479218400
       Hash:
     1479247200:
       localtime  1479247200
       Hash:
Attributes:
   do         always


zerstörte Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

Ellert

ZitatWas mich verwirrt ist, dass ich List nicht den Status des Drehgriffsensors sehe

Es werden keine nicht triggernde Readings etc, angezeigt.

Muschelpuster

Zitat von: Ellert am 15 November 2016, 16:24:17
Es werden keine nicht triggernde Readings etc, angezeigt.
Ok danke, damit ist das schon mal erklärt und ich habe wieder was gelernt.

lernfähige Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

Muschelpuster

So, manche Dinge muss man etwas ruhen lassen und nochmal von vorne betrachten. Das Problem lag wohl darin, dass die Dummys User-Readings haben. So funktioniert es nicht mehr, ohne Angabe des Readings:([Home_TL:light] == [?du_Rollo_TL_auf]Nach dem ich alle Bedingungen raus genommen hatte und dem Dummy das Triggerverbot (?) genommen habe war es schnell klar. Also:([Home_TL:light] == [?du_Rollo_TL_auf:state] und schon geht es wohl wie gewünscht.

gelöste Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF