Ankündigung

Einklappen
Keine Ankündigung bisher.

OpenKNXproducer support thread

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

    OpenKNXproducer support thread

    Ich habe soeben den OpenKNXproducer (https://github.com/OpenKNX/OpenKNXpr...ses/tag/v1.1.1) freigegeben.

    Das ist der (inkompatible) Nachfolger vom multiply-channels (https://github.com/mumpf/multiply-ch...ases/tag/2.1.2). Dieses Tool wird von ausgelieferten OpenKNX-Paketen dazu genutzt, um eine passende knxprod zur Firmware zu bauen. Es gibt für dieses Tool auch ein Installationsscript direkt im zip-Paket. Die Installation ist in unserem OpenKNX-Wiki beschrieben (https://github.com/OpenKNX/OpenKNX/w...-OpenKNX-tools), sollte aber auch durch das enthaltene Readme-File selbsterklärend sein.

    Dieses Tool wird im Hintergrund genutzt und wird von einem User nicht direkt gebraucht, außer man will selber eine ETS-Applikation bauen. Der Hauptunterschied zu multiply-channels ist die Unterstützung von ETS 5.7 und ETS 6, dafür wird ETS 4 nicht mehr unterstützt. Durch die Einführung von restriktiveren Prüfungen ist das neue Tool nicht kompatibel zu multiply-channels. Wer bisher mit multiply-channels Eigenentwicklungen gemacht hat, muss nicht wechseln, da alle damit erzeugten Applikationen auch in ETS 6 importiert werden können.

    Wenn man eine Firmware aus einem OpenKNX-Paket installieren will, wird dieses Tool im Hintergrund aufgerufen. Dabei kann es passieren, dass man zum Update der OpenKNX-Tools aufgefordert wird, falls die Versionen nicht passen. Sollte (hoffentlich) alles ohne Probleme laufen.

    Gruß, Waldemar
    OpenKNX www.openknx.de

    #2
    nice~

    Kommentar


      #3
      Hallo...
      benötigt man für den OpenKNXproducer zwingend ein Windows10 oder läuft der theoretisch auch noch auf Windows 7?

      Kommentar


        #4
        Windows 7... Support Ende 2020 (!). Und selbst der Extended-Support ist diesen Januar ausgelaufen.

        Probiers aus - Versuch macht kluch.
        OpenKNX www.openknx.de | NanoBCU und OpenKNX-HW verfügbar

        Kommentar


          #5
          Der Versuch endete mit einer Fehlermeldung und einem Absturz, daher meine Frage... 😅

          Kommentar


            #6
            …dann ist er nicht kompatibel (es wird dort niemand den ich kenne noch einen Testrechner haben, geschweige denn Aufwand hineinstecken).

            Du solltest aus diversen Gründen über Win10 besser gleich 11 nachdenken. Lt. c’t geht das immer noch kostenlos.
            Zuletzt geändert von willisurf; 13.03.2023, 13:31.
            Gruß Bernhard

            Kommentar


              #7
              Dann weiß ich wenigestens wo ich ansetzen muss.. Danke!

              Kommentar


                #8
                Nochmal von meiner Seite: OpenKNXproducer benötigt .net core >= 6.0 und die ETS >= 5.7. Soviel ich weiß, unterstützen beide nicht Windows 7. Du kannst natrürlich versuchen, die Sourcen neu zu compilieren, mit einem älteren .net core framework (einige Funktionen, die ich aus .net core 6 nutze, musst Du dann selber schreiben). und schauen, ob die ETS 5.7 auf Win7 läuft.

                Ich würde eher in einen Upgrade auf Win 10 oder 11 investieren.

                Gruß, Waldemar
                OpenKNX www.openknx.de

                Kommentar


                  #9
                  Guten Morgen,
                  kurzes Feedback: unter Windows 11 hat alles einwandfrei funktioniert. Danke und Respekt für eure Arbeit!

                  Kommentar


                    #10
                    Hallo Waldemar mumpf, wir hatten die Tage im Unterforum zum chinesischen IO-Device H8I8O eine nette Diskussion geführt. Zum Erstellen der Produktdatenbank für dieses Device hatte ich deinen OpenKNXProducer benutzt. Ich weiß, es ist natürlich nicht im Sinne des Erfinders, eine bestehende knxprod zu nehmen, die zu entpacken und dann wieder mit OpenKNXProducer zusammenzubauen, es hat aber in meinem Falle bis auf einige Kleinigkeiten erstaunlicherweise gut funtkioniert. Wie ich im besagten Thread beschrieben hatte, habe ich mich mit der Übersetzung der Texte befasst und es hat alles wunderbar funktioniert bis auf eine Sache, wofür OpenKNXProducer wahrscheinlich noch gar nicht gedacht ist: Mehrere Sprachen für Catalog.xml und Hardware.xml zu unterstützen. Ich hatte es mir bei den "professionellen" knxprod abgeschaut, dass auch Catalog.xml und Hardware.xml ihre eigenen Languages-Bereiche haben können. Nun dachte ich, packe ich diese Abschnitte in die Projekt-XML-Datei rein. Dabei hatte ich mich schon etwas unwohl gefühlt, dachte mir aber, dass es schon irgendwie gehen wird. Drei Languages-Bereiche in einer XML-Datei war aber anscheinend dem OpenKNXPrtoducer doch zu viel. Das Komische dabei: Du kannst danach die knxprod-Datei mit ETS einlesen und sie funktioniert auch, es treten aber einige Seiteneffekte auf, die recht undeterministisch sind, kaum nachvollziebar und erklerbar sind. Das hat mich irgendwann mal dazu gebracht, die generierte knxprod zu entpacken und mir die einzelnen xml-s anzuschauen. Und da habe ich verstanden, wo das Problem liegt: Vermutlich kommt dein Programm mit dem Ausschneiden der Bereiche für Catalog.xml und Hardware.xml durcheinander, sobald man dort versucht auf die oben beschriebene Art Languages zu definieren. Wenn man z.B. Languages nur bei Hardware definiert und nicht beim Catalog, dann stehen sie ziemlich am Ende der Projekt-XML-Datei. Languages landem in dem Falle sowohl bei Catalog.xml (wo sie gar nicht hin gehören), als auch bei Hardware.xml. Eine solche Produktdatenbank funktioniert noch, ist aber nicht wirklich multilingual. Wenn man die Languages-Abschnitte sowohl für Catalog.xml als auch für Hardware.xml definiert, dann geht komplett alles durcheinander. Bei mir waren dann plötzlich komplette Languages-Abschnitte aus der Hauptdatei M-00FA_A-xxxx.xml in beiden Catalog.xml und Hardware.xml gelandet, wodurch die beiden Dateien dann riesig groß geworden sind. Aber selbst eine solche Produktdatenbank wird von ETS ohne Murks geschlückt.
                    Meine Abhilfe war folgende: Ich habe mir die knxprod ohne die Languages-Bereiche in Catalog.xml und Hardware.xml mit OpenKNXproducer erzeugt. Dann die knxprod entzippt und die beiden Dateien manuell nachgearbeitet. Glücklicherweise sind diese Language-Bereiche überschaubar und enthalten keine HASH-Werte. Danach habe ich mithilfe von knxsign aus dem 9-Jahre alten Projekt mir das Produktverzeichnis "umsigniert" und anschließend mit zip wieder zu knxprod zusammengepackt. Also quasi einige Schritte, die OpenKNXProducer selbstständig macht händisch durchgeführt.Somit habe ich für mich einen etwas umständlichen dennoch machbaren Weg gefunden, eine vernünftige knxprod zu erzeugen.
                    Bitte diese Meldung nur als Information betrachten. Ich erwarte nicht, dass du jetzt deinen OpenKNXProducer meinen Bedürfnissen anpasst. Es geht mir dabei nur darum, dass falls ihr zukünftig multilinguale Inhalte auch in Catalog.xml und Hardware.xml unterstützen wollt, dann wäre da noch was zu tun, bis es funktioniert.
                    Wenn du Zeit und Interesse hast, kann ich dir meine XMLs zwecks Nachstellen per PM zur Verfügung stellen.

                    Kommentar


                      #11

                      Hi, vielen Dank für Dein Feedback.

                      Aktueller Stand bezüglich Multilanguage ist - wie Du es schon erkannt hast - eher rudimentär. Um so mehr freut mich, wenn ich mit der Implementierung nicht komplett daneben liege.

                      Zitat von sattler Beitrag anzeigen
                      Wenn du Zeit und Interesse hast, kann ich dir meine XMLs zwecks Nachstellen per PM zur Verfügung stellen.
                      Interesse auf jeden Fall, Zeit muss man sich eben nehmen. Die nächste "größere" Runde beim Producer ist eher für Anfang 2025 geplant (ich sammle immer ein paar Punkte, bis ich was mache). Aber dann denke ich schon, dass ich Multilanguage auch abrunden werde. Und damit Deine Arbeit nicht verloren geht und ich auch gleich was zum testen habe, würde ich mich freuen, wenn Du mir die Files per PM zusenden würdest.

                      Danke und Gruß,
                      Waldemar


                      OpenKNX www.openknx.de

                      Kommentar


                        #12
                        Guten Abend.
                        Ich habe mich auch mal an einige hier rumliegende Kreationen gewagt und komme beim erstellen der knxprod nicht weiter.
                        Es hat einmal funktioniert und die nächsten Male dann leider nicht mehr.
                        Die Meldung aus der PowerShell lautet:

                        Code:
                        OpenKNXproducer 3.4.1.0
                        Reading xml file data/content.xml writing to ./content.knxprod
                        Unhandled exception. System.ArgumentOutOfRangeException: startIndex cannot be larger than length of string. (Parameter 'startIndex')
                           at System.String.ThrowSubstringArgumentOutOfRange(Int32 startIndex, Int32 length)
                           at System.String.Substring(Int32 startIndex)
                           at OpenKNXproducer.Program.FindEtsPath(String lXmlns)
                           at OpenKNXproducer.Program.VerbKnxprod(KnxprodOptions opts)
                           at OpenKNXproducer.Program.Main(String[] args)​
                        Ich habe auch die OpenKnxToolbox probiert, aber damit bekomme ich die knxprod zwar erstellt, aber es kommt dann immer beim importieren in die ETS die Fehlermeldung dass keine gültige Signatur vorhanden ist.

                        Auch die Powershell Voraussetzung habe ich gecheckt:

                        Code:
                              
                         Scope ExecutionPolicy
                                ----- ---------------
                        MachinePolicy       Undefined
                           UserPolicy       Undefined
                              Process       Undefined
                          CurrentUser          Bypass
                         LocalMachine       Undefined
                        ​
                        Hat jemand noch eine Idee?
                        Bin aber auch kein Profi in dieser Materie.
                        Gruß Ralf

                        Kommentar


                          #13
                          Hallo Ralf

                          Betreffend ETS Signatur Fehlermeldung, siehe Post #418 und folgend ...
                          Leider noch keine Lösung
                          Gruss Daniel

                          Kommentar


                            #14
                            Hallo Ralf,

                            hast Du das Kommando für den OpenKNXproducer manuell eingegeben? content.xml ist nicht das xml mit der Applikation. Das kann der Producer gar nicht verarbeiten. Normalerweise ist das so gedacht, dass Du mit rechter Maustaste auf das Skript "Build-knxprod.ps1" klickst und "Mit PowerShell ausführen" wählst.
                            Ansonsten ist das korrekte xml das ./data/SensorModule.xml.

                            Gruß, Waldemar

                            OpenKNX www.openknx.de

                            Kommentar


                              #15
                              Guten Morgen Waldemar.
                              Ich mache das mit dem Rechtsklich auf der Build-knxprod.ps1 und was mich wundert:
                              Bei dem Logicmodul funktioniert das auch ganz normal, das habe ich auch schon in der ETS drin.
                              Bei dem GardenControl und PresenceModuleBig klappt das leider nicht.

                              Viele Grüße Ralf
                              Gruß Ralf

                              Kommentar

                              Lädt...
                              X