Seite 6 von 14
Re: [solved] Ein Newbie benötigt Hife bei einer Rule
Verfasst: 20. Dez 2023 17:00
von PJH
Hallo udo1toni,
danke für die Anleitung, die an sich funktioniert, nur mit der zusätzlichen Zeile (Date1stAdvent ....) bekomme ich eine Fehlermeldung.
2023-12-20 16:55:33.439 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID 'Advent-3' failed: An error occurred during the script execution: Could not invoke constructor: org.openhab.core.library.types.DateTimeType.DateTimeType(java.lang.String) in Advent
Und, die Tagesauswert des 1. Advents ist in der englischen Notation 2023-12-03. Würdest Du mir bitte noch zeigen, wie ich die in die deutsche Anzeige bekomme?
Ansonsten ganz vielen Dank und einen schönen Gruß. PJH
Re: [solved] Ein Newbie benötigt Hife bei einer Rule
Verfasst: 20. Dez 2023 18:27
von udo1toni
Die deutsche Anzeige bekommst Du, wenn das System auf deutsch eingestellt ist.
Wegen des Fehlers muss ich mal bei mir probieren, ich lasse mir solche Daten halt nie in der UI anzeigen...

Re: [solved] Ein Newbie benötigt Hife bei einer Rule
Verfasst: 20. Dez 2023 22:46
von PJH
Hallo, das System steht auf deutsch (Bild anbei) und die Fehlermeldung habe ich im Log (Frontail), nicht im UI.
Danke für Deine Bemühungen und einen schönen Gruß. PJH
Bildschirmfoto 2023-12-20 um 22.43.12.png
Re: [solved] Ein Newbie benötigt Hife bei einer Rule
Verfasst: 21. Dez 2023 01:59
von udo1toni
Die Anzeige ist die von openHAB, nicht notwendigerweise die vom darunter laufenden System
Dass die Fehlermeldung aus dem Log stammt ist schon klar. Mein Kommentar bezüglich der Darstellung in der UI bezieht sich darauf, dass die Darstellung im Log ja funktioniert und nur die Übernahme ins Item nicht klappt (was bei mir nicht auftritt, da ich kein solches Item habe...)
Re: [solved] Ein Newbie benötigt Hife bei einer Rule
Verfasst: 21. Dez 2023 13:31
von PJH
Bildschirmfoto 2023-12-21 um 13.29.28.png
Die Datumsausgabe auf der Kommandozeile sieht so aus:
Re: [solved] Ein Newbie benötigt Hife bei einer Rule
Verfasst: 21. Dez 2023 14:40
von udo1toni
Was gibt locale aus? (einfach die Textausgabe kopieren

)
Code: Alles auswählen
openhabian@openhab:~$ locale
LANG=de_DE.UTF-8
LANGUAGE=de_DE.UTF-8
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_ALL=de_DE.UTF-8
openhabian@openhab:~$ date
Do 21. Dez 14:40:19 CET 2023
openhabian@openhab:~$
Re: [solved] Ein Newbie benötigt Hife bei einer Rule
Verfasst: 21. Dez 2023 15:43
von PJH
Seltsamerweise (zumindest für mich) erkennt open HAB auf der Kommandozeile das Kommando locale nicht.
Hier ein Auszug aus den Einstellungen.
Bildschirmfoto 2023-12-21 um 15.39.46.png
Re: [solved] Ein Newbie benötigt Hife bei einer Rule
Verfasst: 21. Dez 2023 16:56
von udo1toni
Ah, wir reden von einem Docker Container...
Setze zusätzlich noch LC_TIME auf de_DE.UTF-8
Re: [solved] Ein Newbie benötigt Hife bei einer Rule
Verfasst: 21. Dez 2023 17:39
von PJH
Gesagt, getan, aber es ändert sich nix.
Man kann doch aber auch die Ausgabewerte (falls ich das richtig im Kopf habe) auch einzeln erfassen und dann umdrehen?
Danke und schöne Grüße. PJH
Re: [solved] Ein Newbie benötigt Hife bei einer Rule
Verfasst: 21. Dez 2023 18:05
von peter-pan
Ich habe mit der Berechnung von Udo auch getestet. Bei mir funktioniert sie auch, allerdings musste ich eine kleine Ergänzung vornehmen, indem ich die Variable/Konstante initialisiert habe (val intStAdvent).
Das sieht dann so aus:
Code: Alles auswählen
// 1 Advent Berechnung von udo1toni
val firstAdvent = LocalDate.of(now.getYear,12,25).minusDays(LocalDate.of(now.getYear,12,25).getDayOfWeek.getValue + 21)
val intStAdvent = firstAdvent.getDayOfYear
logInfo("holiday","Der erste Advent ist am {}, der {} Tag im Jahr", firstAdvent, intStAdvent)
Meine eigene Version ist ähnlich:
Code: Alles auswählen
var vFirstAdventDate = LocalDate.of(now.year,12,24).withDayOfYear(vXMasDayNumber - vWeekDayXMAS - 21) // 1. Advent
var vFirstAdventDay = vFirstAdventDate.getDayOfYear // Tag-Nr. 1. Advent
logInfo("advent1", "1.Advent ist am {}, der {} Tag des Jahres", vFirstAdventDate, vFirstAdventDay)
Die Ausgabe im Log lautet:
Code: Alles auswählen
2023-12-21 17:58:43.197 [INFO ] [rg.openhab.core.model.script.holiday] - Der erste Advent ist am 2023-12-03, der 337 Tag im Jahr
Ich denke aber, dass die Ausgabe in der Sitemap durch die Formatierung wieder angepasst werden kann, so wie die anderen Werte die dort bereits in "deutscher Notation" aufgeführt sind.