oprnhab 5.0.x -> ScriptExecution.createTimer Fehler

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Taifun2300
Beiträge: 22
Registriert: 27. Dez 2022 09:19
Answers: 0

oprnhab 5.0.x -> ScriptExecution.createTimer Fehler

Beitrag von Taifun2300 »

Hallo,

erstmal ein Disclaimer … ;) ich habe nichts zu dem Thema gefunden im I-Net. Deshalb ein neues Thema....

Nach der Umstellung von 4.3.5 auf 5.0.2 funktionieren meine Scripttimer nicht mehr. Sie werden sheduled aber bei der Ausführung bekomme ich einen Fehler ..

z.B.

Code: Alles auswählen

let myTimer =
    ScriptExecution.createTimer(ZonedDateTime.now().plusMinutes(5),
    function() {
        NotificationAction.sendBroadcastNotification("Stromversorgung Balkon eingeschaltet" );
        logger.info("Stromversorgung Balkon eingeschaltet" ); 
        if (items.getItem("Victron_MPPT_75_15d_Load_output_voltage").numericState < 20) {
            NotificationAction.sendBroadcastNotification("ACHTUNG: Balkon hat keinen Inputstrom" ); 
            logger.warn("ACHTUNG: Balkon hat keinen Inputstrom" ); 
        }	    
    });


Ist im Log nach 5 Minuten folgender Eintrag:

Code: Alles auswählen

          java.lang.IllegalStateException: The Context is already closed.
Anscheinend bin zu doof es zu finden.
u.U. kann mir jemand die Augen öffnen :D

Vielen Dank im Voraus .. für jede Hilfe
LG
Christoph
openHAB 4.3.5 im Docker auf Debian 12, Anbindung an MQTT, Hue, FHEM, Fritzbox, Buderus KM200, Worx, Bilnk, Alexa

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

Re: oprnhab 5.0.x -> ScriptExecution.createTimer Fehler

Beitrag von udo1toni »

Ich schätze mal, Du musst NotificationAction innerhalb des Timers definieren.
openHAB5.0.1 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime) (Proxmox 9.0.11, LXC)

Taifun2300
Beiträge: 22
Registriert: 27. Dez 2022 09:19
Answers: 0

Re: oprnhab 5.0.x -> ScriptExecution.createTimer Fehler

Beitrag von Taifun2300 »

Vielen lieben Dank für die schnelle Hilfe Udo „The Openhab Brain“ …

Aber das ist es nicht. Denn auch bei diesem Aufruf wirft Java die Exception
let myTimerPVB =
ScriptExecution.createTimer(ZonedDateTime.now().plusMinutes(1), function() {});
openHAB 4.3.5 im Docker auf Debian 12, Anbindung an MQTT, Hue, FHEM, Fritzbox, Buderus KM200, Worx, Bilnk, Alexa

Harka
Beiträge: 547
Registriert: 30. Apr 2021 13:13
Answers: 19

Re: oprnhab 5.0.x -> ScriptExecution.createTimer Fehler

Beitrag von Harka »

Moin,
ich fremdle mit Deinem Code. Ist das noch Nashorn?
Mit dem aktuellem GraalJS -> https://www.openhab.org/addons/automation/jsscripting/ funktioniert dieser Ansatz:

Code: Alles auswählen

var myTimer = actions.ScriptExecution.createTimer(time.ZonedDateTime.now().plusSeconds(5), function() { 
  console.info('Timertest');
  actions.notificationBuilder('Timertest').send();
});

Taifun2300
Beiträge: 22
Registriert: 27. Dez 2022 09:19
Answers: 0

Re: oprnhab 5.0.x -> ScriptExecution.createTimer Fehler

Beitrag von Taifun2300 »

Hi,

also es ist GraalJS, und auch dein Code wirft bei mir ebenfalls die Exception .. ich bin wieder, Docker sei dank, zurück auf 4.3.5 …
openHAB 4.3.5 im Docker auf Debian 12, Anbindung an MQTT, Hue, FHEM, Fritzbox, Buderus KM200, Worx, Bilnk, Alexa

Antworten