Ankündigung

Einklappen
Keine Ankündigung bisher.

OpenKNXproducer support thread

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

    #16
    Hallo Ralf,

    ich konnte das reproduzieren und auch korrigieren - allerdings wird das mit dem Release noch etwas dauern. Workaround:
    Du machst das Build-knxprod.ps1 Skript mit einem Editor auf und änderst die Zeile 31 von
    Code:
        $xml = Get-ChildItem data/*.xml
    auf
    Code:
        $xml = Get-ChildItem data/*.xml -Exclude content.xml
    Dann wird es funktionieren.

    Danke für die Rückmeldung und Gruß,
    Waldemar
    OpenKNX www.openknx.de

    Kommentar


      #17
      Guten Morgen,
      das hat funktioniert!

      Vielen Dank.
      Gruß Ralf

      Kommentar


        #18
        Danke für die Rückmeldung.

        Die Änderung wird in allen kommenden Releases drin sein, falls das Problem bei vorhandenen Releases besteht, hilft der Workaround. Und bei vorhandenen Releases kann - muss es aber nicht auftauchen, hängt einfach davon ab, welche Datei zuerst entpackt wurde. Und scheinbar hatten wir alle im letzten Jahr einfach Glück (seit ca. einem Jahr gibt es die content.xml).

        Gruß, Waldemar
        OpenKNX www.openknx.de

        Kommentar


          #19
          Zitat von mumpf Beitrag anzeigen
          Unterstützung von ETS 5.7 und ETS 6
          Ich hoffe ich bin mit meiner Frage nicht zu off-topic.

          Gibt es irgendwo eine (grobe) Übersicht, ob bzw wie sich das Speicherformat von ETS5 zu ETS6 verändert hat?

          Kommentar


            #20
            Nee, zumindest nicht dass ich wüsste. Ist auch nicht das, was wir machen. Der Producer ist ja nur ein Werkzeug, dass das Erstellen von Produktdatenbanken ermöglicht. Hat mit dem Speicherformat der ETS gar nichts zu tun.

            Gruß, Waldemar
            OpenKNX www.openknx.de

            Kommentar


              #21
              OK. Dann hatte ich den Fokus von OpenKNXproducer flash verstanden. Wegen der Einschränkung der ETS-Versionen ging ich davon aus, dass hier das Datenformat eine Rolle spielen könnte. Es wird aber vermutlich lediglich um die APIs der ETS-DLLs gehen?

              Hintergrund meiner Frage ist, dass ich ein Tool für git-smudge geschrieben habe, das die Verwaltung von ETS-Projekten unter git erträglich machen soll, indem es die Projekt-Daten in ein kanonisches Format überführt. Ohne dieses Tool bekommt man bei jedem Öffnen (und erst recht bei Änderungen) des Projektes semantisch irrelevante Änderungen wie Whitespace, oder auch Umsortierung von XML-Elementen (zB DevCert), ganz zu schweigen von den .ets5hash-Dateien.

              Darum die Frage: Verwaltet ETS6 die Daten weiterhin als XML+etshash+Signatur oder ist evtl noch eine Verschlüsselung darübergestülpt worden?

              Wo wäre solch eine Frage On-Topic?

              Kommentar


                #22
                Zitat von derneugierige Beitrag anzeigen
                Verwaltet ETS6 die Daten weiterhin als XML+etshash+Signatur
                Ja. Es hat sich nur die xsd geändert, weil XmlElement hinzugekommen sind.

                Zitat von derneugierige Beitrag anzeigen
                Wo wäre solch eine Frage On-Topic?
                In einem eigenen Thread unter DIY/OpenKNX.
                OpenKNX www.openknx.de | Kaenx-Creator | Dali-GW

                Kommentar


                  #23
                  Hallo Waldemar,

                  ich versuche mich aktuell in die XMLs einzuarbeiten und tue mir nach wie vor noch schwer.

                  Daher wollte ich deinem Beispiel folgen:

                  Ausführen von:
                  Code:
                  OpenKNXproducer new --ProductName=TempSensor --AppNumber=567 Sensor
                  Ergebnis:
                  Generating knxprod file....

                  Error during knxprod file generation:
                  System.AggregateException: One or more errors occurred. (Baggages element not found in xml)
                  ---> System.Exception: Baggages element not found in xml
                  at OpenKNX.Toolbox.Sign.SignHelper.SplitXml(String lTempXmlFileName, String outputFolder)
                  at OpenKNX.Toolbox.Sign.SignHelper.ExportKnxprod(Stri ng iWorkingDir, String iKnxprodFileName, String lTempXmlFileName, String iXsdFileName, Boolean iIsDebug, Boolean iAutoXsd)
                  at OpenKNX.Toolbox.Sign.SignHelper.<>c__DisplayClass1 _0.<ExportKnxprodAsync>b__0()
                  at System.Threading.ExecutionContext.RunFromThreadPoo lDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
                  --- End of stack trace from previous location ---
                  at System.Threading.ExecutionContext.RunFromThreadPoo lDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
                  at System.Threading.Tasks.Task.ExecuteWithThreadLocal (Task& currentTaskSlot, Thread threadPoolThread)
                  --- End of stack trace from previous location ---
                  at OpenKNX.Toolbox.Sign.SignHelper.ExportKnxprodAsync (String iWorkingDir, String iKnxprodFileName, String lTempXmlFileName, String iXsdFileName, Boolean iIsDebug, Boolean iAutoXsd)
                  --- End of inner exception stack trace ---
                  --> Skipping creation of Sensor.knxprod due to check errors! <--​


                  OK- sicherlich nicht gut, ABER wenn ich es dann checken will kommt:

                  Ausführen von:
                  Code:
                  OpenKNXproducer.exe check Sensor.xml --Debug --CommentDebug=yes
                  Ergebnis:
                  OpenKNXproducer 3.6.2.0
                  Reading and resolving xml file Sensor.xml
                  Processing include Sensor.xml

                  Sanity checks...
                  - Id-Homogeneity...
                  --> There are includes with new '%AID%' and with old 'M-00FA_A-0001-01-0000' notation, this cannot be mixed. No further checks possible until this is solved!
                  Writing debug file to Sensor.debug.xml
                  Validation against .... Xsd-File not found!​


                  wo finde ich diese "alte" Notation?

                  Danke.
                  Gruß Markus
                  Angehängte Dateien

                  Kommentar


                    #24
                    Durchsuche einfach die XML nach den alten IDs.
                    Kannst suchen nach _A dann findest die schnell und kannst sie durch %AID% ersetzen.
                    OpenKNX www.openknx.de | Kaenx-Creator | Dali-GW

                    Kommentar


                      #25
                      muletto: Das new-Kommando beim Producer kommt noch aus den Anfangstagen... damals war die gesamte XML-Struktur noch anders und das Kommando verwendet kaum noch jemand. Ich schaue mal, ob ich das mit wenig Aufwand auf den aktuellen Stand bekomme, aber ich werde das Kommando wahrscheinlich eher entfernen. Es gibt genug OpenKNX-Projekte, die man sich ansehen kann, ich würde da ansetzen. Die Struktur, die bei new generiert wird, kann ich sowieso nicht mehr empfehlen.

                      Gruß, Waldemar
                      OpenKNX www.openknx.de

                      Kommentar

                      Lädt...
                      X