Ankündigung

Einklappen
Keine Ankündigung bisher.

ESP8266 KNX mit ETS

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

    So inzwischen habe ich auch den Fehler gefunden: Man muss bei knx.getGroupObject die Nummer des KOs angeben. Die beginnt bei SystemB immer mit 1 und nicht mit 0. Ich habe die Beispiele angepasst. Es sollte also wieder gehen. mumpf henfri

    Kommentar


      Inzwischen habe ich mal Api-Dokumentation erzeugen lassen:
      https://knx.readthedocs.io/en/latest/
      Es fehlt noch Beschreibungstext, aber hilft denke ich schon.

      Kommentar


        Danke!
        Werde berichten.

        Kommentar


          Auch von mir Danke.

          Ich werde erstmal testen, ob ich das einfach Demo-Projekt so weit hin bekomme, dass ich einerseits die Parameter überlagere und andererseits die Temperatur (parametrisierbar) über verschiedene DPT's verschicken kann (aber gleiches KO). Wenn das klappt, hätte ich alle Voraussetzungen, um weiter zu machen...

          Werde weiter über den Fortschritt berichten.

          Gruß, Waldemar
          OpenKNX www.openknx.de

          Kommentar


            Hallo,

            die Abstürze habe ich jetzt nicht mehr. Programmieren klappt aber weiterhin leider nicht. Siehe Anhang.

            Gruß,
            Hendrik
            Angehängte Dateien

            Kommentar


              Hi Thomas,

              ich musste für ein erfolgreiches compilieren auf dem RasPi in AddressTableObject.h folgendes hinzufügen:
              Code:
              void [URL="https://knx.readthedocs.io/en/latest/class_address_table_object.html#ab5c9b4470e8e17ee17a7da617706df10"]readProperty[/URL]([URL="https://knx.readthedocs.io/en/latest/property__types_8h.html#a4d213d3f61040d0dc0ba90578e1cbe92"]PropertyID[/URL] id, uint32_t start, uint32_t[COLOR=#00FF00]&[/COLOR] count, uint8_t *data);
              Ansonsten läuft erstmal alles und ich werde morgen mit Tests beginnen.

              Gruß, Waldemar
              OpenKNX www.openknx.de

              Kommentar


                Hallo Thomas,

                habe deine Library mit Arduino 1.8.8 versucht zu kompilieren. Gleiches Ergebnis wie beim Waldemar. Habe einen "Pull Request" auf "GitHub" erzeugt. Damit klappt das Kompilieren. Weitere Tests stehen noch aus.


                Gruß, René

                Kommentar


                  Mag Gyver Danke. Hab ich gemergt.
                  henfri Kommen bei dir schon nach dem flashen die Daten vom BME? Die sollten doch eigentlich erst nach der Konfiguration durch ETS kommen. Kannst du mal "Erase Flash" "All Flash Contents" einstellen? Dann sollte der ESP wieder sauber sein. Ich verstehe auch nicht, warum die Zeilenumbrüche im Debug output kaputt sind.
                  Ich muss das nochmal auf realer Hardware nachtesten.

                  Kommentar


                    Hallo,

                    ja, das ist/war komisch.
                    Tatsächlich war Wifi auch konfiguriert, ohne dass ich den WiFi Manager auführen musste. Erase-Flash hat jetzt dazu geführt, dass ich den Wifi Manager zu Gesicht bekam. Jetzt sehe ich:
                    Code:
                    *WM:
                    *WM: AutoConnect
                    *WM: Connecting as wifi client...
                    *WM: Already connected. Bailing out.
                    *WM: IP Address:
                    *WM: 192.168.177.21
                    setup multicast addr: 224.0.23.12 port: 3671 ip: 192.168.177.21
                    result 1
                    Timestamp [ms], raw temperature [°C], pressure [hPa], raw relative humidity [%], gas [Ohm], IAQ, IAQ accuracy, temperature [°C], relative humidity [%], CO2
                    *WM: freeing allocated params!
                    Und ich versuche per ETS die PA zu setzen. Leider schaffe ich es scheinbar nicht, in den Programmiermodus zu kommen. Du nutzt doch auch die NodeMCU, so dass ich kein
                    Code:
                    knx.ledPin(LED_PROG);
                    knx.buttonPin(BUTTONPIN);
                    benötige, da die Defaults funktionieren, oder?

                    Tatsächlich leuchtet die LED am GPIO16
                    NodeMCU-ESP8266-LEDs.jpg
                    Wenn ich den Flash-Taster kurz betätige.
                    Nur am seriellen Monitor tut sich nix...
                    Die ETS schafft es auch nicht, die PA zu setzen ("Programmierknopf drücken"). Hast du eine Idee?

                    Gruß,
                    Hendrik

                    Kommentar


                      Wenn die Led auf den Button reagiert brauchst du die Pins nicht zu setzen. Wenn ETS den Esp nicht findet verschluckt irgendwas die Multicast-Pakete. Hast du Routing als Interface in ETS gewählt? Sind der Rechner mit ETS und der ESP im gleichen Netz? (Manche Switche leiten Multicast nicht standartmäßig weiter.) Hast du nach der Konfiguration vom WLAN des ESP den mal neu gestartet? (Das muss man nach dem Flashen ja eh machen, damit er später nicht hängt)

                      Kommentar


                        Prüfe ich.
                        Aber sollte er an der seriellen Konsole den Programmiermodus (Programmiertaste gedrückt) nicht melden?

                        Kommentar


                          Nein das ist mit dem ganzen WPS-Kram rausgeflogen. Bei Bedarf kannst du hier: https://github.com/thelsing/knx/blob...facade.cpp#L47 eine Meldung hinzufügen.

                          Kommentar


                            Sorry, ich fühle mich doof, das zu fragen, aber ich bei Python wüsste ich mir zu helfen...
                            Das Schreiben auf die serielle Konsole ist scheinbar an der Stelle nicht vorgesehen.
                            Ich versuche:
                            Code:
                            void KnxFacade::progMode(bool value)
                            {
                                _bau.deviceObject().progMode(value);
                                if (value) {
                                    println("ProgMode On")
                                }
                                else {
                                    println("ProgMode Off")
                                }
                            }
                            Das ergibt:
                            error: 'println' was not declared in this scope

                            In python würde ich ein import serial und dann ein serial.println benötigen...
                            Was muss ich hier machen? Ich darf ja keinen neuen seriellen Port öffnen.

                            Gruß,
                            Hendrik

                            Kommentar


                              Hallo Hendrik,

                              habe dazu einen Pull Request auf GitHub erzeugt. Das Kannst du dir ja mal anschauen. Daran habe ich auch die Abfrage für das Byte vorgesehen.
                              Sobald Thomas das verifiziert und in seinen Code übernimmt. Du musst natürlich die Ausgabe am ESP den Debug port auf Serial stellen.

                              Gruß

                              René

                              Kommentar


                                Danke!

                                Es fehlte also nur das serial.

                                Aber warum funktioniert in
                                Code:
                                void printHex(const char* suffix, const uint8_t *data, size_t length)
                                {
                                    print(suffix);
                                    for (int i = 0; i < length; i++) {
                                        if (data[i] < 0x10) { print("0"); }
                                        print(data[i], HEX);
                                        print(" ");
                                    }
                                    println();
                                }
                                ein einfaches print, während es an dieser Stelle nicht funktioniert?

                                Gruß,
                                Hendrik

                                Kommentar

                                Lädt...
                                X