Ankündigung

Einklappen

Sammelbestellung ETS6 Vollversionen aktiv!

Sammelbestellung für ETS6 Vollversionen (Prof., Home, Lite) mit 40% Rabatt aktiv! Infos im Forum!
Mehr anzeigen
Weniger anzeigen

ETS - An item with the same key has already been added

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

    ETS - An item with the same key has already been added

    Hallo,

    Leider bekomme ich seit kurzem folgende Fehlermeldung beim Versuch im Diagnosemenü bei ETS eines der Monitoringtools auszuwählen:

    image.png

    Ich glaube dass es damit zusammenhängt, dass ich einmal versehenlich ein OpenKNX Gerät mit der selben GUID in ETS importiert und verwendet habe.

    Was ich bislange versucht habe:
    • ETS neustarten
    • Alle OpenKNX Geräte mit der überlappender GUID aus dem Projekt löschen
    • Alle OpenKNX Geräte aud der Produktdatenbank empfernen
    • Projekt komprimieren
    • Projekt exportieren und neu importieren
    • AppData\Local\KNX\ETS6\Cache und user.settings löschen
    • Im Internet nach Lösungen suchen
    Hoffentlich kann mir hier jemand weiterhelfen, denn die Diagnosetools sind schon wichtig.


    Textform (damit die Forumsuche greift sollte jamnd anders mal das selbe Problem haben):
    System.ArgumentException: An item with the same key has already been added.
    at System.ThrowHelper.ThrowArgumentException(Exceptio nResource resource)
    at System.Collections.Generic.Dictionary`2.Insert(TKe y key, TValue value, Boolean add)
    at Knx.Ets.TelegramRecorder.DptEngine..ctor(Datapoint TypeCollection datapointTypeCollection)
    at Knx.Ets.TelegramRecorderView.ViewModel.MonitorView ModelBase..ctor(ILog log, MonitorGridSettings gridSettings, IWorkplaceViewModel workplaceViewModel, IDatapointTypeService datapointTypeService, IMessageBoxService messageBoxService, ITabbedDialogService dialogService, IMainWindowService windowService, IMonitorOptions monitorOptions, IHtmlWindowService htmlWindowService, IDispatcher dispatcher, KnxMasterData knxMaster, ISelectionService selectionService, Func`3 telegramRecorderFactory, IDragDropHandler dragDropHandler, IFindAndReplaceService findAndReplaceService, IPropertyChangedService propertyChangedService, IContextMenuViewModel contextMenuViewModel, Func`3 disclaimerFactory, IKnxSupportLinks supportLinks, MonitorMode monitorMode, Project project)
    at Knx.Ets.TelegramRecorderView.ViewModel.GroupMonito rViewModel..ctor(ILog log, MonitorGridSettings gridSettings, IWorkplaceViewModel workplaceViewModel, IDatapointTypeService datapointTypeService, IMessageBoxService messageBoxService, ITabbedDialogService dialogService, IMainWindowService windowService, IMonitorOptions monitorOptions, IHtmlWindowService htmlWindowService, IDispatcher dispatcher, KnxMasterData knxMaster, ISelectionService selectionService, Func`3 telegramRecorderFactory, IDragDropHandler dragDropHandler, IFindAndReplaceService findAndReplaceService, IPropertyChangedService propertyChangedService, IContextMenuViewModel contextMenuViewModel, Func`3 disclaimerFactory, IKnxSupportLinks supportLinks, Project project)
    at lambda_method(Closure , Object[] )
    at Autofac.Core.Activators.Reflection.BoundConstructo r.Instantiate()​

    #2
    Hi,
    Zitat von mrrobot Beitrag anzeigen
    Ich glaube dass es damit zusammenhängt, dass ich einmal versehenlich ein OpenKNX Gerät mit der selben GUID in ETS importiert und verwendet habe.
    das glaube ich nicht, OpenKNX macht nichts im Bereich der Diagnosewerkzeuge der ETS.

    Zitat von mrrobot Beitrag anzeigen
    at Knx.Ets.TelegramRecorder.DptEngine..ctor(
    Das Problem scheint eher bei den DPT liegen, ich kenne mich aber in dem Bereich nicht aus.

    Zitat von mrrobot Beitrag anzeigen
    OpenKNX Geräte mit der überlappender GUID
    Was ist das für Dich bzw. was verstehst Du da drunter?
    1. Hast Du selber unsere Geräte modifiziert und mit der gleichen Version importiert?
    2. Oder hast Du einfach nur mehrfach das selbe Gerät (wie von uns ausgeliefert) in den Katalog importiert?
    3. Oder hast Du das selbe Gerät mehrfach aus dem Katalog im Projekt verwendet?
    2. und 3. ist absolut problemlos. 1 soll man nicht tun, führt aber nicht zu dem von Dir beschriebenen Problem. Ich würde eher Probleme im Bereich der master.xml vermuten (wegen DPT-Problem).

    Zitat von mrrobot Beitrag anzeigen
    Alle OpenKNX Geräte aud der Produktdatenbank empfernen
    Nur um sicherzustellen, dass wir über das gleiche reden: Du meinst den Produktkatalog, oder? Produktdatenbank ist das, was mit einem Gerät mitkommt und in den Produktkatalog importiert wird.

    Was würde ich machen, um das strukturiert zu analysieren bzw. zu reparieren.
    1. Mach einen Export vom aktuellen Projekt, damit man immer auf den Stand zurück kann. Falls Du mehrere Projekte hast, exportiere auch diese (nur zur Sicherheit).
    2. ​Prüfen, ob das Problem projektabhängig ist: Lege ein neues Projekt an und schaue, ob mit einem leeren Projekt die Diagnosewerkzeuge funktionieren. Falls das nicht geht, hat das ganz sicher nichts mit OpenKNX zu tun - wir helfen aber trotzdem gerne weiter.
    3. Falls weiterer Rechner vorhanden: Dort die ETS installieren, dort erst mit leerem Projekt schauen, ob die Diagnose funktioniert und anschließend mit dem vermutet fehlerhaften Projekt schauen, ob der Fehler wiederkommt. Falls nicht ist es garantiert kein OpenKNX-Problem, sondern ein rechnerbezogenes.
    4. Falls es projektbezogen ist: Importiere ein älteres Projekt aus einem Backup, bei dem die Diagnose noch funktionierte und schaue, ob sie immer noch funktioniert.
    5. In der ETS den Produktspeicher löschen und neu starten (ist unkritisch, er wird automatisch wieder erstellt beim öffnen eines Projekts)image.png
    6. ​ETS neu installieren (ohne vorher zu deinstallieren)
    Wenn keiner dieser Punkte hilft, sehen wir weiter. Melde bitte auch, was geholfen hat, falls Du erfolgreich warst.

    Gruß, Waldemar
    OpenKNX www.openknx.de

    Kommentar


      #3
      https://knx-user-forum.de/forum/öffe...reits-vergeben

      das ist doch der gleiche Fehler?

      Kommentar


        #4
        Theees: Danke, das hatte ich noch gar nicht gesehen. Meine Vermutung ging ja auch in die selbe Richtung, fehlerhafte master.xml. Dann wird auch diese Lösung helfen: https://support.knx.org/hc/de/articl...esch%C3%A4digt

        Gruß, Waldemar
        OpenKNX www.openknx.de

        Kommentar


          #5
          mumpf Theees Vielen Dank für euere Hilfe, ihr seit Genial! Es lag offenbar an der knx_master.xml datei. Habe diese heruntergeladen und durch die bestehende getauscht und schon lief wieder alles.

          Was ist das für Dich bzw. was verstehst Du da drunter?
          1. Hast Du selber unsere Geräte modifiziert und mit der gleichen Version importiert?
          Genau das. War ein Versehen, habe selbst ein Gerät kopiert und die GUID nicht neu angelegt.


          Links ist das orginal, rechts die frisch heruntergeladene Version. Neben der neuen Version und signatur sind mir vor allem einige Integer <-> Floating point DPT aufgefallen.

          image.png

          Kommentar


            #6
            mrrobot: Erstmal freut es mich, dass Du es reparieren konntest. Die Frage ist trotzdem, wie es dazu kommen kann. Was Du als Diff zeigst: Links stehen die Werte der master.xml von project/20, das ist ETS5.7. Unsere Produktdatenbanken sind auch project/20, da wir die ETS ab 5.7 unterstützen.
            Insofern kommt da nichts mit project/23 vor.
            Oder hast Du bei Deiner Modifikation in unsrem xml auch auf project/23 umgestellt? Dann könnte ich mir zumindest vorstellen, dass eine andere master.xml herangezogen wird. Wie diese aber in die ETS kommt, ist noch eine ganz andere Frage.
            Das ist sehr mysteriös. Wenn Dir das nochmal passiert, versuche mal zu schauen, ob Du einen reproduzierbaren Pfad findest.
            Theees : Da das auch bei Dir passiert ist: War das irgendwie im Zusammenhang mit OpenKNX? Wenn ja, dann brauchen wir eure Hilfe, wie man das nachstellen kann. Ich hab so was bei mir noch nie gesehen - und ich mache mehrere Importe pro Tag .

            Gruß, Waldemar

            OpenKNX www.openknx.de

            Kommentar


              #7
              Hi mumpf, ich habe tatsächlich zu dem Zeitpunkt den Reg1 Lan TP Base in Betrieb genommen mit der Beta der HUE-Integration.

              Ich könnte aber nicht sicher sagen ob das damit im Zusammenhang gestanden hat. Dafür kenne ich mich mit den Hintergründen zu wenig aus.

              Was ich noch nachvollziehen konnte:
              Am 27.06. hatte ich die knx.prod erstellt
              Am 28.06. hatte ich die Master XML ersetzt

              Kann ich noch irgendetwas für dich nachschauen?

              Kommentar


                #8
                ich nutze auch OpenKNX Geräte, habe aber in der letzten Zeit nichts geändert.
                Bei mir ist der Fehler durch ein automatisches Update der knx_master.xml verursacht worden (ETS 6.2.2).
                Es passiert auch bei leeren Projekt.
                Das Herunterladen der neuen Datei hilft nicht, wohl aber das Verwenden einer alten knx_master.xml (aus project-20, muss dazu die Internetverbindung trennen, sonst wird die beim
                Start ersetzt)

                Kommentar


                  #9
                  Hi mumpf
                  Oder hast Du bei Deiner Modifikation in unsrem xml auch auf project/23 umgestellt?
                  Nein, da hab ich nichts verändert.

                  Kommentar


                    #10
                    Ich hab bei mir auch eine alte project/23 gefunden, die in einigen Punkten der project/20 und in anderen der project/23 entspricht. Somit wird die von der KNXA weiterentwickelt. Kann sein, dass die ETS 6.2.2 einige Änderungen der neueren master.xml nicht mehr versteht. jcd dafür spricht dein Beitrag.

                    Theees ich weiß nichts konkretes, dass du nachschauen könntest, weil ich nicht weiß, was das Problem verursacht. Ich will nur sicher sein, dass es nicht unsere knxprods sind. Einfach mehr Sensibilität beim erneuten Auftreten und hier mitdiskutieren, ob was dafür oder dagegen spricht.


                    mrrobot Welche ETS verwendest du denn? Ich vermute, die 6.4, denn du brauchtest eine neuere master.xml.

                    Gruß, Waldemar
                    OpenKNX www.openknx.de

                    Kommentar


                      #11
                      Zitat von mrrobot Beitrag anzeigen
                      Links ist das orginal, rechts die frisch heruntergeladene Version.
                      Welche Versionen haben die denn jeweils? Findest Du ganz am Anfang der Datei
                      OpenKNX www.openknx.de | StateEngine: Universelle Zustandsautomaten in KNX | OpenKNX Konfigurationstransfer

                      Kommentar


                        #12
                        mumpf

                        Bin aktuell auf 6.4.1.

                        coko

                        Anbei ein snapshot der beiden Versionen:

                        image.png

                        Kommentar


                          #13
                          Der Fehler in der knx_master.xml ist mittlerweile behoben. Da waren zwei DPTs als default für eine Bitbreite markiert. Das nächste Masterdaten-Update der ETS korrigiert das automatisch.

                          Kommentar


                            #14
                            Danke Klaus,

                            eine Sorge weniger . Ich hätte mir auch nicht vorstellen können, wie wir das "verbrochen" haben könnten.

                            Gruß, Waldemar
                            OpenKNX www.openknx.de

                            Kommentar

                            Lädt...
                            X