Durchsuchen von Gruppen mit ECMA Skript

Für welche Projekte verwendet Ihr OpenHAB? Was habt Ihr automatisiert? Stellt eure Projekte hier vor.

Moderatoren: Cyrelian, seppy

Antworten
Baumtasche
Beiträge: 82
Registriert: 14. Sep 2020 21:52
Answers: 0

Durchsuchen von Gruppen mit ECMA Skript

Beitrag von Baumtasche »

Hallo zusammen,

ich bin ein wenig am verzweifeln. Ich stelle gerade mein OH2.5 auf OH3 um, und erstelle die Regeln mit ECMA-Skript. Soweit habe ich inzwischen auch alles umgestellt, bis auf das Durchsuchen meiner Fenstergruppe. Ich habe ein Gruppe mit allen meinen Fenstern angelegt und will wissen, welches Fenster bzw. Fenster geöffnet ist /sind. In Openhab mit DSL habe ich es folgendermaßen gelöst - auch damals mit Hilfe von diesem Forum

Code: Alles auswählen

msg = gFenster.members.filter[ i | i.toString.contains("OPEN")].map[ label ].reduce[ s, label | s + " und " + label ]  
Seit zwei Tagen versuche im Internet die Syntax für Javaskript zu finden, um das zu realisieren, aber leider ohne Erfolg. Jetzt hoffe ich das hier jemand eine Idee hat.

Vielen Dank im voraus
von Harka » 25. Mär 2022 18:00
Über den Umweg Blockly habe ich eine Möglichkeit gefunden durch Gruppen zu laufen. Dafür werden for...in-Schleifen erzeugt mit den Du die entsprechenden Zustände der Fenster auslesen kannst.
Beispiele: https://community.openhab.org/t/group-h ... y/130630/5
Ev. kannst Du ja damit was anfangen.
Gehe zur vollständigen Antwort

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

Re: Durchsuchen von Gruppen mit ECMA Skript

Beitrag von udo1toni »

Warum?

ECMA ist noch nicht mal unbedingt eine sinnvolle Wahl, weil überhaupt nicht klar ist, ob es langfristig von openHAB unterstützt wird.
ECMA ist mit an Bord, weil Blockly ECMA Code erzeugt.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Baumtasche
Beiträge: 82
Registriert: 14. Sep 2020 21:52
Answers: 0

Re: Durchsuchen von Gruppen mit ECMA Skript

Beitrag von Baumtasche »

Na , ja ich war / bin der Meinung, dass Javaskript in Openhab die Zukunft ist. Außerdem haben einige berichtet das ihr Openhab mit DSL mit der Zeit immer langsamer wurde. Deswegen habe ich auf das neue Javaskript gesetzt.

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

Re: Durchsuchen von Gruppen mit ECMA Skript

Beitrag von udo1toni »

Also, mit der Zeit immer langsamer kann ich so nicht bestätigen.

Es ist halt wichtig, die Regeln korrekt zu definieren :) Ich hatte Beispielsweise mal eine Rule, welche sich selbst referenziert hat, sie hat auf received update getriggert und dann ein postUpdate ausgeführt, auf eben dieses Item, welches als Trigger angegeben war. Wenn die Rule einmal ausgelöst hat, lief sie etwa 20 mal pro Sekunde, wobei sie allerdings einige zehntel Sekunden für einen Durchlauf brauchte. Damit waren dann jedes Mal alle Threads durch diese Rule belegt und es ging nichts mehr, was auf Rules angewiesen war. Hat eine Weile gedauert, den Fehler zu finden, weil man eigenen Code meist nicht unter solchen Aspekten betrachtet… Nachdem ich den Denkfehler gefunden hatte, war das Problem schnell gefixt und seitdem macht das System keinen Ärger mehr. Ich betreibe openHAB seit 10 Jahren, da ist nix mit der Zeit langsam.
Zugegebenermaßen wird das System aber mindestens einmal im Monat neu gestartet - eher vielleicht zwei- bis dreimal, weil z.B. Softwareupdates anstehen oder es grundlegende Änderungen an der Konfiguration gibt, oder, oder, oder… Aber ich hatte auch schon mal einen Monat, in dem ich das System nicht angefasst habe…

Und wie gesagt, ECMA und JavaScript werden jetzt unterstützt, aber ob das so bleibt, steht in den Sternen.
Die DSL ist definitiv langsamer, aber ob das tatsächlich relevant ist, hängt vor allem davon ab, wie und was man steuert.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Harka
Beiträge: 489
Registriert: 30. Apr 2021 13:13
Answers: 19

Re: Durchsuchen von Gruppen mit ECMA Skript

Beitrag von Harka »

Über den Umweg Blockly habe ich eine Möglichkeit gefunden durch Gruppen zu laufen. Dafür werden for...in-Schleifen erzeugt mit den Du die entsprechenden Zustände der Fenster auslesen kannst.
Beispiele: https://community.openhab.org/t/group-h ... y/130630/5
Ev. kannst Du ja damit was anfangen.

Baumtasche
Beiträge: 82
Registriert: 14. Sep 2020 21:52
Answers: 0

Re: Durchsuchen von Gruppen mit ECMA Skript

Beitrag von Baumtasche »

Mega , das ist die Lösung. Vielen Dank, hat mir sehr weitergeholfen.
Dieses Forum ist einfach spitze, bis jetzt konnte mir immer jemand helfen.

Daaaaanke

Antworten