Ankündigung

Einklappen
Keine Ankündigung bisher.

Commandline-Tool für "KNX mit ETS"-Projekt

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

    #31
    Hallo Waldemar,

    vielen Dank für Deine schnelle Antwort.

    Du hast vermutlich ein Schema 14 verwendet,
    Nein, nicht ganz... wie geschrieben habe ich einfach nur
    Code:
    MultiplyChannels.exe new --ProductName=TestProduct --AppNumber=1111 Test
    ausgeführt und die *.knxprod direkt in die ETS 5.6.6 übernommen. In der XML steht so wie von Dir gewollt das "http://knx.org/xml/project/11" drin.

    Dies ist der Output Deines Programms:
    Code:
    ...>MultiplyChannels.exe new --ProductName=TestProduct --AppNumber=1111 Test
    Creating xml file Test.xml
    Processing xml file Test.xml
    - Final parameter size is 16
    - ApplicationNumber: 1111, ApplicationVersion: 1, old ID is: -0000-00-0000, new (calculated) ID is: -0457-01-0000
    - RegistrationVersion is: 0001/11
    
    Sanity checks...
    - Id-Uniqueness... OK
    - RefId-Integrity... OK
    - ParamRefId-Integrity... OK
    - ParameterType-Integrity... OK
    - Parameter-Name-Uniqueness... OK
    - Parameter-Value-Integrity... OK
    - ParameterRef-Value-Integrity... OK
    - ComObject-Name-Uniqueness... OK
    - Id-Namespace... OK
    - Serial number... OK
    Writing header file to Test.h
    Found namespace http://knx.org/xml/project/11 in xml, will use ETS 4 for conversion...
    Output of Test.knxprod successful
    Hätte ich, da ich ja die Version 5.6.6 verwende, vielleicht das Schema 14 nutzen müssen?
    Oder gehst Du evtl. nur davon aus, dass der Konverter für die ETS4 genutzt wird, tatsächlich wird aber der für die 5.6 verwendet?
    Macht es vielleicht Sinn, den verwendeten Converter (also inklusive Pfadangabe usw.) zusätzlich auszugeben (zugegebenermaßen habe ich nicht in den Quellcode geschaut... falls Du explizit eine bestimmte Datei aufrufst, dann sollte man ja davon ausgehen dass das richtige verwendet wird)?

    Schema 14 kann auch noch ein paar andere Sachen, jetzt - nachdem ich überhaupt realisiert habe, dass die Schema-Version so viel ausmacht - arbeite ich mich da mal ein.
    Na, dann hat sich das ja schon mal gelohnt... ;-)


    Viele Grüße,
    Michael

    Kommentar


      #32
      Ahhh... Mist. Eventuell habe ich da was gemacht, wovon Du nicht ausgehst, dass man es tut... ;-)

      Ich hatte vor etwa einem Monat mal "CreateKnxProd.exe" ausprobiert. Weil das nicht auf Anhieb geklappt hat, habe ich dann auf diese Nachricht hin

      https://knx-user-forum.de/forum/öffentlicher-bereich/knx-eib-forum/diy-do-it-yourself/1216828-esp8266-knx-mit-ets?p=1316543#post1316543

      bei mir nachgeschaut und es befinden sich wohl 4 verschiedene Konverter-Versionen auf dem Rechner:
      Greenshot 2019-10-26 16.36.57.png

      In keinem dieser Pfade aber existierte bisher die "knx_master.xml".

      Daher habe ich dann die "knx_master.xml" aus "c:\Program Files (x86)\ETS5" in das Verzeichnis "c:\Program Files (x86)\ETS5\CV\4.0.1997.50261" kopiert. Danach funktionierte CreateKnxProd.exe.

      Könnte es was damit zu tun haben? Also, gehört die "knx_master.xml" aus dem Hauptverzeichnis evtl. zur aktuell installierten ETS 5.6.6?


      Viele Grüße,
      Michael

      Zuletzt geändert von keil; 26.10.2019, 15:39.

      Kommentar


        #33
        ... so, ein Blick in die von mir in das Verzeichnis "c:\Program Files (x86)\ETS5\CV\4.0.1997.50261" kopierte "knx_master.xml" zeigt in der zweiten Zeile:
        Code:
        <KNX xmlns="http://knx.org/xml/project/14">
        So wie ich das sehe ist die da falsch.

        Ich glaube ich weiß auch schon was ich tun muss, damit es funktioniert.

        Bleibt nur die Frage, warum bei manchen Leuten die "richtige" "knx_master.xml" schon in den entsprechenden Pfaden liegt, bei mir aber nicht und ich diese erst händisch kopieren musste?
        Bzw. woher bekomme ich die zum Schema 11 passende "knx_master.xml", falls ich damit arbeiten wollte?


        Viele Grüße,
        Michael


        Nachtrag:

        Wie hier beschrieben
        https://support.knx.org/hc/de/articles/360000219770-Masterdaten-Datei-fehlt-ist-beschädigt

        habe ich im entsprechenden Ordner nachgeschaut. Dort gibt es nur die Unterordner
        Greenshot 2019-10-26 16.50.19.png
        und nur im Ordner "project-14" befindet sich eine "knx_master.xml" (und das ist genau die, welche ich in das falsche Verzeichnis kopiert habe).
        Zuletzt geändert von keil; 26.10.2019, 15:52.

        Kommentar


          #34
          ... und weil Monologe so schön sind, hier die Lösung:

          Da -> https://update.knx.org/data/XML/proj...knx_master.xml

          Für andere Versionen einfach die "Projekt"-Nummer in der URL anpassen, und schon bekommt man die gewünschte Variante.


          Nachtrag: Irgendwas stimmt da leider noch nicht so ganz... ich muss mal weiter suchen.
          Mit der 11er Version klappt nämlich der Import in die ETS nicht mehr (und die macht jetzt noch ein paar andere Zicken).
          Zuletzt geändert von keil; 26.10.2019, 16:04.

          Kommentar


            #35
            Hallo Waldemar,

            um Missverständnisse zu vermeiden, kannst du vielleicht zu dieser Übersicht (Schema-Version <-> ETS Version)
            Zitat von mumpf Beitrag anzeigen
            Nochmal zum Verständnis:
            Wenn mein Tool mit knxprod aufgerufen wird, dann wird nur der Konverter von xml nach knxprod aufgerufen, es passieren keinerlei Anpassungen am xml-File selbst. Dann muss auch die Konverter-Engine zum xml-Dokument passen. Das wird im Dokument über Namespaces geregelt. Die Zuordnung ist
            • xmlns="http://knx.org/xml/project/11" für ETS4
            • xmlns="http://knx.org/xml/project/13" für ETS5.5
            • xmlns="http://knx.org/xml/project/14" für ETS5.6
            • xmlns="http://knx.org/xml/project/20" für ETS5.7
            noch die entsprechenden Pfade auf dem Betriebssystem posten? Ich habe nämlich den Verdacht dass ich hier noch irgendwas falsch mache und will nur sicher gehen die richtigen Pfade zu verwenden.


            Danke und viele Grüße,
            ​​​​​​​Michael

            Kommentar


              #36
              Hi Michael,

              keine Ahnung, ob es an dem knx_master.xml liegt. Ich musste nichts umkopieren und habe auch kein knx_master.xml in den Verzeichnissen. Ich benutze auch die 5.6.6 oder die 5.7.2, jeweils als Demo und auf eigenen VM, produktiv nur die 4.0.

              Bei mir liegen alle knx_master.xml in den jeweiligen project-Verzeichnissen unter C:\ProgramData\KNX\XML

              Ich hab multiply-channels so getestet, dass ich eine ETS-Demo auf eine leere VM installiert hatte, die ETS einmal gestartet hab und dann ohne weitere manuelle Aktionen multiply-channels mit einem xml file getestet. Das hat eigentlich immer geklappt bzw. ich habs erst freigegeben, als es geklappt hat. Mit ETS 4, 5.5, 5.6 und 5.7. Die 5.0 hatte ich damals nicht als demo runtergeladen, deswegen ist die nicht getestet, aber ich gehe mal davon aus, dass die auch geht. Ist aber auch nicht so wichtig, die meisten Leute werden auf der 4.0, 5.6 oder 5.7 sein.

              Meine Grundaussage stimmt: Schema bestimmt den Konverter und der weiß, wie er was im XML interpretieren muss. Ich würde die knx_master.xml aus dem Konverter-Verzeichnis entfernen und zusehen, dass es ohne manuelle Kopierschritte funktioniert. Und auch prüfen, ob bei Dir C:\ProgramData\KNX\XML existiert.

              Gruß, Waldemar
              OpenKNX www.openknx.de

              Kommentar


                #37
                Wow, du bist zu schnell, mein Post bezog sich auf Deinen um 16:35.
                OpenKNX www.openknx.de

                Kommentar


                  #38
                  Zitat von keil Beitrag anzeigen
                  noch die entsprechenden Pfade auf dem Betriebssystem posten?
                  Das steht hier in meinem Coding: https://github.com/mumpf/multiply-ch...Program.cs#L27

                  Wobei ich die aktuelle ETS nehme, wenn kein Konverter einer "alten" ETS nötig ist...

                  Gruß, Waldemar
                  OpenKNX www.openknx.de

                  Kommentar


                    #39
                    Noch was: bevor du versuchst, Schema 11 zu reparieren, geh einfach auf 14. Das kann viel mehr und ist bei den coolen Sachen expliziter und vermutlich stabiler. Und wenn du die ETS 5 hast, musst du ja nicht zur ETS 4 kompatibel bleiben.

                    Gruß Waldemar
                    OpenKNX www.openknx.de

                    Kommentar


                      #40
                      Hallo Waldemar,

                      du hast bei den sanity checks eingebaut das er auf doppelte Namen bei Parameter und ComObjekte prüft, ich glaue das ist aber zulässig. Die ID muss eindeutig sein der "Name" kann durchaus öfters vorkommen, zumindest ist mir das beim Durchstöbern eine knxprod so bereits unter gekommen.

                      Kommentar


                        #41
                        Hi Bernhard,

                        Du hast recht, für die knxprod ist das kein Problem. Aber ich generiere aus den Namen ein .h-file, und da sollten die Namen schon eindeutig sein. Falls Dich das zu sehr stört, müsste ich noch ein Parameter einbauen, dass den Namenscheck unterdrückt, dann gibt es aber auch kein .h-File . Normalerweise schadet es nicht, "restriktiver" zu sein, und dazu zählte für mich auch ein kollisionsfreies "Naming".

                        Gib mir einfach "Bescheid"... wobei mich interessieren würde, in welchem Fall man doppelte Parameter- bzw. KO-Namen haben will.

                        Gruß, Waldemar
                        OpenKNX www.openknx.de

                        Kommentar


                          #42
                          Das weiß ich auch nicht, mir ist nur aufgefallen das es das gibt und wollte es melden. Wenn du es bewusst so gemacht hast dann passt das ja erstmal, ich hab damit kein Problem....es weicht halt hier vom "Standard" ab...

                          Kommentar


                            #43
                            Hi,

                            Zitat von Bernator Beitrag anzeigen
                            Wenn du es bewusst so gemacht hast dann passt das ja erstmal, ich hab damit kein Problem...
                            dann lasse ich es so. Die meisten Checks baue ich ja ein, nachdem ich (oder andere) über irgendein Problem gestolpert sind. "Name" wird soviel ich weiß, nirgendwo in der ETS verwendet bzw. angezeigt und eignet sich somit perfekt als Bezeichner für ein #define. Für Parameter übernehme ich den Namen direkt, bei einem ComObject mache ich noch ein "Ko" davor. Allerdings müssen die dann eindeutig sein (jeweils für Parameter und für ComObject).

                            Zitat von Bernator Beitrag anzeigen
                            es weicht halt hier vom "Standard" ab...
                            Mein Ziel ist es nicht, existierende knxprod erneut erzeugen zu können, sondern neue - und die können ja ruhig etwas "sauberer" sein als das, was bereits existiert. Aber Du hast Recht, an der Stelle bin ich restriktiver als das, was im XML-Schema vorgegeben ist. Das Tool soll ja beim Entwickeln unterstützen...

                            Gruß, Waldemar


                            OpenKNX www.openknx.de

                            Kommentar


                              #44
                              wie gesagt alles gut

                              hast du dir zufällig mal das Thema "Baggages" angesehen, hier gibt es die Möglichkeit kleine Bilder im ETS Parameter Dialog anzuzeigen?

                              Was noch ziemlich cool wäre, wenn das Tool im dynamic Teil bei jeder Referenz als Kommentar das Entsprechende Text Attribut einfügt, dann würde dieser Teil entwas lesbarer werden
                              Zuletzt geändert von Bernator; 04.01.2020, 17:24.

                              Kommentar


                                #45
                                Hi,

                                hättest Du vielleicht ein Beispiel für mich? So eine xml mit Baggages? Möglichst einfach und vielleicht knapp kommentiert. Vor allem das, was Du gerne vom Tool eingetragen haben würdest? Und weißt Du, in welchem Format die Bilder sein müssen? Ich hab da echt noch keine Ahnung...
                                Dann könnte ich das schon einbauen, ich wäre auch daran interessiert, Bilder bei den Parametern zu haben .

                                Gruß, Waldemar
                                OpenKNX www.openknx.de

                                Kommentar

                                Lädt...
                                X