Ankündigung

Einklappen
Keine Ankündigung bisher.

Halbautomatischer ETS4 Import

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

    [Codebeispiel] Halbautomatischer ETS4 Import

    Hallo Leute,

    ich habe mal ein kleines Python Programm geschrieben, das aus der ETS4 Export Datei die Gebäudestruktur ausliest und daraus eine smarthome.conf erzeugt. Erwartet jetzt aber keine Wunder, man muss noch einiges manuell nacharbeiten, aber zumindest die grundlegende Struktur wird übernommen und man muss nicht ständig zwischen ETS und Konfigeditor wechseln um die Konfiguration inital zu erstellen. Voraussetzung, dass das Script läuft: ETS4 Export in .knxproj Datei, diese anschließend beliebigem ZIP Programm entpacken und den Pfad im Script zu der 0.xml Datei anpassen. Wie gesagt, alles eher quick & dirty, aber vielleicht hilft es ja dem ein oder anderen.

    Edit: Achtung bitte in der ETS den GAs die DPT-Typen zuordnen. Und bei den Bezeichnungen möchglichst Umlaute und Leerzeichen vermeiden.
    Der aktuelle Code liegt hier: https://github.com/mknx/smarthome/bl.../ets4parser.py
    Mit freundlichen Grüßen
    Niko Will

    Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
    - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

    #2
    Oh, ich sollte vielleicht noch erwähnen, dass der Output eine mehrstufige Config ist und deshalb erst ab Version 0.7 verwendet werden kann
    Mit freundlichen Grüßen
    Niko Will

    Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
    - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

    Kommentar


      #3
      Bitte ins SVN unter /tools ! ...

      Makki
      EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
      -> Bitte KEINE PNs!

      Kommentar


        #4
        ist nun im github unter smarthome... darf aber auch gerne noch ins SVN
        Mit freundlichen Grüßen
        Niko Will

        Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
        - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

        Kommentar


          #5
          Nun, es wir keiner davon abgehalten, Schreibzugriff gibts bei Chris M oder mir mit angabe des SF-Usernamens ohne beachtung der Hautfarbe oder Religion

          Makki
          EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
          -> Bitte KEINE PNs!

          Kommentar


            #6
            Zitat von makki Beitrag anzeigen
            oder mir mit angabe des SF-Usernamens
            Username: wu-mc
            Mit freundlichen Grüßen
            Niko Will

            Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
            - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

            Kommentar


              #7
              done..

              Makki
              EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
              -> Bitte KEINE PNs!

              Kommentar


                #8
                ist hochgeladen
                Mit freundlichen Grüßen
                Niko Will

                Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
                - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

                Kommentar


                  #9
                  So ists gut (hier)

                  1-2 Hinweise, nicht böse sondern konstruktiv gemeint:
                  - (C) knxuf ist zwar sehr nett aber rechtlich IMHO wenig hilfreich, der Sinn von GPL ist das es immer GPL bleibt, das läuft aber nach anderen Regeln, nämlich dem Urheberrecht. Nur als Urheber kann man im Zweifel das auch durchsetzen.. knxuf könnte da "zu schwammig" sein.
                  Wer hat das Klagerecht, wer klagt (sorry, ich hab da schon zuviele kotzende Pferde bei [GPL-]Dieben gesehen..)

                  - Die Pfade und Datei/Projektnamen könnte man noch ein "wenig" flexibilisieren, wenn man grad keine Lust hat den Sourcecode fürs eigene Projekt zu ändern

                  Makki
                  EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
                  -> Bitte KEINE PNs!

                  Kommentar


                    #10
                    Danke für den Hinweis makki (habe mich nur an die Header Vorgaben des smarthome.py Projekts gehalten, mal mit Marcus drüber diskutieren).

                    Habe das ganze noch etwas überarbeitet (ist sowohl bei smarthome.py im Github als auch im SVN bei openautomation). Die GAs aus dem knx master xml werden nun rudimentär berücksichtigt und verarbeitet. Außerdem wird nun der Pfad zum master xml, zum projekt xml und zur Ausgabedatei via Kommandozeilenparameter übergeben.

                    Nochmal der Hinweis: Das Script enthält so gut wie keine Fehlerbehandlung. Verwendung daher auf eigene Gefahr. Für meinen Anwendungsfall funktioniert es super in Zusammenhang mit smarthome.py sind nur noch wenig (und für mich überschaubare) Änderungen notwendig. Allerdings werden halt nur die GAs verarbeitet, die auch in den Räumen verknüpft sind. Also z.B. wenn das Licht mit einem Tastsensor oder einem PM geschaltet wird und dieser dem richtigen Raum zugeordnet ist läuft das.
                    Mit freundlichen Grüßen
                    Niko Will

                    Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
                    - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

                    Kommentar


                      #11
                      Hallo,

                      Vielen Dank für das Skript. Für die Verarbeitung eines Exports der aktuellen ETS muss die Zeile

                      Zitat von 2ndsky Beitrag anzeigen
                      Code:
                      NS_URL = '{http://knx.org/xml/project/10}'
                      geändert werden zu
                      Code:
                      NS_URL = '{http://knx.org/xml/project/11}'
                      Hat mich als XML-Parsing Noob 'ne ganze Weile gekostet, bis ich herausgefunden hatte, warum mein Projekt angeblich keine "Buildings" beinhaltet.

                      Greetinx,
                      Udo

                      Kommentar


                        #12
                        Hallo,

                        das Skript hat ja einen ETS4 Export als Input.
                        Jetzt habe ich aber nur die ETS3 und die ETS4 mit Demo (?, die mit den 20 Geräten).

                        Nun macht man den Export/Import ja sicher nur einmal um die Grund-Config zu erstellen oder? D.h. ich könnte mein Projekt in zwei Teile (habe 40 Geräte) aufteilen? Oder funktioniert es dann nicht mehr sinnvoll?

                        Wie ist das eigentlich: Ich habe viele GAs "auf Vorrat" erstellt. Stören die, sprich: Werden auch nicht-Verwendete GAs exportiert?

                        Gruß,
                        Hendrik

                        Kommentar


                          #13
                          Halbautomatischer ETS4 Import

                          Hm, gute Frage mit dem Aufteilen. an deiner Stelle würde ich es einfach mal ausprobieren. Verwendet werden, wenn ich mich recht erinnere, nur die GAs die bei Sensoren eingetragen sind... wenn du die GAs also nur angelegt hast, aber nicht verwendest, werden diese auch nicht importiert.
                          Mit freundlichen Grüßen
                          Niko Will

                          Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
                          - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

                          Kommentar


                            #14
                            Hallo Niko,

                            ich versuche gerade dein Script zu nutzen und bekomme folgenden Fehler:

                            UnicodeEncodeError: 'ascii' codec can't encode character u'\xfc' in position 18: ordinal not in range(128)

                            Kannst du etwas dazu sagen?

                            Vielen Dank
                            Marcus

                            Kommentar


                              #15
                              Halbautomatischer ETS4 Import

                              Hallo Marcus,

                              irgend ein Problem mit Umlauten

                              Für eine genauere Analyse fehlt mir momentan die Zeit.
                              Mit freundlichen Grüßen
                              Niko Will

                              Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
                              - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

                              Kommentar

                              Lädt...
                              X