2023-01-16 11:26:03.101 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID 'steckdose' failed: ReferenceError: "sendHttpGetRequest" is not defined in <eval> at line number 5
Oder kann ich das irgendwie als "Schalter" anlegen? Mein Problem war: ich kann das ja als HTTP Binding anlegen, aber dann ruft er die Adresse ja in regelmäßigen Abständen auf, ich möchte das ja nur bei Anforderung...
2023-01-16 11:45:24.354 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID 'steckdose' failed: ReferenceError: "sendHttpGetRequest" is not defined in <eval> at line number 5
Ja, das HTTP Binding ist installiert.
Text-Rule wäre dann in der Oberfläche "Rule DSL"? Ich schreibe es auch gern einfach in eine Text-Datei. Aber dann muss ich jetzt die Syntax anpassen, oder? Das ist ja dann nicht mehr Java?
Im Wesentlichen will ich ja nur diese Abfrage hier machen:
Ich probiere es einmal aus dem Gedächtnis, die Rule wird jede Minute um 5 nach gestartet. Bitte when Bedingung und Rest an Deine Wünsche anpassen. Im Logfile siehst Du auch schön was passiert (oder welche Fehlermeldung kommt)
val grenzwert = 0
rule "RuleNameLasDirEinenEinfallen"
when
Time cron "5 * * * * ?"
then
val fName="NameFuersLoggingAmBestenWieDerRuleName"
logInfo(fName,"-started")
if(Reststrom.getState() > grenzwert)
{
logInfo(fName," RestStrom {} > grenzwert {}",RestStrom,grenzwert)
var result =sendHttpGetRequest("http://192.168.178.45/PW/sw/0/off", 1000)
logInfo(fName," result: {}",result)
}
logInfo(fName,"-ended")
end
Zur Ergänzung: sendHttpGetRequest ist eine Funktion im Core, das heißt, das http Binding ist dazu nicht notwendig!
Das Problem wird hier sein (deshalb half der Umstieg auf die DSL), dass man die Funktion in JavaScript erst bekannt machen muss.
Da ich mich aber nicht mit JavaScript beschäftige, kann ich außer dieser Vermutung keinen weiteren Tipp geben, wie das genau funktioniert.
Fakt ist aber: es wird mit JavaScript genauso funktionieren, wenn Du raus findest, wie es korrekt aufgerufen wird.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet