Seite 1 von 1
Rules Openhab
Verfasst: 3. Dez 2020 11:05
von Philipp00
Hallo zusammen
Ich bins mal wieder.

Habe mich vorgewagt in den Bereich Rules.
Unten habe ich einen Code eingefügt, habe einfach versucht einen Temperaturwert mit einem Schatler zu verbinden.
Leider erhalte ich immer eine Fehlermeldung, siehe Foto, seht ihr den Fehler den ich mache?
Code: Alles auswählen
rule "Alarm"
when
Item BadKleinHBadklein >= 50
then
sendCommand (BuroBBeleuchtungBuero, "on")
end
VSCODE.JPG
Re: Rules Openhab
Verfasst: 3. Dez 2020 11:10
von Pepe1907
Philipp00 hat geschrieben:Hallo zusammen
Ich bins mal wieder.

Habe mich vorgewagt in den Bereich Rules.
Unten habe ich einen Code eingefügt, habe einfach versucht einen Temperaturwert mit einem Schatler zu verbinden.
Leider erhalte ich immer eine Fehlermeldung, siehe Foto, seht ihr den Fehler den ich mache?
Code: Alles auswählen
rule "Alarm"
when
Item BadKleinHBadklein >= 50
then
sendCommand (BuroBBeleuchtungBuero, "on")
end
VSCODE.JPG
Code: Alles auswählen
Rule "alarm"
When
BadKleinHBadklein.state => 50
then
BuroBBeleuchtungBuero.sendCommand(ON)
End
Versuche es mal so
Gesendet von meinem SM-G981B mit Tapatalk
Re: Rules Openhab
Verfasst: 3. Dez 2020 11:22
von Philipp00
Geht auch nicht dann erhalte ich die Fehlermeldung bei "BadKleinHBadklein"
Re: Rules Openhab
Verfasst: 3. Dez 2020 11:23
von Pepe1907
Philipp00 hat geschrieben:Geht auch nicht dann erhalte ich die Fehlermeldung bei "BadKleinHBadklein"
Welche Fehlermeldung erhälst du denn?
Und die Item Datei würde ich gerne mal sehen.
Gesendet von meinem SM-G981B mit Tapatalk
Re: Rules Openhab
Verfasst: 3. Dez 2020 11:25
von PeterA
Also,
Den Fehler kann man im Screenshot nicht erkennen.
openHAB ist ja immer "EVENT" Basierend.
Das bedeutet "when" sich etwas ereignet "then" prüfe was sich ereignet hat und führe dann den Code aus:
Ein Vorschlag aus dem Kopf und nicht getestet:
Code: Alles auswählen
rule "Alarm"
when
Item BadKleinHBadklein changed // hier wird auf das Ereignis getriggert.
then
if (BadKleinHBadklein.state<=50) { // hier wird geprüft ob das Ereignis zutrifft
// und zwischen den geschweiften Klammern wir der Code ausgeführt
BuroBBeleuchtungBuero.sendCommand(ON)
logInfo("Beleuchtung Büro","Eingeschaltet.")
}
end
Re: Rules Openhab
Verfasst: 3. Dez 2020 13:57
von Philipp00
Danke für eure Hilfe, so hat es funktioniert, dann lag es vorallem daran den Event zu erfasen.
Gruss
Code: Alles auswählen
rule "Alarm"
when
Item BadKleinHBadklein changed // hier wird auf das Ereignis getriggert.
then
if (BadKleinHBadklein.state <= 50) { // hier wird geprüft ob das Ereignis zutrifft
// und zwischen den geschweiften Klammern wir der Code ausgeführt
//sendCommand (BuroBBeleuchtungBuero, ON)
BuroBBeleuchtungBuero.sendCommand(ON)
logInfo("Beleuchtung Büro","Eingeschaltet.")
}
else
{
sendCommand (BuroBBeleuchtungBuero, OFF)
logInfo("Beleuchtung Büro","Ausgeschaltet.")
}
end
Re: Rules Openhab
Verfasst: 3. Dez 2020 14:11
von peter-pan
...genau wie Peter es beschrieben hat. Wobei die Schreibweise von Peter "myItem.sendCommand" gegenüber der von dir benutzten Variante "sendCommand(..)" zu präferieren ist. Schau mal in die
Doku.

Re: Rules Openhab
Verfasst: 3. Dez 2020 15:48
von udo1toni
Das ist das Problem mit Tapatalk, es ändert gerne mal eigenmächtig Schreibweisen ab (ich falle da auch gerne rein...)
In openHAB ist Groß/Kleinschreibung wichtig, und zwar jeder einzelne Buchstabe. when ist ein Schlüsselwort, When ist kein Schlüsselwort. wHen ist ein anderes Wort als When und so weiter. on ist ebenfalls etwas anderes als ON
Im when-Teil der Rule muss natürlich auch das Schlüsselwort Item angegeben werden (welches die Trigger Art angibt). Dass die Methode der Action vorzuziehen ist, hat Peter-Pan ja schon geschrieben

Re: Rules Openhab
Verfasst: 3. Dez 2020 16:24
von Philipp00
Perfekt Danke für euer Feedback, habs soweit verstanden.