Seite 1 von 1

Java lernen um in OH3 Rules zu schreiben

Verfasst: 11. Mai 2021 15:48
von Ceronimo
Hallo ihr Wissenden
Ich wurstle mich seit geraumer Zeit mit Openhab rum, startete mit 2.5 und bin nun auf Version 3. Beim Schreiben von Rules tue ich mich sehr schwer - ist ja logisch, wenn man nicht programmieren kann. Aber: Das kann man ja lernen ;-) Dazu wäre ein Buch vielleicht ne gute Idee, oder sonstwas, das mir den Einstieg ermöglicht. Ich muss die Programmiersprache ja nicht komplett auswendig beherrschen. Dies so meine Gedanken.
Welches Buch oder was auch immer empfehlt ihr um im Selbststudium das Schreiben von Rules wenigstens einigermassen hinzukriegen?

Freu mich auf Vorschläge...

Re: Java lernen um in OH3 Rules zu schreiben

Verfasst: 11. Mai 2021 18:34
von udo1toni
:) Da bist Du nicht alleine...

Es gibt das Buch von Marianne Spiller, welches allerdings die Programmierung auch nur teilweise behandelt und zudem inzwischen hoffnungslos veraltet sein dürfte.

Unter openHAB3 hast Du zudem die Wahl der Qual (oder so). Wer JavaScript kennt, wird das bevorzugen (weil halt). wer zum ersten Mal programmiert, wird vermutlich Blockly nutzen wollen, weil das so schön grafisch ist (aber leider dadurch auch nicht intuitiver zu bedienen ist).

Ich persönlich schwöre immer noch auf die Rules DSL. Wenn Du VSCode als Editor nutzt, kannst Du das openHAB Plugin nutzen, womit dann eine Autoergänzung zur Verfügung steht. erste Schritte kannst Du außerdem anhand von kleinen Scripten machen, die hier im Forum oder auch im englischen Forum zu finden sind. Auch die offizielle Dokumentation vermittelt einige Grundlagen, beispielsweise, dass openHAB ein eventgesteuertes System ist, oder dass jede Rule zwei Bereiche hat, das ist der whenTeil und der then-Teil.
Im when-Teil werden alle Trigger aufgeführt, die zur Ausführung des Codes im then-Teil führen (eben die Events).
Im then-Teil steht der auszuführende Code.

Re: Java lernen um in OH3 Rules zu schreiben

Verfasst: 11. Mai 2021 19:33
von Ceronimo
Danke @udo1toni für deine Antwort.

Vom Buch zu OH2 hab ich gehört, aber denke da nun OH3 läuft ist das nicht so passend. In der Tat wurstle ich mich momentan so durch, dass ich mit Blockly starte und dann den Code extrahiere um händisch weiterzumachen. Unter OH2 nutzte ich VSCode das half. Nun wollte ich eigentlich die UI nutzen, nicht zuletzs weil da der Start halt schon besser gelingt. Ich befürchte nicht nur, sondern ich weiss, dass ich ohne rudimentäre Programmierkenntnisse nicht zum Erfolg kommen werde. Also doch Java lernen?

Re: Java lernen um in OH3 Rules zu schreiben

Verfasst: 11. Mai 2021 23:38
von udo1toni
Du kannst ohne Sorge mit VSCode weiter machen. Die Dateien sind alle unabhängig voneinander, das heißt, es spielt keine Rolle, wie Du Things, Items usw, anlegst, die Rules kannst Du jederzeit (auch gemischt mit Blockly und anderen) auch über *.rules Dateien erstellen.

Re: Java lernen um in OH3 Rules zu schreiben

Verfasst: 14. Jul 2021 15:12
von DavGre
Wenn du dich für die guten alten DSL Rules entscheidest, ist das angesprochene OH2 Buch aber keineswegs veraltet.
Dort wird, zumindest der gesamte Teil mit den rules, noch in "DSL-Sprache" erklärt. Dort findest du zahlreiche Anregungen, Beispiele etc.
Das hat mir damals auch beim Einstieg geholfen und würde es aktuell auch noch. Voraussetzung ist halt wie gesagt, dass du die DSL-Rules nutzt.