Seite 1 von 1

Schaltbare Rule

Verfasst: 9. Nov 2025 10:34
von madmike
Hallo zusammen,

ich möchte gerne eine Rule mit einem Schalter auf der UI sichtbar ein und ausschalten können.
Hat jemand eine Idee wie ich dies textbasierend erstelle ??

Ich nutze Openhab 4.3.5 auf einem Raspi.

Vielen lieben Dank für Eure Ideen und Vorschläge im Voraus

mfg
madmike

Re: Schaltbare Rule

Verfasst: 9. Nov 2025 14:30
von udo1toni
Grundsätzlich gibt es den betreffenden "Schalter" schon in der UI, und zwar wenn Du in die Rules gehst und dort den Pausenknopf drückst.
Ich gehe davon aus, dass Du diesen Schalter in der "Endanwender UI" nutzbar haben möchtest.
Dazu müsstest Du den entsprechenden API-Befehl über ein Item steuerbar machen.
Beispiel:

Code: Alles auswählen

rule "switch enabled state of rule 1"
when
    Item ruleMyRule_1 changed
then
    val strURL = "https://192.168.178.15:8443/rest/rules/rules-1/enable"
    val strVal = if(newState == ON) "true" else "false"
    val mapHeaders = newHashMap("Authorization" -> "Bearer <authorization key>")
    sendHttpPostRequest(strURL, "text/plain", strVal,mapHeaders,3000)
end
Das Item ruleMyRule_1 ist ein Switch Item, welches den Enabled-Schalter darstellt.
Die URL führt zur REST API von openHAB. Welche URL das exakt ist, kannst Du über den API Explorer ermitteln (MainUI->Adminstration->Entwickler Tools->API Explorer->rules->POST /rules/{ruleUID}/enable)
Einzutragen ist die UID der Rule, welche sich bei textbasierten Rules aus dem Dateinamen und der Position innerhalb der Datei ergibt, die kannst Du auch vorher über die MainUI unter Rules nachschauen. Damit Du die API ausprobieren kannst, musst Du den Knopf Try it out aktivieren :)
Der Authorization Bearer ist notwendig, wenn Du unter MainUI->Administration->Einstellungen->System Settings->API-Sicherheit->Show Advanced
Basic Authentication Erlauben abgeschaltet hast. Das ist auf jeden Fall zu empfehlen, hat halt den Nachteil, dass openHAB verlangt, dass Du Dich authentifizierst.
Den Bearer selbst erhältst Du z.B. über den API Explorer oder indem Du selbst einen Token generierst (MainUI->User->API-Token->Erstelle ein neues API Token).

Die Rule habe ich bei mir getestet :)

Re: Schaltbare Rule

Verfasst: 9. Nov 2025 18:47
von PeterA
ooooder man baut einen Schalter ein der die Rule abbricht:

Code: Alles auswählen

then
    // Prüfen, ob der Schalter nicht ON also OFF ist
    if (Mein_Rule_Schalter.state != ON) {
        logInfo("Mein Schalter ist OFF", "Regel wird abgebochen.")
        return;  // Wenn ausgeschaltet, dann Regel abbrechen und nichts machen
    }

Re: Schaltbare Rule

Verfasst: 9. Nov 2025 19:32
von madmike
Hallo zusammen,
beide Ideen finde ich super vielen Dank für die schnelle Antwort.
Werde beide ausprobieren und mich dann melden

Einen lieben Gruß aus dem Pott
madmike