Kombination von DSL und Javascript Scripts in Blockly
Verfasst: 17. Mär 2025 12:08
Hallo an die Runde,
ich bin vor einiger Zeit auf OH 4 umgestiegen, aktuell nutze ich die aktuellste stable Version 4.3.3
Ich erstelle Rules soweit wie möglich mit Blockly. In 3 Fällen musste ich jedoch gecodete DSL Scripts bzw. Javascript Scripts in meine Blockly Rules integrieren, da mit Blockly meines Wissens nach nicht umsetzbar. Aus den Blockly Rules rufe ich entweder die Scripts auf oder verwende Inline Script Blöcke.
Folgendes DSL Scriptrufe ich aus einer Blockly Rule auf:
Ein Javascript Script zum Aktivieren/Deaktivieren eines Things:
Und ein Blockly Inline Script fürs Senden von Nachrichten an Enigma2 Receiver:
Seit Umstieg auf OH4.0 beobachte ich das merkwürdige Verhalten, dass die "reinen" Blockly Rules problemlos laufen, jedoch die kombinierten Blockly Rules mal laufen, mal nicht laufen. Für mich wie gesagt sehr merkwürdig... wenn die oben angeführten Scripts falsch gecodet wären, würden sie ja nie laufen und nicht einmal schon, einmal nicht.
Ist es möglich, dass irgendwelche Automation Add-ons installiert werden sollten für einen reibungslosen Betrieb (z.B. JRule, Java223 Scripting)? Aktuell habe ich nur JavaScript Scripting installiert. Oder gibt es vielleicht ein bekanntes generelles Problem in OH4 mit der kombinierten Anwendung verschiedener Rule Sprachen?
Grüße
neuling10
ich bin vor einiger Zeit auf OH 4 umgestiegen, aktuell nutze ich die aktuellste stable Version 4.3.3
Ich erstelle Rules soweit wie möglich mit Blockly. In 3 Fällen musste ich jedoch gecodete DSL Scripts bzw. Javascript Scripts in meine Blockly Rules integrieren, da mit Blockly meines Wissens nach nicht umsetzbar. Aus den Blockly Rules rufe ich entweder die Scripts auf oder verwende Inline Script Blöcke.
Folgendes DSL Scriptrufe ich aus einer Blockly Rule auf:
Code: Alles auswählen
(createTimer(now.plusSeconds(11)) [|
executeCommandLine("wget", "http://192.168.30.100:8080/ipcamera/xxxxxx/ipcamera.jpg", "-O", "/tmp/" + "Haustuer.jpg")
val actions = getActions("pushover", "pushover:pushover-account:xxxxxxxx")
actions.sendAttachmentMessage("Klingel Wohnungstür", "openHAB", "/tmp/Haustuer.jpg", "", Duration.ofHours(720))
])
Code: Alles auswählen
var thingMgr = osgi.getService('org.openhab.core.thing.ThingManager');
var ThingUID = Java.type('org.openhab.core.thing.ThingUID');
thingMgr.setEnabled(new ThingUID('ipcamera:generic:xxxxxxxx'), true)
Code: Alles auswählen
var actions = actions.get("enigma2","enigma2:device:xxxxxxxx");
actions.sendInfo("Das ist ein Test",30)
Ist es möglich, dass irgendwelche Automation Add-ons installiert werden sollten für einen reibungslosen Betrieb (z.B. JRule, Java223 Scripting)? Aktuell habe ich nur JavaScript Scripting installiert. Oder gibt es vielleicht ein bekanntes generelles Problem in OH4 mit der kombinierten Anwendung verschiedener Rule Sprachen?
Grüße
neuling10