NEWS
[GELÖST] - Weihnachtsbeleuchtung - zu kompliziert gedacht?
-
@ttberlin sagte in Weihnachtsbeleuchtung - zu kompliziert gedacht?:
@slang-0 Kleiner Tip: Ich nutze dafür den Adapter "Deutsche Feiertage", der bei mir in 2 Instanzen läuft. einmal die "echten" Feiertage und einmal die "nicht-Feiertage", wie z.B. Totensonntag, Advent-Sonntage, Heiligabend etc. Das läuft ganz gut und ich stelle damit sicher, dass vor dem Totensonntag nichts in Betrieb ist.
Hi,
Das ist interessant! Wie stellst du denn sicher ob vor, oder schon nach Totensonntag ist?
Im Adapter feiertage ist der Totensonntag ja auch enthalten, aber ich komme einfach nicht drauf wie ich auf einfach Weise prüfen kann ob der Tag schon war, oder noch kommt? Der Tag ist ja schließlich immer an einem anderen Datum.@slang-0
Ich hab meine Variable extra nicht Totensonntag genannt, weil diese eben garnichts damit zu tun hat.
Wenn er eintrag Totensontag in deinem Datenpunkt findet, setzt er die variable auf true.
und wenn variable true und nummer vom monat "2" ist. setzt er sie wieder auf false.bei Neustart der script ändert sich doch nichts ?! oder ist die Varaible dann leer :thinking_face:
Dann nimm nen Datenpunkt und stell den um. Der bleibt auf jeden fall so wie er gestellt wurde.
-
@ttberlin sagte in Weihnachtsbeleuchtung - zu kompliziert gedacht?:
@slang-0 Kleiner Tip: Ich nutze dafür den Adapter "Deutsche Feiertage", der bei mir in 2 Instanzen läuft. einmal die "echten" Feiertage und einmal die "nicht-Feiertage", wie z.B. Totensonntag, Advent-Sonntage, Heiligabend etc. Das läuft ganz gut und ich stelle damit sicher, dass vor dem Totensonntag nichts in Betrieb ist.
Hi,
Das ist interessant! Wie stellst du denn sicher ob vor, oder schon nach Totensonntag ist?
Im Adapter feiertage ist der Totensonntag ja auch enthalten, aber ich komme einfach nicht drauf wie ich auf einfach Weise prüfen kann ob der Tag schon war, oder noch kommt? Der Tag ist ja schließlich immer an einem anderen Datum.@slang-0 Na der Adapter beschreibt mehrere Datenpunkte. Ich nutze z.B. "Feiertag-heute". Dieser wird um 00:00 Uhr oder kurz danach mit dem Wert Totensonntag gesetzt. Das werte ich aus. Weiterhin gibt es die Datenpunkte Feiertag-morgen, Feiertag übermorgen, Feiertag nächster.
-
du triggerst mit umschaltung des datenpunktes auf totensonntag, das ist doch quatsch.
@cinimod warum an dem Tag abends um 23.55 wird der Datenpunkt auf true gesetzt, der am naechsten Tag abgefragt wird. :-)
-
@slang-0
Ich hab meine Variable extra nicht Totensonntag genannt, weil diese eben garnichts damit zu tun hat.
Wenn er eintrag Totensontag in deinem Datenpunkt findet, setzt er die variable auf true.
und wenn variable true und nummer vom monat "2" ist. setzt er sie wieder auf false.bei Neustart der script ändert sich doch nichts ?! oder ist die Varaible dann leer :thinking_face:
Dann nimm nen Datenpunkt und stell den um. Der bleibt auf jeden fall so wie er gestellt wurde.
@cinimod sagte in Weihnachtsbeleuchtung - zu kompliziert gedacht?:
@slang-0
Ich hab meine Variable extra nicht Totensonntag genannt, weil diese eben garnichts damit zu tun hat.
Wenn er eintrag Totensontag in deinem Datenpunkt findet, setzt er die variable auf true.
und wenn variable true und nummer vom monat "2" ist. setzt er sie wieder auf false.bei Neustart der script ändert sich doch nichts ?! oder ist die Varaible dann leer :thinking_face:
Dann nimm nen Datenpunkt und stell den um. Der bleibt auf jeden fall so wie er gestellt wurde.
Also würde das Blockly wie hier zu sehen so korrekt sein?

