Last Reset löst zu früh aus

MaikR

New member
Hallo zusammen, vielleicht kann mir hier jemand helfen?

Ich habe überall die richtige Zeitzone eingestellt und die Uhrzeit passt auch überall. Auf der Konsole wurde auch geprüft.

Aber anscheinend ist die Zeitzone bei dem Verbrauchszähler nicht richtig, da er laut Cron um 0 Uhr auslösen soll und um 23 Uhr hat er es ausgeführt. Hier der Last Reset den ich mein:
last_period: 1.46
meter_period: daily
cron pattern: 0 0 * * *
last_reset: 2022-11-08T23:00:00.019231+00:00

Für DE sollte da ja eigentlich hinten 01:00 stehen oder liege ich da falsch?

Wie gesagt, mein HA ist alles korrekt eingestellt. Wie könnte ich den Fehler beheben?

Danke schon mal für die Hilfe.

Gruß Maik
 
Vermutlich steht in Deiner configuration.yaml ein Eintrag:

time_zone: UTC

Das sollte

time_zone: Europe/Berlin

sein.
 
Hat leider nicht funktioniert, hab mir zur Überprüfung mal eine stündliche Variable erstellt und diese ist immer noch eine Stunde in der Vergangenheit.
 
Hast Du nach der Änderung der Zeitzone Deine HomeAssistant-Installation auch mal neugestartet?
 
Wie genau (und ggf. an welcher Stelle) hast Du den Eintrag denn erstellt?

Wenn ich in der configuration.yaml
YAML:
homeassistant:
    time_zone: Europe/Berlin
eintrage korrigiert er mir korrekt die Zeit um eine Stunde nach vorne, also aktuell 12:12.

Ggf. zum leichteren überprüfen in den Entwicklerwerkzeugen unter Template mal {{ now() }} eintragen, dann musst Du nicht auf Variablen warten.
 
Gutes Timing, hab das in ein Forum gefunden:

Code:
{{ now() }}
{{ now().astimezone() }}
{{ utcnow().astimezone() }}
{{ now().now() }}
{{ now().today() }}
{{ now().utcnow() }}
{{ utcnow() }}
{{ now().tzinfo }}
{{ now().astimezone().tzinfo }}
{{ utcnow().tzinfo }}

Das Ergebnis sieht so aus:
Code:
2022-11-09 12:31:00.003116+01:00
2022-11-09 12:31:00.003246+01:00
2022-11-09 12:31:00.003502+01:00
2022-11-09 12:31:00.003800
2022-11-09 12:31:00.003996
2022-11-09 11:31:00.004174
2022-11-09 11:31:00.004241+00:00
Europe/Berlin
CET
UTC

Also das passt so weit, scheint der Cron nach UTC zu gehen. Leider passt es dann nicht mit dem Verbrauchzähler und täglicher Aufruf, da er ja nicht um 0 Uhr zurücksetzt, sondern um 23 Uhr. Frage wäre wie ich ihn in Verbrauchzähler die Stunde mehr gebe?

Gruß
 
Cron eine Stunde später setzen? Auf 01:00 Uhr morgens?

Eigentlich kann man cron-Prozesse aber in jeder beliebigen Zeitzone laufen lassen.
Üblich ist localtime

Du könntest ein Skript versuchen:


Code:
#!/bin/sh
export TZ=":Europe/Berlin"
/usr/bin/cron

Oder Du schreibst vor den Cron-Eintrag die Zeitzone:

Code:
0 0 * * * root export TZ=":Europe/Berlin" ; <der von Dir gewünschte Eintrag>

oder

Code:
0 0 * * * root /user/bin/env TZ=Europe/Berlin <der von Dir gewünschte Eintrag>
 
Zuletzt bearbeitet:
Oder vor den Einträgen in cron (gilt dann für alle):

CRON_TZ=Europe/Berlin

schreiben, das müßte auch funktionieren.
 
Ich hab den CRON_TZ=Europe/Berlin probiert, hat nicht funktioniert.

Aber vielleicht gehe ich hier auch den falschen Weg, ich versuche, mit dem Verbrauchszähler die Daten von mein Shelly 3em auf das normale Dashboard zu bekommen. Vielleicht gibt es da auch einen eleganteren Weg, die Daten von den Energie Dashboard auf den Normalen zu bekommen?

Danke aber erstmal für die Hilfe.

Gruß
 
Unter den Einstellungen -> Allgemein kannst du überprüfen ob deine Zeiteinstellung über die UI (im gezeigten Screenshot) eingestellt ist oder ob du irgendwas in deiner configuration.yaml hast das die Zeit beeinflusst, in meinem Fall greift die configuration.yaml
"Ganz oben zu sehen... Editor deaktiviert, da die Konfiguration in configuration.yaml gespeichert ist."

Screenshot_20221110_191042.jpg
 

Zurzeit aktive Besucher

Keine Mitglieder online.

Letzte Anleitungen

Statistik des Forums

Themen
5.021
Beiträge
50.325
Mitglieder
4.712
Neuestes Mitglied
ChristianH
Zurück
Oben