Ankündigung

Einklappen
Keine Ankündigung bisher.

ESP8266 KNX mit ETS

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

    Hallo,
    Zitat von thesing Beitrag anzeigen
    Du bist gut. Du willst also das WLAN des ESP per ETS (also über WLAN) konfigurieren? Man könnte vielleicht ein eigenes WLAN mit dem ESP aufspannen. Dann müsste man sich mit einem Laptop mit dem Wlan verbinden und könnte dann über ETS das richtige WLAN konfigurieren. Aber loht sich der Aufwand?
    Ja, der Gedanke war, das über die ETS zu machen. Natürlich bräuchte man weiterhin eine initiale Verbindung via WPS.
    Tasmota macht es so, wie du beschrieben hast.
    Eine Alternative zu WPS wäre jedenfalls sehr wünschenswert.

    knxPython sind Pythonbindings für den knx-Stack. Ein Beispiel steht dabei. Ich versuche gerade ein alternatives knx-Plugin für SmarthomeNG zu bauen. Da muss man die Gruppenadressen nicht mehr per Hand den Items zuweisen. Ich habe bei der ETS freie Gruppenadressen gewählt. Daher entsprechen nicht alle GAs dem Standardschema.
    Klingt spannend -aber ganz verstanden habe ich es noch nicht:
    D.h. du würdest den KNX-Stack auf einem ESP laufen lassen und das wäre dein Bus-Interface für smarthomeNG? Ich habe zumindest bei der Tasmota-Implementierung festgestellt und auch gelesen, dass die KNX-Kommunikation über WLAN nicht sonderlich stabil ist. Das ist für einen Sensor, der regelmäßig sendet vielleicht ok, aber für ein KNX-Interface ja nicht.

    Und was ich auch nicht verstehe: Warum entfällt damit die Notwendigkeit den Items die GAs manuell zuzuweisen?

    Gruß,
    Hendrik

    Kommentar


      thesing
      Was hälst Du eigentlich von https://platformio.org/ ?

      Pflegst Du den Stack dort auch noch? https://platformio.org/lib/show/5883/knx_esp/







      Kommentar


        @henfri:
        knxPython ist einen normale Python Lib (für Linux). Du kannst damit also normal auf einem Linux-PC mit einem IP-Router mit Python ein knx-Gerät erstellen.Ganz ohne zusätzliche Hardware. Für das WLAN müsste man mal testen wie hoch der Paketverlust wirklich ist. Evtl. implementiert man diese "zuverlässige Kommunikation" von Gira. Dann klappt das zumindest mit dem GIRA IP-Router. Irgentwo im Thread ist das verlinkt. Es macht wahrscheinlich auch Sinn das dann dem knxd beizubringen damit man nicht auf Gira beschränkt ist.

        @Nanosonde:
        Ich habe auf platformio nichts eingestellt und pflege dort auch nichts. Muss wohl ein Crawler oder ein Nutzer gewesen sein. Ich finden PlatformIO nicht schlecht, aber um Debuggen zu können kostet das 10€ im Monat. VisualGDB kostet einmalig 90€ (optional 45€ für zusätzliche Jahre Support). Da ich Visual Studio mag und ich VisualGDB auch für die Linux-Entwicklung nutze benutze ich das. PlatformIO ist sicher auch gut, aber wozu eine neue IDE lernen, wenn es die altbekannte auch tun? Wenn jemand einen PullRequest für die VsCode Projektdateien erstellt, füge ich die gern hinzu. Nur pflegen werde ich sie nicht.

        Kommentar


          Zitat von thesing Beitrag anzeigen
          @Nanosonde:
          Ich habe auf platformio nichts eingestellt und pflege dort auch nichts. Muss wohl ein Crawler oder ein Nutzer gewesen sein. Ich finden PlatformIO nicht schlecht, aber um Debuggen zu können kostet das 10€ im Monat. VisualGDB kostet einmalig 90€ (optional 45€ für zusätzliche Jahre Support). Da ich Visual Studio mag und ich VisualGDB auch für die Linux-Entwicklung nutze benutze ich das. PlatformIO ist sicher auch gut, aber wozu eine neue IDE lernen, wenn es die altbekannte auch tun? Wenn jemand einen PullRequest für die VsCode Projektdateien erstellt, füge ich die gern hinzu. Nur pflegen werde ich sie nicht.
          Die Idee von VisualGDB finde ich auch recht nett. Ich warte momentan noch auf den finalen Release von 5.4 und überlege dann nochmal. Aktuell ist meine Eval-Lizenz ausgelaufen. :-/
          Ich würde es gut finden, wenn zum Bauen des KNX Stacks für verschiedene Targets VisualGDB optional bleiben würde wie es ja jetzt auch ist.
          Die generierten CMakeLists.txt sind ja schon ganz gut.


          Kommentar


            Ja der Plan ist, dass VisualGdb komplett optional bleibt. Nur bei der Linuxversion ist wird CMakeLists.txt nicht mehr automatisch erweitert. Dass muss ich mal bei Gelegenheit ändern.

            Kommentar


              @henfri: Ich habe mal einen Sketch für den Sonoff S20 hinzugefügt. Getestet noch nicht, da das WPS bei mir gerade nicht will. Muss ich noch schauen woran es liegt. Vielleicht am 2.4.2 Arduino-Core. Wenn du magst kannst du ja auch schon mal probieren.

              Kommentar


                Hihi. Zeit für eine WPS alternative ;-)
                ​​​​​​Werde berichten!

                P.s. Der Taster ist nicht implementiert, oder?
                Zuletzt geändert von henfri; 03.01.2019, 23:43.

                Kommentar


                  Der Taster ist nur dazu da zu WPS (lang drücken) und Programmiermodus (kurz drücken) zu wechseln. Vielleicht sollte man besser mit 2x Drücken in den Programmiermodus wechseln und den einfachen kurzen Tasterdruck für die Applikation lassen. Vielleicht habe ich am WE Zeit und Muße.

                  Kommentar


                    Ach ja, ich habe gar nicht daran gedacht, dass wir den Taster für WPS/Programmiermodus brauchen.

                    Ich habe gerade einmal das Kompilieren versucht. Leider gibt es einen Fehler:
                    Code:
                    knx-sonoffS20.ino: In function 'void setup()':
                    
                    knx-sonoffS20:41: error: 'class GroupObject' has no member named 'callback'
                    
                         goSwitch.callback(switchCallback);
                    
                                  ^
                    
                    exit status 1
                    'class GroupObject' has no member named 'callback'
                    Muss ich die Library aktualisieren?

                    Gruß,
                    Hendrik

                    Kommentar


                      Ja musst du.

                      Kommentar


                        Hier noch ein Arduino Beispiel für den SAMD21 mit TPUART2 und HDC1008.
                        Dadurch, dass der serielle Debug-Output auf den SerialUSB UART geht, blockiert der Code leider, wenn der SAMD21 vom USB abgezogen ist.
                        Ist wohl eine bekannte Arduino-Limitierung. Also einfach auskommentieren oder auf einen anderen HW-UART gehen.
                        Siehe dazu diverse Anleitungen im Netz.
                        Der "Haupt"-UART ist in der Arduino-Welt schon von der Verbindung zum TPUART2 blockiert.
                        Angehängte Dateien
                        Zuletzt geändert von Nanosonde; 05.01.2019, 14:53.

                        Kommentar


                          Hallo,

                          ich habe den Sketch jetzt kompiliert bekommen.
                          Kannst du mir sagen, mit welchen Einstellungen du ihn kompiliert hast?
                          Bei mir klappt das flashen nicht (und es hat ja schon funktioniert, aber da habe ich eine kompilierte Firmware geflasht) und ich möchte ausschließen, dass es an den Einstellungen liegt.
                          sonoff.PNG

                          Gruß,
                          Hendrik

                          Kommentar


                            Hier meine Einstellungen.
                            Angehängte Dateien

                            Kommentar


                              Hallo,

                              das Flashen hat jetzt funktioniert. Aber noch reagiert das Gerät nicht wenn es per KNX angesteuert wird.
                              Ich werde wohl mal Debug-Output hinzufügen müssen.

                              Gruß,
                              Hendrik

                              Kommentar


                                Zitat von Nanosonde Beitrag anzeigen
                                Wie sind die delays bei Arduino realisiert? Sind das einfache Busy Loops oder werden dort Timer verwendet?
                                ja sind einfache busy loops und durch die verwendung eines OS sind die dann natürlich nicht mehr deterministisch was durchaus zu problemen führen wird, gerade bei Timig sensiblen dingen wie softserial, onewire......
                                also bedenkenlos einen task für knx und einen zweiten oder mehr für diverse arduino sketches einrichten wird so oder so nicht ohne weiteres funtkionieren

                                Kommentar

                                Lädt...
                                X