-
@slang-0 Na der Adapter beschreibt mehrere Datenpunkte. Ich nutze z.B. "Feiertag-heute". Dieser wird um 00:00 Uhr oder kurz danach mit dem Wert Totensonntag gesetzt. Das werte ich aus. Weiterhin gibt es die Datenpunkte Feiertag-morgen, Feiertag übermorgen, Feiertag nächster.
@ttberlin sagte in Weihnachtsbeleuchtung - zu kompliziert gedacht?:
@slang-0 Na der Adapter beschreibt mehrere Datenpunkte. Ich nutze z.B. "Feiertag-heute". Dieser wird um 00:00 Uhr oder kurz danach mit dem Wert Totensonntag gesetzt. Das werte ich aus. Weiterhin gibt es die Datenpunkte Feiertag-morgen, Feiertag übermorgen, Feiertag nächster.

-
@cinimod warum an dem Tag abends um 23.55 wird der Datenpunkt auf true gesetzt, der am naechsten Tag abgefragt wird. :-)
-
@cinimod sagte in Weihnachtsbeleuchtung - zu kompliziert gedacht?:
@slang-0
Ich hab meine Variable extra nicht Totensonntag genannt, weil diese eben garnichts damit zu tun hat.
Wenn er eintrag Totensontag in deinem Datenpunkt findet, setzt er die variable auf true.
und wenn variable true und nummer vom monat "2" ist. setzt er sie wieder auf false.bei Neustart der script ändert sich doch nichts ?! oder ist die Varaible dann leer :thinking_face:
Dann nimm nen Datenpunkt und stell den um. Der bleibt auf jeden fall so wie er gestellt wurde.
Also würde das Blockly wie hier zu sehen so korrekt sein?

@slang-0
ich verstehe nicht wieso du totensonntag auf falsch stellst oben ?
Und wieso wartest du 24 stunden nach Totensontag ?Willst du das nicht mal versuchen ? das ist doch sehr übersichtlich. Statt der variable nimmst nen Datenpunkt "Weihnachtsbeleuchtung".
Der wird mit Totensonntag auf true gestellt, und falls true ist und monat 2 wieder zurück auf false gestellt.

-
@slang-0
ich verstehe nicht wieso du totensonntag auf falsch stellst oben ?
Und wieso wartest du 24 stunden nach Totensontag ?Willst du das nicht mal versuchen ? das ist doch sehr übersichtlich. Statt der variable nimmst nen Datenpunkt "Weihnachtsbeleuchtung".
Der wird mit Totensonntag auf true gestellt, und falls true ist und monat 2 wieder zurück auf false gestellt.

oder wie ich es anfangs meinte:
Du machst zwei Skripte,
Eins welches die Beleuchtung steuert:

und ein zweites, welches das erste aktiviert oder deaktiviert:

Dann triggern die Zeitpläne nicht das ganze Jahr unnötig rum.
-
verstehe nicht ganz wie du das machst ?
Ich habe garnicht die Datenpunkte der Feiertage ?
habe nur heute, morgen, übermorgen ... usw.
-
-
oder wie ich es anfangs meinte:
Du machst zwei Skripte,
Eins welches die Beleuchtung steuert:

und ein zweites, welches das erste aktiviert oder deaktiviert:

Dann triggern die Zeitpläne nicht das ganze Jahr unnötig rum.
@cinimod sagte in Weihnachtsbeleuchtung - zu kompliziert gedacht?:
oder wie ich es anfangs meinte:
Du machst zwei Skripte,
Eins welches die Beleuchtung steuert:

und ein zweites, welches das erste aktiviert oder deaktiviert:

Dann triggern die Zeitpläne nicht das ganze Jahr unnötig rum.
Ja. Wie ich sagte. Ich bin Anfänger. Mir war gar nicht klar, das man auch die Scripte an und abschalten lassen kann. Ich glaub ich habs kapiert. Da muss der Groschen erstmal fallen...
So hab ich es jetzt:
Script 1 (ist immer aktiv)

Script 2 (ist jetzt aktiviert, da Totensonntag schon vorbei ist, wird aber sonst durch Script 1 aktiviert und Deaktiviert)

Finde ich ne super Lösung:
Folgende Frage bleibt noch:
Ich möchte nicht dass das Script bereits am Totensonntag aktiviert wird. Sondern erst am nächsten Tag. Am Totensonntag selbst darf die Weihnachtbeleuchtung nicht an gehen. Daher das Stop mit dem folgenden Timeout. Es gibt ja auch die Möglichkeit der Verzögerung. Ist das dasselbe? oder ist das eher wie Pause wobei die Systemrecourcen gebunden bleiben?
Oder macht man das ganz anders? -
@cinimod sagte in Weihnachtsbeleuchtung - zu kompliziert gedacht?:
Währe ja cool wenn man für die Feiertage auch je einen Datenpunkt hätte der am Ereignistag True währe
@ttberlin sagte in Weihnachtsbeleuchtung - zu kompliziert gedacht?:
@cinimod hat man doch. Die ID boolean...
und dann über die ID Heute.Name prüfen was das für ein Feiertag ist
-
oder wie ich es anfangs meinte:
Du machst zwei Skripte,
Eins welches die Beleuchtung steuert:

