Skip to content

Perioden, Aktualisierung und Zeit ​

Wann werden Werte aktualisiert – live oder um Mitternacht? ​

Kurz: Beides. Die laufenden Werte rechnet SourceAnalytix bei jedem neuen Wert der Quelle sofort neu. Um Mitternacht kommt der Periodenwechsel dazu: Dann schreibt es die Vorperioden wie „gestern“, setzt neue Startwerte und beginnt die neuen Perioden bei 0.

Was wann geschrieben wird ​

StatesWann
cumulativeReading und unter currentYear.<Kategorie> die Werte 01_currentDay bis 05_currentYearbei jedem neuen Wert der Quelle, aber nur, wenn sich der Wert ändert
currentWeek.<Wochentag>, weeks, months, quarters der laufenden Periode und das Jahresarchivebenso bei jedem neuen Wert
statisticsJsongesammelt kurz nach den Änderungen, höchstens alle 300 ms
01_previousDay bis 05_previousYearbeim Wechsel der jeweiligen Periode, mit Zeitstempel 23:59:59 Uhr am letzten Tag der Periode
Startwerte in den Einstellungen der Quellebeim Wechsel der jeweiligen Periode

Alle Werte schreibt SourceAnalytix bestätigt (ack=true). Weil die laufenden Werte nur bei einer Änderung geschrieben werden, zeigt ihr Zeitstempel die letzte Änderung. Liefert die Quelle eine Zeit lang keinen neuen Wert, bleiben auch die Werte von SourceAnalytix stehen.

Bei Leistungsquellen (W) rechnet SourceAnalytix mit jedem neuen Leistungswert die Energie seit dem letzten Wert aus. Auch hier ändern sich die Werte also nur, wenn das Gerät etwas meldet.

Der Wechsel um Mitternacht ​

Um 0:00 Uhr Systemzeit prüft SourceAnalytix, welche Perioden zu Ende sind: der Tag immer, die Woche am Montag, der Monat am 1., das Quartal am 1. Januar, April, Juli und Oktober, das Jahr am 1. Januar. Für jede beendete Periode kopiert es den laufenden Wert in die Vorperiode und setzt den Startwert auf den aktuellen Gesamtstand. Die neue Periode beginnt damit bei 0.

Am Montag leert SourceAnalytix außerdem die Wochentage der laufenden Woche, am 1. Januar die Wochen, Monate und Quartale unter currentYear.

