Hallo, ich versuche gerade einen Dezimalwert als Auslöser zu generieren. Leider funktioniert es nicht so ganz.
Ich nutze einen Shelly Plug.
Dieser soll wenn der Leisungsverbrauch des angeschlossenen Gerätes über 10W steigt. nach 30Min den Plug abschalten.
Ich kann leider kein JS, aber könnte es sein, dass es sich bei dem Item um eines mit (UoM) handelt, welches die Einheit ("W") mitführt ? Wenn das der Fall ist, müsste diese evtl. im Vergleich eliminiert oder mit angegeben werden.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian
Der erste Fehler ist offensichtlich. "10" ist ein String. Du kannst einen String nicht mit größer oder kleiner vergleichen, nur auf Gleichheit oder Ungleichheit.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
peter-pan hat geschrieben: ↑5. Nov 2022 12:30
Ich kann leider kein JS, aber könnte es sein, dass es sich bei dem Item um eines mit (UoM) handelt, welches die Einheit ("W") mitführt ? Wenn das der Fall ist, müsste diese evtl. im Vergleich eliminiert oder mit angegeben werden.
Die Einheit habe ich über die State description entfernt, ebenso die Nachkomma-stellen.
Muss kein Java sein, wenn du eine Idee für das DSL-Script hast, hilft das auch weiter.
Harka hat geschrieben: ↑5. Nov 2022 12:50
ja, versuch es mal mit
if (parseFloat(itemRegistry.getItem('shellPlug_Leistung').getState()) > 10) {
delay(30000);
events.sendCommand("shellPlug_Betrieb", "OFF");
}
also parsen, die Klammern um die 10 entfernen und die schließende Klammer vom If fehlt auch
Leider will das auch nicht laufen.
Hat vielleicht wer nen andreren Ansatz für die Geschichte?
Funkt vielleicht die schwankende Leistungsaufnahme und somit das ständige restarten des scripts dazwischen?
2022-11-07 20:05:01.752 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID 'test_ecma' failed: ReferenceError: "delay" is not defined in <eval> at line number 61
Woher hast du diesen Befehl und was soll er genau machen (ich kann mir's zwar denken, aber ich habe unter JS keine solche Funktion/Methode gefunden)
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian