Seite 1 von 2
Regeln und Konfiguration „beisammen“ halten
Verfasst: 1. Jan 2023 13:47
von tim.l
Hallo zusammen,
Ich habe eine Frage bzgl. Der Organsiation von Regeln/Items/etc.
Ich benutze openHAB seit Anfang letzten Jahres (3.3) und bin inzwischen auf (3.4).
Ich habe alle Things,Items,Modelle,Regeln etc. über die UI angelegt und keine Konfigurations-Dateien benutzt.
Nun bin ich inzwischen an einer Grenze angelegt, dass ich sehr viele Regeln und Items habe. Viele von diesen Items und auch gerade die Regeln hängen aber zusammen, um eine Funktion bereitzustellen.
Beispiel: Der Briefkasten hat zwei Klappen und ich habe an beiden ein Fenster-Tür-Kontakt. Diese Items steuern den Status ob etwas im Briefkasten ist oder nicht. Entsprechend gibt es zwei Regeln (eine für den einen Fenster/Tür-Kontakt, für das „ist voll“ und eine für den anderen Kontakt für das „ist geleert“).
Nun die Frage: In den Regeln ist das alles einfach nur eine lange Liste und ich versuche über die Schlagworte/Tagging ein wenig die Regeln somatisch zu verknüpfen. Gibt es eine Funktion, welche Regeln „richtig“ verknüpft, weil diese zusammengehören und eine Funktion bereitstellen und habe ich diese übersehen? Oder ist „Naming“ (Präfix, Suffix, einheitliche Benennung) und „Tagging“ (mit der Funktion die die Regel bereitstellt) die einzige Option welche ich habe, sodass ich auch noch nach 2-3 Monaten verstehe, welche Regeln zusammengehören?
Wie macht ihr das?
Beste Grüße,
Tim
Re: Regeln und Konfiguration „beisammen“ halten
Verfasst: 1. Jan 2023 14:14
von BOP
tim.l hat geschrieben: ↑1. Jan 2023 13:47
Wie macht ihr das?
Hilft dir jetzt nicht direkt und möchtest du vielleicht auch nicht hören, aber ich habe nur die Things und Items über die UI angelegt (und bereue letzteres).
Meine Rules-Dateien sind in der Regel dann sogar noch so aufgebaut, dass sie nicht viel länger sind, als das, was auf eine Bildschirmseite passt.
Die Rules dann thematisch in eine Datei zusammengefasst. Also z.B.:
- AutoLadeBeginn.rules
- AutoLadeEnde.rules
- AutoLadevorgang.rules
Aber es gibt hier sicherlich 1000+1 Möglichkeiten. Und jeder hat da seine eigene Vorgehensweise. Und die jetzige Struktur (und auch die Benennung) ist vermutlich mein dritter Anlauf hier etwas Ordnung rein zu bringen.
Re: Regeln und Konfiguration „beisammen“ halten
Verfasst: 1. Jan 2023 22:13
von udo1toni
Um zur Ausgangsfrage zurückzukehren: da die Rules grundsätzlich voneinander unabhängig sind, werden sie auch in der UI voneinander unabhängig gelistet. Mir ist keine Möglichkeit bekannt, Rules miteinander zu verknüpfen, und sei es auch nur zur hierarchischen Anordnung in der Ansicht. Natürlich könnte man die IDs und Namen der Rules verwenden, um eine gewisse Anordnung zu erreichen.
Allgemein ist die UI eine super Sache, aber Vieles ist über Textdateien effizienter zu erledigen. Einzig die unbekannten Schlüsselworte sind über die UI ein echter Vorteil. Ursprünglich gab es mal den openHAB Designer, der zur Konfiguration über Textdateien verwendet wurde. VSCode ist bis auf die Sache mit den Schlüsselworten weiter entwickelt, und eigentlich sollten auch die möglichen Schlüsselworte eingeblendet werden (mitsamt Hilfstexten...), nur leider gibt es da einen hartnäckigen Bug, der mit dem Online Zugriff über LSP zu tun hat.
Re: Regeln und Konfiguration „beisammen“ halten
Verfasst: 2. Jan 2023 08:31
von BOP
Was ich bei der UI vermisse, ist eine Möglichkeit die Items oder Things umzubenennen. Oder geht das inzwischen?
Re: Regeln und Konfiguration „beisammen“ halten
Verfasst: 2. Jan 2023 12:09
von J-N-K
Umbenennen geht grundsätzlich nicht. Wenn Du das in einem .items oder .things File "umbenennst", wird tatsächlich das Item/Thing gelöscht und ein neues angelegt. Ich habe übrigens nicht ein einziges Item oder Thing in einem File. Ich finde das gruselig.
Du kannst an Rules Tags anhängen (zumindest im UI, wie und ob das in Files geht keine Ahnung):
Bildschirmfoto 2023-01-02 um 12.06.42.png
In der Übersicht sieht das dann so aus:
Bildschirmfoto 2023-01-02 um 12.07.16.png
Und wenn Du dann in die Suchleiste den Tag eingibst, wird nur das angezeigt:
Bildschirmfoto 2023-01-02 um 12.07.27.png
Re: Regeln und Konfiguration „beisammen“ halten
Verfasst: 2. Jan 2023 13:11
von udo1toni
Nein, das ist systemimmanent nicht möglich. Es ist übrigens auch mit Textdefinition nicht möglich, Items und Things umzubenennen.
Es ist aber so, dass man in der Textversion das komplette Item/Thing vorliegen hat und jeden Parameter anpassen kann, auch die ID.
Nur führt das halt nicht zu einem Umbenennen, sondern das alte Item/Thing wird gelöscht und dafür ein neues mit identischen Einstellungen, aber anderer ID wird zeitgleich erstellt. Unterschied zum Beispiel: Die Persistence eines Items wird beim Umzug nicht berücksichtigt.
Und damit ist auch ganz gut erklärbar, warum das Umbenennen der IDs nicht vorgesehen ist: Man müsste im Hintergrund alle Rules abklappern und natürlich auch die Persistence und alle möglichen anderen Abhängigkeiten berücksichtigen, was die Angelegenheit beliebig komplex machen würde.
Re: Regeln und Konfiguration „beisammen“ halten
Verfasst: 2. Jan 2023 13:50
von tim.l
OK. Vielen Dank. Dann werde ich erst einmal mit dem Tagging weiter arbeiten und in Zukunft (wenn ich gar nichts mehr wiederfinden sollte), überlegen ob ich die Ansicht irgendwie auf Basis der WebAPI selbst baue.
Vielen Dank.
Re: Regeln und Konfiguration „beisammen“ halten
Verfasst: 2. Jan 2023 14:29
von BOP
udo1toni hat geschrieben: ↑2. Jan 2023 13:11
Und damit ist auch ganz gut erklärbar, warum das Umbenennen der IDs nicht vorgesehen ist: Man müsste im Hintergrund alle Rules abklappern und natürlich auch die Persistence und alle möglichen anderen Abhängigkeiten berücksichtigen, was die Angelegenheit beliebig komplex machen würde.
Genau das habe ich zu OH2.5 Zeiten und Datei-basierenden Item-Definitionen mit VSC und dessen globale Suche gemacht. Hat bei mir nie zu Problemen geführt.
Persistierte Items, bzw. dessen abgelegte Werte, werden dabei natürlich nicht mit geändert. Dessen muss man sich bewusst sein.
Re: Regeln und Konfiguration „beisammen“ halten
Verfasst: 2. Jan 2023 14:33
von J-N-K
@udo1toni: Ich würde mir auch ein "Create New Item from existing Item" (oder Thing) wünschen. Das ist aber rein UI, was dafür in openhab-core benötigt wird ist bereits alles da.
@tim.l: Was genau stellst Du Dir denn vor?
@BOP: Für Channel-Links und Trigger wäre das auch automatisiert möglich. Innerhalb von Rules dagegen sehr kompliziert, weil ein einfaches "Search&Replace" nicht reicht.
Re: Regeln und Konfiguration „beisammen“ halten
Verfasst: 2. Jan 2023 14:37
von BOP
J-N-K hat geschrieben: ↑2. Jan 2023 14:33
@BOP: Für Channel-Links und Trigger wäre das auch automatisiert möglich. Innerhalb von Rules dagegen sehr kompliziert, weil ein einfaches "Search&Replace" nicht reicht.
Wieso nicht? Wie geschrieben, das habe ich früher schon gemacht.
EDIT: Ach so, ich habe das "automatisiert" überlesen.
Ich wollte damit auch nur zum Ausdruck bringen, dass die UI-Variante durchaus auch ihre Nachteile hat, gegenüber dateibasierenden Definitionen.