NEWS
Sonnenprogramm
-
Du hast allerdings die STOP teile noch drin, ich nicht - was bewirkt das bei mir bzw. was würde es bewirken wenn ich die noch einsetze ?
-
was sagst Du zu dieser Lösung ? Sie sieht anders aus als deine aber scheint zu funktionieren … oder siehst Du da was negatives dran ? `
Bau mal einen Debug-Block vor den steuere Block ein, dann wirst Du es sehen.Du hast allerdings die STOP teile noch drin, ich nicht - was bewirkt das bei mir bzw. was würde es bewirken wenn ich die noch einsetze ? `
stop timeout_balkon_runter bewirkt, dass der Timer timeout_balkon_runter sofort gestoppt wird, wenn während der Laufzeit des Timers die Sonne hinter einer Wolke verschwindet; die Rollos fahren also nicht runter. Kommt die Sonne wieder hervor (z.B. nach 2 Minuten), wird der Timer wieder gestartet. Die Sonne muss also während der Timerlaufzeit ununterbrochen scheinen, damit die Rollos runterfahren. -
> Die Sonne muss also während der Timerlaufzeit ununterbrochen scheinen, damit die Rollos runterfahren.
Baue ich mal wieder mit ein - ist im wesentlichen was ich oben probiert hatte mit den gegensätzlichen Zuständen …
Vielen Dank, mal wieder
Gruß,
Marc
-
siehst Du da was negatives dran ? `
Schau mal, was passiert, wenn man einen Timer mit mehreren (5) Minuten jede Minute triggert.
erster Trigger: 20:35 Uhr
erster Wert: 20:40 Uhr
Bedingungs-Ende: 20:46:47
letzter Wert: 20:51
Und jede Minute wird an den Rollo-Aktor gesendet !
-
Das ist unnötig viel Traffic. ich habe das eben angepasst und bin Morgen mal auf das Monitoring gespannt Vielen Dank nochmal für die viele Hilfe von Dir So macht das Spaß
-
Hi Paul,
ich habe noch eine Ergänzung, aber jetzt stimmt es wirklich. Du hast wechselseitig die Timer abgeschaltet was bewirkt hat, dass die 15 Minuten nicht eingehalten wurden und die wilde fahrerei wieder angefangen hat. Ich schalte jetzt jeden Timer beim wechsel aus und lasse von vorne laufen, so kommt nichts durcheinander. ich glaube vorher war es so, dass die Timer durcheinander gekommen waren wenn die Sonne in kurzen Abständen verschwunden war bzw nur für kurze Zeit da war …
Zum testen habe ich die Markise gelassen, die fährt auf 90%
Die gelbe Linie bei 100% ist Sonne wahr
Die roten Linien bei 30% sind die Rolläden (umgestellt auf beide Timer abschalten)
Die Linie bei 50000 ist die Schaltgrenze und die balue der Lichtwert
und das ergibt:
Die Rolläden bleiben oben und die Markise fährt (noch) - Speziell bei 13 Uhr kannst Du sehen wie die Markise kurz raus und dann direkt wieder eingefahren ist …
Viele Grüße,
Marc
-
Scheiße Schon wieder ein Denkfehler ??? Ich werd bekloppt
Balkon Rolladen sind unten
Sonne ist da: Timer 1 RESET Timer 2 RESET Timer1 gestartet läuft in 15 Minuten und fährt raus -> Sind draußen, nix wird passieren
Sonne ist weg Timer 1 RESET Timer2 RESET Timer2 gestartet läuft in 15 Minuten und fährt rauf -> Sind draußen, werden in 15 Minuten eingefahren.
Aber genau das ist nicht passiert … warum ? Das hätte doch eigentlich nach 15 Minuten passieren müssen wenn der zweite Timer gestartet wurde. Es hat sich doch in der Zwischenzeit nichts mehr geändert ... oder ?
-
Ich glaube ich weiß warum Die werden ja jede Minute neu gestartet … da kann sich nichts ändern :oops: :lol:
-
so ! Ich glaube ich habs
Zumindest sah ein erster Testlauf am Nachmittag nicht verkehrt aus:
-
Läuft das, was wir sehen immer noch innerhalb des minütlichen Schedules ab ? Dann solltest Du es ändern, indem Du den Datenpunkt
"global.sonne-esszimmer" als Trigger für die Rollo-Steuerung im Esszimmer nimmst ! https://forum.iobroker.net/viewtopic.php?f=21&t=16313#p171521
-
Hi Paul,
die einzelnen Zustände werden ebenfalls über den minütlichen Trigger generiert. Hier das komplette Script:
Wenn ich oben den Trigger ändere betrifft das alles.Oder sollte ich einen neuen Trigger einfügen direkt im Anschluss an den Schedule und dort die Rolladensteuerung reinpacken … meinst Du das so ?
Und warum sollte ich das machen ? Auch wegen Traffic ? Würde sich denn da überhaupt was ändern, der Traffic wäre doch dann trotzdem vorhanden, nur nicht über das komplette Script.
-
Hier das komplette Script: `
Leider ist nichts zu erkennen. Kannst Du es mal als .JPG speichern und hochladen ?
@meicker:Oder sollte ich einen neuen Trigger einfügen direkt im Anschluss an den Schedule und dort die Rolladensteuerung reinpacken … meinst Du das so ? `
Ja.Dir ist klar, dass die Sachen außerhalb des Schedule nur <u>einmal</u> bei Skriptstart ausgeführt werden ?
@meicker:Und warum sollte ich das machen ? Auch wegen Traffic ? `
Ja, auch. Außerdem hast Du 15 Timer auf einmal laufen. Ich habe Dir im Log gezeigt, was passiert, wenn man es so wie Du macht.
@meicker:Würde sich denn da überhaupt was ändern, der Traffic wäre doch dann trotzdem vorhanden, nur nicht über das komplette Script. `
Ja. Der Teil, der jede Minute ausgeführt wird, ist kürzer und betrifft keine Timer und vor allem kein Senden an Geräte (steuere). Traffic erzeugt das Senden an Geräte ! -
Leider ist nichts zu erkennen. Kannst Du es mal als .JPG speichern und hochladen ? `
Kalt erwischt Ich mache das immer im Firefox mit Screenshot. Aber mit Bildschirmfoto wird es auch nicht besser, ich muss es ganz klein machen um es komplett auf den Schirm zu kriegen. Ich habe es jetzt etwas näher herangeholt. Oder gibt es einen anderen Weg ?
Dir ist klar, dass die Sachen außerhalb des Schedule nur einmal bei Skriptstart ausgeführt werden ? `
Hätte mir klar sein sollen Baue ich wo anders ein … Danke für den HinweisJa, auch. Außerdem hast Du 15 Timer auf einmal laufen. Ich habe Dir im Log gezeigt, was passiert, wenn man es so wie Du macht. `
Kann ich denn Timer einsparen ? Klar Eigentlich gibt es keine Überschneidungen in der Steuerung. Aber falls es im Sonnenverlauf doch mal zu einer Überschneidung käme wenn ich etwas ändere, würde ich wenigstens 2 Timer verwenden müssen und abwechselnd einsetzen. Markise und Rolladen können sich einen teilen da sie sowieso zusammen liegen und gleichzeitig arbeiten. Dann würde ich einsparen können - Ich denke so könnte ich es machen, oder ?Und den zweiten Trigger setze ich dann später drunter wenn ich Ruhe habe. Erst mal Abendprogramm
vg und evtl. bis später
-
Das .JPG Bild ist etwas besser zu erkennen, wenn man es anklickt.
@meicker:Kann ich denn Timer einsparen ? `
Das hast Du falsch verstanden. Wenn in jeder Minute ein Timer gestartet wird, obwohl noch ein Timer (15 Minuten) läuft, wird ein weiterer Timer erzeugt. Innerhalb von 15 Minuten werden also 15 Timer gestartet. Jeder Timer beendet sich selbst erst nach der abgelaufenen Zeit. -
Ach das meinst Du … OK ! Ich lege die Timer in einen neuen Schedule der jeweils auf Balkon, Markise, Esszimmer und BadSZ hört.
so:
Und die Menge der Timer ist also nicht so schlimm ? Die könnte ich ja wie beschrieben auch noch reduzieren.
Und jetzt mal noch ne ganz interessante Frage Betrifft alle Scripts. Könnte ich eigentlich alle Scripts einfach untereinander packen und nur noch eines haben ? Oder ist es besser viele kleine zu haben ? Oder ist es gar nicht möglich ?
vg
Marc
-
Und die menge der Timer ist also nicht so schlimm ? Die könnte ich ja wie beschrieben auch noch reduzieren. `
Das würde ich nicht machen, denn es kann vielleicht doch mal zu zeitlichen Überschneidungen kommen. Die Menge der Timer ist unkritisch.
@meicker:Könnte ich eigentlich alle Scripts einfach untereinander packen und nur noch eines haben ? Oder ist es besser viele kleine zu haben ? Oder ist es gar nicht möglich ? `
Man kann viele Funktionen in ein Skript packen oder einzelne Skripte erstellen. Ich bevorzuge wegen der Übersichtlichkeit mehrere kleine Skripte. Es ist letztlich Geschmacksache. -
OK - Dann lasse ich das so wie es ist. Oben habe ich das aufgeräumte Script in meinen vorherigen Post eingepflegt. Meinst Du so, richtig ?
-
Ich würde es pro Ort etwa so machen, wenn ich in Blockly programmieren würde:
Es können auch alle Abfragen für die virtuellen Datenpunkte in des eine Schedule und die Trigger auf die Datenpunkte untereinander, wie Du es bereits gemacht hast.Die Abfrage des Datenpunktes "global.sonnenprogramm_aktiv" muss in das Schedule !
-
Hallo Paul,
das sonnenprogramm aktiv liegt mit Absicht daneben. Es war zum abschalten der Funktion gedacht und wird nicht aktualisiert.
Den rest schaue ich mir Morgen noch mal an …
Was meinst Du mit
> Es können auch alle Abfragen für die virtuellen Datenpunkte in des eine Schedule und die Trigger auf die Datenpunkte untereinander, wie Du es bereits gemacht hast.
?Aber sonst ist mein Script OK, oder ?
Bitte schau noch mal in dem Controme Thread vorbei
vg
Marc
-
das sonnenprogramm aktiv liegt mit Absicht daneben. Es war zum abschalten der Funktion gedacht und wird nicht aktualisiert. `
Zum Abschalten, wenn dieser DP false wird, muss aber das Skript neu gestartet werden. Was Du möchtest, funktioniert so:
@meicker:Aber sonst ist mein Script OK, oder ? `
Ja. Man kann es vereinfachen (siehe Bild). Das Setzen von Variablen mit konstanten Werten ist z.B. überflüssig.