Rules lösen nicht aus

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

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

Re: Rules lösen nicht aus

Beitrag von udo1toni »

Gut, dann müssen wir noch einen Schritt zurück tun.

Welches Host System verwendest Du? (Hardware, Software)

Wie hast Du den openHAB Container eingerichtet, wenn nicht per docker-compose?
Docker-compose ist ein Programm, welches eine Datei docker-compose.yaml auswertet und anhand der Anweisungen einen (oder auch mehrere) Docker Container erstellt und startet. In der docker-compose.yaml wird also festgelegt, was wie ausgeführt werden soll, inclusive aller Umgebungsvariablen, die vielleicht wichtig sind. Insbesondere werden persistence Spoeicherorte pro Container festgelegt, in denen die Software des Containers ihre Konfiguration und volatile Daten speichern kann (also die Einstellungen und was halt während der Arbeit so anfällt).

Man kann auch mit docker --run <ein großer Haufen Parameter in länglicher Form als Bandwurm Befehlszeile niedergeschrieben> einen Container erzeugen, auch dort könnte und müsste man die Zeitzone für Java explizit setzen. Und natürlich kann man auch eine Datei an docker übergeben, in der dann die Befehle ebenfalls gelistet sind. Üblich ist aber docker-compose.

In Docker selbst ist nichts eingebaut oder mitgeliefert, Docker ist nur eine Umgebung, die verschiedene Techniken zur virtuellen Trennung von Anwendungen bereitstellt. Selbst hello world wird per docker --run oder docker-compose aufgerufen.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Murdock79
Beiträge: 46
Registriert: 26. Nov 2021 15:26
Answers: 0
Wohnort: Braunschweig

Re: Rules lösen nicht aus

Beitrag von Murdock79 »

Also ich habe die userdata Logs überprüft. Auch in den Logs ist die richtige Zeit, aber geloggt wird die Rule eben nicht.

------------------------------------------------------------------------------------------------
"O Jahrhundert, o Wissenschaften!
Es ist eine Lust zu leben, wenn auch nicht in der Stille.
Die Studien blühen, die Geister regen sich.
Barbarei nimm dir einen Strick und mache dich auf Verbannung gefasst."
(Ulrich von Hutten/1515)

Murdock79
Beiträge: 46
Registriert: 26. Nov 2021 15:26
Answers: 0
Wohnort: Braunschweig

Re: Rules lösen nicht aus

Beitrag von Murdock79 »

Liebe udo1toni und natürlich alle anderen,

mein System basiert auf ein ASROCK q1900m auf dem XPenology installiert ist mit der DSM 7.1
Auf diesem läuft der Docker.
Ein Dockerimage OPENHAB 3.3.0
Installiert habe ich über Docker (vermutlich dann die automatische Installation des docker-compose).
Im Wesentlichen habe ich mich nach dem Video https://andis-simple-it-stuff.com/categ ... ab/page/2/ orientiert. (Bitte löschen, falls die Angabe des Links nicht erwünscht ist.)
Das Image nur heruntergeladen und gestartet mit den Einstellungen:
Container mit hoher Priorität
Ressourcenbeschränkung aktiviert und CPU Priorität Mittel
Erweiterte Einstellungen:

Code: Alles auswählen

PATH                        /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
CRYPTO_POLICY        limited
GROUP_ID                 9001
KARAF_EXEC              exec
LC_ALL /LANG LANGUAGE        en_US.UTF-8
Weiterhin sind 3 Ordner gemountet addons, conf und userdata, die auf der Synology im Dockerlaufwerk sind und alle rechte hat.

Ja, Explizit EXTRA_JAVA_OPTS "-Duser.timezone=Europe/Berlin" habe ich nicht eingetragen, da ich sonst noch EXTRA_SHELL_OPTS eintragen müsste und ich nicht die Parameter dafür kenne.

Könnte es sein, dass ich tatsächlich nur die docker-compose erstellen muss? Merkwürdig ist jedoch, dass es bisher mit den RULES funktionierte und auf einmal, wie von Geisterhand, geht es nicht mehr. :roll:

------------------------------------------------------------------------------------------------
"O Jahrhundert, o Wissenschaften!
Es ist eine Lust zu leben, wenn auch nicht in der Stille.
Die Studien blühen, die Geister regen sich.
Barbarei nimm dir einen Strick und mache dich auf Verbannung gefasst."
(Ulrich von Hutten/1515)

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

Re: Rules lösen nicht aus

Beitrag von udo1toni »

Also eher ein Exot :) (was nicht negativ gemeint ist und auch nur auf openHAB selbst bezogen ist... Die Konstellation ist sehr ungewöhnlich)

