NEWS
Sonnenprogramm
-
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. -
Hi Paul,
hat etwas länger gedauert aber ich habe mich eben mal dran gegeben … mir ist aber noch was unklar. Bitte mal meine Kommenare ansehen. Es geht im wesentlichen um die Stellen wo Du WERT eingetragen hat in einem roten Block - Mir ist nicht klar was ich da reinpacken muss ...
Falls Objekt -> Default - bleibt so ?
Viele Grüße,
Marc
-
die Stellen wo Du WERT eingetragen hat in einem roten Block - Mir ist nicht klar was ich da reinpacken muss … `
Das ist der Wert des Trigger-Datenpunktes.
default muss ersetzt werden durch den Datenpunkt global.sonnenprogramm_aktiv, denn wenn dieser sich ändert, soll das Sonnenprogramm gestartet bzw. das Schedule Sommer2 gestoppt werden. -
danke Paul,
da mache ich die tage dran weiter …
-
Hi Paul,
das sieht nicht richtig aus …
Sonnenprogramm aktib soll ein globaler Schalter sein um das gesamte Programm ausser gefecht zu setzen.
Wenn Sonne Balkon wahr ist macht es Sonnenprogramm, ansonsten wird Sommer 2 angehalten. Damit ist doch dann Ende im Gelände … keine der anderen Prüfungen im Sommerprogramm würde mehr ausgeführt, oder täusche ich mich da ?
vg
Marc
-
Sonnenprogramm aktib soll ein globaler Schalter sein um das gesamte Programm ausser gefecht zu setzen. `
So habe ich es auch verstanden.
@meicker:Wenn Sonne Balkon wahr ist macht es Sonnenprogramm, ansonsten wird Sommer 2 angehalten. Damit ist doch dann Ende im Gelände … keine der anderen Prüfungen im Sommerprogramm würde mehr ausgeführt, oder täusche ich mich da ? `
Richtig. In meinem Vorschlage wird auch nicht der Wert von "javascript.0.global.sonne-balkon" ausgewertet, um die Funktion auszurufen bzw. das Schedule zu stoppen, sondern der Wert des Triggerdatenpunktes = Wert von "global.sonnenprogramm_aktiv". -
Hi Paul
OK Morgen wieder Jetzt ist es zu spät …
Wenn ich hier Sternchen vergeben dürfte würdest Du ne ganze Menge bekommen. Hier scheint es nicht viele user zu geben die sich mit Antworten Mühe geben ... Dankeschön dafür !!! Meist bekommt man nur ein Stichwort vor den Latz geknallt und das wars ...
vg
Marc