Schaltbare Rule

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
madmike
Beiträge: 284
Registriert: 15. Apr 2018 17:09
Answers: 0

Schaltbare Rule

Beitrag 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

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

Re: Schaltbare Rule

Beitrag 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 :)
openHAB5.0.1 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime) (Proxmox 9.0.11, LXC)

Benutzeravatar
PeterA
Beiträge: 1107
Registriert: 8. Feb 2019 12:12
Answers: 13

Re: Schaltbare Rule

Beitrag 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
    }
- OpenHab
#PWRUP

madmike
Beiträge: 284
Registriert: 15. Apr 2018 17:09
Answers: 0

Re: Schaltbare Rule

Beitrag 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

Antworten