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.
Laufende Wochenzahl errechnen
- udo1toni
- Beiträge: 15264
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Laufende Wochenzahl errechnen
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet
- klab777
- Beiträge: 8
- Registriert: 23. Okt 2019 18:01
Re: Laufende Wochenzahl errechnen
Hallo,
leider habe ich die rule bereits gelöscht. Aber das Problem ergibt sich auch mit einer dsl wie
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!
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 ()
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
-habpanel
-MAX! Heizungssteuerung
-open weather map
-DWD-Wetter- und Healthdienste
-Heizungszeitenplaner
- udo1toni
- Beiträge: 15264
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Laufende Wochenzahl errechnen
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
- peter-pan
- Beiträge: 2767
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: Laufende Wochenzahl errechnen
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
- klab777
- Beiträge: 8
- Registriert: 23. Okt 2019 18:01
Re: Laufende Wochenzahl errechnen
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.
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
-habpanel
-MAX! Heizungssteuerung
-open weather map
-DWD-Wetter- und Healthdienste
-Heizungszeitenplaner
- peter-pan
- Beiträge: 2767
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: Laufende Wochenzahl errechnen
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