und ein zweites, welches das erste aktiviert oder deaktiviert:

Dann triggern die Zeitpläne nicht das ganze Jahr unnötig rum.
@cinimod sagte in Weihnachtsbeleuchtung - zu kompliziert gedacht?:
und ein zweites, welches das erste aktiviert oder deaktiviert:
neee, das ist nicht Sinn der Sache
Da würde ich den eigenen Datenpunkt "war_Totensonntag" am Tag nach Totensonntag auf true setzen, und diesen eigenen Datenpunkt im Beleuchtungsscript mit abfragen.
Dann irgendwann an Dreikönig oder Maria Lichtmess den Datenpunkt wieder auf false setzen
-
Hallo,
Beim aktivieren meiner Weihnachtsbeleuchtung in diesem Jahr musste ich mir von meinen Nachbarn leider sagen lassen, dass man doch besser bis zum Totensonntag warten sollte... wusste ich nicht Shame on me :-/
Im nächsten Jahr würde ich das aber beachten wollen, aber ganz sicher nicht manuell. Das soll bitte automatisch passieren.
Den Totensonntag kann ich mir aus dem Datenpunkt feiertage.0.heute.Name holen.
Im ersten Versuch habe ich gedacht man könnte, wenn der Tag gekommen ist, das irgendwie in ein Datum konvertieren. Ist entweder falsch gemacht, oder falsch gedacht (oder beides). Als Debug kommt in jedem Fall immer 01/01 raus.

Durch den Vergleich (> als ) geht die Beleuchtung praktisch das ganze Jahr an, da ja immer nach dem 01.01. ist... Also unbrauchbar...
- Versuch:
Ich erstelle eine Variable "Totensonntag" mit dem Wert 0.; und erhöhe die um 1 wenn der Totensonntag kommt. Das funktioniert zwar, ist aber fehleranfällig, denn sobald das Script neugestartet, oder nur der Service ioBroker neugestartet wird, funktioniert die Beleuchtung nicht mehr und man muss händisch aktiv werden, da die Variable wieder 0 ist und sich auch nicht mehr ändert, wenn Totensonntag bereits vorbei ist.

Also auch unbrauchbar.
Der 3., mMn funktionierende, Versuch sieht so aus:
Ich habe einen eigenen Datenpunkt erstellt (0_userdata.0.eigene_Datenpunkte.trigger.Totensonntag) dieser wird auf true aktualisiert sobald der Datenpunkt feiertage.0.heute.Name "Totensonntag" ergibt. Die aktualisierung erfolgt mit Verzögerung, denn die Beleuchtung soll nicht am, sondern erst am nächsten Tag laufen.
Im Falls wird dann abgeprüft ob entweder der Datenpunkt 0_userdata.0.eigene_Datenpunkte.trigger.Totensonntag true ist oder vor einem definierten Datum zutrifft.
Per Zeitplan wird am 01.01. eines Jahres der Datenpunkt 0_userdata.0.eigene_Datenpunkte.trigger.Totensonntag wieder auf false aktualisiert, damit nach dem definierten Enddatum die Weihnachtsbeleuchtung nicht mehr an geht.

Ich bin Anfänger, daher die Frage ob man das so macht, oder ob das viel zu kompliziert gedacht ist, oder ob sogar Fehler drinn sind.
@slang-0 ich würde ein kurzes Skript schreiben, was prüft ob gestern Totensonntag war (den Datenpunkt gibts im feiertagsadapter) und was dann eine globale Variable "Weihnachtsbeleuchtung_aktiv" auf true setzt.
Dann noch ein Endedatum prüfen also z.b.15. Januar und da dann Weihnachtsbeleuchtung_aktiv auf false setzen.
Das eigentliche Beleuchtungsskript triggerst du dann über die globale Variable, fertig. - Versuch:
-
@cinimod sagte in Weihnachtsbeleuchtung - zu kompliziert gedacht?:
und ein zweites, welches das erste aktiviert oder deaktiviert:
neee, das ist nicht Sinn der Sache
Da würde ich den eigenen Datenpunkt "war_Totensonntag" am Tag nach Totensonntag auf true setzen, und diesen eigenen Datenpunkt im Beleuchtungsscript mit abfragen.
Dann irgendwann an Dreikönig oder Maria Lichtmess den Datenpunkt wieder auf false setzen
Genau so hab ichs gemacht.. 👍




