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

    #16
    Hi Waldemar,

    wusste ja nicht das du so komplexe Devices und Namen hast :-) Bei mir heissen die "TEST" und "Test1" :-)

    Gruß
    RObert

    Kommentar


      #17
      Hi,

      habe soeben eine neue Version 1.0.2 freigegeben, beschrieben auf GitHub. Neben Bugfixes auch ein paar Neuerungen...

      Größte Neuerung: Ein Verb 'new', das jetzt auch das erzeugen von neuen (Initialen) xml erlaubt. Man muss somit nicht mehr auf CreateKnxProd zurück greifen.

      Und 2 neue Checks sind auch dabei...

      Gruß, Waldemar
      OpenKNX www.openknx.de

      Kommentar


        #18
        Hi Waldemar,

        geniale Funktionen! Habe getestet und klappt ohne Probleme. Warum nutzt du im Template xmlns="http://knx.org/xml/project/11">?

        Gruß
        Robert

        Kommentar


          #19
          Das versteht auch die ets4. Und ich denke, wenn jemand so weit ist, dass er die ets5.6 Spezialfunktionen nutzt, weiss er auch, dass man den namespace auf 14 ändern muss.

          Gruß, Waldemar

          ​​​​
          OpenKNX www.openknx.de

          Kommentar


            #20
            Ja stimmt, hatte mich nur gewundert, da du ja prüfst welche ETS installiert ist könnten man den korrekten string setzen, aber das wäre ja schon was für die
            Luxuswunschliste :-)

            Gruß
            RObert

            Kommentar


              #21
              Hi Robert,

              Zitat von jeff25 Beitrag anzeigen
              da du ja prüfst welche ETS installiert ist
              das stimmt so nicht. Ich suche passend zu Namespace den richtigen Konverter. Jede der unterstützten ETS (4, 5.0, 5.5, 5.6, 5.7) installiert Konverter für seine und vorherige ETS mit. Wenn ich einen Konverter finde (z.B. den 5.0 für Namespace   xmlns="http://knx.org/xml/project/12"> ), weiß ich nicht, ob er aus der ETS 5.7, 5.6 oder 5.5 kommt...

              Langer Rede kurzer Sinn: Ich weiß nicht, welche ETS installiert ist. Ich weiß, wie ich das prüfen könnte, aber ich sehe derzeit nicht den Bedarf. Das Tool ist dazu da, händisch modifizierte xml-Files in knxprod zu wandeln, ich gehe davon aus, dass nach und nach das Wissen um die Inhalte der Files steigt und die Leute lernen, im xml die korrekten Einstellungen zu machen.

              Ich habs ja auch gelernt, und mir hat es auch keiner erklärt...

              Gruß, Waldemar
              Zuletzt geändert von mumpf; 15.10.2019, 14:29.
              OpenKNX www.openknx.de

              Kommentar


                #22
                Hi Waldemar,

                du hast ja soooo recht :-) Dein Tool ist ja schon eine sehr große Hilfe. Es ist trotzdem nicht so easy sich das alles von Grunde selbst zu erklären, ich versuche ja schon viel selbst :-)

                ps: hatte von Luxusliste gesprochen... daher vergiss es.

                gruß
                Robert

                Kommentar


                  #23
                  Hi,

                  hab heute noch ein weiteres Release freigegeben mit einem kleinen Bugfix und 3 weiteren Checks:
                  • bei Parameter-Value-Integrity wird geprüft, ob das Value-Attribut eines Parameters zum Typ des Parameters passt. Das wird nämlich erst in der ETS angemeckert mit einer nichtssagenden Meldung "Wert passt nicht zum Typ" (oder ähnlich). Bei 1000 Parametern nicht einfach zu finden...
                  • bei ParameterRef-Value-Integrity wird geprüft, ob das Value-Attribut eines ParameterRef zum Typ des Parameters passt, dass der ParameterRef referenziert.
                  • Bei Id-Namespace wird geprüft, ob alle IDs des Quell-XML aus dem selben Namensbereich kommen. Falls man nämlich xml-Teile aus verschiedenen xml zusammenkopiert, kann es schnell dazu kommen, dass die IDs nicht mehr zusammen passen. Das meckert keiner an, auch die ETS nicht, aber bei der Programmierung werden dann nicht alle Daten übertragen - ist saublöd zu finden
                  Ansonsten habe ich das per "new" erzeugte xml verfeinert, es enthält ein komplett kommentiertes Mini-Beispiel, das auch in der ETS funktioniert. Man kann sich somit das Verhalten in der ETS anschauen und zusammen mit den Kommentaren hoffentlich einfach herleiten, wie die Zusammenhänge sind.

                  Das Mini-Beispiel enthält auch ein "'In Betrieb' Status senden" KO mit passender Parametrierung, dass man durchaus direkt so in eigenen Geräten verwenden kann. Ferner demonstriert es, wie man ParameterBlock, Channel, ComObject und einzelne Parameter in der ETS definiert und ein- und ausblendet.

                  Aktuellstes Release ist hier: https://github.com/mumpf/multiply-ch...tag/1.0-beta-2

                  Gruß, Waldemar
                  OpenKNX www.openknx.de

                  Kommentar


                    #24
                    Hi Waldemar,

                    vielen Dank! Das ist nun eine verdiente Beta, danke das du dir Beispiele erweitert hast, nun erklärt sich vieles von alleine bei mir.

                    Bin auf die nächsten Funktionen gespannt :-)

                    gruß
                    RObert

                    Kommentar


                      #25
                      Hallo Waldemar,

                      erst mal vielen herzlichen Dank dafür, dass Du Deine Arbeit zur Verfügung stellst!

                      Ich fange gerade mit der Entwicklung aufbauend auf dem Stack von thesing an und finde es toll, dass es hier noch eine zweite Möglichkeit gibt, die *.knxprod-Dateien zu erzeugen.

                      Ich würde zum Beispielprojekt evtl. einen kleinen Pullrequest mit ein paar Schönheitskorrekturen beisteuern, aber vorher ist mir noch was anderes aufgefallen.

                      In der Headerdatei verwendest Du zwei unterschiedliche Zeilenenden:
                      Greenshot 2019-10-25 21.58.41.png

                      Wahrscheinlich ist es den meisten Compilern egal, aber da ich nicht weiß ob Du jetzt "\n" oder "\r\n" meinst: kannst Du das vielleicht korrigieren?


                      Viele Grüße,
                      Michael
                      Zuletzt geändert von keil; 25.10.2019, 21:00.

                      Kommentar


                        #26
                        ... und noch etwas:

                        Du hast hier https://knx-user-forum.de/forum/öffentlicher-bereich/knx-eib-forum/diy-do-it-yourself/1216828-esp8266-knx-mit-ets?p=1400186#post1400186 das Ergebnis einer Deiner *.knxprod-Dateien gezeigt... das ist schon ziemlich eindrucksvoll.

                        Ich glaube das Meiste davon ist bereits in dem Beispiel von "MultiplyChannels" drin, aber wie z.B. bekommst Du die horizontale Linie zur Unterteilung hin? Kannst Du das (und was eventuell noch fehlt) bitte noch mit in die Beispiel-XML packen? Mit den ganzen Kommentaren darin ist die wirklich sehr hilfreich...


                        Viele Grüße,
                        Michael

                        Kommentar


                          #27
                          Hi Michael,

                          Zitat von keil Beitrag anzeigen
                          aber wie z.B. bekommst Du die horizontale Linie zur Unterteilung hin? Kannst Du das (und was eventuell noch fehlt) bitte noch mit in die Beispiel-XML packen?
                          Ist schon drin, Zeile 190-191:
                          Code:
                                          <!-- A ParameterSeparator with an empty text is presented as a line -->
                                          <ParameterSeparator Id="M-00FA_A-0000-00-0000_PS-1" Text=" " />
                          Das mit <cr> bzw. <cr><lf> hab ich zugegebenermaßen noch nicht überprüft, da es keine Probleme verursacht hat. Meistens arbeite ich passend zur Plattform, da es hier um Windows geht, würde ich für <cr><lf> plädieren. Da das komplette file von c# generiert wird, wundert es mich eher, dass da wirklich reine <lf> stehen...

                          Ich hab eben nochmal geschaut, bei mir stehen nur <cr><lf> drin. Ich weiß nicht, warum das in Deinem File gemischt ist. Allerdings hatte ich schon öfter mal nach dem pull über git auch nur diffs, die durch fehlerhafte line endings kamen...

                          Gruß, Waldemar



                          OpenKNX www.openknx.de

                          Kommentar


                            #28
                            Hallo Waldemar,

                            Ich hab eben nochmal geschaut, bei mir stehen nur <cr><lf> drin. Ich weiß nicht, warum das in Deinem File gemischt ist. Allerdings hatte ich schon öfter mal nach dem pull über git auch nur diffs, die durch fehlerhafte line endings kamen...
                            Das gepaart mit der Aussage, dass du auf beiden Plattformen (Windows und Linux) arbeitest, klingt für mich sehr stark nach der Git-Option "core.autocrlf" evtl. zusammen mit einem Editor, der Zeilenendungen automatisch an das Betriebssystem anpasst.

                            Falls Du diese Option noch nicht kennst, hier findest Du weitere Infos dazu:

                            https://git-scm.com/book/de/v1/Git-i...nd-Leerzeichen

                            Zusammengefasst: Git kann je nach Einstellung die Zeilenendungen für den Push, aber auch nach einem Pull, automatisch ändern (das kann sinnvoll sein, wenn man auf unterschiedlichen Plattformen arbeitet, aber bei falscher Einstellung eben auch Probleme bereiten).

                            Wie diese Option bei Dir aktuell konfiguriert ist, siehst Du mit Hilfe von
                            Code:
                            git config --list
                            Vielleicht hilft Dir das ja weiter.


                            Viele Grüße,
                            Michael
                            Zuletzt geändert von keil; 26.10.2019, 14:04.

                            Kommentar


                              #29
                              Hallo Waldemar,

                              Zitat von mumpf Beitrag anzeigen
                              Ist schon drin, Zeile 190-191
                              Danke. Wenn ich das richtig sehe, dann sollte die horizontale Linie direkt über dem Text "Angeschlossene Sensoren" zu finden sein, richtig?
                              Bei mir ist da aber nichts...

                              Greenshot 2019-10-26 14.52.28.png

                              Die *.knxprod habe ich erstellt mit
                              Code:
                              MultiplyChannels.exe new --ProductName=TestProduct --AppNumber=1111 Test
                              und direkt in die ETS importiert (also keine Änderungen an der XML vorgenommen).

                              Weitere Infos:
                              Betriebssystem: Windows 10 Pro
                              ETS: ETS 5.6.6 (Build 1190), Professional Lizenz

                              Ich hänge nicht an der ETS-Version... also wenn das bei neueren Versionen eine Linie ergibt, dann würde ich auch updaten.

                              Im Anhang mal noch Screenshots der anderen Einstellungen. Vielleicht könntest Du mal kurz drüberschauen, ob das so aussieht wie es sollte oder noch andere Sachen fehlen.


                              Viele Grüße,
                              Michael
                              Angehängte Dateien
                              Zuletzt geändert von keil; 26.10.2019, 14:09.

                              Kommentar


                                #30
                                Hi Michael,

                                ich lerne ja auch noch immer dazu : Gerade erst durch Try&Error ausprobiert, weil zufällig bei meiner ETS-Demo (5.7.2) auf nem anderen Rechner die Linie auch fehlte. Der Zusammenhang ist aber nicht die ETS-Version, sondern der Konverter, den man nutzt. Letztendlich besitzt die Schema-Version Semantik, nur kennt man als Außenstehender nicht alle Zusammenhänge...

                                Also: Wenn man ein Dokument mit Schema 11 konvertiert (wird auch bei "new" so erzeugt), kommt die Linie, weil der Konverter der ETS4 genutzt wird (ist auch in der ETS5 enthalten).

                                Du hast vermutlich ein Schema 14 verwendet, das nutzt den Konverter der ETS 5.6, und da muss die Linie mit
                                Code:
                                                    <ParameterSeparator Id="M-00FA_A-0000-00-0000_PS-1" Text="" UIHint="HorizontalRuler" />
                                erzeugt werden. 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. Hab schon mal
                                Code:
                                ... UIHint="Information"
                                ... UIHint="Error"
                                entdeckt, und dass dynamische Texte im UI über   TextParameterRef="..."  gehen. Aber das ist alles noch nicht ausprobiert und somit bin ich mir nicht sicher, was da gehen könnte. Ist wie gesagt Wissen, dass ich gerade mal 15 Minuten habe

                                Also: Du musst die ETS nicht upgraden. Wenn Du aber auf Schema Version 14 arbeitest, wirst Du die knxprod wohl nur mit ETS 5.6 und größer nutzen können. Ist aber auch nur eine Vermutung, hab ich (noch) nicht ausprobiert.

                                Gruß, Waldemar


                                OpenKNX www.openknx.de

                                Kommentar

                                Lädt...
                                X