DOIF in Rolladen in Stufen zu schalten - Bitte Kontrolle

Begonnen von visionsurfer, 13 November 2016, 12:56:51

Vorheriges Thema - Nächstes Thema

visionsurfer

Hallo,

Ich möchte meine Raffstore Steuerung noch etwas verfeinern.
Hintergrund ist folgender:
Wenn es draußen dämmert und man quasi schon Licht anschalten möchte, will ich die Raffstores zu haben. Weil man halt sonst zu start reinschauen kann. Aber irgendwie ist es blöd, wenn es eigentlich noch etwas hell draußen ist, alles komplett zu schließen. Also möchte ich das in Stufen machen. Erst auf 75% kippen (das ist fast Blickdicht, kommt aber noch etwas Licht von außen rein) und dann in einer zweiten Stufe ganz zu.

Umgedreht soll es auch so öffnen.

Könnt ihr euch mal mein DOIF anschauen. Würde das so passen ? Ich hab extra sogar mal versucht das ganze ein bisschen übersichtlicher zu machen und es einzurücken.


define raffstores_automatik DOIF
   ([06:00-09:00] and [wetterstation_helligkeit]>10)
      (set raffstores_alle value 75 g4)
DOELSEIF
   ([06:00-09:00] and [wetterstation_helligkeit]>1000)
      (set raffstores_alle value 25 g4)
DOELSEIF
   ([16:00-19:00] and [wetterstation_helligkeit]<1000)
      (set raffstores_alle value 75 g4)
DOELSEIF
   ([16:00-19:00] and [wetterstation_helligkeit]<180)
      (set raffstores_alle value 100 g4)


Was meint ihr, ok ?

Grüße,
Visionsurfer

CoolTux

Er wird nie auf das zweite springen. Weil größer 1000 ist auch größer 10. Du musst Rückwärts arbeiten.

Bei zu das selbe. Lese es so wie DOIF es abarbeitet. Immer von links nach rechts oder halt in deinem Fall von oben nach unten.
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://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

visionsurfer

Puh. Mist, ich dachte mir fast, dass es nicht so einfach wird :)
Aber ich steh auf dem Schlauch.

Die Wetterstation beginnt morgens bei 1. (das ist quasi ganz dunkel).
Wenn es langsam hell wird, greift meine erste Abfrage >10. Also ab 11, werden meine Raffstores etwas gekippt. Das ist ja noch nicht über 1000. Sondern erst bei bzw. arbeitet sich dann hoch von 11-1001. Ab 1001, greift dann mein zweites. Weil >1000
So ist es von oben nach unten gelesen.

Aber scheinbar denke ich zu dumm :)
Du sagst es ist falsch ?
Wie muss es richtig sein, ich komme leider nicht drauf.

Grüße,
Visionsurfer


Damian

ganz einfach, du fängst mit der größten Zahl an:

(Zahl>1000)
...
(Zahl>10)
..

wenn du auf kleiner abfragen würdest, dann eben anders herum:

(zahl<10)
...
(zahl<1000)
...
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

visionsurfer

Hi,

ok. Ich glaub jetzt hab ich die Logik hoffentlich verstanden :)

In meinem Fall arbeitet er von oben noch unten. Das ist klar. Bei z.B. 15 Lux greift erste Abfrage noch nicht. Also kann er zur zweiten springen. Die greift und es wird gehandelt. Bei 1001 Lux, greift diesmal die erste Abfrage und es wird gehandelt.

Dann müsste wenn ich es richtig verstanden habe, das ganze nun so aussehen:


define raffstores_automatik DOIF
   ([06:00-09:00] and [wetterstation_helligkeit]>1000)
      (set raffstores_alle value 25 g4)
DOELSEIF
   ([06:00-09:00] and [wetterstation_helligkeit]>10)
      (set raffstores_alle value 75 g4)
DOELSEIF
   ([16:00-19:00] and [wetterstation_helligkeit]<180)
      (set raffstores_alle value 100 g4)
DOELSEIF
   ([16:00-19:00] and [wetterstation_helligkeit]<1000)
      (set raffstores_alle value 75 g4)


Richtig, oder ?

Grüße,
Visionsurfer