Nach Update auf OH 5.01 Zeitproblem
-
Lactobacillus
- Beiträge: 161
- Registriert: 1. Mär 2019 09:13
- Wohnort: Untergruppenbach BaWü
Nach Update auf OH 5.01 Zeitproblem
Hallo,
ich musste wegen SD Kartendefekt letzten Sonntag mein OH neu aufsetzen. Sether werden Rules die um 13.30Uhr schalten sollen erst um 14.30 Uhr. Sowohl in der Config als auch in der UI ist Berlin als Timezone gewählt. Wo könnte ich noch schauen? da der Logviewer auch richtig läuft
ich musste wegen SD Kartendefekt letzten Sonntag mein OH neu aufsetzen. Sether werden Rules die um 13.30Uhr schalten sollen erst um 14.30 Uhr. Sowohl in der Config als auch in der UI ist Berlin als Timezone gewählt. Wo könnte ich noch schauen? da der Logviewer auch richtig läuft
-
Harka
- Beiträge: 544
- Registriert: 30. Apr 2021 13:13
Re: Nach Update auf OH 5.01 Zeitproblem
nw378 hat geschrieben: 19. Sep 2025 08:59 Hier habe ich eine Lösung aufgezeigt: viewtopic.php?t=7875&start=12
Im weiteren Verlauf steht noch eine Lösung, wie das auch updatesicher geht.
[Werbung]Filterfunktionen für Blockly[/Werbung]
-
Lactobacillus
- Beiträge: 161
- Registriert: 1. Mär 2019 09:13
- Wohnort: Untergruppenbach BaWü
Re: Nach Update auf OH 5.01 Zeitproblem
Habe jetzt nachgeschaut aber in allen 3 Stellen,
Java Opts=, UI und Config ist Berlin ausgewählt.
Java Opts=, UI und Config ist Berlin ausgewählt.
- udo1toni
- Beiträge: 15440
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Nach Update auf OH 5.01 Zeitproblem
Wie lautet die Zeit in der Shell? Am besten so ermitteln:
Stimmt hier die Zeit? Ist der NTP Service aktiv? Welcher Server wird verwendet?
Interessant ist hier die Angabe unter Server, im Beispiel mit IPv6 Adresse und lokal gültigem fqdn
Sollte die Systemzeit falsch gesetzt sein, stimmt logischerweise auch die Zeit in openHAB nicht.
Was ergibt der folgende Befehl:
Bei mir sieht das Ergebnis so aus:
Und in der Folge: Was ergibt das passende Grep auf jedes der gelisteten EnvironmentFiles:
Falls die ausgegebene Zeile länger ist, bitte unbedingt die vollständige Zeile betrachten!
Mögliche Fehler in diesem Zusammenhang (die mir gerade so einfallen...):
1. Das EnvironmentFile ist abweichend definiert. (hier ist das Minus (-) nach dem = und vor dem absoluten Pfad wichtig!)
2. Wird EXTRA_JAVA_OPTS an mehreren Stellen definiert, so gilt nur die letzte Definition.
3. Es könnte auch sein, dass user.timezone mehrfach innerhalb der Zeile angegeben ist.
Code: Alles auswählen
openhabian@openhabian:~$ timedatectl
Local time: So 2025-09-21 16:40:11 CEST
Universal time: So 2025-09-21 14:40:11 UTC
RTC time: n/a
Time zone: Europe/Berlin (CEST, +0200)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
Code: Alles auswählen
openhabian@openhabian:~$ timedatectl timesync-status
Server: 2003:d4:bf05:d401:aab8:e0ff:fe00:eca1 (opnsense.udo.lokal)
Poll interval: 34min 8s (min: 32s; max 34min 8s)
Leap: normal
Version: 4
Stratum: 1
Reference: GPS
Precision: 1us (-23)
Root distance: 2.059ms (max: 5s)
Offset: -31.769ms
Delay: 5.519ms
Jitter: 64.828ms
Packet count: 10686
Frequency: +14.803ppm
Sollte die Systemzeit falsch gesetzt sein, stimmt logischerweise auch die Zeit in openHAB nicht.
Was ergibt der folgende Befehl:
Code: Alles auswählen
openhabian@openhabian:~$ cat /etc/systemd/system/multi-user.target.wants/openhab.service | grep EnvironmentFile
Code: Alles auswählen
EnvironmentFile=-/etc/default/openhab
EnvironmentFile=-/etc/openhab/linux.parameters
Code: Alles auswählen
openhabian@openhabian:~$ cat /etc/default/openhab | grep EXTRA | grep -v '##'
EXTRA_JAVA_OPTS=""
Code: Alles auswählen
openhabian@openhabian:~$ cat /etc/openhab/linux.parameters | grep EXTRA | grep -v '##'
EXTRA_JAVA_OPTS="-Duser.timezone=Europe/Berlin"
Mögliche Fehler in diesem Zusammenhang (die mir gerade so einfallen...):
1. Das EnvironmentFile ist abweichend definiert. (hier ist das Minus (-) nach dem = und vor dem absoluten Pfad wichtig!)
2. Wird EXTRA_JAVA_OPTS an mehreren Stellen definiert, so gilt nur die letzte Definition.
3. Es könnte auch sein, dass user.timezone mehrfach innerhalb der Zeile angegeben ist.
openHAB5.0.1 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime) (Proxmox 9.0.11, LXC)
-
Lactobacillus
- Beiträge: 161
- Registriert: 1. Mär 2019 09:13
- Wohnort: Untergruppenbach BaWü
Re: Nach Update auf OH 5.01 Zeitproblem
Code: Alles auswählen
openhabian@openhabian:~ $ timedatectl
Local time: Sun 2025-09-21 18:53:32 CEST
Universal time: Sun 2025-09-21 16:53:32 UTC
RTC time: n/a
Time zone: Europe/Berlin (CEST, +0200)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
openhabian@openhabian:~ $ timedatectl timesync-status
Server: 2001:7c0:3100:1::110 (2.debian.pool.ntp.org)
Poll interval: 34min 8s (min: 32s; max 34min 8s)
Leap: normal
Version: 4
Stratum: 2
Reference: 8145FD01
Precision: 1us (-25)
Root distance: 1.136ms (max: 5s)
Offset: +58us
Delay: 15.031ms
Jitter: 765us
Packet count: 21
Frequency: -8.669ppm
openhabian@openhabian:~ $ cat /etc/systemd/system/multi-user.target.wants/openhab.service | grep EnvironmentFile
EnvironmentFile=-/etc/default/openhab
EnvironmentFile=-/etc/openhab/linux.parameters
openhabian@openhabian:~ $ cat /etc/default/openhab | grep EXTRA | grep -v '##'
EXTRA_JAVA_OPTS=""
EXTRA_JAVA_OPTS="-Xms192m -Xmx768m -XX:-TieredCompilation -XX:TieredStopAtLevel=1 -XX:+ExitOnOutOfMemoryError -Dxt ext.qn.interning=true -Duser.timezone=Europe/London"
openhabian@openhabian:~ $
- udo1toni
- Beiträge: 15440
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Nach Update auf OH 5.01 Zeitproblem
Du musst entweder die Datei /etc/default/openhab bearbeiten, oder alternativ im Verzeichnis /etc/openhab/ in der Datei linux.parameters die Zeile für EXTRA_JAVA_OPTS einfügen und dort anpassen.
Letzteres überlebt auch ein Update, bei dem die default-Datei mit ausgeliefert wird (das kommt ab und zu vor).
Egal für welchen Weg Du Dich entscheidest: Die Dateien im Verzeichnis /etc/default/ sollten nur vom User root bearbeitbar sein, die Dateien in /etc/openhab/ sollten allesamt dem User openhab gehören, und auch nur dieser hat Schreibrechte.
Am einfachsten geht das Bearbeiten mit dem sudo Befehl:
um die default-Datei zu bearbeiten.
Oder eben alternativ:
Der erste Befehl kopiert die EXTRA_JAVA_OPTS Zeilen in die neue Datei, und zwar als User openhab.
Der zweite Befehl öffnet diese Datei zum bearbeiten, ebenfalls als User openhab.
Da es in der Datei offenbar zwei Einträge gibt (ein leerer, ein gefüllter), solltest Du die leere Zeile auskommentieren (# davor schreiben).
Der Kopierbefehl kopiert auch die Beispiele aus der default-Datei mit, die sind aber schon auskommentiert.
Abschließend musst Du natürlich noch London durch Berlin ersetzen und nach dem Speichern den Dienst neu starten.
Erklärung der Befehle:
sudo -> Superuser Do. Wobei man mit dem Parameter -u jeden beliebigen User als ausführenden User auswählen kann.
cat -> Lies eine Datei und gib sie zeilenweise an die Standardausgabe aus.
grep -> filtere die Eingabe zeilenweise auf das Vorkommen der Zeichenfolge (Groß/Kleinschreibung wird beachtet)
tee -> dupliziere die Eingabe und gib sie in eine Datei aus, parallel dazu auf die Standardausgabe. Dabei wird die Datei im Kontext des ausführenden Users geschrieben.
Mit der Pipe | wird die Ausgabe des linken Befehls als Eingabe an den rechten Befehl gesendet.
Zum Kopieren der relevanten Zeile von einer Datei in die andere wird also die Datei ausgegeben, dabei werden die relevanten Zeilen herausgepickt und weitergeleitet, der nächste Befehl wird im Kontext des Users openhab ausgeführt und schreibt die Zeilen in die Datei.
Letzteres überlebt auch ein Update, bei dem die default-Datei mit ausgeliefert wird (das kommt ab und zu vor).
Egal für welchen Weg Du Dich entscheidest: Die Dateien im Verzeichnis /etc/default/ sollten nur vom User root bearbeitbar sein, die Dateien in /etc/openhab/ sollten allesamt dem User openhab gehören, und auch nur dieser hat Schreibrechte.
Am einfachsten geht das Bearbeiten mit dem sudo Befehl:
Code: Alles auswählen
sudo nano /etc/default/openhabOder eben alternativ:
Code: Alles auswählen
cat /etc/default/openhab | grep EXTRA | sudo -u openhab tee /etc/openhab/linux.parameters
sudo -u openhab nano /etc/openhab/linux.parametersDer zweite Befehl öffnet diese Datei zum bearbeiten, ebenfalls als User openhab.
Da es in der Datei offenbar zwei Einträge gibt (ein leerer, ein gefüllter), solltest Du die leere Zeile auskommentieren (# davor schreiben).
Der Kopierbefehl kopiert auch die Beispiele aus der default-Datei mit, die sind aber schon auskommentiert.
Abschließend musst Du natürlich noch London durch Berlin ersetzen und nach dem Speichern den Dienst neu starten.
Erklärung der Befehle:
sudo -> Superuser Do. Wobei man mit dem Parameter -u jeden beliebigen User als ausführenden User auswählen kann.
cat -> Lies eine Datei und gib sie zeilenweise an die Standardausgabe aus.
grep -> filtere die Eingabe zeilenweise auf das Vorkommen der Zeichenfolge (Groß/Kleinschreibung wird beachtet)
tee -> dupliziere die Eingabe und gib sie in eine Datei aus, parallel dazu auf die Standardausgabe. Dabei wird die Datei im Kontext des ausführenden Users geschrieben.
Mit der Pipe | wird die Ausgabe des linken Befehls als Eingabe an den rechten Befehl gesendet.
Zum Kopieren der relevanten Zeile von einer Datei in die andere wird also die Datei ausgegeben, dabei werden die relevanten Zeilen herausgepickt und weitergeleitet, der nächste Befehl wird im Kontext des Users openhab ausgeführt und schreibt die Zeilen in die Datei.
openHAB5.0.1 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime) (Proxmox 9.0.11, LXC)