Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. Arduino Programm mqtt

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.2k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

Arduino Programm mqtt

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
13 Beiträge 3 Kommentatoren 1.5k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • T Offline
    T Offline
    tedesco
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    ich habe aus dem Netz folgendes Programm auf mein NodeMcu aufgespielt zum testen, eigentlich dachte ich das nun Objekte im Iobroker erzeugt werden

     #define BASE "8266 TmpSensor"  // <---------------!!Entsprechend für jeden Sensor anpassen!!
    #define mqtt_client_id BASE 
    #define mqtt_topics_ip BASE "/IP"
    #define mqtt_topics_light BASE "/Licht"
    #define mqtt_topics_humidity BASE "/Luftfeuchte"
    #define mqtt_topics_temperature1 BASE "/Temperatur1"
    
    

    und diese dann mit den Variablen Inhalt aktualisiert wird, tut so aber nicht es wird nur die Base erzeugt mit register Alive.

    Kann sich das jemand mal anschauen, was mache ich da falsch.

    Gruß

    Toni

    [spoiler]//#define DEBUG // Debug-Modus einschalten fuer spezielle Ausgaben ueber Serial
    
    #include <esp8266wifi.h>
    extern "C" {  // nur fuer ESP8266 systen_deep_sleep()
      #include "user_interface.h" 
      } // nur fuer ESP8266 systen_deep_sleep()
    
    #include <pubsubclient.h>
    //#include <onewire.h> 
    #include "DHT.h"
    
    // DS18x20-Settings
    //  float celsius, fahrenheit;
    //#define DSPIN 5     // DS18x20-Pin entsprechend der GPIO z.B GPIO05 -> 5
    //OneWire  ds(DSPIN);
    
    // Netzwerk-Settings <-------------------------!!ANPASSEN!!
    const char* ssid = "";
    const char* password = "";
    const char* USE_DHCP = "on"; // "on" fuer DHCP
    IPAddress Myip(192, 168, 2, 61); //static IP-Adresse (Sensor)
    IPAddress gateway(192, 168, 2, 1); //IP-Gateway
    IPAddress subnet(255, 255, 255, 0);//Subnet
    
    //// MQTT-Settings
    IPAddress mqtt_server(192,168,2,68); // IP-MQTT-Broker
    const char* mqtt_username = "user"; // MQTT-User
    const char* mqtt_key = "pass"; // MQTT-Password
    
    #define BASE "8266 TmpSensor"  // <---------------!!Entsprechend für jeden Sensor anpassen!!
    #define mqtt_client_id BASE 
    #define mqtt_topics_ip BASE "/IP"
    #define mqtt_topics_light BASE "/Licht"
    #define mqtt_topics_humidity BASE "/Luftfeuchte"
    #define mqtt_topics_temperature1 BASE "/Temperatur1"
    
    WiFiClient espClient;
    PubSubClient client(espClient);
    
    #define interval       600 //  DeepSleep oder delay Zeit in Sekunden
    #define DHTPIN 4     // DHT-Pin entsprechend der GPIO z.B GPIO04 -> 4
    
    // DHT-Typ
    //#define DHTTYPE DHT11   // DHT 11
    #define DHTTYPE DHT22   // DHT 22 (AM2302), AM2321
    //#define DHTTYPE DHT21   // DHT 21 (AM2301)
    
    DHT dht(DHTPIN, DHTTYPE); //  DHT initialisieren
    
    char message_humidity[20];
    char message_temperature1[20];
    //char message_temperature2[20];
    //char message_heatindex[20];
    char message_light[20];
    
    void setup() {
      Serial.begin(115200);
      if(USE_DHCP == "off") {setup_wifi();}
      Serial.println("DHTxx test!");
      dht.begin();
    
      client.setServer(mqtt_server, 1883);
      client.setClient(espClient);
    
    }
    
    void setup_wifi() {
      Serial.println("");
      delay(10);
      Serial.print("Connecting to ");
      Serial.println(ssid);
      if(USE_DHCP == "off") {WiFi.config(Myip, gateway, subnet); }
      WiFi.begin(ssid, password);  
    
      while (WiFi.status() != WL_CONNECTED) {
        delay(500);
        Serial.print(".");
      }
    
      Serial.println("");
      Serial.println("WiFi connected");
      Serial.println("IP address: ");
      Serial.println(WiFi.localIP());
      }
    
    void reconnect() {
      // Loop until we're reconnected
      while (!client.connected()) {
        Serial.print("Attempting MQTT connection...");
        // Attempt to connect
        if (client.connect(mqtt_client_id,mqtt_username,mqtt_key)) {
          Serial.println("connected");
          // IP-Adresse umwandeln und publish
          IPAddress localAddr = WiFi.localIP();
          char s[16];  
          sprintf(s, "%d.%d.%d.%d", localAddr[0], localAddr[1], localAddr[2], localAddr[3]);    
          client.publish(mqtt_topics_ip,s, true);   
         // client.publish("Antonio Tedesco")
          Serial.println(WiFi.localIP());     
        } else {
          Serial.print("failed, rc=");
          Serial.print(client.state());
          Serial.println(" try again in 5 seconds");
          // Wait 5 seconds before retrying
          delay(5000);
        }
      }
    }
    
    void loop() {
      delay(2000); // Pause fuer DHT-Initialisierung
    
      if (!client.connected()) {
        reconnect();
      }
      // DS18x20 lesen
     // readDS18x29();
    
      // Sensor lesen
      float h = dht.readHumidity(); // Luftfeuchtigkeit 
      float t = dht.readTemperature(); // Temperatur in Celsius 
      float f = dht.readTemperature(true); // Temperatur in Fahrenheit (isFahrenheit = true)
    
      if (isnan(h) || isnan(t) || isnan(f)) { // Auf Lesefehler pruefen -> evtl wiederholen
        Serial.println("Lesefehler DHT-Sensor!");
        return;
      }
    
      float hif = dht.computeHeatIndex(f, h); // Compute heat index in Fahrenheit (the default)  
      float hic = dht.computeHeatIndex(t, h, false); // Compute heat index in Celsius (isFahreheit = false)
    
    #if defined DEBUG
      Serial.print("Luftfeuchte: ");
      Serial.print(h);
      Serial.print(" %\t");
      Serial.print("Temperatur: ");
      Serial.print(t);
      Serial.print(" *C ");
      Serial.print(f);
      Serial.print(" *F\t");
      Serial.print("Heat index: ");
      Serial.print(hic);
      Serial.print(" *C ");
      Serial.print(hif);
      Serial.println(" *F");
    #endif
    
      String pub_humidityString = String(h);
            pub_humidityString.toCharArray(message_humidity, pub_humidityString.length()+1);
            client.publish(mqtt_topics_humidity, message_humidity);
              Serial.println("Humidity: "+pub_humidityString+" gesendet");         
    
      String pub_temperature1String = String(t);
            pub_temperature1String.toCharArray(message_temperature1, pub_temperature1String.length()+1);
            client.publish(mqtt_topics_temperature1, message_temperature1, true);
              Serial.println("Temperatur1: "+pub_temperature1String+" C gesendet"); 
    
      String pub_lightString = String(analogRead(A0));  // Lichtsensor
            pub_lightString.toCharArray(message_light, pub_lightString.length()+1); // Lichtsensor       
            client.publish(mqtt_topics_light, message_light, true);  // Lichtsensor
              Serial.println("Licht: "+pub_lightString+" gesendet");  // Lichtsensor
    
            // nur bei system_deep_sleep() ////////
            delay(3000);
            void disconnect ();        
            Serial.println("...DeepSleep enabled!");
            system_deep_sleep(interval*1000000); //sleep time in usecs. 10000000 = 10 secs.
            ///////////////////////////////////////
           // delay(interval*1000); // Interval für Publish - wenn nicht system_deep_sleep()
    }[/spoiler]</onewire.h></pubsubclient.h></esp8266wifi.h>
    

    geändert: Code in Code-Tags und Spoiler gesetzt; Homoran (Admin)

    1 Antwort Letzte Antwort
    0
    • T Offline
      T Offline
      tedesco
      schrieb am zuletzt editiert von
      #2

      Hallo,

      keiner der mir ein kleine tipp geben kann?

      Gruß

      Toni

      1 Antwort Letzte Antwort
      0
      • HomoranH Nicht stören
        HomoranH Nicht stören
        Homoran
        Global Moderator Administrators
        schrieb am zuletzt editiert von
        #3

        @tedesco:

        eigentlich dachte ich das nun Objekte im Iobroker erzeugt werden `

        Über welchen Adapter willst du diese Objekte erzeugen?

        Gruß

        Rainer

        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

        1 Antwort Letzte Antwort
        0
        • D Offline
          D Offline
          dondaik
          schrieb am zuletzt editiert von
          #4

          na, genau das was ich suche … die MQtt - Anmeldung mit Username und Passwort :-)

          objekte ? bei den richtigen zugangsdaten für den MQtt zugang sind dort die daten zu finden.

          aber warum der DHT xx ? ... die machen nur ärger !!

          entweder:

          BME280 - Temperatur, Feuchte, Luftdruck

          SI7021 - Temperatur, Feuchte

          BH1750 - Helligkeit

          wer Schreibfehler findet darf sie behalten … :-(

          Ps: Anfänger im Bereich Tinkerboard + IOBROKER !

          1 Antwort Letzte Antwort
          0
          • T Offline
            T Offline
            tedesco
            schrieb am zuletzt editiert von
            #5

            @Homoran:

            @tedesco:

            eigentlich dachte ich das nun Objekte im Iobroker erzeugt werden `

            Über welchen Adapter willst du diese Objekte erzeugen?

            Gruß

            Rainer `

            Hallo Reiner,

            also die Objekte erscheinen im Sonoff Adapter, oder nutzt man da einen anderen Adapter für ESP´s und Arduino Soft?

            Es wird auch was erzeugt allerdings nur der Titel mit Alive siehe Bild

            ![](</s><URL url=)https://abload.de/img/objekti2kue.png" />

            1 Antwort Letzte Antwort
            0
            • T Offline
              T Offline
              tedesco
              schrieb am zuletzt editiert von
              #6

              @dondaik:

              na, genau das was ich suche … die MQtt - Anmeldung mit Username und Passwort :-)

              objekte ? bei den richtigen zugangsdaten für den MQtt zugang sind dort die daten zu finden.

              aber warum der DHT xx ? ... die machen nur ärger !!

              entweder:

              BME280 - Temperatur, Feuchte, Luftdruck

              SI7021 - Temperatur, Feuchte

              BH1750 - Helligkeit `

              Hallo,

              ich benutze keine Anmeldedaten user und Passwort für mqtt, deswegen gehen meine Sonoff Geräte mit Tasmota trotzdem alle.

              Würde das später mit einem Esp1 als temp Feuchte Sensoren mit Batterie Betreiben. Habe schon ein paar Wemos D1 mit der Tasmota allerdings mit nem Netzteil am laufen.

              Gruß

              Toni

              1 Antwort Letzte Antwort
              0
              • D Offline
                D Offline
                dondaik
                schrieb am zuletzt editiert von
                #7

                in MQTT funzt das programm ganz sauber ( ich habe nur den DHT ausgetauscht ) und den port angepasst - user + pwd nutze ich im moment auch nicht.

                einzig was im umfeld dieser zeite " // client.publish("Antonio Tedesco") " scheint zu fehlen .

                port: 1886 MQTT / 1883 Sonoff

                2605_io.jpg

                wer Schreibfehler findet darf sie behalten … :-(

                Ps: Anfänger im Bereich Tinkerboard + IOBROKER !

                1 Antwort Letzte Antwort
                0
                • D Offline
                  D Offline
                  dondaik
                  schrieb am zuletzt editiert von
                  #8

                  ach: der esp8266 taugt nicht wirklich für DS und batterie … da ist der esp32 besser ( siehe youtube andreas spiess - muss man aber etwas suchen )

                  wer Schreibfehler findet darf sie behalten … :-(

                  Ps: Anfänger im Bereich Tinkerboard + IOBROKER !

                  1 Antwort Letzte Antwort
                  0
                  • T Offline
                    T Offline
                    tedesco
                    schrieb am zuletzt editiert von
                    #9

                    Hallo zusammen,

                    Danke nochmal an alle, war mein Fehler ich hatte nur den Sonoff Adapter als Mqtt.

                    ich habe den Mqtt Iobroker Adaper installiert und dem einen anderen Port gegeben 1886 wie den Sonoff Adapter mit 1883.

                    Und siehe Bild alles geht

                    ~~![](</s><URL url=)https://abload.de/img/objekt_2n3kbk.png" />

                    Gruß

                    Toni~~

                    1 Antwort Letzte Antwort
                    0
                    • D Offline
                      D Offline
                      dondaik
                      schrieb am zuletzt editiert von
                      #10

                      :-)

                      was ist den da für ein lichtsensor angeschlossen ein LDRxx oder so ;-)

                      wer Schreibfehler findet darf sie behalten … :-(

                      Ps: Anfänger im Bereich Tinkerboard + IOBROKER !

                      1 Antwort Letzte Antwort
                      0
                      • T Offline
                        T Offline
                        tedesco
                        schrieb am zuletzt editiert von
                        #11

                        @dondaik:

                        :-)

                        was ist den da für ein lichtsensor angeschlossen ein LDRxx oder so ;-) `

                        ja genau ein LDR mit nem Widerstand

                        1 Antwort Letzte Antwort
                        0
                        • HomoranH Nicht stören
                          HomoranH Nicht stören
                          Homoran
                          Global Moderator Administrators
                          schrieb am zuletzt editiert von
                          #12

                          @tedesco:

                          ich hatte nur den Sonoff Adapter als Mqtt. `
                          So was hatte ich ganz am Anfang vermutet.

                          Bitte auf die Ports von mqtt und Sonoff achten

                          Na dann viel Spaß

                          Gruß

                          Rainer

                          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                          1 Antwort Letzte Antwort
                          0
                          • T Offline
                            T Offline
                            tedesco
                            schrieb am zuletzt editiert von
                            #13

                            @Homoran:

                            @tedesco:

                            ich hatte nur den Sonoff Adapter als Mqtt. `
                            So was hatte ich ganz am Anfang vermutet.

                            Bitte auf die Ports von mqtt und Sonoff achten

                            Na dann viel Spaß

                            Gruß

                            Rainer `

                            Danke dir

                            Gruß

                            Toni

                            1 Antwort Letzte Antwort
                            0
                            Antworten
                            • In einem neuen Thema antworten
                            Anmelden zum Antworten
                            • Älteste zuerst
                            • Neuste zuerst
                            • Meiste Stimmen


                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            764

                            Online

                            32.5k

                            Benutzer

                            81.7k

                            Themen

                            1.3m

                            Beiträge
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                            ioBroker Community 2014-2025
                            logo
                            • Anmelden

                            • Du hast noch kein Konto? Registrieren

                            • Anmelden oder registrieren, um zu suchen
                            • Erster Beitrag
                              Letzter Beitrag
                            0
                            • Home
                            • Aktuell
                            • Tags
                            • Ungelesen 0
                            • Kategorien
                            • Unreplied
                            • Beliebt
                            • GitHub
                            • Docu
                            • Hilfe