Seite 1 von 1

Update OH 4

Verfasst: 28. Jul 2023 13:18
von AndyRPi
Hallo Zusammen,
ich habe nun folgendes getan. Ich habe auf OH 4 Upgedatet und mein Backup von gestern eingespielt.
Nahezu alle Thinks gehen wieder ich bekomme jedoch keine Regel ausgeführt. Ich erhaltet folgende fehlermeldungen:
2023-07-28 13:14:49.860 [ERROR] [ipt.internal.ScriptEngineManagerImpl] - ScriptEngine for language 'application/javascript' could not be found for identifier: 94ce50c9-7a90-4823-956a-cae33aa99249

2023-07-28 13:14:50.065 [ERROR] [ipt.internal.ScriptEngineManagerImpl] - ScriptEngine for language 'application/javascript' could not be found for identifier: 94ce50c9-7a90-4823-956a-cae33aa99249

2023-07-28 13:14:50.229 [WARN ] [.influxdb.InfluxDBPersistenceService] - Re-queuing 1023 elements, failed to write batch.

2023-07-28 13:14:50.237 [ERROR] [ipt.internal.ScriptEngineManagerImpl] - ScriptEngine for language 'application/javascript' could not be found for identifier: 94ce50c9-7a90-4823-956a-cae33aa99249

2023-07-28 13:14:50.403 [ERROR] [ipt.internal.ScriptEngineManagerImpl] - ScriptEngine for language 'application/javascript' could not be found for identifier: 94ce50c9-7a90-4823-956a-cae33aa99249

2023-07-28 13:14:50.566 [ERROR] [ipt.internal.ScriptEngineManagerImpl] - ScriptEngine for language 'application/javascript' could not be found for identifier: 94ce50c9-7a90-4823-956a-cae33aa99249



Ich habe das ganze auf eine zweiten Rpi nochmals aufgesetzt und einfach mein gestern noch funktionierdens Backup eingespielt-

Re: Update OH 4

Verfasst: 28. Jul 2023 13:49
von AndyRPi
Ergänzung: Ich nutze Blockly für meine Scripte muss hier noich was nachinstalliert werden?

Re: Update OH 4

Verfasst: 28. Jul 2023 17:27
von udo1toni
Du musst zum einen JavaScript Scripting installieren (falls noch nicht geschehen) und zum anderen vermutlich die in den alten Rules vorhandenen Links auf Nashorn so abändern, dass nun GraalVM verwendet wird.
Alternativ kannst Du auch (für s erste) zusätzlich JavaScript Scripting Nashorn zusätzlich installieren, allerdings wirklich nur übergangsweise, bis Du alle Rules angepasst hast.

Re: Update OH 4

Verfasst: 28. Jul 2023 18:11
von rbeudel
Ich habe gelesen alle Blockly rules einmal mit dem blockly editor öffnen und neu zu speichern, hat bei mir funktioniert.

Re: Update OH 4

Verfasst: 28. Jul 2023 18:47
von udo1toni
Ja, stimmt, der Editor sollte das auch gerade richten.

Re: Update OH 4

Verfasst: 3. Aug 2023 09:03
von ThomyTP
udo1toni hat geschrieben: 28. Jul 2023 17:27 Du musst zum einen JavaScript Scripting installieren (falls noch nicht geschehen) und zum anderen vermutlich die in den alten Rules vorhandenen Links auf Nashorn so abändern, dass nun GraalVM verwendet wird.
Alternativ kannst Du auch (für s erste) zusätzlich JavaScript Scripting Nashorn zusätzlich installieren, allerdings wirklich nur übergangsweise, bis Du alle Rules angepasst hast.

Hallo Udo,
ich habe das gleiche Problem, Javascript Scripting ist installiert. Kannst Du mir einen Tip geben wie Rules mit Nashorn aussehen und auf GraalVM aussehen sollten? Ich bin da leider nicht so tief im Thema.
Ich nutze eigentlich nur die RuleDSL und Blockly..

Dank Dir..

Gruß

Re: Update OH 4

Verfasst: 3. Aug 2023 11:02
von udo1toni
Blockly nutzt unter openHAB4 die GraalVM (oder heißt es hier GraalJS? egal...), wichtig ist also, dass Du dieses JavaScript Scripting Addon installiert hast - die andere Variante ist ja sehr wohl noch vorhanden).
Anschließend sollte es dann reichen, die Rules jeweils einmal zu öffnen und neu zu speichern. openHAB sollte sich automatisch um die Aktualisierung des Codes kümmern (solange Du keine manuellen Veränderungen im Code vorgenommen hast.)

Wichtigster Unterschied, den man evtl. nachträglich händisch korrigieren muss: Nashorn hat bequemerweise Status gerne auch direkt als Zahl behandelt. Das ist in GraalVM nicht mehr so. Ein Status ist immer ein String. Willst Du auf den Status eines Number Items als Zahl zugreifen, gibt es nun die neue Eigenschaft numericState. Das kommt vor allem zum Tragen, wenn Du verschiedene Itemstatus miteinander vergleichst und dabei größer oder kleiner verwendest.
Ansonsten wurde der Zugriff auf Items vereinfacht, aber das sollte openHAB selbst gerade ziehen.

Ich habe mit Blockly aber nicht viel am Hut, ich habe Anfang der 80er mit Basic auf einem Commodore VC20 angefangen zu programmieren.
Ich habe auch in LuckyLogic (wer kennt noch FischerTechnik Computing?) programmiert :) da konnte man nur grafisch arbeiten, hat mich jedes Mal genervt...
Und ich habe mich auch mal mit SPS Programmierung beschäftigt (für ein Automationsprojekt ungefähr 1994 - das System läuft meines Wissens heute noch), die Programmieroberfläche lief unter DOS, war aber ebenfalls "grafisch", allerdings musste man die einzelnen Module über Text eingeben... Alle Nachteile beider Welten friedlich miteinander vereint...