Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit neuen thelsing / knx Stack Versionen und ESP32 / ESP8266

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

    #91
    Zitat von thewhobox Beitrag anzeigen
    trexis5
    ...
    Willst du nur den knx stack verwenden oder auch unseren OpenKNX Teil?
    Falls zweiteres, dann sieh dir die Beispiele im OpenKNX Repo an.
    Falls ersteres, dann ist das hier das falsche Unterforum. (eher DIY)
    ...
    Gibt es für den ESP32 schon ein funktionierendes Repo auf was man aufbauen kann. (vor allem auch mit Beispielen) ?
    Überall sehe ich die eher spezifischen SAMD und RP2040 Referenzen.

    Weiterhin verstehe ich noch nicht was genau denn genau ein OpenKNX Projekt im eigentlichen Sinne ist, im Unterschied zu einem Projekt welches auch den thelsing/knx Stack verwendet. Liegt es nur darin ob die "OGM-Common" verwendet wird oder nicht oder ist aktuell OpenKNX eine derzeit definierter Zusammenschluss von Leuten und nur deren Projekten/Entwicklungen zählen zu OpenKNX ?

    Konkret dann zu der Frage die sich mir bezüglich der oben von thewhobox gegebenen Antworten stellt.
    Wenn ich nun selbst eine Entwicklung hochziehe für mehr der weniger erst mal für meinen Eingengebrauch (aber auch im Gedanken es auch anderen zur Verfügung zu stellen), dann soll ich im OpenKNX Bereich keine Fragen dazu stellen weil es ja dann eigentlich nur DIY ist ?
    Wenn ich dann aus DIY OpenKNX machen möchte, was ist zu tun. Bekommen ich dann einen eigenen "Application-ID" Range und werde in die Reihen der OpenKNX Entwickler aufgenommen ?

    Zuletzt geändert von Techi; 04.10.2024, 09:01.

    Kommentar


      #92
      Das OAM-TestApp Repo ist aktuell das einzige, was wirklich mal für den ESP umgebaut wurde.
      Man muss beachten, der ESP wird noch nicht offiziell unterstützt und ist erst in einer Testphase bei uns.

      Ansonsten funktionieren alle OpenKNX aufrufe identisch, egal ob SAMD (abgekündigt), rp2040 oder ESP32.
      OpenKNX www.openknx.de | Kaenx-Creator | Dali-GW

      Kommentar


        #93
        Bei mir funktioniert das mit dem ESP32 jetzt perfekt. ich habe das so erweiteret, das ich nicht mal die ETS Software bräuchte. Kann direkt im ESP32 die Pysikalische adresse ändern oder die Gruppenadressen anpassen, oder die Parameter ändern. ESP32 Neustart und er sendet an andere Gruppenadressen von einer anderen Pysikalischen Adresse.

        Kommentar


          #94
          Zitat von Techi Beitrag anzeigen
          Gibt es für den ESP32 schon ein funktionierendes Repo auf was man aufbauen kann. (vor allem auch mit Beispielen) ?
          Nein, es gibt ja auch noch keine passende HW - das ist aktuell im entstehen.

          Zitat von Techi Beitrag anzeigen
          Weiterhin verstehe ich noch nicht was genau denn genau ein OpenKNX Projekt im eigentlichen Sinne ist, im Unterschied zu einem Projekt welches auch den thelsing/knx Stack verwendet. Liegt es nur darin ob die "OGM-Common" verwendet wird oder nicht oder ist aktuell OpenKNX eine derzeit definierter Zusammenschluss von Leuten und nur deren Projekten/Entwicklungen zählen zu OpenKNX ?
          OpenKNX ist mehr als nur der Stack - im wesentlichen OGM-Common, aber v.a. auch der openknxproducer und weitere Tools, auch die Repo-Struktur etc..
          Du kannst das alles "nur für dich machen" - dafür gibt es auch einen Bereich bei den AppIDs der nicht kolliidert.
          Das wäre dann aber keine OpenKNX FW und darf unter diesem Namen auch nicht verbreitet werden.

          Weiterhin sehen wir aber nur Projekte die auch im OpenKNX github gehostet werden als OpenKNX FW an.
          Wir sind aber eine offene Gemeinschaft, d.h. wenn du ernsthaftes Interesse mitzumachen, dann bist du willkommen.
          OpenKNX www.openknx.de | NanoBCU und OpenKNX-HW verfügbar

          Kommentar


            #95
            Techi: Als Ergänzung zu Ing-Dom:

            In OpenKNX versuchen wir verstärkt zu modularisieren. Ein OpenKNX-Modul ist ein Stück Firmware und die dazu passende implementierung der ETS-Produktdatei. Diese Module lassen sich dann zu einer Firmware und einer ETS-Produktdatei kombinieren. Module sind nicht nur Funktionsbibliotheken, sondern getestete Teilapplikationen, die sich kombinieren lassen.

            Wenn ich I²C-Sensoren anschließen will, aber mit dem gleichen Gerät auch noch Taster und Fensterkontakte abfragen will, nehme ich das Sensormodul, das Binäreingangs-Modul, das Tastermodul und das Logikmodul (Logiken kann man immer gebrauchen) und Common (das muss dabei sein). Dabei hab ich nur das Sensormodul und das Logikmodul geschrieben, das Binäreingangsmodul kommt von Ing-Dom, das Tastermodul und Common von traxanos.

            Ist nur ein Beispiel für die Kombinatorik und die Zusammenarbeit.

            Gruß, Waldemar
            OpenKNX www.openknx.de

            Kommentar


              #96
              Ich wollte bezüglich KNX extrem schmal starten, da ich Anfangs mit dem Nuki BLE System gleich mal in eine Resourcenfalle gestolpert bin.
              Das BLE System läuft über das Espressif Framework. Espressif verwendet im Hintergrund aber schon selbständig ein eigenes (modifizierten) freertos welches die Tasks z.B. , spezielle wenn es um Wifi und BLE geht auch auf die Cores verteilt. Solche und andere Dinge, wie z.b. das Flash welches alleine fürs Nuki BLE bereits knapp 1MB im App Bereich belegt geben mir zu denken.
              Aus dem Grund wollte ich eigentlich eher KNX in das Nuki BLE Framework ein-stricken, als umgekehrt.

              Was mir noch überhaupt nicht klar ist, sind die ETS Produktdateien. Wenn ich mir das so anschaue finde ich da einfach keinen Zugang, das ist alles extrem unübersichtlich und das Kaenx Creator Tool machst fast noch schlimmer, da man dann sofort sieht was man noch alles gar nicht versteht. ;-)
              Ich tu mir mit objektorientierter Programmierung schon schwer (ich komm noch aus der Prozeduralen Zeit, am besten noch ohne Compiler) umso unverständlicher finde ich den ganzen Datenhaufen der da für die Definition von ein paar Datenbyte Übergaben gemacht werden muss. (Naja, gib einem Programmierer Speicher und Rechenresourcen und er wird einen Weg finde diese zu verschwenden ;-) )

              Egal genug gejammert, wie fang ich den da nun am besten damit an OpenKNX da mit reinzubringen.

              Noch ne Frage, welche Hardware Typ Nummer soll ich verwenden ?





              Zuletzt geändert von Techi; 04.10.2024, 12:07.

              Kommentar


                #97
                Zitat von Techi Beitrag anzeigen
                weniger erst mal für meinen Eingengebrauch (aber auch im Gedanken es auch anderen zur Verfügung zu stellen)
                Du beschreibst hier einen Graubereich.
                Wenn du das später veröffentlichen magst, darfst du natürlich Fragen stellen.
                Nehmen auch immer neue Leute in den Slack mitauf, die Hard- oder auch Software für OpenKNX erstellen wollen.
                Da gibt es auch mal schnellere Antworten.

                Meine Frage hatte auch den Hintergedanken, das Ziel von ihm zu erfragen.
                Für jede Frage gibt es je nach Ziel auch unterschiedliche Lösungen.
                OpenKNX verwendet andere branches als der originale Stack und auch andere Examples, etc.
                OpenKNX www.openknx.de | Kaenx-Creator | Dali-GW

                Kommentar


                  #98
                  Also als erstes müsstet du dich für den Creator oder Producer entscheiden.
                  Creator:
                  • UI zum Erstellen von knxprods
                  • vieles Automatisch berechnet
                  • eingeschränker Support für OpenKNX Module
                  Producer:
                  • komplette Handhabe über die knxprod
                  • manuelles erstellen über die xml, gestützt durch Intellisense
                  • Support für andere OpenKNX Module
                  Ein späterer Umstieg ist theoretisch möglich, aber sehr Zeitaufwendig.
                  In unserem Team ist der Producer eig die Wahl der Mittel.
                  OpenKNX www.openknx.de | Kaenx-Creator | Dali-GW

                  Kommentar


                    #99
                    Zitat von trexis5 Beitrag anzeigen
                    Bei mir funktioniert das mit dem ESP32 jetzt perfekt. ich habe das so erweiteret, das ich nicht mal die ETS Software bräuchte. Kann direkt im ESP32 die Pysikalische adresse ändern oder die Gruppenadressen anpassen, oder die Parameter ändern. ESP32 Neustart und er sendet an andere Gruppenadressen von einer anderen Pysikalischen Adresse.
                    Aber ist das nicht total an der eigentlichen Intension vorbei gedacht ?
                    Man verwendet doch speziell den thelsing Stack und gegebenenfalls das darüber positioniert das OpenKNX Frameworks, damit man keine eigenen Klimmzüge bezüglich Parametrierung machen muss und das alles wie ein (offizielles) KNX Gerät managen kann.

                    Das Keyfeature des thelsing Stack war doch die volle Integration in das ETS System.
                    Wenn man das (so wie du anscheinend) nicht möchte gibt es doch schlankere und einfacher zu handhabende KNX Stacks ?

                    Zumindest sehe ich da die große und eigentlich auch einzige Chance, das mit so einem System auch irgend ein dritter (KNX befähigter, z.B. Elektriker) damit klar kommt wenn ich das Selbst eventuell nicht machen kann.

                    Das ist auch ein Grund, warum ich gerade Stück für Stück alle IP Netzwerke welche nicht für Klassische IT verwendet werden zu eliminieren versuche, darunter fällt auch das bisherige Nuki MQTT Gateway welches nun eben durch eine direkte TP-KNX Verbindung mit Management über die ETS ersetzt werden soll.





                    Kommentar


                      Zitat von Techi Beitrag anzeigen
                      Was mir noch überhaupt nicht klar ist, sind die ETS Produktdateien. Wenn ich mir das so anschaue finde ich da einfach keinen Zugang, das ist alles extrem unübersichtlich und das Kaenx Creator Tool machst fast noch schlimmer, da man dann sofort sieht was man noch alles gar nicht versteht. ;-)
                      Ohne ein gewisses Verständnis der xml Struktur der Produktdatenbank geht es nicht - ist aber auch kein Hexenwerk.

                      Ich würde empfehlen mal mit der demo anzufangen, die anzuschauen im xml und in der ETS.
                      https://github.com/OpenKNX/knx/blob/...nx-demo-tp.xml

                      am Ende gibts ParameterTypes ("Datentypen"), Parameter (wo Einstellungen gespeichert werden), ParameterRefs (erstmal ignorieren und 1:1 wie Parameter ansehen) und dann hast du die KOs (ebenso, die REFs erstmal ignorieren und 1:1 verwenden)..
                      Die UI wird im Dynamic definiert.

                      Für OpenKNX haben wir (vor allem Waldemar) ein System entwickelt dass die Wiederverwendbarkeit der xml Anteile erlaubt - so muss man zB das xml vom Logikmodul nur noch referenzieren und es wird automatisch mit eingebaut. Auch muss man sich um vieles nicht mehr kümmern.

                      So ein Modul besteht dann zB aus
                      https://github.com/OpenKNX/OFM-Binar...nnel.templ.xml (wird auf x Kanäle vervielfacht)
                      https://github.com/OpenKNX/OFM-Binar...nnel.share.xml (einmal)


                      Zitat von Techi Beitrag anzeigen
                      Das BLE System läuft über das Espressif Framework. Espressif verwendet im Hintergrund aber schon selbständig ein eigenes (modifizierten) freertos welches die Tasks z.B
                      OpenKNX nutzt das Arduino Framework und der ESP arduino core nutzt auch das IDF und das FreeRTOS daraus. Und ja, die ESP FW werden relativ groß, besonders wenn LAN/WLAN mit dabei ist.

                      Wir sind da mit der TestApp auch schon bei 1,5MB...
                      Code:
                      Retrieving maximum program size .pio\build\develop_REG1_ESP_DEV_IP\firmware.elf
                      Checking size .pio\build\develop_REG1_ESP_DEV_IP\firmware.elf
                      Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
                      RAM:   [==        ]  18.0% (used 58896 bytes from 327680 bytes)
                      Flash: [======    ]  57.6% (used 1509021 bytes from 2621440 bytes)​
                      OpenKNX www.openknx.de | NanoBCU und OpenKNX-HW verfügbar

                      Kommentar


                        Zitat von thewhobox Beitrag anzeigen
                        Das OAM-TestApp Repo ist aktuell das einzige, was wirklich mal für den ESP umgebaut wurde.
                        ...
                        Wollte das jetzt mal bauen lassen, leider meckert PlatformIO alleine schon die platformio.ini an.
                        The project configuration process has encountered an error due to a problem with the 'platformio.ini' file. Please review the file and fix the issues.

                        Kommentar


                          So nochmal das platformio.ini File neu kopiert.
                          Jetzt geht es weiter

                          Processing release_ESP32 (platform: espressif32 @ ^6.7.0; board: esp32dev; framework: arduino)
                          -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via `-v, --verbose` option
                          CONFIGURATION: https://docs.platformio.org/page/boa.../esp32dev.html
                          PLATFORM: Espressif 32 (6.8.1) > Espressif ESP32 Dev Module
                          HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
                          DEBUG: Current (jlink) External (cmsis-dap, esp-bridge, esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
                          PACKAGES:
                          - framework-arduinoespressif32 @ 3.20017.0 (2.0.17)
                          - tool-esptoolpy @ 1.40501.0 (4.5.1)
                          - tool-openocd-esp32 @ 2.1100.20220706 (11.0)
                          - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
                          LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
                          LDF Modes: Finder ~ deep+, Compatibility ~ soft
                          Found 46 compatible libraries
                          Scanning dependencies...
                          Dependency Graph
                          |-- OGM-Common @ 1.2.0
                          |-- knx @ 2.1.1
                          |-- WiFi @ 2.0.0
                          |-- Adafruit SleepyDog Library @ 1.6.5
                          |-- OFM-LogicModule @ 3.3.1
                          |-- Wire @ 2.0.0
                          Building in release mode
                          Build Versions

                          Read OpenKNX Module version and build defines:
                          TypeError: can only concatenate str (not "bool") to str:
                          File "C:\Users\user\.platformio\penv\lib\site-packages\platformio\builder\main.py", line 180:
                          env.SConscript(env.GetExtraScripts("post"), exports="env")
                          File "C:\Users\user\.platformio\packages\tool-scons\scons-local-4.8.1\SCons\Script\SConscript.py", line 620:
                          return _SConscript(self.fs, *files, **subst_kw)
                          File "C:\Users\user\.platformio\packages\tool-scons\scons-local-4.8.1\SCons\Script\SConscript.py", line 280:
                          exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
                          File "C:\Users\user\Documents\PlatformIO\Projects\ Open KNX\OAM-TestApp\lib\OGM-Common\prepare.py", line 126:
                          openknx_modules[name] = lib_version.split("+")[0] + "+" + git_version
                          ================================================== ======================= [FAILED] Took 15.44 seconds ================================================== =======================
                          Environment Status Duration
                          ------------- -------- ------------
                          release_ESP32 FAILED 00:00:15.438
                          ================================================== ================== 1 failed, 0 succeeded in 00:00:15.438 ================================================== ==================​


                          Übers Forum ist das ganz schön mühsam, ich denke Slack wäre definitiv effektiver ?
                          Zuletzt geändert von Techi; 05.10.2024, 02:00.

                          Kommentar


                            Die Fehlermeldung kommt, wenn etwas mit den Repos (im lib Ordner) nicht stimmt.
                            Hast du die Restore-Skripte ausgeführt?

                            https://github.com/OpenKNX/OpenKNX/w...for-Developers
                            https://github.com/OpenKNX/OpenKNX/w...ct-from-Github
                            OpenKNX www.openknx.de | Kaenx-Creator | Dali-GW

                            Kommentar


                              Ja, hatte ich, hab ich jetzt auch nochmal aber es ändert sich nichts an der Situation.
                              Symlinks funktionieren.

                              Verzeichnis von C:\Users\user\Documents\PlatformIO\Projects\OpenKN X\OAM-TestApp\lib

                              05.10.2024 02:36 <DIR> .
                              05.10.2024 02:36 <DIR> ..
                              05.10.2024 02:36 <SYMLINKD> knx [..\..\knx]
                              05.10.2024 02:36 <SYMLINKD> OFM-ConfigTransfer [..\..\OFM-ConfigTransfer]
                              05.10.2024 02:36 <SYMLINKD> OFM-FileTransferModule [..\..\OFM-FileTransferModule]
                              05.10.2024 02:36 <SYMLINKD> OFM-LogicModule [..\..\OFM-LogicModule]
                              05.10.2024 02:36 <SYMLINKD> OFM-Network [..\..\OFM-Network]
                              05.10.2024 02:36 <SYMLINKD> OFM-UsbExchange [..\..\OFM-UsbExchange]
                              05.10.2024 02:36 <SYMLINKD> OFM-VirtualButton [..\..\OFM-VirtualButton]
                              05.10.2024 02:36 <SYMLINKD> OGM-Common [..\..\OGM-Common]
                              0 Datei(en), 0 Bytes
                              10 Verzeichnis(se), 219.267.137.536 Bytes frei
                              auch die weiteren Projekte sollte eigentlich alle vorhanden sein:

                              Verzeichnis von C:\Users\user\Documents\PlatformIO\Projects\OpenKN X

                              05.10.2024 02:32 <DIR> .
                              05.10.2024 02:32 <DIR> ..
                              05.10.2024 02:32 <DIR> knx
                              04.10.2024 15:11 <DIR> OAM-LogicModule
                              04.10.2024 21:25 <DIR> OAM-TestApp
                              04.10.2024 15:12 <DIR> OFM-ConfigTransfer
                              04.10.2024 15:12 <DIR> OFM-FileTransferModule
                              04.10.2024 15:12 <DIR> OFM-LogicModule
                              05.10.2024 02:32 <DIR> OFM-Network
                              04.10.2024 15:12 <DIR> OFM-UsbExchange
                              05.10.2024 02:32 <DIR> OFM-VirtualButton
                              05.10.2024 02:32 <DIR> OGM-Common
                              04.10.2024 15:19 <DIR> OpenKNX.wiki
                              0 Datei(en), 0 Bytes
                              13 Verzeichnis(se), 219.266.224.128 Bytes frei​

                              Muss ich denn für jedes einzelne Project auf welches in "OAM-TestApp" referenziert wird die Restore-Skripte auführen ???
                              Was auffällt ist, daß z.B. im "PlatformIO\Projects\OpenKNX\OGM-Common" das "restore" Verzeichnis mit den Scripten NICHT vorhanden ist. (sowie im z.B. OAM-LogicModule )
                              Was in diesem Zusammenhang auch auffällt ist, das "lib" Verzeichnis in z.B. OGM-Common ist komplett leer, dort sollte doch aber etwas drinnen sein, oder ?
                              Wie kommt das dort rein ? Hab keine Info im Wiki dazu gefunden.


                              siehe hier:

                              Verzeichnis von C:\Users\user\Documents\PlatformIO\Projects\OpenKN X\OGM-Common

                              05.10.2024 02:32 <DIR> .
                              05.10.2024 02:32 <DIR> ..
                              04.10.2024 15:12 958 .clang-format
                              04.10.2024 15:12 180 .gitignore
                              05.10.2024 02:32 7.649 CHANGELOG.md
                              04.10.2024 15:12 <DIR> doc
                              05.10.2024 02:32 <DIR> include
                              04.10.2024 15:12 <DIR> lib
                              04.10.2024 15:12 728 library.json
                              04.10.2024 15:12 35.821 LICENSE
                              04.10.2024 15:12 3.153 patch_uf2.py
                              04.10.2024 15:12 1.164 platformio.base.ini
                              04.10.2024 15:12 760 platformio.esp32.ini
                              04.10.2024 15:12 3.172 platformio.example.ini
                              04.10.2024 15:12 1.473 platformio.rp2040.ini
                              04.10.2024 15:12 854 platformio.samd.ini
                              04.10.2024 15:12 5.926 prepare.py
                              05.10.2024 02:32 12.621 README.md
                              04.10.2024 15:12 <DIR> scripts
                              04.10.2024 15:12 8.354 show_flash_partitioning.py
                              04.10.2024 15:12 <DIR> src
                              04.10.2024 15:12 <DIR> test
                              14 Datei(en), 82.813 Bytes
                              8 Verzeichnis(se), 219.257.171.968 Bytes frei​
                              Zuletzt geändert von Techi; 05.10.2024, 09:40.

                              Kommentar


                                Die scripte gibt es nur in OAM Repos.

                                Ich kenne mich mit symlinks nicht aus, aber bei dir steht dir.
                                Das passt so denke ich nicht oder mumpf?

                                Bitte nochmal prüfen
                                https://github.com/OpenKNX/OpenKNX/w...rmIO-%28PIO%29
                                OpenKNX www.openknx.de | Kaenx-Creator | Dali-GW

                                Kommentar

                                Lädt...
                                X