openHAB 3 und die Next Gen Rule Engine

Allgemeine Fragen zum Thema "Smart Home" und Entscheidungshilfen

Moderator: seppy

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

Re: openHAB 3 und die Next Gen Rule Engine

Beitrag von udo1toni »

Http wird es mit Sicherheit geben, da das so universell ist. Kann allerdings sein, dass es so läuft wie bei mqtt, welches auch für diverse andere Bindings Funktionen zur Verfügung stellt.
MapDB ist eine Persistence, die betrifft das nicht (wird aber sicher auch hier neue Versionen geben)

Gesendet von meinem SM-G973F mit Tapatalk


mhbosch
Beiträge: 10
Registriert: 29. Jan 2019 19:10

Re: openHAB 3 und die Next Gen Rule Engine

Beitrag von mhbosch »

Moin,

da ich momentan viele Rules erstelle, die alles in allem nicht sehr komplex sind, frage ich mich, ob es zukunfts und zielführend ist, jetzt schon auf JSR223 umzustellen.
Aber wie ich es lese und verstehe, muss das erstmal "händisch" aktiviert werden, ist also im normalen Installer nicht mit drin?
(ist dann bei Updates ja immer etwas problematisch)

Die Vorteile der NGE wären dann eine schnellere Abarbeitung?

Oder gibt es da noch mehr Vorteile?

Eine umfangreiche Dokumentation, habe ich leider bisher nicht gefunden.
Kennt da jemand eine gute Seite?

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

Re: openHAB 3 und die Next Gen Rule Engine

Beitrag von udo1toni »

Was die NGR betrifft, die kommt ja direkt installierbar mit. Das hilft Dir aber nur sehr bedingt, denn die über Paper UI erstellbaren Rules sind doch arg begrenzt. Sobald Du vom "Wenn das dann dies außer jenes" abweichst (z.B. ein Wenn das, dann prüfe ob und jenes, ist das der Fall dann warte diese Anzahl Sekunden, aber nur unter der Bedingung dass, sonst mache was komplett anderes), bist Du aufgeschmissen.
Einfachste Regeln lassen sich also leicht realisieren, anspruchsvollere lassen sich dafür gar nicht realisieren.
Die anspruchsvollen Regeln gehen dann nur, indem Du zusätzliche Module installierst, also mindestens Jython oder eine andere von JSR223 unterstützte Sprache. Nimmst Du Jython, kannst Du Dir noch die Helper Libraries einrichten, mit denen Du dann ähnlich komfortabel arbeiten kannst wie mit der Standard Rules DSL.
Soweit ich weiß, gibt es noch keine Syntaxprüfung (oder man muss dafür weitere Module in VSCode installieren, aber Anleitungen hierzu - Fehlanzeige) und eine Dokumentation gibt es ebenso wenig (also abgesehen vom Hinweis, dass man halt so wie in Python programmiert - bis auf die Stellen, wo es abweicht natürlich...)

Das Problem ist also identisch mit der Rules DSL, die auch nie vollständig für openHAB dokumentiert wurde. Da gibt es aber zehntausende Rulebeispiele und vergleichsweise viele Leute, die das nutzen und (einigermaßen) verstehen, und es gibt zumindest eine Dokumentation der Grundfunktionen und Autocompletion in VSCode.

Es wird aber eh noch etwas dauern, bis openHAB3 kommt, man ist auch nicht gezwungen, sofort zu wechseln, im Gegenteil bietet es sich an, parallel ein Testsystem aufzusetzen - die einfachste Variante wäre eine native Installation auf dem vorhandenen Windows Desktop, wenn man es ordentlich machen will, setzt man sich eine VM auf (die kann auch auf dem Desktop laufen, z.B. mit VMware Player), da kann man ausgiebig testen, Hardware Stück für Stück anlegen, und wenn man dann alles fertig hat, das Produktivsystem umstellen. Kann halt sein, dass dann schon OH4 am Horizont erscheint (ich hab erst letzten Juli die Umstellung von OH1 auf OH2 komplett vollzogen... ;) )

Benutzeravatar
sihui
Beiträge: 950
Registriert: 11. Apr 2018 19:03
Answers: 3

Re: openHAB 3 und die Next Gen Rule Engine

Beitrag von sihui »

mhbosch hat geschrieben: 3. Jun 2020 11:28 Oder gibt es da noch mehr Vorteile?
https://community.openhab.org/t/how-doe ... /6?u=sihui
openHAB2 mit Zwave, Tinkerforge, Alexa, ESP8266, Logitech Harmony, Philips HUE und Xiaomi Hardware

Benutzeravatar
peter-pan
Beiträge: 890
Registriert: 28. Nov 2018 12:03
Answers: 6
Wohnort: Schwäbisch Gmünd

Re: openHAB 3 und die Next Gen Rule Engine

Beitrag von peter-pan »

...also ich bin inzwischen auch schon etwas weiter mit meinen Versuchen mit NGRE und JSR223/Jython. Mein Testsystem läuft stabil und ich habe so ziemlich alle Rules die ich unter "Rules DSL" laufen habe, auch in Python-Scripts umgeschrieben.
Es ist zwar alles immer noch gewöhnungsbedürftig, aber es klappt für "meine Verhältnisse als Nichtprogrammierer/IT-Spezialist" trotzdem ganz gut. Ich komme auch fast ohne "Lambda-Funktionen" aus, die teilweise durch sogenannte "List comprehensions" ersetzt werden können. Lediglich bei den Timern tue ich mich noch ein wenig schwer (aber es geht).
Als Doku habe ich mir ein kleines Handbuch mit den Python-Grundlagen zugelegt (Python - der Grundkurs von M.Kofler). Das ist aber ab einem bestimmten Punkt auch schon fast wieder zu hoch für mich. Es ist aber für den Anfang ganz ok. Empfehlen kann ich auch noch die Grundlagen auf dieser Seite und die Design-Patterns im englischen Forum.
Was mir im Moment noch unklar ist, wie kommen Änderungen/Verbesserungen der Helper-Libraries in das System. Ich arbeite immer noch mit den Vorlagen, wie ich sie seinerzeit angenommen habe. Die OH-Version ist zwar auf dem neuesten Stand (2.5.5.1), aber ich bezweifle, dass die "Scripted Automation" auch angepasst wurde. Was mir auch noch ein bisschen Kopfschmerzen bereitet ist die Tatsache, das Jython/Python auf der Version 2.7 basiert, aber die eigentlich aktuelle Python-Version bereits auf 3.7 lautet.
Alles in allem, finde ich NGRE/JSR223/Scripted Automation gar nicht schlecht, da man mehr Möglichkeiten hat. Der Sprachumfang ist halt etwas anders.

Ich muss auch dazu sagen, dass ich nicht sehr viele Regeln habe (ca. 40 - 50) und auch eine überschaubare Anzahl an Bindings.
Aus jetziger Sicht belasse ich es dabei, mein Produktiv-System so beizubehalten wie es ist (Standard-Rules-DSL) und mich mit meinem "kleinen" Testsystem weiter mit Python zu beschäftigen und zu experimentieren, und ansonsten abzuwarten, was OH3 bringt.

Antworten