Ankündigung

Einklappen
Keine Ankündigung bisher.

Openhab Config auf Basis ETS Export generieren

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Openhab Config auf Basis ETS Export generieren

    Hallo zusammen,
    ich habe für unser KNX/Openhab-System ein kleines Script geschrieben, das die Openhab-Config aufgrund des ETS Gruppen-Adressen-Exports generiert.
    Bis jetzt habe ich sowas noch nicht gesehen (Gut - ich habe auch nicht sehr lange gesucht ) deshalb würde ich es hier einfach mal veröffentlichen. Vielleicht kann es ja jemand brauchen.

    Damit das ganze klappt, habe ich meine Gruppen-Adressen so aufgebaut: Stockwerk/Raum/Funktion. Desweiteren werden die Datentypen und auch die Namen mit einbezogen. Diese Struktur erstellt auch gleich die Sitemap mit.

    Beispiel: Name 'Steckdose links' mit Typ DPST-1-1 -> Es wird nach einer zusätzlichen Adresse mit Namen 'Steckdose links Status' gesucht. Für beides zusammen wird dann ein Item angelegt. Der Beschreibungs-Name des Items wird der Name der 'Haupt-Gruppen-Adresse', wobei Raum und Stockwerks-Namen automatisch entfernt werden. Aufgrund des Namens wird in einigen Fällen auch gleich das Icon gesetzt. (zum Beispiel eben, wenn 'Steckdose' im Namen vorkommt)

    Beim Datentyp DPST-1-8 -> Auf/Ab wird beispielsweise noch nach den Endungen 'Lamellenverstellung/Stop', 'Stopp', 'Stop', 'absolute Position', 'Status' und 'Status Richtung' gesucht und alles mit in ein Item gepackt.

    Das ganze geht auch mit Dimmern, Temperaturen, und allem, was ich sonst so im Haus habe. Die Endungen der Benennung der Gruppen-Adressen habe ich von den MDT-Namen abgeleitet, nachdem ich von denen das meiste habe...
    Als weiteres Gimmik kann man in der ETS im Beschreibungs-Feld 'influx' eintragen, um die Daten automatisch zu persistieren oder auch ein Array wie "mappings=[63='Aus', 62='Automatik', 1='Kochen', 2='Beamer', 3='Allgemein']" um automatisch Szenen zu beschreiben. (Die werden dann als Select dargestellt)
    Das Export-Format muss folgendes sein: "Group name" "Address" "Central" "Unfiltered" "Description" "DatapointType" "Security"

    Für mich persönlich funktioniert das ganze sehr gut. Ich ändere Daten in der ETS und Openhab passt sich automatisch dran an. Diese Version habe ich hier mal online gestellt: https://github.com/maxpautsch/knx_to_openhab/

    Ich würde mich über Feedback freuen, ob sowas generell gebraucht werden kann. Wenn es Bedarf gibt, würde ich weiter Aufräumen (d.h. zum Beispiel einstellbar machen, wie die Endungen der Namen der Gruppen-Adressen sind) und dazu Doku schreiben. Wenn sowas nicht gebraucht wird, freue ich mich einfach, dass es für mich klappt, und spare mir den Aufwand!

    Viele Grüße
    Max

    #2
    Guten Morgen!

    Wie bekomme integriere ich die daten. Muss ich dein script auf openhab konfigurieren oder die daten zuerst über dein script exrahieren und eine datei generieren.

    Danke
    Christian

    Kommentar


      #3
      Ja, ein bisschen Kontext zu dem Python-Skript wäre schon gut. Alleine für Exportformat und Pfad für die Datei sowie Pfad von dem das Skript gestartet werden muss. Habe es mir angeschaut und dann kann man schon sagen wie es funktioniert. Allerdings finde es schon speziell auf die Anforderungen vom Ersteller zugeschnitten, was ja auch ok ist. Es gibt keine Variablen, umstellen kann man da nur mit Quelltext-Änderungen. Auch die Anforderungen der GA-Bezeichnungen wird wohl für die wenigsten funktionieren, man könnte sich ja zumindest an den GA-Wizard vom Forum hier halten. Ich könnte damit leider nichts anfangen.

      Kommentar


        #4
        Hallo,
        ich habe das ganze mal etwas aufgeräumt um zu zeigen, wie es gehen könnte (so viel Arbeit, das jetzt ganz so zu machen ist es auch nciht mehr..)
        Für den Dimmer, die Fensterkontakte und Switches kann man jetzt die erwarteten Endungen konfiguren. Auch die Pfade kann man jetzt in der config.json einstellen.
        @ch04: wenn Du es mal versuchen willst, änderst du einfach in der config.json die Werte der Pfade. Am einfachsten sollte das hier sein:
        "ets_export": "ets_gruppenadressen.csv",
        "things_path": "knx.things",
        "items_path": "knx.items",
        "sitemaps_path": "knx.sitemap",
        "influx_path": "influxdb.persist",
        "transform_dir_path": ".",
        So sollte es auch kein Problem mehr sein, die GA-Bezeichnungen anzupassen.
        Weitere Beschreibung ist auch noch in der Readme auf der Seite.

        Kommentar


          #5
          Nachdem ich an den Download-Statistiken sehe, dass es doch einige mindestens schon mal runtergeladen haben, gebe ich hier kurz Bescheid, dass der Code jetzt nicht nur die sitemap für die basicui generiert, sondern auch noch das Semantische Modell bedient. (Aus dem Grund geht es vermutlich nur noch mit Openhab3) Zudem habe ich einiges noch verallgemeinert und auch die Doku wieder ein bisschen nachgezogen.

          Kommentar


            #6
            Als Info an die, die das Script schon runtergeladen haben: es gibt eine neue Version.
            Unter anderem werden jetzt auch Alarme und Tag/Nacht Typen erkannt; Icons und Infos zum semantischen Modell können in der ETS eingestellt werden.
            Alle Komponenten außer Dimmer und Jalousien/Rollos werden jetzt nur noch anhand der Datentypen erkannt! Der Datentyp "schalten" kann nur mit Textschema richtig mit einem Datentyp "status" verknüpft werden. In dem meisten Fällen sollte man das aber gar nicht brauchen.
            Das in der config einstellbare Namesschema muss man also nur noch für Dimmer und Jalousien/Rollos dort anpassen und eventuell für den Schalt-Status! Der Rest sollte out of the box funktionieren.

            Kommentar


              #7
              Kleines Update: für das semantische Modell werden jetzt auch die Equipments generiert. Das heißt, dass jetzt auch HABot mit der Beschreibung richtig klarkommt. (Deswegen kann man jetzt für Dimmer auch "Schalten", "Dimmen relativ" und "Status Ein/Aus" angeben. HABot kann im Gegensatz zum Rest nicht nur mit "Dimmen absolut" und "Status Dimmwert" arbeiten?!)
              Zusätzlich werden jetzt Synonyme unterstützt und es gab ein paar kleinere Aufräumarbeiten.

              Kommentar

              Lädt...
              X