Seite 1 von 7

Zeitraum für Programmausführung greift nicht

Verfasst: 16.08.2019, 14:42
von schubi82
Hallo zusammen!

Ich habe ein Programm für die Rolladensteuerung erstellt, welches zusätzlich zur Tageszeitenänderung (funktioniert) auch bei einer Änderung des Wetters auslösen soll, allerdings nur in der Zeitspanne zwischen 12-18 Uhr. Das sollten eigentlich die letzten beiden Einträge bewirken, aber irgendwie fahren die Rolläden auch außerhalb der Zeit bei Wetteränderung...Was hab ich falsch gemacht?

Grüße

Re: Zeitraum für Programmausführung greift nicht

Verfasst: 16.08.2019, 14:50
von Black
eigentlich logisch...

tips und tricks für anfänger... oder die bösen Fallen beim Programmtriggern.

wenn irgend ein trigger deines programmes auslöst, dann wird nicht etwa der teil bearbeitet wo der trigger war, nein, das programm beginnt brav von oben nach unten zu prüfen.

Und wenn dann eine der Bedingungen wahr ist fahren deine Rollos tata

(Geht etwas tief in die Materie, ich habs hie rmal beschrieben:
viewtopic.php?f=26&t=49806&p=499306&hil ... ct#p499306)

Gruss, Black

Re: Zeitraum für Programmausführung greift nicht

Verfasst: 16.08.2019, 15:19
von Gluehwurm
Ein leeres SonstWenn ist auch da ... siehe auch Tipps für Anfänger

Gruß
Bruno

Re: Zeitraum für Programmausführung greift nicht

Verfasst: 16.08.2019, 15:39
von schubi82
Danke, ich hab das durchgelesen, steige dennoch nicht durch... Hab es so verstanden, dass sobald die erste Bedingung erfüllt ist, dass Programm abgearbeitet ist. Aber die ersten vier Bedingungen müsste er doch überspringen, da sich die Tageszeit gar nicht ändert!?

Re: Zeitraum für Programmausführung greift nicht

Verfasst: 16.08.2019, 15:46
von Black
durchgelesen aber nicht verstanden....

nach dem Auslösen durch irgeneinen beliebigen trigger deines Programmes, egal welchen, beginnt die rega mit der programm bearbeitung immer GANZ Oben im esten bedingungsobject.

beispielsweise dein Trigger Openweather meldet unten in einer Bedingung änderung auf "klarer himmel",

dann beginnt die rega oben mit dem Programm und prüft beispielsweise 1. Rule:

Und Sommermodus, ok, sei wahr, haben ja sommer
UND Tageszeit = mittag ok, sei auch mal wahr (ist zwar eiin Trigger, hat auc hnicht ausgelöst, ist aber egal, da durch openweather ausgelöst wurde)
UND Openweather ist klarer Himmel (logisch, hatte ja unten auch das Programm getriggert)

und schon ist ein Ruleobject wahr und deine Rollos fahren Samba...

jetzt verstanden ?

Black

Re: Zeitraum für Programmausführung greift nicht

Verfasst: 16.08.2019, 15:51
von FritzRe
Hallo
Die braucht sich nicht ändern, wenn ein Trigger, egal wo, das Programm ausgelößt hat und die Tageszeit ist "mittag" ist die Prüfung wahr, auch wenn da bei Änderun.. steht.

Ein Trigger lößt aus und alles anderen Trigger werden als "nur Prüfen" behandelt und beim ersten erfüllten Zweig das "dann" ausgeführt und ende.

Wenn kein Zweig erfüllt, wird "sonst" gemacht und ende oder "sonst wenn" geprüft.

Re: Zeitraum für Programmausführung greift nicht

Verfasst: 16.08.2019, 20:41
von schubi82
Vielen Dank, ich glaube jetzt hab ich es :) Mir war nicht klar, dass trotz "bei Änderung" die Bedingung trotzdem gilt.
Dann mach ich es mit einem neuen Programm, dann müsste es ja gehen :)
Schönes Wochenende!

Re: Zeitraum für Programmausführung greift nicht

Verfasst: 22.08.2019, 19:54
von schubi82
Ich hab das jetzt vereinfacht, aber irgendwie geht nun gar nichts mehr auf :(
Oder pfuscht da jetzt mein Sonnenschutz Süd aus da rein?
Es war den ganzen Tag klarer Himmel gesetzt...
Sorry, aber irgendwie hab ich wohl doch noch ein Verständnisproblem :oops:

Re: Zeitraum für Programmausführung greift nicht

Verfasst: 22.08.2019, 20:09
von robbi77
Zum ersten Screen:
Wenn den ganzen Tag, auch schon vor 12, klarer Himmel ist passiert um 12 natürlich nichts.
Wenn um 12 auch was passieren soll muss es „zu Zeitpunkten“ heißen und nicht „prüfen“.

Re: Zeitraum für Programmausführung greift nicht

Verfasst: 22.08.2019, 20:13
von schubi82
Nee, da ist ein Zeitraum hinterlegt. Das Programm soll nur zwischen 12-17:30 Uhr ausgeführt werden, wenn der Himmel klar oder leicht bewölkt ist (Wetter wird halbstündlich aktualisiert).