Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Andreas_

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    A
    • Profile
    • Following 0
    • Followers 0
    • Topics 0
    • Posts 3
    • Best 1
    • Groups 1

    Andreas_

    @Andreas_

    Starter

    1
    Reputation
    4
    Profile views
    3
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    Andreas_ Follow
    Starter

    Best posts made by Andreas_

    • RE: ESP8266 an ioBroker Adapter über Simple.api

      Ich krame das Thema mal wieder aus.
      Da ich ein einfaches Thermometer mit einem ESP8266 und zwei DS18B20 bauen wollte, war ich auf der Suche nach einer einfachen Möglichkeit Datenpunkte zu lesen und zu schreiben.
      MQTT, Tasmota etc. sind aus meiner Sicht für so ein kleines Projet der Overkill.

      Hier eine kurze Beschreibung:

      Es wurden in den Objekten die Datenpunkte Temp_1 und Temp_2 angelegt um die Temperaturen vom ESP8266 zu empfangen.
      Takt ist die Anzahl der Sekunden nach denen gemessen werden soll. Den Wert soll der ESP8266 lesen.

      Datenpunkte.jpg

      Hier der Code dazu:

      /*
          Datenpunkte lesen und schreiben mit dem simple api Adapter
      
          Github des Adapters:
          https://github.com/ioBroker/ioBroker.simple-api
      
          Installation und Grundlagen:
          https://www.smarthome-tricks.de/software-iobroker/iobroker-simple-api-adapter/
      
          Gelernt bei:
          https://makesmart.net/esp8266-http-get-request/
      
          Mögliche Kommandos:
          http://192.168.33.80:8087/help   // Adresse anpassen
      
      */
      
      #include <ESP8266WiFi.h>
      #include <ESP8266HTTPClient.h>
      
      HTTPClient sender;
      WiFiClient wifiClient;
      
      // WLAN-Daten
      const char* ssid = "die SSID";
      const char* password = "das Passwort";
      const String host = "192.168.33.80:8087";	// anpassen
      
      String payload;           // String vom Webseiteninhalt
      float tempValue_01 = 18;
      float tempValue_02 = 3;
      
      // Datenpunkte
      String strTakt = "http://192.168.33.80:8087/getPlainValue/0_userdata.0.Temperatursensor.Takt";
      String strTemp_01 = "0_userdata.0.Temperatursensor.Temp_1";    // "_id" aus dem Datenpunkt
      String strTemp_02 = "0_userdata.0.Temperatursensor.Temp_2";    // "_id" aus dem Datenpunkt
      
      //...........................................................................................................................
      
      void setup() {
        Serial.begin(115200);  
        
        WiFi.begin(ssid, password);
      
        verbinden();
        Serial.println("Verbunden!");  
      }
      
      //...........................................................................................................................
      
      void verbinden(){
        while (WiFi.status() != WL_CONNECTED) {
          delay(200);
          Serial.println();
          Serial.print(".");
        }  
      }
      
      //...........................................................................................................................
      
      void get_Aufruf(String URL){
      
        if (WiFi.status() != WL_CONNECTED) {
          verbinden();
        }
         
        if (sender.begin(wifiClient, URL)) {  
      
          // HTTP-Code der Response speichern
          int httpCode = sender.GET();
         
      
          if (httpCode > 0) {
            
            // Anfrage wurde gesendet und Server hat geantwortet      
            if (httpCode == HTTP_CODE_OK) {       
              // Hier wurden die Daten vom Server empfangen, String vom Webseiteninhalt speichern
              payload = sender.getString(); 
            }
            
          }else{
            // Falls HTTP-Error
            Serial.printf("HTTP-Error: ", sender.errorToString(httpCode).c_str());
          }
      
          // Wenn alles abgeschlossen ist, wird die Verbindung wieder beendet
          sender.end();
          
        }else {
          Serial.printf("HTTP-Verbindung konnte nicht hergestellt werden!");
        }
      }  
      //...........................................................................................................................
      
      
      void loop() {
      
        // Wert aus Datenpunkt lesen
        get_Aufruf(strTakt);
        Serial.println(payload);
        
        
        //Werte in Datenpunkt schreiben
        //String url = "http://" + host + "/set/" + strTemp_01 + "?value=" + String(tempValue_01);    // für einen Datenpunkt
                     // http://192.168.33.80:8087/set/0_userdata.0.Temperatursensor.Temp_1?value=81.1 // das soll dabei herauskommen und kann so im Browser getestet werden
                     
        String url = "http://" + host + "/setBulk?" + strTemp_01 + "=" + String(tempValue_01) + "&" + strTemp_02 + "=" + String(tempValue_02);    // für mehrere Datenpunkte
                   // http://192.168.33.80:8087/setBulk?0_userdata.0.Temperatursensor.Temp_1=0.7&0_userdata.0.Temperatursensor.Temp_2=12.3
        
        //Serial.println();
        //Serial.println(url);
          
        get_Aufruf(url);
        
        
        tempValue_01 += 0.1; 
        tempValue_02 += 0.1; 
        delay(6000);  // Werte schreiben ist etwas langsam, 6sec sollten nicht unterschritten werden
        
      
      }
      
      posted in Hardware
      A
      Andreas_

    Latest posts made by Andreas_

    • RE: ESP8266 an ioBroker Adapter über Simple.api

      Ich krame das Thema mal wieder aus.
      Da ich ein einfaches Thermometer mit einem ESP8266 und zwei DS18B20 bauen wollte, war ich auf der Suche nach einer einfachen Möglichkeit Datenpunkte zu lesen und zu schreiben.
      MQTT, Tasmota etc. sind aus meiner Sicht für so ein kleines Projet der Overkill.

      Hier eine kurze Beschreibung:

      Es wurden in den Objekten die Datenpunkte Temp_1 und Temp_2 angelegt um die Temperaturen vom ESP8266 zu empfangen.
      Takt ist die Anzahl der Sekunden nach denen gemessen werden soll. Den Wert soll der ESP8266 lesen.

      Datenpunkte.jpg

      Hier der Code dazu:

      /*
          Datenpunkte lesen und schreiben mit dem simple api Adapter
      
          Github des Adapters:
          https://github.com/ioBroker/ioBroker.simple-api
      
          Installation und Grundlagen:
          https://www.smarthome-tricks.de/software-iobroker/iobroker-simple-api-adapter/
      
          Gelernt bei:
          https://makesmart.net/esp8266-http-get-request/
      
          Mögliche Kommandos:
          http://192.168.33.80:8087/help   // Adresse anpassen
      
      */
      
      #include <ESP8266WiFi.h>
      #include <ESP8266HTTPClient.h>
      
      HTTPClient sender;
      WiFiClient wifiClient;
      
      // WLAN-Daten
      const char* ssid = "die SSID";
      const char* password = "das Passwort";
      const String host = "192.168.33.80:8087";	// anpassen
      
      String payload;           // String vom Webseiteninhalt
      float tempValue_01 = 18;
      float tempValue_02 = 3;
      
      // Datenpunkte
      String strTakt = "http://192.168.33.80:8087/getPlainValue/0_userdata.0.Temperatursensor.Takt";
      String strTemp_01 = "0_userdata.0.Temperatursensor.Temp_1";    // "_id" aus dem Datenpunkt
      String strTemp_02 = "0_userdata.0.Temperatursensor.Temp_2";    // "_id" aus dem Datenpunkt
      
      //...........................................................................................................................
      
      void setup() {
        Serial.begin(115200);  
        
        WiFi.begin(ssid, password);
      
        verbinden();
        Serial.println("Verbunden!");  
      }
      
      //...........................................................................................................................
      
      void verbinden(){
        while (WiFi.status() != WL_CONNECTED) {
          delay(200);
          Serial.println();
          Serial.print(".");
        }  
      }
      
      //...........................................................................................................................
      
      void get_Aufruf(String URL){
      
        if (WiFi.status() != WL_CONNECTED) {
          verbinden();
        }
         
        if (sender.begin(wifiClient, URL)) {  
      
          // HTTP-Code der Response speichern
          int httpCode = sender.GET();
         
      
          if (httpCode > 0) {
            
            // Anfrage wurde gesendet und Server hat geantwortet      
            if (httpCode == HTTP_CODE_OK) {       
              // Hier wurden die Daten vom Server empfangen, String vom Webseiteninhalt speichern
              payload = sender.getString(); 
            }
            
          }else{
            // Falls HTTP-Error
            Serial.printf("HTTP-Error: ", sender.errorToString(httpCode).c_str());
          }
      
          // Wenn alles abgeschlossen ist, wird die Verbindung wieder beendet
          sender.end();
          
        }else {
          Serial.printf("HTTP-Verbindung konnte nicht hergestellt werden!");
        }
      }  
      //...........................................................................................................................
      
      
      void loop() {
      
        // Wert aus Datenpunkt lesen
        get_Aufruf(strTakt);
        Serial.println(payload);
        
        
        //Werte in Datenpunkt schreiben
        //String url = "http://" + host + "/set/" + strTemp_01 + "?value=" + String(tempValue_01);    // für einen Datenpunkt
                     // http://192.168.33.80:8087/set/0_userdata.0.Temperatursensor.Temp_1?value=81.1 // das soll dabei herauskommen und kann so im Browser getestet werden
                     
        String url = "http://" + host + "/setBulk?" + strTemp_01 + "=" + String(tempValue_01) + "&" + strTemp_02 + "=" + String(tempValue_02);    // für mehrere Datenpunkte
                   // http://192.168.33.80:8087/setBulk?0_userdata.0.Temperatursensor.Temp_1=0.7&0_userdata.0.Temperatursensor.Temp_2=12.3
        
        //Serial.println();
        //Serial.println(url);
          
        get_Aufruf(url);
        
        
        tempValue_01 += 0.1; 
        tempValue_02 += 0.1; 
        delay(6000);  // Werte schreiben ist etwas langsam, 6sec sollten nicht unterschritten werden
        
      
      }
      
      posted in Hardware
      A
      Andreas_
    • RE: Wie ECharts in Vis darstellen?

      @glasfaser
      danke ich hatte das gleiche Problem, "iobroker upload vis" hat bei mir geholfen.

      posted in Visualisierung
      A
      Andreas_
    • RE: [gelöst] Abus Smartvest Funk-Bewegungsmelder

      @tmartin
      Die Smartvest Melder arbeiten nicht mit dem Z-Wave Protokoll. Es gibt bei Abus aber durchaus auch Produkte mit dem Z-Wave Protokoll. Das steht da dann auch groß drauf.

      posted in Hardware
      A
      Andreas_
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo