NEWS
Datenpunkt durch einen Pointer auswählen/Kalenderwoche?
-
Hallo an Alle,
für Verbrauchscharts möchte ich mir ein Programm schreiben, dass mir aus Sourceanalytix bestimmte Werte extrahiert.
Das Ganze sieht z.B. so aus:
D.h. ich brauche die Werte vor 2 Wochen/Monaten, vor 3 Wochen/Monaten, etc.
In Sourceanalytix steht das zwar auf der todo Liste, steht dort aber auch schon seit 2 Jahren, deshalb wollte ich das selbst programmieren.
Ich habe halt nur Werte von "absoluten Kalenderwochen" aber eben nicht vor "x" Wochen.
In ViS muss ich es dann jeden Montag händisch umtragen:
Mega-nervig, gerade jetzt bei 2 Projekten.
Zur Programmierung.
Ich habe einen neuen Datenpunkt angelegt.
Den würde ich befüllen wenn ein Wochenwechsel ist. Ich triggere auf "Current Week"Doch wie kann ich per Pointer o.ä. auf den Datenpunkt mit der Kalenderwoche vor 3 bzw. x Wochen zeigen und den Wert holen?
Nächstes wäre dann noch den Jahreswechsel mit einzupflegen, da ab der 3. Woche in 2023 dann auf den neuen Jahresordner gezeigt werden muss.
-
@hg6806 sagte: wenn ein Wochenwechsel ist. Ich triggere auf "Current Week"
Behandle doch die Datenpunkte beim Wechsel wie ein Schieberegister:
- vor 8 Wochen --> vor 9 Wochen
- vor 7 Wochen --> vor 8 Wochen
... - diese Woche --> letzte Woche
Ebenso bei Monats- und Jahreswechsel.
Damit erspart man sich die Berechnungen. -
Ja, klar, aber wie mache ich das automatisch?
Im Prinzip schiebe ich ja die Werte einzeln und händisch in VIS.
-
@hg6806 sagte: wie mache ich das automatisch?
8 Datenpunktwerte in der richtigen Reihenfolge übertragen:
-
Hmm, so ganz steige ich da nicht durch.
Das Jahr hat 52 Wochen, also müsste ich das 52 Blöcke in der Mitte machen, also Wert von KW2 zu KW1, KW3 zu KW2 usw.
Zudem würden die Werte überschrieben werden und die Kalenderwochen Werte würde nicht mehr stimmen. -
Ich glaube ich hab's
Der absolute Wert "33" müsste dann noch durch die aktuelle Kalenderwoche-2 ersetzt werden, da es als Datenpunkte aktuelle und letzte Woche schon gibt und ich bei "vor 2 Wochen" anfangen muss.
Zumindest habe ich durch den Test den richtigen Wert bekommen.
Die aktuelle Kalenderwoche versuche ich hierüber zu ermitteln.
https://forum.iobroker.net/topic/19346/blockly-skript-kalenderwochen-als-und-bedingung -
@hg6806 sagte: da es als Datenpunkte aktuelle und letzte Woche schon gibt und ich bei "vor 2 Wochen" anfangen muss.
Dann müssen einmalig (ohne Trigger und anschließend wieder löschen) die eigenen Datenpunkt für "vorletzte Woche" bis "vor 9 Wochen" aus den aktuell passenden Sourceanalytix-Datenpunkten beschrieben werden.
Verbleibend werden mittels Wochen-Trigger die eigenen Datenpunkte verschoben wie oben gezeigt. -
Sorry, ich glaube ich habe deine Version wohl noch nicht verstanden.
Ich habe es nun so gelöst und hoffe das ist ok so.
Der Trigger kommt normalerweise dann auch nur 1x pro Woche.