Ankündigung

Einklappen
Keine Ankündigung bisher.

Kaenx-Creator - Erstelle KNX Produktdatenbanken mit GUI

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

    #46
    Und ein neues "Problem"

    Ich habe eben für 8 Schalter je 3 Kommunikationsobjekte definiert. Dabei bin ich folgendermaßen vorgegangen:
    - Definition KO_Switch_1
    - Definition KO_Dim_1
    - Definition KO_State_1

    - Clone KO_Switch_1
    - Clone KO_Dim_1
    - Clone KO_Dim_1

    - Umbenennen der Clones KO_Switch_1 in KO_Switch_2
    - gleiches für Dim und State

    und diese Schritte habe ich für alle 8 Schalter exakt so wiederholt. Siehe dazu KO_Definition.png

    Bei der Zuweisung der KOs sehe ich aber dann folgendes KO_Zuweisung.png

    Nach der Zuweisung stehen beide Namensvarianten im Tool. Siehe KO_Ergebnis.png.

    Mache ich da etwas, was du anders gemacht hättest oder ist das ein kleiner Bug?

    Gruß
    Helmut
    Angehängte Dateien

    Kommentar


      #47
      Zitat von mobil750 Beitrag anzeigen
      Mache ich da etwas, was du anders gemacht hättest oder ist das ein kleiner Bug?
      Das ist tatsächlich ein kleiner Bug.
      Workaround: Automatisches ComObjectRef deaktivieren, händisch die ComObjectRefs umbenennen und danach wieder aktivieren.
      Run you clever boy and remember!

      Kommentar


        #48
        OK, danke!

        Das mit dem 2x Klicken in das Argumente Feld funktioniert auch.

        Gruß
        Helmut

        Kommentar


          #49
          Hallo Mike,

          sorry, es hat etwas länger gedauert, bis ich wieder ans Testen gekommen bin. Im Prinzip funktioniert es sehr gut. Ich habe nur noch ein paar Kleinigkeiten gesehen.

          Wenn ich den Namen eines KOs ändere, schlägt das fast überall sofort durch. Nur der KO-Ref Name im Dyn Zweig wird nicht geändert. Wenn ich die Liste der KOs aufklappe sehe ich den geänderten Namen (KO_Heartbeat_Counter), kann ihn auch auswählen, es bleibt aber im Feld der alte Name stehen (KO_Heartbeat). Gleiches Verhalten ist bei den Parameter Name zu sehen.

          Ich habe bei der Überprüfung der App mal den Button "Nicht verwendete Elemente markieren" ausprobiert und dabei eine Meldung bekommen, dass 1 ComObjRef nicht genutzt wird. Ich habe alle im Dyn Teil verwendeten KOs mit den definierten verglichen und kann das Ergebnis nicht bestätigen. Ich hänge die ae-menu wieder mit an zu Verifikation.
          Des Weiteren wurden 3 ParamRefs als nicht benutzt gemeldet. Das ist richtig, die habe ich fälschlicher Weise angelegt. Nun wollte ich die 3 aus der Param-Liste entfernen, bekomme aber den Hinweis, dass sie angeblich in Verwendung sind, was nicht richtig ist. Es geht um Param_Value_8_bit, .._16_bit und .._Value_Percent.

          Soweit nun meine unkritischen Ergebnisse.

          Danke und Gruß
          Helmut

          P.S.: Noch eine Frage / Bitte.
          Könntest du beim Veröffentlichen den nun möglichen Dateinamen noch zum Dateinamen des Header Files hinzufügen?
          Z.B. TD-8-mD-S.knxprod und TD-8-mD-S_knxprod_AE00_02.h
          Damit wäre dann der Zusammenhang zwischen den beiden Dateien im Verzeichnis sichergestellt.
          Angehängte Dateien
          Zuletzt geändert von mobil750; 28.02.2023, 13:05.

          Kommentar


            #50
            Ich habe noch zwei wesentliche Punkt gefunden.

            Im Tab HW/Geräte - Applikationen werden die hinzugefügten Apps scheinbar nicht mehr gespeichert. Heißt, wenn ich dieDatei speichere, schließe, neu öffne, ist dort nichts mehr hinterlegt obwohl ich es vorher eingetragen habe. Gemerkt habe ich es durch die entsprechende Fehlermeldung beim Veröffentlichen.

            Ich möchte die ComObjIDs automatisch vergeben lassen. Das habe ich so unter Allgemein eingestellt, es wird auch beim Überprüfen als Hinweis ausgegeben.
            In der finalen Header Datei sind jedoch alle ComObj mit ID 0 hinterlegt. Das war bei den Vorversionen nicht so.

            Gruß
            Helmut

            Kommentar


              #51

              Hallo Helmut,

              Zitat von mobil750 Beitrag anzeigen
              1 ComObjRef nicht genutzt wird
              Du hattest bei dir noch ein Modul drinnen.
              Dort war das nicht verwendete ComObject.
              Das Modul sollte aber nicht geprüft werden, wenn es nicht aktiviert ist. ist gefixt.

              Zitat von mobil750 Beitrag anzeigen
              dass sie angeblich in Verwendung sind
              Theoretisch sind sie ja in verwendung, da im Hintergrund ParameterRefs erstellt und zugeordnet werden.
              Ich werde da eine abfrage einbauen ob die Refs automatisch erstellt werden und entsprechend die Meldung anpassen.

              Zitat von mobil750 Beitrag anzeigen
              Wenn ich den Namen eines KOs ändere
              Das ist leider ein Problem, das schon länger auf meiner Liste steht, ich es aber iwie immer wieder vergesse zu beheben^^
              Sollte nun aber der Vergangenheit angehören.

              Die anderen zwei Punkte muss ich mir in Ruhe anschauen.
              Aber danke dir schon mal fürs Finden und Melden!

              Gruß Mike
              Run you clever boy and remember!

              Kommentar


                #52
                Zitat von mobil750 Beitrag anzeigen
                ist dort nichts mehr hinterlegt obwohl ich es vorher eingetragen habe
                Das kam dadurch, dass du ein Komma in dem Namen der Applikation hattest.
                Hab das geändert, beim Öffnen kommt nun eine Fehlermeldung, wenn es nicht zuordbar ist und wird wieder korrekt gespeichert.

                Zitat von mobil750 Beitrag anzeigen
                ComObj mit ID 0
                Das was du meinst ist die ComObj Nummer.
                Die musst du händisch machen.

                Die Meldung soll lediglich sagen, dass die IDs der ComoObjs aufsteigend gemacht wird, da eig die ID auch aus der Nummer besteht.
                Das funktioniert natürlich nicht, wenn Nummern mehrfach vorhanden sind. (was auch nicht Spec conform ist).
                Run you clever boy and remember!

                Kommentar


                  #53
                  Danke schonmal für die Antworten. Das hilft mir.

                  Noch eine Frage. Ich möchte einen Parametertyp Float definieren, den man im Bereich 0,1 verändern (erhöhen) kann. Im Prinzip klappt das, ich bekommen bei der Überprüfung aber den Hinweis "ParameterType PT_Float (9): Aktuell keine Überprüfung vorhanden". Ist das ein Problem oder nur ein Hinweis?

                  Was mich auch noch interessieren würde, wie muss ich das angeben - als 0,1 oder als 0.1 ? Da gibt es ja bei vielen Apps unterschiedliche Anforderungen.

                  Gruß
                  Helmut

                  Kommentar


                    #54
                    Hi Helmut,

                    ich glaube Float ist implementiert aber noch ungetestet... aber warten wir mal was Mike so sagt :-)

                    Gruß
                    RObert

                    Kommentar


                      #55
                      Ja das ist nur ein Hinweis, dass weder Max/Min/Intervall oder der Wert eines Parameters geprüft werden.
                      Floats sind tatsächlich noch ungeprüft und nur auf Verdacht implementiert, weil es beim Import immer wieder zu Fehlern kam^^

                      Das mit komma oder Punkt zum trennen musst du ausprobieren ehrlich gesagt.
                      ​​Ich würde mal ein Punkt vermuten.
                      Run you clever boy and remember!

                      Kommentar


                        #56
                        Hallo Mike,

                        ich habe da eben wieder ein Problem beim Import in die ETS (5.7).

                        Ich habe mein Projekt erweitert, überprüft, veröffentlicht und mit dem ProdViewer verifiziert. Alles OK.
                        Wenn ich nun output.knxprod (oder auch mit geändertem Namen) in die ETS importiere, bekomme ich eine Fehlermeldung - siehe Screenshot.

                        Was habe ich da verbogen? Ich habe die Bestellnr. schon geändert (weil die im Screenshot m.M. nach schräg aussieht), aber keine Verbesserung.

                        Als Anhang findest du wieder meine ae.menu und den Sceenshot.

                        Danke im Voraus und Gruß
                        Helmut
                        Angehängte Dateien

                        Kommentar


                          #57
                          Hallo Helmut,

                          ich hab mir deine KnxProd angeschaut und mir sind ein paar Sachen aufgefallen, die ich noch in die Checks einfügen muss.
                          Wenn du ein OpenKNX Projekt hast, dann darf die Applikationsnummer nur 2stellig sein. (Rest wird automatisch zusammengefügt)
                          Daher kam auch dann der Fehler mit der ID, die dann (zurecht) nicht passt.

                          Zusätzlich sind mit noch andere Bugs bei mir aufgefallen, sodass IDs doppelt vorkommen. Hier muss ich mir noch etwas überlegen.
                          Gibt es einen exakten Grund, warum du bei den ParameterBlöcken ein ParamRefId verwendest?

                          Ein ParameterBlock als Inline unterhalb eines Channels zu definieren macht keinen sinn.
                          Bzw ein Inline ParameterBlock funktioniert nur innerhalb von Parameterblöcken.

                          Meine Anpassungen damit es (vorerst) läuft findest du im Anhang.


                          Gruß Mike
                          Angehängte Dateien
                          Run you clever boy and remember!

                          Kommentar


                            #58
                            Hallo Mike,

                            danke für die Analyse.

                            Also bzgl. der Applikationsnr. (ich möchte es nicht beschwören) bin ich mir zu 99% sicher, dass ich da nichts geändert oder eingetragen habe ...
                            Kann es sein, dass die automatisch vergeben / verändert wird?

                            Zitat von thewhobox Beitrag anzeigen
                            Gibt es einen exakten Grund, warum du bei den ParameterBlöcken ein ParamRefId verwendest?
                            Hier muss ich gestehen, dass ich überhaupt nicht verstehe, was du meinst.

                            Zitat von thewhobox Beitrag anzeigen
                            Ein ParameterBlock als Inline unterhalb eines Channels zu definieren macht keinen sinn.
                            Bzw ein Inline ParameterBlock funktioniert nur innerhalb von Parameterblöcken.
                            Hier bin ich mir nicht sicher, ob ich es verstehe. Ich habe mal im Show_Display den darunterliegenden Block entfernt. Siehe dazu die beiden Screenshots.
                            Ich habe die Version "ohne Block" durch Entfernen und Einfügen der Elemente erstellt.
                            Die Prüfung und der Export funktionieren problemlos. Beim Öffnen mit dem ProdViewer kracht es aber dann. Nur die Version mit dem Block funktioniert.
                            Hatte ich deinen Kommentar da richtig verstanden?

                            Ich habe mal von allen Versionen alle Dateien zusammengepackt um dir Einblick in die Details zu verschaffen.
                            Was mich noch wundert, ich weiß nicht was ich geändert habe, aber die Namen der xx.h Datei wurden verändert. Ich weiß allerdings nicht welche zu welchem Projekt gehört und ich bin mir sicher, außer im Dynamic Bereich, nichts geändert zu haben ?!?!?

                            Gruß
                            Helmut

                            Angehängte Dateien

                            Kommentar


                              #59
                              Hallo Helmut,

                              Zitat von mobil750 Beitrag anzeigen
                              Hier muss ich gestehen, dass ich überhaupt nicht verstehe, was du meinst.
                              Du hast hier bei Block Allgemein die Option "Ist Inline" aktiviert. Das funktioniert nur, wenn oben drüber auch ein ParameterBlock ist.
                              Ansonsten wird dieser einfach nicht angezeigt.
                              image.png
                              Zitat von mobil750 Beitrag anzeigen
                              Hier bin ich mir nicht sicher, ob ich es verstehe.
                              Du hast bei dem ParameterBlock "show Display Modul" den Parameter Ref aktiviert.
                              Das führt dazu, dass der Text des ParameterBlocks vom Parameter kommt.
                              Das macht nur ihn wenigen fällen wirklich sinn und führt aktuell noch zu einer Kollision von IDs
                              image.png
                              Zitat von mobil750 Beitrag anzeigen
                              aber die Namen der xx.h Datei wurden verändert
                              Der Name der .h Datei setzt sich immer aus der Applikationsnummer und Applikationsversion zusammen.
                              Mindestens eine dieser zwei Angaben musst du verändert haben.

                              Zitat von mobil750 Beitrag anzeigen
                              Ich habe die Version "ohne Block"
                              Diese Version ist nicht zulässig.
                              Du hast hier Parameter die direkt unter einem Channel angesiedelt sind (Bedingungen ausgenommen).
                              Versuch nicht zu viel mit kopieren/einfügen zu machen.
                              Diese Funktionen haben keine Überprüfung, da diese viel zu aufwendig wäre.
                              image.png
                              Run you clever boy and remember!

                              Kommentar


                                #60
                                Ich verstehe das nun besser. Danke!

                                Das mit dem ParamRef im Block ist ein Versehen, keine Ahnung wie das reingekommen ist. So wie du schreibst, ist das auch nur in Ausnahmen erforderlich / sinnvoll. Sollte man das dann nicht erstmal ausblenden, bis es eine reale Anwendung findet (nur eine Frage!) ?

                                Gruß
                                Helmut

                                Kommentar

                                Lädt...
                                X