Regel in Openhab 2 erstellen

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
ralf-mari
Beiträge: 3
Registriert: 18. Nov 2018 14:26
Answers: 0

Regel in Openhab 2 erstellen

Beitrag von ralf-mari »

Hallo, ich bin ein Linux und Openhab Neuling.
Ich versuche eine Regel zu erstellen und bekomme eine Fehlermeldung und komme so nicht weiter. Ich hoffe es kann mir erklären was ich falsch gemacht habe. Die Regel:
rule „Rollo öffnen“
when
Time cron „0 0 15 1/1 * ? *“
then
sendCommand(zwave:device:2d86733c:node2:blinds_control ,up)
end

Die Fehlermeldung im Log:
2018-11-22 14:59:02.089 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model 'Rollotest.rules' has errors, therefore ignoring it: [4,1]: mismatched input 'then' expecting 'when'

Danke schonmal.
Ralf

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

Re: Regel in Openhab 2 erstellen

Beitrag von udo1toni »

Du musst ein Item verwenden.

In einem ersten Schritt verlinkst Du Deinen Channel mit einem Item - über Paper UI oder über eine Textdatei:

Code: Alles auswählen

Rollershutter myShutter "Rollladen Zimmer 1 [%d %%]" [ channel="zwave:device:2d86733c:node2:blinds_control" }
In der Rule verwendest Du nun dieses Item:

Code: Alles auswählen

rule "Rollo öffnen"
when
    Time cron "0 0 15 * * ?"
then
    myShutter.sendCommand(UP)
end
Bitte beachte auch die Groß/Kleinschreibung, openHAB arbeitet komplett case sensitive. Die von mir verwendete Methode sollte immer gegenüber der von Dir verwendeten Action bevorzugt werden, auch wenn beide eigentlich das gleiche Ergebnis haben sollten.
Als Anführungszeichen darf nur das Zollzeichen bzw. das Auslassungszeichen verwendet werden, nicht die typographischen Anführungszeichen .
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

ralf-mari
Beiträge: 3
Registriert: 18. Nov 2018 14:26
Answers: 0

Re: Regel in Openhab 2 erstellen

Beitrag von ralf-mari »

Danke für die Hilfe.
Nach längerem Hin und Her habe ich es geschafft den Channel mit dem Item zu verlinken. Openhab war bei mir im "Simple Mode".
Jetzt werde ich testen.

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

Re: Regel in Openhab 2 erstellen

Beitrag von udo1toni »

Ah. Im Simple Mode erstellt openHAB selbst für jeden Channel ein Item und verlinkt es gleich. Man muss dann aber natürlich trotzdem den Itemnamen in der Rule verwenden :)
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

ralf-mari
Beiträge: 3
Registriert: 18. Nov 2018 14:26
Answers: 0

Re: Regel in Openhab 2 erstellen

Beitrag von ralf-mari »

Bis jetzt habe ich mehrere Regeln erstellt, und fast alle funktionieren. Allerdings nach Astrobinding das Rollo fahren funktioniert noch nicht. Über die Fritzbox eingebundene Dect Steckdosen lassen sich nicht von Alexa finden.

Ralf

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

Re: Regel in Openhab 2 erstellen

Beitrag von udo1toni »

Meist klappt das mit dem Astrobinding nicht, weil hier ein paar Spezialitäten warten.

Das Astrobinding hat eine erhebliche Menge an Channels und die Channels sind auch noch konfigurierbar.

Es gibt z.B. astro:sun:home:rise#start für den Sonnenaufgang am Standort home. Das ist aber der Zeitpunkt als Wert, also z.B. 24.11.2018, 7:25 Uhr MEZ. Um eine Rule zu diesen Zeitpunkt triggern zu lassen, benötigst Du den entsprechenden Event Channel. In diesem Fall wird die Rule auch nicht mit einem Item getriggert, sondern direkt mit dem Event Channel:

Code: Alles auswählen

when
    Channel astro:sun:home:rise#event triggered START
then
Man kann Offsets für die Channel definieren, also den Triggerpunkt verschieben, sowohl nach vorne als auch nach hinten. Mehr noch, man kann Ober- und Untergrenzen definieren, zu denen die Aktion ausgeführt werden soll. Diese Einstellungen gibt es für alle Channel (für die das sinnvoll sein könnte). Entsprechend passiert es gerne, dass jemand einen Offset einstellt, oder eine Grenze, und sich wundert, warum der Trigger immer noch zur gleichen Zeit passiert. Man muss die Konfiguration im Event Channel vornehmen, damit sie auf den Trigger wirkt. Im Start- oder End-Channel wirkt die Einstellung nur auf den ausgegebenen Zeitstempel.
Apropos Start und End: Die verschiedenen Ereignisse sind als Berührung einer gedachten Linie definiert, z.B. Sonnenuntergang bedeutet, die Sonne berührt von oben kommend die 0° Höhenlinie. Da die Sonne die entsprechenden Linien normalerweise kreuzt, die Sonne aber kein Punkt ist, sondern ein Kreis, gibt es einen Beginn der Berührung und ein Ende der Berührung. Dies sind die beiden Zeitpunkte Start und End. Der Abstand zwischen Start und End entspricht dann der Duration, also der Dauer der Passage.

Zu Alexa kann ich leider nur wenig beitragen. Alexa benötigt getaggte Items, die Items müssen (bisher) zwingend über eine Textdatei angelegt werden, weil die entsprechende Option in z.B. Paper UI (noch) nicht gesetzt werden kann. In der Item Definition taucht dann vor der Verlinkung auf einen Channel oder ein OH1 Binding das Tag innerhalb eckiger Klammern auf:

Code: Alles auswählen

Switch mySwitch "Schalter [%s]" <switch> (myGroup) [ "Switchable" ] {channel="..."}
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten