Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Off Topic
  4. Verbindung mit dem Mqtt_Server via iobroker

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.1k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    934

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Verbindung mit dem Mqtt_Server via iobroker

Scheduled Pinned Locked Moved Off Topic
12 Posts 7 Posters 751 Views 7 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • G Offline
    G Offline
    gillian45
    wrote on last edited by Homoran
    #1

    Hiii zusammen !!!!!
    Ich habe vor ein paar Tagen mit ioBroker angefangen. Ich habe den ioBroker auf ein Virtuelles Linux-Rechner installiert und habe da den mqtt_Adapter als Broker konfiguriert. Daneben wollte ich mit einem Microcontroller auf dem mqtt_server zugreifen aber leider klappt es nocht nicht. Ich habe wie folgt mein Server konfiguriert. Hat jemand schon Erfahrung damit ?? Vielleicht liegt es bei der mqtt_server IP_Address ? Ich habe ja schon Vieles versucht ohne Erfolg.

    VirtualBox_IoT Machine_01_04_2023_00_28_47.png

    Allerdings könnt ihr euch noch mein kleines Code anschauen

    #include <Arduino.h>
    # include <WiFi.h>
    # include <PubSubClient.h>
    
    
    
    
    
    
    /*#include <Adafruit_Sensor.h>
    #include <DHT.h> 
    #include <DHT_U.h>
    
    
    #define LED_PIN 12
    #define DHTPIN 32
    #define DHTTYPE DHT11 */
    
    const char* ssid = "WiFI_ID" ; 
    const char* password = "Wifi_passwd" ; 
    WiFiClient WifiClient ; 
    
    // MQTT Broker_Daten
    const char* mqttServer = "10.0.2.15" ;  // Broker_Ip add  
    PubSubClient mqttClient( WifiClient) ; 
    long ZeitAlt = -9999; 
    
    
    //Callback Nachrichten-Empfang (Subscribe)
    void callback( char* topic, byte* message, unsigned int length)
    {
    String str ; 
    for (int i =0 ; i< length ; i++)
      {
        str += (char)message[i]; 
      }
    Serial.print( "Nachrichtenempfang für topic: ");
    Serial.print(topic);
    Serial.print("Nachricht :"); 
    Serial.println(str);  
    }
    
    //Verbindung mit dem Broker herstellen
    void mqttConnect()
    {
      Serial.print("Verbindung zum MQTT_Server"); 
      Serial.print( mqttServer); 
      while(!mqttClient.connected())
      {
        Serial.print("."); 
        if (mqttClient.connect("ESP32Client"))
        {
          Serial.print("MQTT-VErbunden"); 
        }
        else
        {
          Serial.print("Fehlgeschlagen, rc="); 
          Serial.print(mqttClient.state()); 
          Serial.println("erneuter Versuch in 5 Sec"); 
        delay(5000); 
        }
    
      }
     mqttClient.subscribe("test/esp32"); 
    } 
    
    void setup() {
      // put your setup code here, to run once:
    
      Serial.begin(115200); 
      Serial.println(); 
      Serial.print("Verbingsaufbaun zu") ; 
      Serial.print(ssid); 
      WiFi.begin(ssid,password); 
      while(WiFi.status() != WL_CONNECTED)
      {
        delay(500);
        Serial.print("."); 
      }
      Serial.print(""); 
      Serial.println("Wifi connected"); 
      Serial.print("IP Add:");
      Serial.print(WiFi.localIP());
    
    // Verbindung mit MQTT-Server
    mqttClient.setServer(mqttServer, 1883); 
    mqttClient.setCallback(callback); 
    mqttConnect(); 
    }
    
    
    void loop() {
      // put your main code here, to run repeatedly:
      if(!mqttClient.connected())
      {
        mqttConnect();
      }
      mqttClient.loop();
    
      if(millis()-ZeitAlt> 3000)
      {
        char txtString[20];
        ZeitAlt= millis(); 
        sprintf( txtString, "Zeitstempel %", millis()/1000); 
        Serial.println(String("Versand MQTT-NAchricht:") + txtString);
        mqttClient.publish("test/esp32", txtString); 
      }
      delay(200); 
    
    }
    

    MOD-EDIT: Code in code-tags gesetzt!

    Marc BergM CodierknechtC M 3 Replies Last reply
    0
    • G gillian45

      Hiii zusammen !!!!!
      Ich habe vor ein paar Tagen mit ioBroker angefangen. Ich habe den ioBroker auf ein Virtuelles Linux-Rechner installiert und habe da den mqtt_Adapter als Broker konfiguriert. Daneben wollte ich mit einem Microcontroller auf dem mqtt_server zugreifen aber leider klappt es nocht nicht. Ich habe wie folgt mein Server konfiguriert. Hat jemand schon Erfahrung damit ?? Vielleicht liegt es bei der mqtt_server IP_Address ? Ich habe ja schon Vieles versucht ohne Erfolg.

      VirtualBox_IoT Machine_01_04_2023_00_28_47.png

      Allerdings könnt ihr euch noch mein kleines Code anschauen

      #include <Arduino.h>
      # include <WiFi.h>
      # include <PubSubClient.h>
      
      
      
      
      
      
      /*#include <Adafruit_Sensor.h>
      #include <DHT.h> 
      #include <DHT_U.h>
      
      
      #define LED_PIN 12
      #define DHTPIN 32
      #define DHTTYPE DHT11 */
      
      const char* ssid = "WiFI_ID" ; 
      const char* password = "Wifi_passwd" ; 
      WiFiClient WifiClient ; 
      
      // MQTT Broker_Daten
      const char* mqttServer = "10.0.2.15" ;  // Broker_Ip add  
      PubSubClient mqttClient( WifiClient) ; 
      long ZeitAlt = -9999; 
      
      
      //Callback Nachrichten-Empfang (Subscribe)
      void callback( char* topic, byte* message, unsigned int length)
      {
      String str ; 
      for (int i =0 ; i< length ; i++)
        {
          str += (char)message[i]; 
        }
      Serial.print( "Nachrichtenempfang für topic: ");
      Serial.print(topic);
      Serial.print("Nachricht :"); 
      Serial.println(str);  
      }
      
      //Verbindung mit dem Broker herstellen
      void mqttConnect()
      {
        Serial.print("Verbindung zum MQTT_Server"); 
        Serial.print( mqttServer); 
        while(!mqttClient.connected())
        {
          Serial.print("."); 
          if (mqttClient.connect("ESP32Client"))
          {
            Serial.print("MQTT-VErbunden"); 
          }
          else
          {
            Serial.print("Fehlgeschlagen, rc="); 
            Serial.print(mqttClient.state()); 
            Serial.println("erneuter Versuch in 5 Sec"); 
          delay(5000); 
          }
      
        }
       mqttClient.subscribe("test/esp32"); 
      } 
      
      void setup() {
        // put your setup code here, to run once:
      
        Serial.begin(115200); 
        Serial.println(); 
        Serial.print("Verbingsaufbaun zu") ; 
        Serial.print(ssid); 
        WiFi.begin(ssid,password); 
        while(WiFi.status() != WL_CONNECTED)
        {
          delay(500);
          Serial.print("."); 
        }
        Serial.print(""); 
        Serial.println("Wifi connected"); 
        Serial.print("IP Add:");
        Serial.print(WiFi.localIP());
      
      // Verbindung mit MQTT-Server
      mqttClient.setServer(mqttServer, 1883); 
      mqttClient.setCallback(callback); 
      mqttConnect(); 
      }
      
      
      void loop() {
        // put your main code here, to run repeatedly:
        if(!mqttClient.connected())
        {
          mqttConnect();
        }
        mqttClient.loop();
      
        if(millis()-ZeitAlt> 3000)
        {
          char txtString[20];
          ZeitAlt= millis(); 
          sprintf( txtString, "Zeitstempel %", millis()/1000); 
          Serial.println(String("Versand MQTT-NAchricht:") + txtString);
          mqttClient.publish("test/esp32", txtString); 
        }
        delay(200); 
      
      }
      

      MOD-EDIT: Code in code-tags gesetzt!

      Marc BergM Offline
      Marc BergM Offline
      Marc Berg
      Most Active
      wrote on last edited by Marc Berg
      #2

      @gillian45 sagte in Verbindung mit dem Mqtt_Server via iobroker:

      if(millis()-ZeitAlt> 3000)

      nach einem kurzen Blick auf den Code, wie soll die Bedingung "if(millis()-ZeitAlt> 3000)" jemals erreicht werden?

      Ziehe am besten den "publish" block mit in Setup, ohne Bedingung. Damit der code so einfach wie möglich ist und man ein paar Fehlerquellen ausschließen kann.

      NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+EMQX+Grafana

      Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

      Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

      1 Reply Last reply
      0
      • G gillian45

        Hiii zusammen !!!!!
        Ich habe vor ein paar Tagen mit ioBroker angefangen. Ich habe den ioBroker auf ein Virtuelles Linux-Rechner installiert und habe da den mqtt_Adapter als Broker konfiguriert. Daneben wollte ich mit einem Microcontroller auf dem mqtt_server zugreifen aber leider klappt es nocht nicht. Ich habe wie folgt mein Server konfiguriert. Hat jemand schon Erfahrung damit ?? Vielleicht liegt es bei der mqtt_server IP_Address ? Ich habe ja schon Vieles versucht ohne Erfolg.

        VirtualBox_IoT Machine_01_04_2023_00_28_47.png

        Allerdings könnt ihr euch noch mein kleines Code anschauen

        #include <Arduino.h>
        # include <WiFi.h>
        # include <PubSubClient.h>
        
        
        
        
        
        
        /*#include <Adafruit_Sensor.h>
        #include <DHT.h> 
        #include <DHT_U.h>
        
        
        #define LED_PIN 12
        #define DHTPIN 32
        #define DHTTYPE DHT11 */
        
        const char* ssid = "WiFI_ID" ; 
        const char* password = "Wifi_passwd" ; 
        WiFiClient WifiClient ; 
        
        // MQTT Broker_Daten
        const char* mqttServer = "10.0.2.15" ;  // Broker_Ip add  
        PubSubClient mqttClient( WifiClient) ; 
        long ZeitAlt = -9999; 
        
        
        //Callback Nachrichten-Empfang (Subscribe)
        void callback( char* topic, byte* message, unsigned int length)
        {
        String str ; 
        for (int i =0 ; i< length ; i++)
          {
            str += (char)message[i]; 
          }
        Serial.print( "Nachrichtenempfang für topic: ");
        Serial.print(topic);
        Serial.print("Nachricht :"); 
        Serial.println(str);  
        }
        
        //Verbindung mit dem Broker herstellen
        void mqttConnect()
        {
          Serial.print("Verbindung zum MQTT_Server"); 
          Serial.print( mqttServer); 
          while(!mqttClient.connected())
          {
            Serial.print("."); 
            if (mqttClient.connect("ESP32Client"))
            {
              Serial.print("MQTT-VErbunden"); 
            }
            else
            {
              Serial.print("Fehlgeschlagen, rc="); 
              Serial.print(mqttClient.state()); 
              Serial.println("erneuter Versuch in 5 Sec"); 
            delay(5000); 
            }
        
          }
         mqttClient.subscribe("test/esp32"); 
        } 
        
        void setup() {
          // put your setup code here, to run once:
        
          Serial.begin(115200); 
          Serial.println(); 
          Serial.print("Verbingsaufbaun zu") ; 
          Serial.print(ssid); 
          WiFi.begin(ssid,password); 
          while(WiFi.status() != WL_CONNECTED)
          {
            delay(500);
            Serial.print("."); 
          }
          Serial.print(""); 
          Serial.println("Wifi connected"); 
          Serial.print("IP Add:");
          Serial.print(WiFi.localIP());
        
        // Verbindung mit MQTT-Server
        mqttClient.setServer(mqttServer, 1883); 
        mqttClient.setCallback(callback); 
        mqttConnect(); 
        }
        
        
        void loop() {
          // put your main code here, to run repeatedly:
          if(!mqttClient.connected())
          {
            mqttConnect();
          }
          mqttClient.loop();
        
          if(millis()-ZeitAlt> 3000)
          {
            char txtString[20];
            ZeitAlt= millis(); 
            sprintf( txtString, "Zeitstempel %", millis()/1000); 
            Serial.println(String("Versand MQTT-NAchricht:") + txtString);
            mqttClient.publish("test/esp32", txtString); 
          }
          delay(200); 
        
        }
        

        MOD-EDIT: Code in code-tags gesetzt!

        CodierknechtC Online
        CodierknechtC Online
        Codierknecht
        Developer Most Active
        wrote on last edited by
        #3

        @gillian45
        Was macht Dein ESP32?
        Kann man das evtl. auch mit Tasmoty erreichen? Würde Dir das Leben deutlich einfacher machen.

        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

        Proxmox 9.1.1 LXC|8 GB|Core i7-6700
        HmIP|ZigBee|Tasmota|Unifi
        Zabbix Certified Specialist
        Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

        G 1 Reply Last reply
        0
        • G gillian45

          Hiii zusammen !!!!!
          Ich habe vor ein paar Tagen mit ioBroker angefangen. Ich habe den ioBroker auf ein Virtuelles Linux-Rechner installiert und habe da den mqtt_Adapter als Broker konfiguriert. Daneben wollte ich mit einem Microcontroller auf dem mqtt_server zugreifen aber leider klappt es nocht nicht. Ich habe wie folgt mein Server konfiguriert. Hat jemand schon Erfahrung damit ?? Vielleicht liegt es bei der mqtt_server IP_Address ? Ich habe ja schon Vieles versucht ohne Erfolg.

          VirtualBox_IoT Machine_01_04_2023_00_28_47.png

          Allerdings könnt ihr euch noch mein kleines Code anschauen

          #include <Arduino.h>
          # include <WiFi.h>
          # include <PubSubClient.h>
          
          
          
          
          
          
          /*#include <Adafruit_Sensor.h>
          #include <DHT.h> 
          #include <DHT_U.h>
          
          
          #define LED_PIN 12
          #define DHTPIN 32
          #define DHTTYPE DHT11 */
          
          const char* ssid = "WiFI_ID" ; 
          const char* password = "Wifi_passwd" ; 
          WiFiClient WifiClient ; 
          
          // MQTT Broker_Daten
          const char* mqttServer = "10.0.2.15" ;  // Broker_Ip add  
          PubSubClient mqttClient( WifiClient) ; 
          long ZeitAlt = -9999; 
          
          
          //Callback Nachrichten-Empfang (Subscribe)
          void callback( char* topic, byte* message, unsigned int length)
          {
          String str ; 
          for (int i =0 ; i< length ; i++)
            {
              str += (char)message[i]; 
            }
          Serial.print( "Nachrichtenempfang für topic: ");
          Serial.print(topic);
          Serial.print("Nachricht :"); 
          Serial.println(str);  
          }
          
          //Verbindung mit dem Broker herstellen
          void mqttConnect()
          {
            Serial.print("Verbindung zum MQTT_Server"); 
            Serial.print( mqttServer); 
            while(!mqttClient.connected())
            {
              Serial.print("."); 
              if (mqttClient.connect("ESP32Client"))
              {
                Serial.print("MQTT-VErbunden"); 
              }
              else
              {
                Serial.print("Fehlgeschlagen, rc="); 
                Serial.print(mqttClient.state()); 
                Serial.println("erneuter Versuch in 5 Sec"); 
              delay(5000); 
              }
          
            }
           mqttClient.subscribe("test/esp32"); 
          } 
          
          void setup() {
            // put your setup code here, to run once:
          
            Serial.begin(115200); 
            Serial.println(); 
            Serial.print("Verbingsaufbaun zu") ; 
            Serial.print(ssid); 
            WiFi.begin(ssid,password); 
            while(WiFi.status() != WL_CONNECTED)
            {
              delay(500);
              Serial.print("."); 
            }
            Serial.print(""); 
            Serial.println("Wifi connected"); 
            Serial.print("IP Add:");
            Serial.print(WiFi.localIP());
          
          // Verbindung mit MQTT-Server
          mqttClient.setServer(mqttServer, 1883); 
          mqttClient.setCallback(callback); 
          mqttConnect(); 
          }
          
          
          void loop() {
            // put your main code here, to run repeatedly:
            if(!mqttClient.connected())
            {
              mqttConnect();
            }
            mqttClient.loop();
          
            if(millis()-ZeitAlt> 3000)
            {
              char txtString[20];
              ZeitAlt= millis(); 
              sprintf( txtString, "Zeitstempel %", millis()/1000); 
              Serial.println(String("Versand MQTT-NAchricht:") + txtString);
              mqttClient.publish("test/esp32", txtString); 
            }
            delay(200); 
          
          }
          

          MOD-EDIT: Code in code-tags gesetzt!

          M Offline
          M Offline
          MyioBroker
          wrote on last edited by MyioBroker
          #4

          @gillian45 Wenn man sich allein im stillen Kämmerlein mit all den tollen Dingen befasst, ist es am besten erst mal mit fertigen Beispielen das eine oder andere zu erproben, wobei ich hier im Forum aber auch schon sehr gute Unterstützung gefunden habe :-)
          Der Vorschlag von Codierknecht sich erst mal mit "Tasmota" auf dem ESP xxxx zu beschäftigen ist sicher nicht der schlechteste! Es ist einfach fantastisch wieviele Möglichkeiten man plötzlich hat in relativ kurzer Zeit und mit vergleichbar wenig Aufwand sich viele Sensoren und mehr im Smarthome realsieren lassen. Die MQTT Anbindung an den ioBroker ist darin schon enthalten und somit hat man relativ schnell auch in diesem Punkt ein Erfolgserlebnis.
          Ist zwar wieder eine Baustelle mehr aber es lohnt sich weil vieles damit sehr viel einfacher wird und die Erfolgserlebnisse nicht lange auf sich warten lassen, so war es zumindest bei mir :-)
          Man sollte allerdings darauf achten, dass das ioBrokersystem in allen Punkten aktuell ist, habe wochenlang mit dem Mqtt-Adapter experimentiert und es lief nie so richtig bis ich mich endlich mal entschlossen habe alles auf den aktuellen Stand zu bringen und kaum macht man es richtig, schon funtioniert es :-)

          Thomas BraunT 1 Reply Last reply
          0
          • M MyioBroker

            @gillian45 Wenn man sich allein im stillen Kämmerlein mit all den tollen Dingen befasst, ist es am besten erst mal mit fertigen Beispielen das eine oder andere zu erproben, wobei ich hier im Forum aber auch schon sehr gute Unterstützung gefunden habe :-)
            Der Vorschlag von Codierknecht sich erst mal mit "Tasmota" auf dem ESP xxxx zu beschäftigen ist sicher nicht der schlechteste! Es ist einfach fantastisch wieviele Möglichkeiten man plötzlich hat in relativ kurzer Zeit und mit vergleichbar wenig Aufwand sich viele Sensoren und mehr im Smarthome realsieren lassen. Die MQTT Anbindung an den ioBroker ist darin schon enthalten und somit hat man relativ schnell auch in diesem Punkt ein Erfolgserlebnis.
            Ist zwar wieder eine Baustelle mehr aber es lohnt sich weil vieles damit sehr viel einfacher wird und die Erfolgserlebnisse nicht lange auf sich warten lassen, so war es zumindest bei mir :-)
            Man sollte allerdings darauf achten, dass das ioBrokersystem in allen Punkten aktuell ist, habe wochenlang mit dem Mqtt-Adapter experimentiert und es lief nie so richtig bis ich mich endlich mal entschlossen habe alles auf den aktuellen Stand zu bringen und kaum macht man es richtig, schon funtioniert es :-)

            Thomas BraunT Online
            Thomas BraunT Online
            Thomas Braun
            Most Active
            wrote on last edited by Thomas Braun
            #5

            @myiobroker sagte in Verbindung mit dem Mqtt_Server via iobroker:

            bis ich mich endlich mal entschlossen habe alles auf den aktuellen Stand zu bringen

            Das predige ich immer wieder und wieder. Und dann kommen da immer die erzkonservativen Anhänger der 'Never-change-a-running-System'-Sekte mit ihren versumpften Systemen aus der frühen Kreidezeit an.

            'Als ich das neulich (vor 3 Jahren...) gemacht hab hat mir der böse Programmierer da alles gelöscht'

            Linux-Werkzeugkasten:
            https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
            NodeJS Fixer Skript:
            https://forum.iobroker.net/topic/68035/iob-node-fix-skript
            iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

            1 Reply Last reply
            1
            • CodierknechtC Codierknecht

              @gillian45
              Was macht Dein ESP32?
              Kann man das evtl. auch mit Tasmoty erreichen? Würde Dir das Leben deutlich einfacher machen.

              G Offline
              G Offline
              gillian45
              wrote on last edited by
              #6

              @codierknecht
              Okay vielen Dank für deinen Vorschlag. Das ist nämlich eine Projektaufgabe von der Hochschule deswegen muss ich es leider nur so machen. Allerdings werde ich mir mal Tasmota anschauen, ob es mir dabei hilft alles besser zu verstehen ?? Weiß ich nicht ....

              BananaJoeB M 2 Replies Last reply
              0
              • G gillian45

                @codierknecht
                Okay vielen Dank für deinen Vorschlag. Das ist nämlich eine Projektaufgabe von der Hochschule deswegen muss ich es leider nur so machen. Allerdings werde ich mir mal Tasmota anschauen, ob es mir dabei hilft alles besser zu verstehen ?? Weiß ich nicht ....

                BananaJoeB Online
                BananaJoeB Online
                BananaJoe
                Most Active
                wrote on last edited by
                #7

                @gillian45 wenn ich deinen Code kurz überfliege vermisse ich die genaue definition wohin sich MQTT verbinden soll.

                Wobei den Quellcode den gängigen Beispielen ähnlich sieht.
                Hier: https://docs.arduino.cc/tutorials/uno-wifi-rev2/uno-wifi-r2-mqtt-device-to-device wird aber auch der Server und Port mit angegeben:

                if (!mqttClient.connect(broker, port)) {
                

                das fehlt bei dir ganz, zumindest den mqttserver müsstest du doch mitgeben

                ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                1 Reply Last reply
                0
                • G gillian45

                  @codierknecht
                  Okay vielen Dank für deinen Vorschlag. Das ist nämlich eine Projektaufgabe von der Hochschule deswegen muss ich es leider nur so machen. Allerdings werde ich mir mal Tasmota anschauen, ob es mir dabei hilft alles besser zu verstehen ?? Weiß ich nicht ....

                  M Offline
                  M Offline
                  MyioBroker
                  wrote on last edited by MyioBroker
                  #8

                  @gillian45 Ich wollte damit auch nicht sagen, dass man das Programmieren sein lassen und sich auf vorgefertigte Lösungen beschränken soll, zumal es bei dir wohl so vorgegeben ist. Mir hat es im langjährigen technischen Service oft geholfen Fehler durch ein Ausschlußverfahren zu finden wenn ich mir nicht sicher war auf welcher Seite das Problem liegt. Für ESP32 und 8266 gibt es viele Codebeispiele die zum testen taugen ob die eine oder andere Grundfunktion gegeben ist. Habe dazu neben den üblichen "Bastel-"Quellen und in der Arduino-Programmierumgebung selbst (Samples) viele Beispiele gefunden aber inzwischen auch mit Chat-GPT gute Erfahrung gemacht. Man muss das "Problem" möglichst "genau" beschreiben und die Antworten natürlich kritisch bewerten, kann dann aber fast wie im Dialog das Thema "verfeinern". Manchmal liegt es ja nur an der Syntax wie man einen Wert bekommt oder verändern kann :thinking_face:
                  Wenn es damit klappt, weiß man zumindest wo man nicht weiter suchen muss und kann ggf. auch aus diesen Codeschnipseln etwas für den eigenen Code mitnehmen.
                  Vielleicht nicht immer die sauberste Sache wenn man ein Konzept beibehalten möchte/muss oder es gar vorgegeben ist, aber bestimmt besser als am Ende die Verbindungsleitungen im Verdacht zu haben was allerdings bei USB-Kabeln, aber auch bei den einfachen Steckbrettern/ -brücken durchaus eine Rolle spielen kann :-(

                  1 Reply Last reply
                  0
                  • BananaJoeB Online
                    BananaJoeB Online
                    BananaJoe
                    Most Active
                    wrote on last edited by
                    #9

                    Um mich meinem Vorredner anzuschließen:

                    Ich baue mir immer "Prototypen" beim Programmieren.
                    Ja, da gibt es das große Hauptprogramm das ich entwickle - und dann brauche ich etwas was xyz tut.

                    Da baue ich mir dann ein Miniprogramm was nur genau das tut. Wenn ich gerade schlau bin verwende ich dort dann schon passende Variablen- und Funktionsnamen.

                    Und wenn der Prototyp / das Testprogramm das tut was es soll kommt es in das Hauptprogramm.

                    Beim letzten Kundenprojekt (Überwachung von Fahrplananzeigen) gibt es das Programm/Skript was das alles macht. Und ein duzend Einzelprogramme die einen Teilaspekt abbilden.

                    In allen Programmen baue ich von Anfang an ein umfangreiches Debugging ein.
                    Das starte ich entweder über eine Variable gleich am Anfang - wenn die auf True ist wird alles ausgegeben, bzw. über einen Kommandozeileparameter (ich schreibe oft solche Programme).

                    Grund ist das das Debugging während der Entwicklung und später bei Fehlersuchen cool ist, aber sonst nur stört.
                    So kann ich es nach belieben Ein- und ausschalten.
                    Im Quellcode nutze ich eine Funktion dafür welche mit dem entsprechenden Text aufgerufen wird.
                    Die Funktion prüft erst ob die Variable auf True steht und gibt dann den Text aus (oder eben nicht).
                    So muss ich das nicht dauernd im weiteren Verlauf prüfen sondern haue einfach fast jede 2 Zeile eine Meldung raus.

                    ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                    G 1 Reply Last reply
                    0
                    • BananaJoeB BananaJoe

                      Um mich meinem Vorredner anzuschließen:

                      Ich baue mir immer "Prototypen" beim Programmieren.
                      Ja, da gibt es das große Hauptprogramm das ich entwickle - und dann brauche ich etwas was xyz tut.

                      Da baue ich mir dann ein Miniprogramm was nur genau das tut. Wenn ich gerade schlau bin verwende ich dort dann schon passende Variablen- und Funktionsnamen.

                      Und wenn der Prototyp / das Testprogramm das tut was es soll kommt es in das Hauptprogramm.

                      Beim letzten Kundenprojekt (Überwachung von Fahrplananzeigen) gibt es das Programm/Skript was das alles macht. Und ein duzend Einzelprogramme die einen Teilaspekt abbilden.

                      In allen Programmen baue ich von Anfang an ein umfangreiches Debugging ein.
                      Das starte ich entweder über eine Variable gleich am Anfang - wenn die auf True ist wird alles ausgegeben, bzw. über einen Kommandozeileparameter (ich schreibe oft solche Programme).

                      Grund ist das das Debugging während der Entwicklung und später bei Fehlersuchen cool ist, aber sonst nur stört.
                      So kann ich es nach belieben Ein- und ausschalten.
                      Im Quellcode nutze ich eine Funktion dafür welche mit dem entsprechenden Text aufgerufen wird.
                      Die Funktion prüft erst ob die Variable auf True steht und gibt dann den Text aus (oder eben nicht).
                      So muss ich das nicht dauernd im weiteren Verlauf prüfen sondern haue einfach fast jede 2 Zeile eine Meldung raus.

                      G Offline
                      G Offline
                      gillian45
                      wrote on last edited by
                      #10

                      @bananajoe @MyioBroker Danke auf jeden Fall für all eure Tipps, die werde ich mir im Kopf behalten. Ich habe mein Problem mittlerweile schon lösen können.

                      DJMarc75D 1 Reply Last reply
                      0
                      • G gillian45

                        @bananajoe @MyioBroker Danke auf jeden Fall für all eure Tipps, die werde ich mir im Kopf behalten. Ich habe mein Problem mittlerweile schon lösen können.

                        DJMarc75D Offline
                        DJMarc75D Offline
                        DJMarc75
                        wrote on last edited by
                        #11

                        @gillian45 sagte in Verbindung mit dem Mqtt_Server via iobroker:

                        Ich habe mein Problem mittlerweile schon lösen können.

                        Dann lass uns mal teilhaben wie genau ?!

                        Lehrling seit 1975 !!!
                        Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
                        https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

                        G 1 Reply Last reply
                        0
                        • DJMarc75D DJMarc75

                          @gillian45 sagte in Verbindung mit dem Mqtt_Server via iobroker:

                          Ich habe mein Problem mittlerweile schon lösen können.

                          Dann lass uns mal teilhaben wie genau ?!

                          G Offline
                          G Offline
                          gillian45
                          wrote on last edited by
                          #12

                          @djmarc75 Naja dadurch dass mein Board und mein Broker nicht im selben Netz waren haben sie sich nicht verbinden können. Warum ??? weiß ich noch nicht. Mir würde einfach vorgeschlagen mein Virtual_machine auf "Bridged mode" umzustellen damit die Beide im selben Netz läufen und das war's.

                          1 Reply Last reply
                          0
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          784

                          Online

                          32.6k

                          Users

                          82.2k

                          Topics

                          1.3m

                          Posts
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                          ioBroker Community 2014-2025
                          logo
                          • Login

                          • Don't have an account? Register

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Home
                          • Recent
                          • Tags
                          • Unread 0
                          • Categories
                          • Unreplied
                          • Popular
                          • GitHub
                          • Docu
                          • Hilfe