Laufende Wochenzahl errechnen

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

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

Re: Laufende Wochenzahl errechnen

Beitrag von udo1toni »

klab777 hat geschrieben: 22. Jan 2022 06:23 Hallo,
Ich taste mich gerade an die DSL.Rule von openHab 3.2 heran und versuche erstmal meine 2.5. rules umzuschreiben. Eine import-Anweisung wird dort leider nicht erkannt.
Wie kommst Du zu dieser Aussage? imports funktionieren weiterhin. Natürlich muss die entsprechende Library überhaupt zur Verfügung stehen. z.B. import Joda.time funktioniert natürlich nicht.
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

Benutzeravatar
klab777
Beiträge: 8
Registriert: 23. Okt 2019 18:01
Answers: 0

Re: Laufende Wochenzahl errechnen

Beitrag von klab777 »

Hallo,
leider habe ich die rule bereits gelöscht. Aber das Problem ergibt sich auch mit einer dsl wie

Code: Alles auswählen

import java.util.List
import java.util.ArrayList
import java.util.HashMap
var List <HashMap <String, String>> irgendwas = new ArrayList ()
Ich erhalte die gleichen Fehler in der log, nachdem ich 'run script' geklickt habe:

2022-01-23 08:53:41.091 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID '822ed374f0' failed: ___ import ___ java.util.List
import java.util.Array ___ List
import java.util.HashMap

var List <HashMap <String, String>> irgendwas = new ArrayList ()
1. List cannot be resolved to a type.; line 5, column 79, length 4
2. The method or field import is undefined; line 1, column 0, length 6
3. The method or field import is undefined; line 2, column 22, length 6
4. The method or field import is undefined; line 3, column 49, length 6
5. ArrayList cannot be resolved.; line 5, column 126, length 9
6. HashMap cannot be resolved to a type.; line 5, column 85, length 7
7. This expression is not allowed in this context, since it doesn't cause any side effects.; line 1, column 7, length 14
8. This expression is not allowed in this context, since it doesn't cause any side effects.; line 2, column 29, length 19
9. This expression is not allowed in this context, since it doesn't cause any side effects.; line 3, column 56, length 17

Das funktioniert in openHab 2.5 und 3.2 (auch erste Versuche!) rules-Datei. Gleiche Meldung erhielt ich bei meinen Versuchen wegen der Kalenderwoche mit LocalDate und ein import von WeekFields usf.. 'import' war undefined und ohne gab es auch Fehler. Eine Lösung würde mich freuen!
-Raspberry pi3 mit openhab2
-habpanel
-MAX! Heizungssteuerung
-open weather map
-DWD-Wetter- und Healthdienste
-Heizungszeitenplaner

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

Re: Laufende Wochenzahl errechnen

Beitrag von udo1toni »

Dann hast du irgendwas anderes in Deinem System verdaddelt, hier funktionieren die imports jedenfalls.
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

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

Re: Laufende Wochenzahl errechnen

Beitrag von peter-pan »

klab777 hat geschrieben: 23. Jan 2022 09:33 Das funktioniert in openHab 2.5 und 3.2 (auch erste Versuche!) rules-Datei
Irgendwie ist mir nicht ganz klar was du meinst. Was funktioniert und was funktioniert nicht ?
Es ist wie Udo es auch schreibt, die vorgenannten Regeln funktionieren, auch mit Import. Auch mit deinen Importen (nur die importe zu Testzwecken in die x.rules Datei mit aufgenommen).

Auch der direkte Aufruf in der MainUI mit "Run Now (Ctrl-R)", klappt ohne Probleme. Könnte es sein, das der File-Typ (Linux UTF-8) nicht in Ordnung ist oder evtl. die Berechtigungen nicht stimmen ?
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

Benutzeravatar
klab777
Beiträge: 8
Registriert: 23. Okt 2019 18:01
Answers: 0

Re: Laufende Wochenzahl errechnen

Beitrag von klab777 »

Eure Antworten sind schon mal beruhigend. Da das Thema nicht in die Kalenderwochen passte, habe ich mich vielleicht zu kurz ausgedrückt.

Ich habe zum Drangewöhnen eine Openhab 3.2 snap Installation. Zu den Verzeichnissen für /items, /rules etc. habe ich Zugriff über vscode. In den den damit editierten .rules funktioniert die import-Anweisung (und damit die Kalenderwoche über import java.time.temporal.IsoFields). Dann habe ich die Möglichkeit mir das auch im Browser in der 'MainUi' anzusehen, aber dort sehe ich nur einzelne rules unter deren Titeln aus der rules-Datei. Da fehlen also schon die import-Anweisungen und -ich glaube das heißt- Lamdafunktionen. Auf der anderen Seite laufen diese einzelnen rules auch über den Browser in der MainUI (run script), auch wenn ich dort nicht die ganze Datei sehen kann.

Gebe ich aber die gleiche Zeile "import java.time.temporal.IsoFields" usf. in der MainUI unter der Rubrik "Rules" in eine rule ein, erhalte ich die o.g. Meldung. Ich schließe daraus, dass im Browser unter der Rubrik "Rules" der MainUi in openhab 3.2 der Kopf der Datei nicht eingegeben werden kann, sondern nur die einzelne rule und es so zur Fehlermeldung kommt!?? Ja, mir schwirrte der Kopf bei meinen Versuchen, herauszufinden, was funktioniert und wie das geht.

Ich habe also Zugriff, ebenso wie openhab. Zu sehen sind auch keine ungewöhnlichen Zeichen. Die Meldung der log bleibt aber. Verdaddeln konnte ich noch gar nicht sooo viel. Mehr als Installation und Kalenderwoche habe ich noch nicht versucht.
-Raspberry pi3 mit openhab2
-habpanel
-MAX! Heizungssteuerung
-open weather map
-DWD-Wetter- und Healthdienste
-Heizungszeitenplaner

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

Re: Laufende Wochenzahl errechnen

Beitrag von peter-pan »

Globale Variablen und Importe, die vor der eigentlichen Rule definiert werden müssen, können nur per DSL-Rules in Textform angelegt werden. Diese sind in der MainUI nicht zu sehen.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

Antworten