Während des Wechsels pausiert die Berechnung kurz. Werte, die in diesem Moment eintreffen, werden nicht verarbeitet. Eine Änderung ist geplant (#1270).

War ioBroker um Mitternacht aus, holt SourceAnalytix den Wechsel beim Start nach, außerdem prüft es jede Stunde. Siehe ioBroker war um Mitternacht aus.

Siehe auch: Wo finde ich gestern, letzte Woche, letzten Monat? · Warum unterscheiden sich Wochen-, Monats-, Quartals- und Jahreswerte? · Absturz oder Wechsel zur falschen Zeit

Warum zeigt Woche 52/53 Werte im neuen Jahr? ​

Kurz: SourceAnalytix zählt Kalenderwochen nach ISO 8601. Eine Woche beginnt am Montag, und Woche 1 ist die Woche mit dem ersten Donnerstag des Jahres. Die ersten Tage im Januar können deshalb noch zu Woche 52 oder 53 des Vorjahres gehören, die letzten Tage im Dezember schon zu Woche 1 des nächsten Jahres.

Zwei Beispiele:

TageKalenderwoche
Montag, 29. Dezember 2025, bis Sonntag, 4. Januar 2026Woche 1 von 2026
Montag, 28. Dezember 2026, bis Sonntag, 3. Januar 2027Woche 53 von 2026

Wie SourceAnalytix damit umgeht ​

Ab v0.6.2: SourceAnalytix ordnet jede Woche dem Jahr zu, zu dem sie nach ISO 8601 gehört (#1256). Im Einzelnen:

  • 02_currentWeek zählt immer die ganze Woche von Montag bis Sonntag, auch über den Jahreswechsel. Am 2. Januar 2027 enthält sie also den Verbrauch seit Montag, 28. Dezember. 05_currentYear beginnt dagegen am 1. Januar bei 0.
  • currentYear.<Kategorie>.weeks zeigt nur Wochen, die zum laufenden Kalenderjahr gehören. Vom 1. bis 3. Januar 2027 schreibt SourceAnalytix dort nichts, denn Woche 53 gehört zu 2026. Ebenso schreibt es am 29. bis 31. Dezember 2025 nicht in Woche 01, damit die erste Januarwoche des laufenden Jahres nicht überschrieben wird.
  • Das Wochenarchiv <Jahr>.<Kategorie>.weeks liegt im Ordner des Jahres, zu dem die Woche gehört. Woche 53 von 2026 steht unter 2026.consumed.weeks.53, auch mit den Januartagen von 2027. Woche 1 von 2026 steht unter 2026.consumed.weeks.01, auch mit den Dezembertagen von 2025.

Bis v0.6.1: SourceAnalytix nahm für Wochen zwar die ISO-Nummer, aber das Kalenderjahr. Anfang Januar landeten die Werte von Woche 52 oder 53 deshalb unter currentYear und im Archivordner des neuen Jahres. Ende Dezember überschrieb Woche 1 des nächsten Jahres die erste Januarwoche im Archiv des laufenden Jahres.

Siehe auch: Warum unterscheiden sich Wochen-, Monats-, Quartals- und Jahreswerte? · Welche States gibt es für Wochen, Monate und Wochentage? · Was passiert zum Jahreswechsel?

Berechnet SourceAnalytix rückwirkend oder erst ab Aktivierung? ​

Kurz: Erst ab der Aktivierung. SourceAnalytix rechnet keine Werte aus der Vergangenheit nach. Kennst du die Zählerstände zu Beginn der laufenden Perioden, kannst du sie als Startwerte eintragen. Dann zählt der Verbrauch seit Beginn des Tages, der Woche, des Monats, des Quartals oder des Jahres mit, aber nur für die laufenden Perioden.

Was bei der ersten Aktivierung passiert ​

Beim ersten Wert einer neuen Quelle setzt SourceAnalytix jeden leeren Startwert und jeden Startwert 0 auf den aktuellen Gesamtstand. Alle Perioden beginnen damit bei 0. Im Log steht „Initialized empty period start values for … from current reading …“. Startwerte, die du eingetragen hast, bleiben, wie sie sind.

Ab v0.7.0 fragt der Assistent „Quelle hinzufügen“ das im Schritt „Startwerte“ ab:

AuswahlWas passiert
„Ab jetzt zählen“Alle Perioden beginnen jetzt bei 0.
„Verbrauch seit Periodenbeginn mitzählen“Du trägst die Zählerstände zu Beginn von Tag, Woche, Monat, Quartal und Jahr ein. Leere Felder beginnen ab jetzt.

Was genau in die Felder gehört, steht unter Was trage ich bei den Startwerten ein?.

Was danach gilt ​

  • Der erste Monat, das erste Quartal und das erste Jahr enthalten nur den Verbrauch seit der Aktivierung, außer du hast Startwerte eingetragen.
  • Die Vorperioden wie 01_previousDay oder 03_previousMonth sind erst nach dem ersten Wechsel der jeweiligen Periode gefüllt.
  • Für frühere Perioden, etwa das Vorjahr, kann SourceAnalytix keine Werte erzeugen. Startwerte wirken nur bis zum Ende der laufenden Periode.

Leistungsquellen (W) zählen immer ab der Aktivierung. Sie liefern keinen Zählerstand, SourceAnalytix bildet ihren Gesamtstand erst ab der Aktivierung selbst. Der Assistent bietet „Verbrauch seit Periodenbeginn mitzählen“ bei ihnen deshalb nicht an.

Ältere Verbräuche oder abgelesene Zählerstände nachzutragen ist geplant (#256).

Siehe auch: Was trage ich bei den Startwerten ein? · Warum sind meine Werte nach der Eingabe von Startwerten negativ?

Warum unterscheiden sich Wochen-, Monats-, Quartals- und Jahreswerte? ​

Kurz: Jede Periode hat ihren eigenen Startwert und beginnt zu einem anderen Zeitpunkt. Der Verbrauch ist immer Gesamtstand − Startwert dieser Periode. Weil eine Woche am Montag beginnt und über Monats- oder Jahresgrenzen reichen kann, passen Wochenwerte nicht zu Monats- oder Jahreswerten, und die Summe der Wochen ergibt nicht den Monat.

Wann welche Periode beginnt ​

PeriodeState unter currentYear.<Kategorie>beginnt um 0:00 Uhr am
Tag01_currentDayjedem Tag
Woche02_currentWeekMontag
Monat03_currentMonth1. des Monats
Quartal04_currentQuarter1. Januar, 1. April, 1. Juli, 1. Oktober
Jahr05_currentYear1. Januar

Zum Wechsel setzt SourceAnalytix den Startwert jeder beendeten Periode auf den Gesamtstand in diesem Moment. Die anderen Perioden laufen unberührt weiter.

Warum die Werte nicht zusammenpassen ​

  • Woche über die Monatsgrenze: Am Samstag, 3. Oktober 2026, zählt 03_currentMonth drei Tage, 02_currentWeek aber fünf, denn die Woche hat am Montag, 28. September, begonnen. Sie enthält also Tage, die zum Vormonat gehören. Dasselbe gilt am Jahreswechsel, siehe Woche 52/53.
  • Aktivierung mitten in einer Periode: Ohne eigene Startwerte beginnen alle Perioden bei der Aktivierung. Der erste Monat, das erste Quartal und das erste Jahr enthalten dann gleich viel, nämlich den Verbrauch seit der Aktivierung.
  • Eigene Startwerte: Hast du Startwerte eingetragen, zählt jede Periode ab ihrem eigenen Wert. Passen die Werte nicht zueinander, passen auch die Ergebnisse nicht.
  • Rundung: SourceAnalytix rundet jeden Periodenwert für sich. Die Summe gerundeter Tageswerte kann deshalb in der letzten Stelle vom Monatswert abweichen.

Bei den Kosten kommt der Grundpreis dazu: Er wird monatlich gebucht und nicht gleichmäßig auf die Tage verteilt. Mehr dazu unter Wie rechne ich einen monatlichen Grundpreis ein?.

Wo die einzelnen Wochen und Monate stehen ​

Die einzelnen Wochen, Monate und Quartale des laufenden Jahres findest du unter currentYear.<Kategorie>.weeks.01 bis 53, months.01_January bis 12_December und quarters.Q1 bis Q4, wenn in den Instanz-Einstellungen unter „Laufendes Jahr“ „Wochen“, „Monate“ und „Quartale“ an sind. Der Februar steht also in months.02_February.

Siehe auch: Was trage ich bei den Startwerten ein? · Welche States gibt es für Wochen, Monate und Wochentage? · Wann werden Werte aktualisiert?

Knowledge has no value unless you use and share it