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.