Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. Microcontroller
    5. MQTT ESP8266 Verbindung aufbauen

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    MQTT ESP8266 Verbindung aufbauen

    This topic has been deleted. Only users with topic management privileges can see it.
    • Bulli Bultmann
      Bulli Bultmann @danny_v1 last edited by

      @danny_v1 Hallo,
      die Objekte im MQTT Ordner sollten vom IObroker automatisch erstellt werden. Bei mir ist das jedenfalls so.

      D 1 Reply Last reply Reply Quote 0
      • D
        danny_v1 @Bulli Bultmann last edited by

        @Bulli-Bultmann said in MQTT ESP8266 Verbindung aufbauen:

        @danny_v1 Hallo,
        die Objekte im MQTT Ordner sollten vom IObroker automatisch erstellt werden. Bei mir ist das jedenfalls so.

        Also einfach über Node Red anlegen und dann erscheinen die im iobroker Objekte Ordner?

        Bulli Bultmann 1 Reply Last reply Reply Quote 0
        • Bulli Bultmann
          Bulli Bultmann @danny_v1 last edited by

          @danny_v1 Bei mir läuft ja Tasmota und EspEasy, und die melden sich dann mit ihren Daten am MQTT an. Port, User und Passwort und übermitteln ihre Werte. Beim ersten Publish werden dann automatisch die Geräte und Datenpunkte im MQTT-Ordner angelegt.
          Hast Du denn da eine Weboberffläche oder ist das bei deinem Flash ohne ? Denn irgendwo im ESP8266 müssen ja die Daten für den MQTT abgelegt werden. Schau dir mal meinen Post weiter oben an oder die Anleitung von oberfragger kurz nach meinem Post. Als Anfang empfehle ich dir Tasmota oder EspEasy, weil die Schnittstellen dort definiert sind und man über die Web Oberfläche Fehler, oder allgemeine Änderungen, ohne jedesmal neu zu flashen, vornehmen kann.

          1 Reply Last reply Reply Quote 0
          • D
            danny_v1 last edited by

            Nein in dem ESP Programm gibt es keine Web Oberfläsche.

            Das Program ist ähnlich dem oben verlinkten esp8266-fast-led Programm.

            So sehen da die Settings aus

            // MQTT Broker settings
            const char* mqtt_server = "192.160.xxx.xxx";
            const int mqtt_port = 1883; // Change this if u don't use a SSL connection
            const char* mqtt_user = "";
            const char* mqtt_password = "";
            const char* mqtt_topic = "/Licht/LedRinge";
            const char* mqtt_clientid = "";

            und der so der Verbindungsaufbau:

            //Mqtt Init
            client.setServer(mqtt_server, mqtt_port);
            client.setCallback(callback);
            autoPlayTimeout = millis() + (autoPlayDurationSeconds * 1000);
            }

            // Format is: command:value
            // value has to be a number, except rgb commands
            void callback(char* topic, byte* payload, unsigned int length) {
            // handle message arrived
            char tmp[length + 1];
            strncpy(tmp, (char*)payload, length);
            tmp[length] = '\0';
            String data(tmp);

            void reconnectMqtt() {
            while (!client.connected()) {
            Serial.println("Attempting MQTT connection...");
            if (client.connect(mqtt_clientid, mqtt_user, mqtt_password)) {
            Serial.println("connected");
            client.subscribe(mqtt_topic);
            } else {
            Serial.print("failed, rc=");
            Serial.print(client.state());
            Serial.println(" try again in 5 seconds");
            // Wait 5 seconds before retrying
            delay(5000);
            }
            }
            }

            Also über den Umweg über Node Red funktioniert das schon ganz gut. Bis auf das Erstellen der Objekte.
            Kann das sein das ich nach dem Erstellen die jeweilige Instanz noch aktualisieren muss?

            Bulli Bultmann 1 Reply Last reply Reply Quote 0
            • Bulli Bultmann
              Bulli Bultmann @danny_v1 last edited by

              @danny_v1 said in MQTT ESP8266 Verbindung aufbauen:

              Nein in dem ESP Programm gibt es keine Web Oberfläsche.

              Das Program ist ähnlich dem oben verlinkten esp8266-fast-led Programm.

              So sehen da die Settings aus

              // MQTT Broker settings
              const char* mqtt_server = "192.160.xxx.xxx";
              const int mqtt_port = 1883; // Change this if u don't use a SSL connection
              const char* mqtt_user = "";
              const char* mqtt_password = "";
              const char* mqtt_topic = "/Licht/LedRinge";
              const char* mqtt_clientid = "";

              und der so der Verbindungsaufbau:

              //Mqtt Init
              client.setServer(mqtt_server, mqtt_port);
              client.setCallback(callback);
              autoPlayTimeout = millis() + (autoPlayDurationSeconds * 1000);
              }

              // Format is: command:value
              // value has to be a number, except rgb commands
              void callback(char* topic, byte* payload, unsigned int length) {
              // handle message arrived
              char tmp[length + 1];
              strncpy(tmp, (char*)payload, length);
              tmp[length] = '\0';
              String data(tmp);

              void reconnectMqtt() {
              while (!client.connected()) {
              Serial.println("Attempting MQTT connection...");
              if (client.connect(mqtt_clientid, mqtt_user, mqtt_password)) {
              Serial.println("connected");
              client.subscribe(mqtt_topic);
              } else {
              Serial.print("failed, rc=");
              Serial.print(client.state());
              Serial.println(" try again in 5 seconds");
              // Wait 5 seconds before retrying
              delay(5000);
              }
              }
              }

              Also über den Umweg über Node Red funktioniert das schon ganz gut. Bis auf das Erstellen der Objekte.
              Kann das sein das ich nach dem Erstellen die jeweilige Instanz noch aktualisieren muss?

              Ja das kann sein.

              Prüfe doch noch dein MQTT Server/Adapter. In deinen Listing sind keine Datem bei MQTT User und MQTT Passwort eingetragen. Das geht so, aber nur wenn im Adapter auch alles ohne User und Paasswort steht. Für Tests ok, sonst sehr unsicher.

              1 Reply Last reply Reply Quote 0
              • D
                danny_v1 last edited by

                Ja das werde ich auf jeden Fall machen, wenn es dann richtig in Betrieb genommen wird so zum rumspielen und testen ist es denk ich ohne User Login ok.

                Aber danke für den Tipp!

                1 Reply Last reply Reply Quote 0
                • T
                  ticaki Developer last edited by

                  Wenn du den MQTT Adapter startest wird der gelb?

                  D 1 Reply Last reply Reply Quote 0
                  • D
                    danny_v1 @ticaki last edited by

                    @ticaki Ja der wird gelb und wenn ich mit der Maus drüber bleibe zeigt das Fenster auch bei verbunden wahr an.

                    Bulli Bultmann 1 Reply Last reply Reply Quote 0
                    • Bulli Bultmann
                      Bulli Bultmann @danny_v1 last edited by

                      @danny_v1 said in MQTT ESP8266 Verbindung aufbauen:

                      @ticaki Ja der wird gelb und wenn ich mit der Maus drüber bleibe zeigt das Fenster auch bei verbunden wahr an.

                      mqtt.jpg

                      So sollte es aussehen.

                      1 Reply Last reply Reply Quote 0
                      • D
                        danny_v1 last edited by

                        ok verbunden und Lebenszeichen hab ich auf jeden Fall, bin mir nur nicht sicher ob der Client eingetragen ist. Da muss ich heute Abend mal schauen.

                        Danke schon mal!!!

                        T 1 Reply Last reply Reply Quote 0
                        • T
                          ticaki Developer @danny_v1 last edited by ticaki

                          @danny_v1
                          Setzte diese Variable bitte auf einen Wert. ClientID muss eindeutig sein.

                          const char* mqtt_user = "";
                          const char* mqtt_password = "";
                          const char* mqtt_clientid = "";
                          

                          Anschließen password und user auch im MQTT Adapter eintragen. Und SSL aus, falls es aktiviert ist.

                          EDIT: ist möglich das es an der ClientID alleine liegt.

                          1 Reply Last reply Reply Quote 0
                          • T
                            ticaki Developer last edited by

                            Ah noch was vergessen:

                            laufen NodeRed und MQTT Server auf selben Rechner mit selbem Port?

                            1 Reply Last reply Reply Quote 0
                            • D
                              danny_v1 last edited by

                              Das mit der Client ID werde ich heute mal testen. NodeRed und MQTT Server laufen auf dem selben Raspberry den Port werde ich heute mal mal kontrollieren.

                              Das neu abgelegte Objekte im NodeRed Tab nicht sichtbar waren für "iobroker get" lag am Neustart der NodeRed Instanz.

                              Vielen Dank schon mal

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              968
                              Online

                              31.7k
                              Users

                              79.7k
                              Topics

                              1.3m
                              Posts

                              4
                              21
                              6706
                              Loading More Posts
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes
                              Reply
                              • Reply as topic
                              Log in to reply
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                              The ioBroker Community 2014-2023
                              logo