Java Urzeit geht fasch. Oder ?

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Benutzeravatar
peter-pan
Beiträge: 2836
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: Java Urzeit geht fasch. Oder ?

Beitrag von peter-pan »

LutzTH hat geschrieben: 3. Feb 2026 21:54 Ist aber echt für mich nicht nachvollziehbar. :-(
Es gibt im Image, das man mit dem "Pi-Imager/Etcher" auf eine SD-Karte ziehen kann, eine Datei die heisst
openhabian.conf
und die kann man vor dem ersten Einlegen in den Pi noch anpassen. Da kann man auch schon Einstellungen zu Sprache und Zeitzone machen. oder aber auch zum Namen des Hosts, des Users, des Passwortes oer, oder.....

Ein Ausschnitt aus meiner daraus:

Code: Alles auswählen

# Language and timezone. See Debian documentation for valid values.
timezone=Europe/Berlin
locales="de_DE.UTF-8 de_DE.UTF-8"
system_default_locale=de_DE.UTF-8
Weitere Infos hierzu findest du auch hier
Pi5/8GB(PiOS Lite 64-bit(trixie)/SSD 120GB - OH5.1.1 openhabian
(Test openHAB 5.2.0 Build #5140 - snapshot)

LutzTH
Beiträge: 42
Registriert: 22. Feb 2020 18:43
Answers: 0

Re: Java Urzeit geht fasch. Oder ?

Beitrag von LutzTH »

Ich habe das Image vor dem ersten booten nicht konfiguriert. Das war mir auch bisher nicht bekannt. Ich bin davon ausgegangen das alle Einstellungen über die normalen Boardmittel bei obenhab, wie obenhabian-config eingestellt werden können. Es ist nicht nachvollziehbar das die Zeit unter SSH korrekt ist und openhab dann eine andere Default time verwendet.

Benutzeravatar
peter-pan
Beiträge: 2836
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: Java Urzeit geht fasch. Oder ?

Beitrag von peter-pan »

LutzTH hat geschrieben: 4. Feb 2026 05:59 Es ist nicht nachvollziehbar das die Zeit unter SSH korrekt ist und openhab dann eine andere Default time verwendet.
...ist halt international, deshalb London.
Hier noch zwei Befehle, die dir vielleicht Übersicht verschaffen können.

Code: Alles auswählen

hab4@raspi58:~ $ timedatectl status
               Local time: Mi 2026-02-04 11:46:38 CET
           Universal time: Mi 2026-02-04 10:46:38 UTC
                 RTC time: Mi 2026-02-04 10:46:38
                Time zone: Europe/Berlin (CET, +0100)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no
---------------------------------------------------------------------------
hab4@raspi58:~ $ timedatectl help
timedatectl [OPTIONS...] COMMAND ...

Query or change system time and date settings.

Commands:
  status                   Show current time settings
  show                     Show properties of systemd-timedated
  set-time TIME            Set system time
  set-timezone ZONE        Set system time zone
  list-timezones           Show known time zones
  set-local-rtc BOOL       Control whether RTC is in local time
  set-ntp BOOL             Enable or disable network time synchronization

systemd-timesyncd Commands:
  timesync-status          Show status of systemd-timesyncd
  show-timesync            Show properties of systemd-timesyncd
  ntp-servers INTERFACE SERVER…
                           Set the interface specific NTP servers
  revert INTERFACE         Revert the interface specific NTP servers

Options:
  -h --help                Show this help message
     --version             Show package version
     --no-pager            Do not pipe output into a pager
     --no-ask-password     Do not prompt for password
  -H --host=[USER@]HOST    Operate on remote host
  -M --machine=CONTAINER   Operate on local container
     --adjust-system-clock Adjust system clock when changing local RTC mode
     --monitor             Monitor status of systemd-timesyncd
  -p --property=NAME       Show only properties by this name
  -a --all                 Show all properties, including empty ones
     --value               When showing properties, only print the value
  -P NAME                  Equivalent to --value --property=NAME

See the timedatectl(1) man page for details.
hab4@raspi58:~ $
Mit dem Befehl kann wohl auch die Zeitzone gesetzt werden.

Ansonsten hat Udo hierzu schon Einiges an Tipps und Kniffe geschrieben.
Und wenn du weiterhin Probleme hast, wird dir hier sicher gerne geholfen.
Pi5/8GB(PiOS Lite 64-bit(trixie)/SSD 120GB - OH5.1.1 openhabian
(Test openHAB 5.2.0 Build #5140 - snapshot)

LutzTH
Beiträge: 42
Registriert: 22. Feb 2020 18:43
Answers: 0

Re: Java Urzeit geht fasch. Oder ?

Beitrag von LutzTH »

timedatectl status
Local time: Wed 2026-02-04 21:27:12 CET
Universal time: Wed 2026-02-04 20:27:12 UTC
RTC time: n/a
Time zone: Europe/Berlin (CET, +0100)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no

Und mit welchen command kann ich die Universal time auf CET +1 setzen. Da werde ich wohl doch das von UDO durchführen.

it's a feature not a bug

Benutzeravatar
udo1toni
Beiträge: 15622
Registriert: 11. Apr 2018 18:05
Answers: 253
Wohnort: Darmstadt

Re: Java Urzeit geht fasch. Oder ?

Beitrag von udo1toni »

LutzTH hat geschrieben: 4. Feb 2026 21:42 Und mit welchen command kann ich die Universal time auf CET +1 setzen
Gar nicht.
UTC ist die Zeit, welche am 0° Längengrad gilt (früher mal GMT, Greenwich Mean Time).

Es gibt halt mehrere relevante Einstellungen für die Zeit:
1. Systemzeit, kommt gewöhnlich über NTP, sobald das System Zugriff auf das Internet hat. Die Zeitzone kann z.B. mittels

Code: Alles auswählen

sudo dpkq-reconfigure tzdata
(und anschließend der Menüauswahl folgen) gesetzt werden, oder mittels

Code: Alles auswählen

sudo timedatectl set-timezone 'Europe/Berlin'
2. Zeit in openHAB. Das wird über die Einstellungen in der Main UI vorgenommen
3. Zeit auf dem openHA BUS (hiervon kann es mehrere geben), wird über das NTP Addon per Thing gesetzt.
4. Die Zeit innerhalb der Java Sandbox. Diese Zeit wird über den Java Aufruf kontrolliert. Man kann sie über die Umgebungsvariable EXTRA_JAVA_OPTS beeinflussen (und nur über diese Variable).

Früher mal wurde einfach gar keine Timezone angegeben, was eigentlich dazu führen sollte, dass Java die Zeitzone des Betriebssystems nutzt. Leider klappt das aber nicht zuverlässig, weshalb seit einigen Versionen nun die Zeitzone automatisch auf UTC gesetzt wird.
openHABian sollte das automatisch korrigieren, wenn man openHABian die notwendigen Informationen vorher mitgibt :) ob das aber funktioniert, ist nicht gewiss.

Es gibt seit OH4.x noch eine Möglichkeit, die EXTRA_JAVA_OPTS aus /etc/default/openhab zu überschreiben, und zwar,
indem man im Ordner /etc/openhab/ eine Datei linux.parameters anlegt. In diese Datei kopiert man die Zeilen aus der Datei /etc/default/openhab, welche man dauerhaft überschreiben will.
Warum? Na, weil bei jedem Update auch ein Update der /etc/default/openhab Datei erfolgen kann, dann gehen die gemachten Änderungen evtl. verloren.

Der Mechanismus ist folgender:
Zunächst werden alle Umgebungsvariablen aus /etc/default/openhab geladen und gesetzt.
Anschließend werden alle Umgebungsvariablen aus /etc/openhab/linux.parameters geladen. Falls eine Variable schon vorhanden ist, wird sie mit dem neuen Inhalt überschrieben.
Zum Schluss wird die Java Sandbox mit diesen Umgebungsvariablen gestartet.

Ach so, falls die Frage aufkommt: Nein, ich habe keine Ahnung, an welcher Stelle die Auswahl der Zeitzone innerhalb der Main UI tatsächlich Auswirkungen hat. JA, mir wäre es auch lieber, die Sandbox würde einfach die Systemzeit nutzen, aber, siehe oben, hat nicht immer funktioniert...
openHAB5.1.2 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime - LXC, 4 Kerne, 3 GByte RAM)
Hostsystem Proxmox VE 9.1.5 - AMD Ryzen 5 3600 6 Kerne, 12 Threads - 64 GByte RAM - ZFS Pools: Raid Z1, 3 x 20 TB HDD -> 40 TByte und Raid Z0-Mirrored 4 x 1 TByte NVMe -> 2 TByte

LutzTH
Beiträge: 42
Registriert: 22. Feb 2020 18:43
Answers: 0

Re: Java Urzeit geht fasch. Oder ?

Beitrag von LutzTH »

Hallo Udo, ich habs jetzt so gemacht wie unter
viewtopic.php?t=7875&start=10
beschrieben.
Das hat jetzt geklappt. :-) Die Zeit im logging ist jetzt ok. Ich denke mal das die Time Rules jetzt auch ok sind.

Aber wenn ich das command ausführe

Code: Alles auswählen

sudo timedatectl
               Local time: Fri 2026-02-06 18:47:13 CET
           Universal time: Fri 2026-02-06 17:47:13 UTC
                 RTC time: n/a
                Time zone: Europe/Berlin (CET, +0100)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no
Wird die
Universal time: Fri 2026-02-06 17:47:13 UTC
immer noch falsch angezeigt.

Benutzeravatar
udo1toni
Beiträge: 15622
Registriert: 11. Apr 2018 18:05
Answers: 253
Wohnort: Darmstadt

Re: Java Urzeit geht fasch. Oder ?

Beitrag von udo1toni »

Nein.
UTC ist die Zeit von Greenwich bzw. London. Das ist eine andere Zeitzone.
Wir haben momentan Winter, also gilt die Mitteleuropäische Zeit MEZ bzw. CET (Central European Time), die weicht um eine Stunde von UTC ab (+0100)
Ab Ende März gilt dann MESZ bzw. CEST (+0200)
openHAB5.1.2 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime - LXC, 4 Kerne, 3 GByte RAM)
Hostsystem Proxmox VE 9.1.5 - AMD Ryzen 5 3600 6 Kerne, 12 Threads - 64 GByte RAM - ZFS Pools: Raid Z1, 3 x 20 TB HDD -> 40 TByte und Raid Z0-Mirrored 4 x 1 TByte NVMe -> 2 TByte

Antworten