Meine genannten Befehle waren natürlich auf ein debian-basiertes System wie z.B. Ubuntu oder Raspberry Pi OS bezogen.
Die Sprache im Container sollte eigentlich auf de_DE.UTF-8 eingestellt sein, sonst werden z.B. Datumsangaben nicht auf deutsch erscheinen und im Fall von en_US dürfte sogar das Maßsystem automatisch auf imperial stehen, auch wenn man das natürlich händisch anpassen kann.
Die EXTRA_JAVA_OPTS sind nicht optional. Genau an dieser Stelle muss unbedingt auch Europe/Berlin eingetragen werden.
Die Zeit im Log muss nicht zwingend aus Java stammen, das ist das teuflische an all den verschiedenen einstellbaren Zeiten.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Murdock79
Beiträge: 46
Registriert: 26. Nov 2021 15:26
Answers: 0
Wohnort: Braunschweig

Re: Rules lösen nicht aus

Beitrag von Murdock79 »

Also ich habe die Einstellungen gemacht. Dann habe ich das getestet. Es funktionierte.. Aber nur kurzzeitig. Ich die Testregel erweitert bzw. geändert, eine ganz neue erstellt usw.
Und nun funktioniert es wieder nicht. Neustart usw. brachte keine Fehlerbehebung. Im Log habe ich keinen Eintrag, nur der Test, den ich ganz am Anfang machte, der hat aber auch eine falsche Uhrzeit. Eine Stunde früher.
Ich teste nochmal und installiere dann einfach nochmal den Docker Openhab ganz neu.

------------------------------------------------------------------------------------------------
"O Jahrhundert, o Wissenschaften!
Es ist eine Lust zu leben, wenn auch nicht in der Stille.
Die Studien blühen, die Geister regen sich.
Barbarei nimm dir einen Strick und mache dich auf Verbannung gefasst."
(Ulrich von Hutten/1515)

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

Re: Rules lösen nicht aus

Beitrag von udo1toni »

Ja, wie gesagt... die Angaben müssen alle korrekt gesetzt sein, das kann bei Docker schon mal etwas komplizierter werden...
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Murdock79
Beiträge: 46
Registriert: 26. Nov 2021 15:26
Answers: 0
Wohnort: Braunschweig

Re: Rules lösen nicht aus

Beitrag von Murdock79 »

So, ich bin etwas weiter gekommen.
Ich habe festgestellt, dass die Zeit trotz EXTRA_JAVA_OPTS -Duser.timezone=Europe/Berlin zwei Stunden vor geht.
Ich habe im docker auch ein Terminal für openhab gestartet und den Befehl date eingegeben. Und siehe, auch hier ist die Zeit falsch.
Muss also irgendwie diese Zeit verstellen.
Das ist sehr einfach: udo1toni hat oben schon die richtige Lösung gegeben. Du bist wirklich sehr sehr gut.

Folgenden Befehl im Terminal eingeben

Code: Alles auswählen

dpkg-reconfigure tzdata
In meinem Fall ohne sudo.
Alle weiteren Abfragen sind intuitiv.
exit
Und ganz wichtig, Docker Container Neustart nicht vergessen.

Problem gelöst. Zwar triggert es 5 Sekunden zu früh, liegt aber wohl daran, dass Ntp Binding nicht exakt ist. Damit kann ich aber leben.
Vielen Dank

------------------------------------------------------------------------------------------------
"O Jahrhundert, o Wissenschaften!
Es ist eine Lust zu leben, wenn auch nicht in der Stille.
Die Studien blühen, die Geister regen sich.
Barbarei nimm dir einen Strick und mache dich auf Verbannung gefasst."
(Ulrich von Hutten/1515)

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

Re: Rules lösen nicht aus

Beitrag von udo1toni »

Das ntp Binding hat nichts mit der Uhrzeit zu tun :)
Also, schon, aber eben nichts mit der Uhrzeit, die von openHAB für Rules oder das log verwendet wird. Das ntp Binding liefert lediglich die exakte Zeit für Items bzw. andere Bindings. Z.B. kann ich damit die Uhren der Raumtemperaturregler von knx automatisch stellen, und das passiert auch sekundengenau. Das ntp Binding hat zwei verschiedene Refresh Werte, der eine Wert besagt, wie oft ein Update auf den Bus gesendet wird, das andere besagt, wie viele Bus Updates gesendet werden, bevor das ntp Binding die Uhrzeit über das Netzwerk abgleicht. Ich habe bei mir z.B. ein Intervall von 120 Sekunden eingestellt und ein ntp Refresh von 30, also bekommt der Bus alle 2 Minuten ein Zeit Update und einmal pro Stunde wird die Zeit vom ntp Server geholt.
Wenn die Uhrzeit des Logs (bzw. time cron Rules usw.) nicht stimmt, dann stimmt die Rechner Uhr nicht. Prüfe die Zeit mit date im Host Rechner. Wenn die Zeit dort korrekt ist, klemmt etwas mit der Übergabe der Zeit von Docker Host nach Docker Container, das sollte eigentlich automatisch stimmen, da müsste man die Docker Doku zu Rate ziehen.
Stimmt die Uhrzeit schon im Host nicht, musst Du dort eben den ntp Client aktivieren.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten