Ankündigung

Einklappen
Keine Ankündigung bisher.

ESP8266 KNX mit ETS

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

    Ich bin mir nicht ganz sicher, ob ich die Frage verstanden habe .

    Wenn zwei KO über eine GA verbunden sind wird das intern auch übermittelt. D.h. KO1 und KO2 haben die gleiche GA. Du schreibst und KO1 und sendest, Dann hat KO2 den gleichen Wert. Was unabhängig davon in die KOs schreibst bleibt dir überlassen.

    Kommentar


      Danke erstmal.

      Der von Dir beschriebene Fall ist klar (verwende ich ganz häufig). Wenn 2 KO über eine GA verbunden sind, bekommen sie den gleichen Wert.

      Ich wollte wissen, ob es sich genau so verhält, wenn die 2 KO NICHT über eine GA verbunden sind, und ich nur intern in beide KO den gleichen Wert schreibe. Sprich, bekomme ich die gleichen Events, wenn ich selber schreibe anstatt dass der Wert über eine GA kommt.

      Ich will mir in bestimmten Fällen die GA sparen und nur intern kommunizieren, aber es soll sich so verhalten, als ob eine GA da wäre. Letztendlich will den Bus weniger belasten und keine GA in der ETS anlegen müssen.

      Gruß, Waldemar
      OpenKNX www.openknx.de

      Kommentar


        (EDIT: Gelöst, lag vermutlich daran, dass kein RF Interface dran war)

        Hallo, vielelicht kann jemand meine Frage beantworten:

        HW: Adafruit ItsyBitsy M0 mit SAMD21 (nichts sonnst dran)
        SW Umgebung: PlattformIO
        Anwendung: knx-usb Beispiel aus knx Library von thelsing

        Habe kompiliert (davor im Beispiel Serial1 auf Serial geändert, weil sonst am Serial nichts rauskommt - wohl für Adafruit ItsyBitsy M0 spezifisch) und geflasht. Wenn ich ETS 5.7.6 Demo nun öffne, erscheinnt da Schnittstelle "KNX RF - USB Interface (KNX Association)". So weit gut. Wenn ich drauf klicke, kommt nach einer Zeit Fehlermeldung "Es wurde versucht eine nicht existierende oder schreibgeschützte Stelle zu schreiben". Gleichzeitig im
        in PlattformIO:

        Code:
        Device Feature Get: Supported EMI types
        Device Feature Set: Active EMI type: 03
        M_PropWrite_req: ObjType: 8 ObjInst: 1 PropId: 52 NoE: 1 startIdx: 1 -> data: 00
        <- no error
        M_PropRead_req: ObjType: 8 ObjInst: 1 PropId: 52 NoE: 1 startIdx: 1 <- data: 00
        
        M_PropRead_req: ObjType: 0 ObjInst: 1 PropId: 58 NoE: 1 startIdx: 1 <- data: 00
        
        M_PropRead_req: ObjType: 0 ObjInst: 1 PropId: 57 NoE: 1 startIdx: 1 <- data: 00
        
        M_PropRead_req: ObjType: 8 ObjInst: 1 PropId: 51 NoE: 1 startIdx: 1 <- data: 00 10
        
        M_PropRead_req: ObjType: 0 ObjInst: 1 PropId: 82 NoE: 1 startIdx: 1 <- error: 07
        
        M_PropRead_req: ObjType: 0 ObjInst: 1 PropId: 56 NoE: 1 startIdx: 1 <- data: 00 0F
        
        M_PropRead_req: ObjType: 0 ObjInst: 1 PropId: 82 NoE: 1 startIdx: 1 <- error: 07
        
        M_Reset_req: sending M_Reset_ind
        save saveRestores 4
        -10
        .
        -28
        .
        -39
        .
        -39
        .
        save tableobjs 4
        -39
        .
        -55
        .
        -66
        .
        -77
        .
        SAVED 00 FA 00 00 00 00 00 00 00 03 FF FF 00 01 00 00 01 60 00 01 00 00 00 00 00 00 00 00 00 01 00 00 01 FF FF FF FF FF FF D0 35 00 20 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF FF FF FF FF FF FF
        FF FF FF
        Frage: Ist das normal oder muss mehr/was anderes passieren?

        Frage Nr2: Eigentlich will ich TP und nicht RF: muss ich dazu vom Bau27B0 auf Bau07B0 ändern (habe schon versucht) und dann aus cEMI alle Zeilen auskommentieren, wo der Compiler wegen Referenz zu RF Fehler findet, oder? Oder hat das noch keiner versucht mit KNX TP-USB ...
        Zuletzt geändert von wladw; 15.10.2021, 22:25.

        Kommentar


          hast du die config.h im Stack angepasst?

          Code:
          // Normal devices
          // TP1: 0x07B0
          // RF: 0x27B0
          // IP: 0x57B0
          #define MASK_VERSION 0x07B0
          //#define MASK_VERSION 0x27B0
          //#define MASK_VERSION 0x57B0
          OpenKNX www.openknx.de | NanoBCU und OpenKNX-HW verfügbar

          Kommentar


            Ich nutze PlattformIO, da get es mit #define über Compiler Anweisung in Plattform.ini: -DMASK_VERSION=0x27B0.

            Aber ich versuche erstmal wie es ist mit RF. Die Frage ist ob die Ausgabe, die ich gepostet habe und ETS Verhalten so wie es sein soll (weil ich de facto kein RF Tranceiver dran habe), oder muss eigentlich mehr passieren.

            Und KNX-USB Beispiel ist wohl nicht so einfach auf TP zu ändern, da kommen dann viele Fehlermeldungen beim Kompilieren, dass rf Anteile nicht existieren, ich denke wegen diesem hier: https://github.com/thelsing/knx/issues/55

            Kommentar


              OK, gelöst. Lag vermutlich daran, dass kein RF Interface dran war. Auf KNX TP umgestellt (wie vermutet: überall wo compiler wegen RF Fehler ausgibt einfach auskommenteiren) und es läuft, also ETS mekert jetzt nicht. Habe aber noch kein BCU dran, mache morgen ein kleines KNX Netz und dann teste wie es gesamt läuft.
              Zuletzt geändert von wladw; 15.10.2021, 22:33.

              Kommentar


                Ich habe knx-demo-ip.ino auf einem ESP8266 und das knx-demo-ip.knxprog in ETS5 5.7.4 (Version 1093) installiert und es funktioniert einwandfrei.
                Ich möchte methodisch weiter voranschreiten, indem ich die knx-demo-ip.xml in knx-demo-ip.knxprog umwandele.
                Ich bin nicht in der Lage, sehr wenig oder wenig Programmierung in C # zu sehen. Ich verwende derzeit Visual Studio-Code, in dem ich wirklich C # lerne, aber verwende ich das richtige Tool, um .knxprod-Dateien aus der Datei .xml zu kompilieren und zu generieren?

                Habe ich richtig verstanden, dass ich CreateKnxProd.csproj kompilieren muss, um es in ein CreateKnxProd.exe-Tool zu verwandeln, das eine knx-demo-ip.knxprog-Datei für mich generiert.
                aber ich habe Kompilierungsfehler in Visual Studio Code:
                angehängte Fehler

                Version=1.1.0.0, Culture=neutral, processorArchitecture=MSIL". Vérifiez que l'assembly existe sur le disque. Si elle est requise par votre code, vous risquez d'obtenir des erreurs de compilation. [C:\Users\Jean Louis Richard\VScode\CreateKnxProd-master\CreateKnxProd.csproj]
                C:\Program Files\dotnet\sdk\5.0.402\Microsoft.Common.CurrentV ersion.targets(2203,5): warning MSB3245: Impossible de résoudre cette référence. Impossible de trouver l'assembly "WPFLocalizeExtension, Version=3.0.1.0, Culture=neutral, processorArchitecture=MSIL". Vérifiez que l'assembly existe sur le disque. Si elle est requise par votre code, vous risquez d'obtenir des erreurs de compilation. [C:\Users\Jean Louis Richard\VScode\CreateKnxProd-master\CreateKnxProd.csproj]
                C:\Program Files\dotnet\sdk\5.0.402\Microsoft.Common.CurrentV ersion.targets(2203,5): warning MSB3245: Impossible de résoudre cette référence. Impossible de trouver l'assembly "XAMLMarkupExtensions, Version=1.2.2.0, Culture=neutral, processorArchitecture=MSIL". Vérifiez que l'assembly existe sur le disque. Si elle est requise par votre code, vous risquez d'obtenir des erreurs de compilation. [C:\Users\Jean Louis Richard\VScode\CreateKnxProd-master\CreateKnxProd.csproj]
                C:\Program Files\dotnet\sdk\5.0.402\Microsoft.Common.CurrentV ersion.targets(3162,5): error MSB4216: Impossible d'exécuter la tâche "GenerateResource", car MSBuild n'a pas pu créer ou se connecter à un hôte de tâche avec le runtime "CLR4" et l'architecture "x86". Vérifiez que (1) le runtime et/ou l'architecture nécessaire sont disponibles sur la machine, et que (2) le fichier exécutable "C:\Program Files\dotnet\sdk\5.0.402\MSBuild.exe" obligatoire existe et peut être exécuté. [C:\Users\Jean Louis Richard\VScode\CreateKnxProd-master\CreateKnxProd.csproj]
                C:\Program Files\dotnet\sdk\5.0.402\Microsoft.Common.CurrentV ersion.targets(3184,7): error MSB4028: Impossible de récupérer les sorties de la tâche "GenerateResource" à partir du paramètre "FilesWritten". Object does not match target type. [C:\Users\Jean Louis Richard\VScode\CreateKnxProd-master\CreateKnxProd.csproj]
                3 Avertissement(s)
                2 Erreur(s)

                Kommentar


                  Hi richardpub,

                  CreateKnxProd-Project is for VisualStudio, not VisualStudioCode, so your problems might result from wrong IDE / wrong .NET-Framework. You should also use your IDE in English, to get readable error messages (at least for the "rest" of the world) .

                  If you just want to create a knxprod, you can also use my tool https://github.com/mumpf/multiply-channels. It is available as an executable and as source. And it is developed with VSCode...

                  Regards,
                  Waldemar
                  OpenKNX www.openknx.de

                  Kommentar


                    Danke Waldemar, für deinen Rat. Ich bin wirklich neu in C# und Ihre Hilfe wird es mir ermöglichen, eine demo-ip.knxprog-Datei zu generieren.
                    Wie Sie sehen, habe ich nicht zwischen Visual Studio und Visual Studio Code unterschieden:
                    Ebenso habe ich tatsächlich vergessen, meine IDE auf Englisch zu verwenden.

                    Seit ich CreateKnxProd-Project entdeckt habe, habe ich auch den Reichtum des knx-user-forum.de Forums entdeckt, leider muss ich mit den Übersetzungstools jonglieren, daher dieses Versehen.
                    Das Forum von knx-user-forum.de ist wirklich sehr interessant und voller Fähigkeiten.
                    Gewohnt, die Regeln der Foren zu respektieren, an denen ich teilnehme, bin ich leider erst auf Seite 26 von 69, also habe ich noch viel zu lesen.
                    trotzdem danke für den link zu deinem tool https://github.com/mumpf/multiply-channels
                    Grüße.

                    Kommentar


                      Endlich habe ich die 69 Seiten des ESP8266 KNX mit ETS Thema gelesen.
                      viele Dinge gelernt, die im Moment nicht anwendbar sind, weil die generierte knx-demo-ip.knxprod in der ETS5 nicht funktioniert.

                      Also habe ich CreateKnxProd-Project mit VisualStudio ausprobiert, und dein Tool https://github.com/mumpf/multiply-channels mit VSCode ...

                      Ich möchte nur eine knx-demo-ip.knxprod aus einer knx-demo ip .xml erstellen. Ich konzentriere mich auf die Kanalmultiplikation mit VSCode ...

                      Ich habe zuerst die Datei knx-demo-ip.knxprod generiert. Es wurde gut in ETS5 importiert, war jedoch in ETS5 unsichtbar, während die Datei knx-demo-ip.knxprod der Tehsing-Beispiele gut funktionierte.
                      Nach vielen Tests zu den 2 Methoden bin ich komplett ertrunken und weiß nicht mehr wo ich bin.
                      Also habe ich Multiply-Channels neu installiert, um von vorne zu beginnen.
                      ETS5-Version 5.6.241.33672
                      Ich setze xmlns = "http://knx.org/xml/project/11":
                      die knx-demo-ip .knxprod-Datei. Es wurde in die ETS5 importiert, ist aber im ETS5-Katalog unsichtbar.
                      Ich setze xmlns = "http://knx.org/xml/project/20" keine Zusammenstellung
                      dann habe ich xmlns="http://knx.org/xml/project/14" knx-demo-ip getestet. Knxprod wird in den ETS5-Katalog importiert, dagegen ist es im ETS5-Katalog unsichtbar.
                      Was sollte ich tun ???
                      Zuletzt geändert von richardpub; 08.11.2021, 17:04.

                      Kommentar


                        Deutsche Übersetzung

                        Endlich habe ich die 69 Seiten des ESP8266 KNX Topic mit ETS gelesen.Ich habe

                        Lernen Sie viele Dinge, die derzeit nicht anwendbar sind, da die generierte knx-demo-ip.knxprod nicht in ETS5 funktioniert.

                        Also habe ich versucht CreateKnxProd-Project mit VisualStudio, und Ihr Tool https://github.com/mumpf/multiply-channels mit VSCode ...

                        Ich möchte immer nur eine knx-demo-ip.knxprod aus einem knx-demo- Create ip .xml. Ich konzentrierte mich auf die Multiplikation von Kanälen mit VSCode...

                        Zuerst generierte ich die Datei knx-demo-ip.knxprod. Es war gut in das ETS5 importiert, aber es war im ETS5 unsichtbar, während die Datei knx-demo-ip.knxprod aus den Tehsing-Beispielen gut funktionierte.

                        Nach vielen Tests bei beiden Methoden bin ich völlig ertrunken und weiß nicht mehr, wo ich stehe.

                        Also habe ich Multiply-Channels neu installiert, um von vorne anzufangen.Ich benutze

                        ETS5 Version 5.6.241.33672

                        Ich habe xmlns = "http://knx.org/xml/project/11":

                        Die Datei knx-demo-ip .knxprod. Es wurde in das ETS5 importiert, ist aber im ETS5-Katalog unsichtbar.

                        Ich habe xmlns = "http://knx.org/xml/project/20" keine Zusammenstellung

                        Dann habe ich xmlns = "http://knx.org/ xml/project/14" getestet knx-demo-ip.knxprod wird in den ETS5-Katalog importiert, aber es ist unsichtbar im ETS5-Katalog.

                        Was soll ich tun??
                        Gruß Bernhard

                        Kommentar


                          Tut mir leid, dass ich bei Google Übersetzer betrogen wurde
                          danke für die übersetzung
                          Zuletzt geändert von richardpub; 08.11.2021, 17:07.

                          Kommentar


                            Ich habe eine Suche bei Google durchgeführt mit:
                            Das Produkt hat einen anderen Hash als das vorhandene Produkt.

                            Und die Lösung lautet: Antworte Q6 https://building.meanwell.com/qa.aspx?c=9
                            Mir wurde klar, dass ich die Datei knx-demo-ip.knxprod aus den Thelsing-Beispielen nicht mehr importieren konnte

                            Ich werde daher in der Lage sein, voranzukommen.

                            Kommentar


                              Ich erzeuge jetzt die Datei knx-demo-ip.knxprod.

                              Ich importiere es in die ETS5, aber wenn ich es als Teilnehmer einfüge, wird angezeigt:

                              "Das Produkt hat einen anderen Hash als das bestehende Produkt."

                              Knx.Ets.Common.Types.Exceptions.DifferentHashExcep tion: The product has a different hash than the existing product.
                              à Knx.Ets.ObjectModel.Import.HardwareMerger.Internal HardwareMerger.a(XElement A_0, XElement A_1)
                              à Knx.Ets.ObjectModel.Import.HardwareMerger.Internal HardwareMerger.b(XElement A_0, XElement A_1, Predicate`1 A_2)
                              à Knx.Ets.ObjectModel.Import.XmlMerger.<>c__DisplayC lass3_0.<Merge>b__6(XElement existingSource)
                              à System.Linq.Enumerable.WhereSelectListIterator`2.M oveNext()
                              à System.Collections.Generic.List`1..ctor(IEnumerabl e`1 collection)
                              à System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
                              à Knx.Ets.ObjectModel.Import.XmlMerger.Merge(XElemen t source, XElement target, NamingPair childElementName, Func`4 mergeExisting, String objectType, Func`1 createEmtpyParentCollection, Predicate`1 shouldMerge)
                              à Knx.Ets.ObjectModel.Import.HardwareMerger.Internal HardwareMerger.c(XElement A_0, XElement A_1, Predicate`1 A_2)
                              à Knx.Ets.ObjectModel.Import.XmlMerger.<>c__DisplayC lass3_0.<Merge>b__6(XElement existingSource)
                              à System.Linq.Enumerable.WhereSelectListIterator`2.M oveNext()
                              à System.Collections.Generic.List`1..ctor(IEnumerabl e`1 collection)
                              à System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
                              à Knx.Ets.ObjectModel.Import.XmlMerger.Merge(XElemen t source, XElement target, NamingPair childElementName, Func`4 mergeExisting, String objectType, Func`1 createEmtpyParentCollection, Predicate`1 shouldMerge)
                              à Knx.Ets.ObjectModel.Import.HardwareMerger.Internal HardwareMerger.Merge(XElement source, XElement target, Predicate`1 shouldMerge)
                              à Knx.Ets.ObjectModel.Import.HardwareMerger.Merge()
                              à Knx.Ets.ObjectModel.Import.ManufacturerDataProcess or.<>c__DisplayClass23_1.<Process>b__2()
                              à Knx.Ets.ObjectModel.ProgressManagerExtension.Next[T](ProgressManager manager, Func`1 action)
                              à Knx.Ets.ObjectModel.Import.ManufacturerDataProcess or.Process(Action`1 onStepProgress)
                              à Knx.Ets.ObjectModel.Import.ProductImporter.<>c__Di splayClass13_1.<Import>b__1()
                              à Knx.Ets.ObjectModel.Watch.Count(Action action, Action`1 elapsed)
                              à Knx.Ets.ObjectModel.Watch.Count(String operation, Action action, ILog logger)
                              à Knx.Ets.ObjectModel.Import.ProductImporter.<>c__Di splayClass13_0.<Import>b__0()
                              à Knx.Ets.ObjectModel.OnTransaction.Do(Action action, String rootPath)
                              à Knx.Ets.ObjectModel.Import.ProductImporter.Import( Predicate`1 catalogFilter, Predicate`1 languageFilter, Action`1 progressCallback, IProductStore targetRootStore, Boolean suppressHandlerCalls)
                              à Knx.Ets.ObjectModel.Operations.Devices.DeviceProdu ctImporter.<>c__DisplayClass17_0.<PerformImportInT ransaction>b__0()
                              à Knx.Ets.ObjectModel.OnTransaction.Do(Action action, String rootPath)
                              à Knx.Ets.ObjectModel.Operations.Devices.DeviceProdu ctImporter.a(Project A_0, Action`1 A_1, IEnumerable`1 A_2)
                              à Knx.Ets.ObjectModel.Operations.Devices.DeviceProdu ctImporter.<>c__DisplayClass16_0.<ImportProductsTo Project>b__0()
                              à Knx.Ets.ObjectModel.ProgressManagerExtension.Next( ProgressManager manager, Action action)
                              à Knx.Ets.ObjectModel.Operations.Devices.DeviceProdu ctImporter.a(Project A_0, ProgressManager A_1, IEnumerable`1 A_2, Action`1 A_3)
                              à Knx.Ets.ObjectModel.Operations.Devices.DeviceProdu ctImporter.Import(IEnumerable`1 items, Project targetProject, Action`1 progressCallback)
                              à Knx.Ets.ObjectModel.Operations.Devices.AddDeviceOp eration.c()
                              à Knx.Ets.ObjectModel.OnTransaction.Do(Action action, String rootPath)
                              à Knx.Ets.ObjectModel.OnTransaction.DoWithFailureAct ion(Action action, Action failureAction, String rootPath)
                              à Knx.Ets.ObjectModel.Operations.Devices.AddDeviceOp eration.i()
                              à Knx.Ets.ObjectModel.ProgressManagerExtension.Next( MultipleOperationProgressManager manager, Action action)
                              à Knx.Ets.ObjectModel.Operations.Devices.AddDeviceOp eration.<>c__DisplayClass21_0.<SpecializedValidate >b__0()
                              à Knx.Ets.ObjectModel.Operations.OperationExtensions .HandleOperationCancel(IOperation this, Action action, String description)
                              à Knx.Ets.ObjectModel.Operations.Devices.AddDeviceOp eration.SpecializedValidate()
                              à Knx.Ets.ObjectModel.Operations.Operation.Validate( )
                              à Knx.Ets.ViewModel.Application.Wizards.GenericWizar dPageVM.ExecuteOperation(IOperation o)
                              à Knx.Ets.ViewModel.Application.Wizards.GenericWizar dPageVM.<>c__DisplayClass24_0.<GetStepsFromOperati ons>b__4()
                              à Knx.Ets.ViewModel.Application.Wizards.ImportWizard .Commands.AsyncStepCommand.OnExecute(Object parameter)
                              à Knx.Ets.ViewModel.Tools.AsyncCommand.<Execute>b__1 7_0(Object sender, DoWorkEventArgs args)
                              à System.ComponentModel.BackgroundWorker.OnDoWork(Do WorkEventArgs e)
                              à System.ComponentModel.BackgroundWorker.WorkerThrea dStart(Object argument)
                              Zuletzt geändert von richardpub; 09.11.2021, 11:43.

                              Kommentar


                                Hast du die Dateien auf Github, dass man sich die mal anschauen kann?
                                Denke so ist es nur ins blaue raten.
                                OpenKNX www.openknx.de | Kaenx-Creator | Dali-GW

                                Kommentar

                                Lädt...
                                X