NEWS
Neue Woche / Monat und Jahr detektieren in Blockly
-
Hallo,
ich habe ein Script, das um 0:01 täglich getriggert wird und ich den Zählerstand meines Regenmessers speichere in ein Objekt: RegenGestern. Nun möchte ich auch noch Objekte einführen wie: RegenDieseWoche, RegenLetzteWoche, RegenDiesenMonat, RegenLetztenMonat
Dazu müsste ich den Übergang der Zeitereignisse um 0:01 irgendwie detektieren. Ich frage mich, wie ich das hinbekomme? Als Lösungsansatz: Einen Cron-Job, der z. B. jeden Montag um 0:01 getriggert wird. Der setzt dann eine Variable: IsWochenuebergang. Diese Variable frage ich dann um 0:02 ab (das obengenannte Script wird also um 0:02 gestartet und hat dann die Variablen vorliegen). Am Ende dieses Scripts, das um 0:02 Uhr gestertet wird, setze ich die Zeitereignisse immer zurück. Was meint ihr? Kann man so machen oder gibt es bessere Lösungen?
-
@iobrokerin sagte in Neue Woche / Monat und Jahr detektieren in Blockly:
ich habe ein Script
Bitte als Screenshot zeigen.
-
@iobrokerin Am einfachsten hättest du es meiner Meinung nach, wenn du zB. den Zählerstand kurz vor Mitternacht berechnen lässt. Zum Auswerten für Tage/Wochen/Quartale/Monate/Jahre usw. benutzt du dann den Adapter "sourceanalytix", der erledigt dann alles für dich.
-
@iobrokerin sagte in Neue Woche / Monat und Jahr detektieren in Blockly:
Dazu müsste ich den Übergang der Zeitereignisse um 0:01 irgendwie detektieren.
das geht ganz einfach.
zum aktuellen timestam eine gewisse Zeit hinzuzählen, due dann sicher am nächsten Tag liegt.
Von der Zeit das Monatsdatum ausgeben lassen. ist dies 1 beginnt morgen ein neuer Monat
Ist der Wochentag des Folgetages ein Montag beginnt morgen eine neue Woche
usw.... -
@picky said in Neue Woche / Monat und Jahr detektieren in Blockly:
sourceanalytix
Das schau ich mir mal an. Sehr gut, Danke.
-
@homoran Guter Vorschlag. Wenn das mit dem anderen Adapter nicht geht, dann komm ich darauf zurück. Ich mag aber, wenn bereits etwas existiert, dies wiederverwenden....
-
@picky said in Neue Woche / Monat und Jahr detektieren in Blockly:
@iobrokerin Am einfachsten hättest du es meiner Meinung nach, wenn du zB. den Zählerstand kurz vor Mitternacht berechnen lässt. Zum Auswerten für Tage/Wochen/Quartale/Monate/Jahre usw. benutzt du dann den Adapter "sourceanalytix", der erledigt dann alles für dich.
Ich habe das installiert. Frage zur Funktionsweise des Adapters: Der Zäherstand wird direkt vom KNX-Bus dem ioBroker zur Verfügung gestellt (bei jeder Änderung des Zählers). Ich würde dann den Wert kurz nach Mitternacht löschen (um 0:01 Uhr). Dann hat der Adapter wahrscheinlich die Werte abgespeichert, oder?
-
@iobrokerin sagte: Ich würde dann den Wert kurz nach Mitternacht löschen (um 0:01 Uhr).
Welchen Wert löschen? Sourceanalytix verarbeitet kumulative Werte (Zählerstände).
-
@paul53 sagte in Neue Woche / Monat und Jahr detektieren in Blockly:
Sourceanalytix verarbeitet kumulative Werte (Zählerstände).
nicht nur, SA integriert auch Leistungen zu Energiewerten
-
-
@paul53 ok verstehe, das Rücksetzen ist nicht notwendig. Aber irgendwann läuft doch der Zähler über...
-
@emil70 Irgendwann musst Du doch dann den Wert von SolarleistungMonat zurücksetzen, nämlich zum Monatsende oder Anfang. Da hast Du doch das gleiche Problem wie ich, oder?
-
@iobrokerin sagte: irgendwann läuft doch der Zähler über...
Weshalb sollte er überlaufen? Die Mantisse einer Zahl in Javascript reicht bis 4503599627370496.
-
@iobrokerin sagte in Neue Woche / Monat und Jahr detektieren in Blockly:
@emil70 Irgendwann musst Du doch dann den Wert von SolarleistungMonat zurücksetzen, nämlich zum Monatsende oder Anfang. Da hast Du doch das gleiche Problem wie ich, oder?
Ja, Blockly dazu vergessen
-
@iobrokerin Ich Denke mal Du musst den neuen Wert (was neu geregnet hat) zu Deinem gespeicherten dazu addieren, sourceanalytix nimmt sich dann immer die neue Differenz (wie beim Stromzähler) für den Tag. Könnte auch ohne addieren vielleicht gehen.
-
@emil70 Mache das jetzt auch mit Sourceanalytic, hab jetzt ein 2tes Balkonkraftwerk installiert an 2 Tasmota-Steckdosen. Lasse jetzt mit einem Blockli die 2 Wattwerte der beiden Solaranlagen alle 5s addieren, auf diesen Datenpunkt habe ich Sourceanalytix angesetzt.
Hier paar Bilder falls es einen Interessiert.
-
@paul53 said in Neue Woche / Monat und Jahr detektieren in Blockly:
@iobrokerin sagte: irgendwann läuft doch der Zähler über...
Weshalb sollte er überlaufen? Die Mantisse einer Zahl in Javascript reicht bis 4503599627370496.
Hm, die Variable in Javascript mag vielleicht nicht das begrenzende Element sein. Der Wert wird ja direkt von meinem KNX-Bus geschrieben. Aber ich habe gerade nachgesehen, das ist ein 4 Byte-Wert - ich nehme an vom Typ natural, das heisst, es sind 2^32 Werte möglich. Sollte ausreichen.