Autor Thema: [gelöst] Probleme mit mehreren Bedingungen im DOIF (Rollosteuerung)  (Gelesen 602 mal)

Offline DonJuan

  • New Member
  • *
  • Beiträge: 9
Moin Zusammen,

ich versuche grade meine Rollos (Siro) zu automatisieren.
Sie sollen zwischen Sonnenaufgang und Sonnenuntergang aufgehen, wenn die Sonnen nicht zwischen 80° und 200° steht und nicht in einer Höhe über 20°.

([{sunrise(0,"04:00","09:00")}]-[{sunset(0,"16:00","22:00")}]) -> funktioniert
([twilight:azimuth] < 80 and [twilight:azimuth] > 200) -> funktioniert auch
([twilight:elevation] > 20) -> funktioniert auch.

Aber wenn ich es dann kombiniere, funktioniert es nur teilweise oder gar nicht.

(([{sunrise(0,"04:00","09:00)}]-[{sunset(0,"16:00","22:00")}])
&& ([twilight:azimuth] < 80 or [twilight:azimuth] > 200)
&& ([twilight:elevation] < 20))
(set Rollos open)
DOELSE
(set Rollos close)

Funktionierte bisher am ehesten. Die Rollos gingen auf, bis die Sonne ihre Position erreicht hatte. Aber Nachmittags, wenn die Sonne über 200° steht, fuhren die Rollos nicht hoch, da ja [twilight:elevation] > 20 war.

Ich habe dann versucht, mit verschiedenen Klammersetzungen und Zusammenstellungen mehr Erfolg zu haben, aber das brachte mich alles nicht weiter.
Auch das Auslagern in die myUtils brachte mich nicht vorran, weil ich nicht weiss, wie man dort sunset/sunrise abfragt.

Vielleicht bin ich ja auch mit dem DOIF völlig Falsch unterwegs.

Wenn jemand da eine Idee hat, gerne her damit.

Gruss Dennis

Edit: Schreibfehler behoben
« Letzte Änderung: 25 Juni 2019, 20:57:29 von DonJuan »

Offline amenomade

  • Hero Member
  • *****
  • Beiträge: 4050
Antw:Probleme mit mehreren Bedingungen im DOIF (Beschattung)
« Antwort #1 am: 18 Juni 2019, 23:03:22 »
Zitat
[twilight:azimuth] < 80 and [twilight:azimuth] > 200
Wie soll das selbe Reading gleichzeitig kleiner als 80 und auch grösser als 200 sein??

Das "nicht zwischen 80 und 200" heisst
Zitat
[twilight:azimuth] < 80 or [twilight:azimuth] > 200
FHEM 5.8 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, und HM Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten

Online CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 21668
Antw:Probleme mit mehreren Bedingungen im DOIF (Beschattung)
« Antwort #2 am: 18 Juni 2019, 23:07:10 »
Moin Zusammen,

ich versuche grade meine Rollos (Siro) zu automatisieren.
Sie sollen zwischen Sonnenaufgang und Sonnenuntergang aufgehen, wenn die Sonnen nicht zwischen 80° und 200° steht und nicht in einer Höhe über 20°.

([{sunrise(0,"04:00","09:00)}]-[{sunset(0,"16:00","22:00")}]) -> funktioniert
([twilight:azimuth] < 80 and [twilight:azimuth] > 200) -> funktioniert auch
([twilight:elevation] > 20) -> funktioniert auch.

Aber wenn ich es dann kombiniere, funktioniert es nur teilweise oder gar nicht.

(([{sunrise(0,"04:00","09:00)}]-[{sunset(0,"16:00","22:00")}])
&& ([twilight:azimuth] < 80 and [twilight:azimuth] > 200)
&& ([twilight:elevation] < 20))
(set Rollos open)
DOELSE
(set Rollos close)

Funktionierte bisher am ehesten. Die Rollos gingen auf, bis die Sonne ihre Position erreicht hatte. Aber Nachmittags, wenn die Sonne über 200° steht, fuhren die Rollos nicht hoch, da ja [twilight:elevation] > 200 war.

Ich habe dann versucht, mit verschiedenen Klammersetzungen und Zusammenstellungen mehr Erfolg zu haben, aber das brachte mich alles nicht weiter.
Auch das Auslagern in die myUtils brachte mich nicht vorran, weil ich nicht weiss, wie man dort sunset/sunrise abfragt.

Vielleicht bin ich ja auch mit dem DOIF völlig Falsch unterwegs.

Wenn jemand da eine Idee hat, gerne her damit.

Gruss Dennis

Du kannst das AutoShuttersControl Modul dafür verwenden. Habe auch Siros bei mir in Verwendung.


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://paypal.me/pools/c/8gULisr9BT
FHEM GitHub: https://github.com/fhem/
kein Support für cfg Editierer

Offline DonJuan

  • New Member
  • *
  • Beiträge: 9
Antw:Probleme mit mehreren Bedingungen im DOIF (Beschattung)
« Antwort #3 am: 19 Juni 2019, 06:36:22 »
Wie soll das selbe Reading gleichzeitig kleiner als 80 und auch grösser als 200 sein??

Das "nicht zwischen 80 und 200" heisst

Da hab ich vertippt. Das "or" ist im Original-Text drin.

Danke

Offline DonJuan

  • New Member
  • *
  • Beiträge: 9
Antw:Probleme mit mehreren Bedingungen im DOIF (Beschattung)
« Antwort #4 am: 19 Juni 2019, 06:38:22 »
Du kannst das AutoShuttersControl Modul dafür verwenden. Habe auch Siros bei mir in Verwendung.


Grüße

Das AutoShuttersControl habe ich mir angeguckt und auch versucht zu nutzen. Aber das will mir einfach zu viele Dinge haben, die ich nicht nutze. So muss ich z. B. ein Device haben, welches mir einen Helligkeitswert liefert.
Jedenfalls habe ich es nicht zum Laufen bekommen.

Gruss Dennis

Online CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 21668
Antw:Probleme mit mehreren Bedingungen im DOIF (Beschattung)
« Antwort #5 am: 19 Juni 2019, 07:36:22 »
Hallo Dennis,

Wenn Du Beschattung haben willst benötigst Du in der Tat einen Helligkeitssensor.


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://paypal.me/pools/c/8gULisr9BT
FHEM GitHub: https://github.com/fhem/
kein Support für cfg Editierer

Offline amenomade

  • Hero Member
  • *****
  • Beiträge: 4050
Antw:Probleme mit mehreren Bedingungen im DOIF (Beschattung)
« Antwort #6 am: 19 Juni 2019, 08:15:01 »
Da hab ich vertippt. Das "or" ist im Original-Text drin.

Danke
Deswegen wäre es besser, ein vollständiges "list" vom DOIF zu posten. Am besten, wenn er im deiner Meinung nach falschen Zustand ist.

Zitat
da ja [twilight:elevation] > 200 war.

Wie kann denn die Elevation grösser als 200 sein???
« Letzte Änderung: 19 Juni 2019, 08:19:52 von amenomade »
FHEM 5.8 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, und HM Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten

Offline DonJuan

  • New Member
  • *
  • Beiträge: 9
Antw:Probleme mit mehreren Bedingungen im DOIF (Beschattung)
« Antwort #7 am: 19 Juni 2019, 14:42:52 »
Deswegen wäre es besser, ein vollständiges "list" vom DOIF zu posten. Am besten, wenn er im deiner Meinung nach falschen Zustand ist.

Wie kann denn die Elevation grösser als 200 sein???

Das war wieder ein Schreibfehler. Sollte eine 20 sein. Manchmal sind die kleinen Fingerchen aber auch einfach zu schnell.

Offline DonJuan

  • New Member
  • *
  • Beiträge: 9
Antw:Probleme mit mehreren Bedingungen im DOIF (Beschattung)
« Antwort #8 am: 19 Juni 2019, 14:47:54 »
So, hier das List von meinem DOIF (ich hoffe, dass ist so richtig)

Das Rollo sollte jetzt aufgehen, da ja [twilight:azimuth] > 200 (wirklich 200) ist. Macht es aber nicht, weil [twilight:elevation] nicht kleiner 20 ist.

Elevation ist für mich halt wichtig, damit das Rollo morgens ein paar Stunden offen ist und nur zufährt, wenn die Sonne tatsächlich über die Bäume in mein Zimmer guckt.

Gruss Dennis

Internals:
   CFGFN     
   DEF        (([{sunrise(0,"04:00","09:00")}]-[{sunset(0,"16:00","22:00")}])
&& ([twilight:azimuth] < 80 or [twilight:azimuth] > 200)
&& ([twilight:elevation] < 20))
(set Rollo_2 open)
DOELSE
(set Rollo_2 close)
   FUUID      5d0888e4-f33f-74de-5952-fb5272985599bb02
   MODEL      FHEM
   NAME       RolloSteuerung
   NR         380
   NTFY_ORDER 50-RolloSteuerung
   STATE      cmd_2
   TYPE       DOIF
   VERSION    19303 2019-05-01 08:47:16
   Helper:
     DBLOG:
       cmd:
         logdb:
           TIME       1560948213.58072
           VALUE      2
       cmd_event:
         logdb:
           TIME       1560948213.58072
           VALUE      RolloSteuerung
       cmd_nr:
         logdb:
           TIME       1560948213.58072
           VALUE      2
       cmd_seqnr:
         logdb:
           TIME       1560909603.35533
           VALUE      3
       mode:
         logdb:
           TIME       1560948210.2295
           VALUE      enabled
       state:
         logdb:
           TIME       1560948213.58072
           VALUE      cmd_2
   READINGS:
     2019-06-19 14:43:33   cmd             2
     2019-06-19 14:43:33   cmd_event       RolloSteuerung
     2019-06-19 14:43:33   cmd_nr          2
     2019-06-19 14:43:30   mode            enabled
     2019-06-19 14:43:33   state           cmd_2
     2019-06-19 14:43:30   timer_01_c01    20.06.2019 04:00:00
     2019-06-19 14:43:30   timer_02_c01    19.06.2019 22:00:00
   Regex:
     accu:
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          (::DOIF_time_once($hash,0,$wday)-::DOIF_time_once($hash,1,$wday)) && (::ReadingValDoIf($hash,'twilight','azimuth') < 80 or ::ReadingValDoIf($hash,'twilight','azimuth') > 200) && (::ReadingValDoIf($hash,'twilight','elevation') < 20)
   days:
   devices:
     0           twilight
     all         twilight
   do:
     0:
       0          set Rollo_2 open
     1:
       0          set Rollo_2 close
   helper:
     globalinit 1
     last_timer 2
     sleeptimer -1
     timerdev   
     timerevent
     timerevents
     timereventsState
     triggerDev
     DOIF_eventas:
       cmd_nr: 2
       cmd: 2
       cmd_event: RolloSteuerung
       state: cmd_2
   internals:
   intervalfunc:
   itimer:
   localtime:
     0          1560996000
     1          1560974400
   readings:
     0           twilight:azimuth twilight:elevation
     all         twilight:azimuth twilight:elevation
   realtime:
     0          04:00:00
     1          22:00:00
   time:
     0          {sunrise(0,"04:00","09:00")}
     1          {sunset(0,"16:00","22:00")}
   timeCond:
     0          0
     1          0
   timer:
     0          0
     1          0
   timers:
     0           0  1
   triggertime:
     1560974400:
       localtime  1560974400
       hash:
     1560996000:
       localtime  1560996000
       hash:
   uiState:
   uiTable:
Attributes:
   room       Beschattung

Offline amenomade

  • Hero Member
  • *****
  • Beiträge: 4050
Antw:Probleme mit mehreren Bedingungen im DOIF (Beschattung)
« Antwort #9 am: 19 Juni 2019, 18:42:08 »
Also.... Mir ist nicht ganz klar, was Du erreichen willst, und was nicht funktioniert, da Du dich von einem Satz zum anderen "vertippst"

So wie dein DOIF aussieht:
- wenn zwischen sunrise und sunset, und azimuth nicht zwischen 80 und 200, und elevation < 20 ist er auf
- in allen anderen Fälle ist er zu

Im Moment, elevation > 20, dann geht er nicht auf. Was ist denn das Problem?

Wenn ich versuche zu verstehen, was Du gesagt hast: Du möchtest, dass es morgens aufgeht, dann wenn die Elevation >20 wieder zugeht, dann wenn azimuth >200  wieder aufgeht, unabhängig von der Elevation? Ist das richtig ?

Wenn ja, dann musst Du es in mehrere DOIF/DOELSEIF Zweigen verteilen

(
[{sunrise(0,"04:00","09:00")}]-[{sunset(0,"16:00","22:00")}]                       #Beschattung wenn Sonne hoch und direkt im Fenster
and [twilight:elevation] > 20                                                      #Da könnte man sich wahrscheinlich die Zeit Bedingung sparen
and [twilight:azimuth] > 80 and [twilight:azimuth] < 200
)   
     (set Rollo_2 60%)
DOELSEIF (
[{sunrise(0,"04:00","09:00")}]-[{sunset(0,"16:00","22:00")}]                       #Open wenn am Tag Sonne niedrig oder nicht im Fenster
and ([twilight:elevation] < 20 or [twilight:azimuth] < 80 or [twilight:azimuth] > 200
)
    (set Rollo_2 open)
DOELSE                                                                             # Nachts zu
    (set Rollo_2 close)

Da deine Position für "Beschattung" eigentlich "zu" ist, kann man das kürzen:
([{sunrise(0,"04:00","09:00")}]-[{sunset(0,"16:00","22:00")}] and
  (
  [twilight:elevation] < 20
  or [twilight:azimuth] < 80
  or [twilight:azimuth] > 200
  )
)
  (set Rollo_2 open)
DOELSE
  (set Rollo_2 close)
« Letzte Änderung: 19 Juni 2019, 18:48:44 von amenomade »
FHEM 5.8 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, und HM Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten

Offline DonJuan

  • New Member
  • *
  • Beiträge: 9
Antw:Probleme mit mehreren Bedingungen im DOIF (Beschattung)
« Antwort #10 am: 19 Juni 2019, 20:12:03 »
Also.... Mir ist nicht ganz klar, was Du erreichen willst, und was nicht funktioniert, da Du dich von einem Satz zum anderen "vertippst"

So wie dein DOIF aussieht:
- wenn zwischen sunrise und sunset, und azimuth nicht zwischen 80 und 200, und elevation < 20 ist er auf
- in allen anderen Fälle ist er zu

Im Moment, elevation > 20, dann geht er nicht auf. Was ist denn das Problem?

Wenn ich versuche zu verstehen, was Du gesagt hast: Du möchtest, dass es morgens aufgeht, dann wenn die Elevation >20 wieder zugeht, dann wenn azimuth >200  wieder aufgeht, unabhängig von der Elevation? Ist das richtig ?

Wenn ja, dann musst Du es in mehrere DOIF/DOELSEIF Zweigen verteilen

(
[{sunrise(0,"04:00","09:00")}]-[{sunset(0,"16:00","22:00")}]                       #Beschattung wenn Sonne hoch und direkt im Fenster
and [twilight:elevation] > 20                                                      #Da könnte man sich wahrscheinlich die Zeit Bedingung sparen
and [twilight:azimuth] > 80 and [twilight:azimuth] < 200
)   
     (set Rollo_2 60%)
DOELSEIF (
[{sunrise(0,"04:00","09:00")}]-[{sunset(0,"16:00","22:00")}]                       #Open wenn am Tag Sonne niedrig oder nicht im Fenster
and ([twilight:elevation] < 20 or [twilight:azimuth] < 80 or [twilight:azimuth] > 200
)
    (set Rollo_2 open)
DOELSE                                                                             # Nachts zu
    (set Rollo_2 close)

Da deine Position für "Beschattung" eigentlich "zu" ist, kann man das kürzen:
([{sunrise(0,"04:00","09:00")}]-[{sunset(0,"16:00","22:00")}] and
  (
  [twilight:elevation] < 20
  or [twilight:azimuth] < 80
  or [twilight:azimuth] > 200
  )
)
  (set Rollo_2 open)
DOELSE
  (set Rollo_2 close)
Ja, bitte entschuldige, dass ich mich gelegentlich vertippe.

Aber im großen und ganzen hast du es richtig verstanden. Danke dafür.

Ich versuche es nochmal verständlich zu Formulieren. Aber dein Ansatz gefällt mir soweit.

Zwischen Sonnenaufgang und Sonnenuntergang und Azimuth zwischen 80 und 200 und Elevation > 20 soll das Rollo geschlossen sein.
Wenn nun Azimuth > 200 ist, soll egal welchen wert Elevation hat, das Rollo auffahren.
Zum Sonnenuntergang soll es wieder zu fahren.

Und ich entdecke meinen nächsten Fehler: Mit beschatten meinte ich halt, dass das Rollo auf oder zu ist. Nicht Prozentweise schliesst und öffnet.

Ich werden deinen Zweiten Vorschlag mal testen. So hatte ich das noch nicht versucht.

Gruss Dennis

Offline DonJuan

  • New Member
  • *
  • Beiträge: 9
Antw:Probleme mit mehreren Bedingungen im DOIF (Beschattung)
« Antwort #11 am: 21 Juni 2019, 05:55:48 »
Guten Morgen,

einmal hat der Code von amenomade richtig funktioniert. Danach irgendwie nicht mehr. Heute morgen z. B. müsste das Rollo eigentlich offen sein. Es ist aber geschlossen geblieben. Leider sehe ich nicht warum.

Gruss Dennis


Internals:
   CFGFN     
   DEF        ([{sunrise(0,"04:00","09:00")}]-[{sunset(0,"16:00","22:00")}]
and ([twilight:elevation] < 20
or [twilight:azimuth] < 80   
or [twilight:azimuth] > 200))   
(set Rollo_2 open) (set Rollo_3 open) (set Rollo_4 open)
DOELSE
(set Rollo_2 close) (set Rollo_3 close) (set Rollo_4 close)
   FUUID      5d0a7b11-f33f-74de-98dc-967c966d7bdc5f08
   MODEL      FHEM
   NAME       RolloTest
   NR         1184
   NTFY_ORDER 50-RolloTest
   STATE      cmd_2
   TYPE       DOIF
   VERSION    19303 2019-05-01 08:47:16
   Helper:
     DBLOG:
       cmd:
         logdb:
           TIME       1561088367.67067
           VALUE      2.3
       cmd_event:
         logdb:
           TIME       1561088367.67067
           VALUE      twilight
       cmd_nr:
         logdb:
           TIME       1561088367.67067
           VALUE      2
       cmd_seqnr:
         logdb:
           TIME       1561088367.67067
           VALUE      3
       error:
         logdb:
           TIME       1561025109.78502
           VALUE      condition c01
       last_cmd:
         logdb:
           TIME       1561029447.84528
           VALUE      cmd_2
       mode:
         logdb:
           TIME       1561088140.23801
           VALUE      enabled
       state:
         logdb:
           TIME       1561088367.67067
           VALUE      cmd_2
   READINGS:
     2019-06-21 05:49:27   Device          twilight
     2019-06-21 05:39:27   cmd             2.3
     2019-06-21 05:39:27   cmd_event       twilight
     2019-06-21 05:39:27   cmd_nr          2
     2019-06-21 05:39:27   cmd_seqnr       3
     2019-06-21 05:49:27   e_twilight_azimuth 57.62
     2019-06-21 05:49:27   e_twilight_elevation 5.67
     2019-06-21 05:35:40   mode            enabled
     2019-06-21 05:39:27   state           cmd_2
     2019-06-21 05:35:40   timer_01_c01    22.06.2019 04:00:00
     2019-06-21 05:35:40   timer_02_c01    21.06.2019 22:00:00
   Regex:
     accu:
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          ::DOIF_time_once($hash,0,$wday)-::DOIF_time_once($hash,1,$wday)  and (::ReadingValDoIf($hash,'twilight','elevation') < 20  or ::ReadingValDoIf($hash,'twilight','azimuth') < 80    or ::ReadingValDoIf($hash,'twilight','azimuth') > 200)
   days:
   devices:
     0           twilight
     all         twilight
   do:
     0:
       0          set Rollo_2 open
       1          set Rollo_3 open
       2          set Rollo_4 open
     1:
       0          set Rollo_2 close
       1          set Rollo_3 close
       2          set Rollo_4 close
   helper:
     event      azimuth: 57.62,elevation: 5.67,twilight: 98.1,twilight_weather: 79.1,compasspoint: northeast
     globalinit 1
     last_timer 2
     sleeptimer -1
     timerdev   twilight
     timerevent azimuth: 57.62,elevation: 5.67,twilight: 98.1,twilight_weather: 79.1,compasspoint: northeast
     triggerDev twilight
     DOIF_eventas:
       cmd_nr: 2
       cmd_seqnr: 3
       cmd_event: twilight
       state: cmd_2
     timerevents:
       azimuth: 57.62
       elevation: 5.67
       twilight: 98.1
       twilight_weather: 79.1
       compasspoint: northeast
     timereventsState:
       azimuth: 57.62
       elevation: 5.67
       twilight: 98.1
       twilight_weather: 79.1
       compasspoint: northeast
     triggerEvents:
       azimuth: 57.62
       elevation: 5.67
       twilight: 98.1
       twilight_weather: 79.1
       compasspoint: northeast
     triggerEventsState:
       azimuth: 57.62
       elevation: 5.67
       twilight: 98.1
       twilight_weather: 79.1
       compasspoint: northeast
   internals:
   intervalfunc:
   itimer:
   localtime:
     0          1561168800
     1          1561147200
   readings:
     0           twilight:elevation twilight:azimuth
     all         twilight:elevation twilight:azimuth
   realtime:
     0          04:00:00
     1          22:00:00
   time:
     0          {sunrise(0,"04:00","09:00")}
     1          {sunset(0,"16:00","22:00")}
   timeCond:
     0          0
     1          0
   timer:
     0          0
     1          0
   timers:
     0           0  1
   trigger:
   triggertime:
     1561147200:
       localtime  1561147200
       hash:
     1561168800:
       localtime  1561168800
       hash:
   uiState:
   uiTable:
Attributes:
   room       Beschattung

Offline amenomade

  • Hero Member
  • *****
  • Beiträge: 4050
Antw:Probleme mit mehreren Bedingungen im DOIF (Beschattung)
« Antwort #12 am: 21 Juni 2019, 21:13:58 »
Dein DOIF ist ok. Man sieht nicht mehr, was um 05:39:27 geschaltet hat. Hast Du eine Log ?

Ausserdem hast Du den irgendwann disabled / enabled ?
FHEM 5.8 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, und HM Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten

Offline Damian

  • Developer
  • Hero Member
  • ****
  • Beiträge: 6462
Antw:Probleme mit mehreren Bedingungen im DOIF (Beschattung)
« Antwort #13 am: 21 Juni 2019, 22:43:13 »
Das Zeitintervall ist falsch angegeben:

([{sunrise(0,"04:00","09:00")}]-[{sunset(0,"16:00","22:00")}]

hier wurden zwei einzelne Zeittrigger definiert,die voneinander abgezogen werden ;)


Programmierte FHEM-Module: DOIF mit uiTable, DOIF-Perl, THRESHOLD, FHEM-Befehl: IF
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline amenomade

  • Hero Member
  • *****
  • Beiträge: 4050
Antw:Probleme mit mehreren Bedingungen im DOIF (Beschattung)
« Antwort #14 am: 22 Juni 2019, 00:10:55 »
Yes!
Das hatte ich mitten unten allen möglichen Klammern übersehen!
Damian ist der beste ;)
FHEM 5.8 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, und HM Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten

Offline DonJuan

  • New Member
  • *
  • Beiträge: 9
Antw:Probleme mit mehreren Bedingungen im DOIF (Beschattung)
« Antwort #15 am: 22 Juni 2019, 15:12:09 »
Moin Zusammen,

vielen Dank an amenomade und Damian.

Ich habe die Zeit jetzt so

([{sunrise(0,"04:00","09:00")}-{sunset(0,"16:00","22:00")}]

geändert. Nun hat das Rollo wieder reagiert. Ich hoffe, dass es jetzt "richtig" arbeitet. Werde es über das Wochenende mal beobachten.

@amenomade: Ja, ich hatte das DOIF disabled, weil ich mir nochmal was anderes zusammen gebastelt hatte. Zum Testen halt. Hab aber bei allen Versuchen auch die Klammern nicht mehr richtig gesehen.

Gruss Dennis

Offline DonJuan

  • New Member
  • *
  • Beiträge: 9
So, die Steuerung läuft wie gewünscht. Noch ein paar Feinheiten, wegen den Winkeln und Zeiten, aber das klappt schon.

Für alle interessierten, hier der Code

([{sunrise(0,"04:00","09:00")}-{sunset(-900,"16:00","22:00")}]
and (([twilight:azimuth] > 80 and [twilight:elevation] < 20)
or ([twilight:azimuth] > 80 and [Wetter:cloudCover] > 60)
or [twilight:azimuth] < 80   
or [twilight:azimuth] > 200))
(set Rollo off)
DOELSE
(set Rollo on)

Gruss Dennis