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. Hardware
  4. Windanzeige mit Ventus W132 & Wemos D1 Mini

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    484

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

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

Windanzeige mit Ventus W132 & Wemos D1 Mini

Geplant Angeheftet Gesperrt Verschoben Hardware
45 Beiträge 14 Kommentatoren 11.2k Aufrufe 17 Watching
  • Ä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.
  • M Offline
    M Offline
    mwyraz
    schrieb am zuletzt editiert von mwyraz
    #15

    @claus1993 said in Windanzeige mit Ventus W132 & Wemos D1 Mini:

    Im Sketch finde ich keinen Hinweis wie ich den ESP mit meinem WIFI und dem MQTT Adapter verbinden kann. Habe ich da etwas überlesen oder wo kann ich meine WIFI/MQTT Daten/Passwörter eintragen?

    Der Code dazu ist in den verlinkten Libs (common und private). Da habe ich das Wifi- und MQTT Handling drin, weil das immer das selbe ist.

    Du kannst den Code auch statt zu includen einfach in den Sketch kopieren:

    https://github.com/micw/ArduinoProjekte/blob/master/libraries/common/common_wifi.h
    https://github.com/micw/ArduinoProjekte/blob/master/libraries/common/common_mqtt.h

    Letzterer erzeugt eine Client-ID für den ESP auf Basis seiner MAC-Adresse, schreibt beim Verbinden nach /sensor/CLIENTID/alive eine 1 und lässt es beim Trennen auf 0 umsetzten. Damit sehe ich immer, welche meiner ESPs verbunden sind.

    Die WIFI- und MQTT-Credentials sind per #define in einer externen Datei die im .gitignore liegt. Dadurch committe ich die nicht aus versehen nach Github. Ein Beispiel dafür ist unter https://github.com/micw/ArduinoProjekte/blob/master/libraries/private/private_wifi.h.example

    Edit:

    @claus1993 said in Windanzeige mit Ventus W132 & Wemos D1 Mini:

    Bin jetzt kein Experte was das Schreiben eines Skriptes betrifft, von daher bestraffe mich nicht wenn ich mit meiner folgenden Frage daneben liege

    Fragen hilft Verstehen, daher frage gerne und viel ;-) Wenn Du Schwierigkeiten mit dem Sketch hast, kann ich gerne weiterhelfen.

    C 1 Antwort Letzte Antwort
    0
    • M mwyraz

      @claus1993 said in Windanzeige mit Ventus W132 & Wemos D1 Mini:

      Im Sketch finde ich keinen Hinweis wie ich den ESP mit meinem WIFI und dem MQTT Adapter verbinden kann. Habe ich da etwas überlesen oder wo kann ich meine WIFI/MQTT Daten/Passwörter eintragen?

      Der Code dazu ist in den verlinkten Libs (common und private). Da habe ich das Wifi- und MQTT Handling drin, weil das immer das selbe ist.

      Du kannst den Code auch statt zu includen einfach in den Sketch kopieren:

      https://github.com/micw/ArduinoProjekte/blob/master/libraries/common/common_wifi.h
      https://github.com/micw/ArduinoProjekte/blob/master/libraries/common/common_mqtt.h

      Letzterer erzeugt eine Client-ID für den ESP auf Basis seiner MAC-Adresse, schreibt beim Verbinden nach /sensor/CLIENTID/alive eine 1 und lässt es beim Trennen auf 0 umsetzten. Damit sehe ich immer, welche meiner ESPs verbunden sind.

      Die WIFI- und MQTT-Credentials sind per #define in einer externen Datei die im .gitignore liegt. Dadurch committe ich die nicht aus versehen nach Github. Ein Beispiel dafür ist unter https://github.com/micw/ArduinoProjekte/blob/master/libraries/private/private_wifi.h.example

      Edit:

      @claus1993 said in Windanzeige mit Ventus W132 & Wemos D1 Mini:

      Bin jetzt kein Experte was das Schreiben eines Skriptes betrifft, von daher bestraffe mich nicht wenn ich mit meiner folgenden Frage daneben liege

      Fragen hilft Verstehen, daher frage gerne und viel ;-) Wenn Du Schwierigkeiten mit dem Sketch hast, kann ich gerne weiterhelfen.

      C Offline
      C Offline
      claus1993
      schrieb am zuletzt editiert von
      #16

      @mwyraz

      Habe mal alles in einen Sketch kopiert und ihn dann überprüfen lassen.

      Beim kopieren habe ich die define und include untereinander geschrieben. Den Rest der einzelnen Sketche habe ich dann darunter kopiert. Zusätzlich habe ich die define für die Userberechtigungen in den Sketch kopiert. Im Endeffekt habe ich aus 4 einzelnen Sketchen einen einzigen erstellt.

      /**
       * Ein ESP8622 NodeMCU Develompent Board, welches Sensorwerte via MQTT verschickt
       * http://frightanic.com/iot/comparison-of-esp8266-nodemcu-development-boards/
       * 
       * Umbau eines W132 Windsensors von ELV
       * 
       * - Abtrennen des 433 MHZ-Senders, welcher mit 3 Leitungen (Schwarz, Rot, Blau) an der Logik-Platine angeschlossen ist
       * - Anschließen des ESP-8266
       *   - Schwarz -> GND
       *   - Rot -> 3.3V
       *   - Blau -> D2
       * 
       * Eine Beschreibung des Protokoll ist unter http://www.tfd.hu/tfdhu/files/wsprotocol/auriol_protocol_v20.pdf zu finden, hilfreich ist auch https://sourceforge.net/p/wmrx00/discussion/855158/thread/b3a47730/
       * - Bits und Sync-Signale werden über die Abstände der fallenden Flanke codiert
       * - diese Implementierung nutzt dazu einen Interrupt auf der fallenden Flanke
       */
      
      
      #define MQTT_ALIVE_TOPIC "sensor/%s/alive"
      #define MQTT_DATA_TOPIC "sensor/%s/%s"
      #define MQTT_KEEPALIVE 10
      
      #define WIFI_SSID "mywifi"
      #define WIFI_PASSWORD "topsecret"
      #define MQTT_HOST "10.10.10.1"
      #define MQTT_PORT 1883
      #define MQTT_USERNAME "sensor"
      #define MQTT_PASSWORD "secret"
      
      #include <common_wifi.h>
      #include <common_mqtt.h>
      #include <esp_pins.h>
      #include <ESP8266WiFi.h>
      #include <WiFiUdp.h>
      #include <private_wifi.h>
      #include <PubSubClient.h>
      
      #define PIN_ANEMOMETER D2
      
      void setup_wifi() {
        delay(10);
        // We start by connecting to a WiFi network
        Serial.println();
        Serial.print("Connecting to ");
        Serial.println(WIFI_SSID);
      
        WiFi.mode(WIFI_STA); // disable hotspot
        WiFi.begin(WIFI_SSID,WIFI_PASSWORD);
        wdt_reset(); // Watchdock resetten
      
        while (WiFi.status() != WL_CONNECTED) {
          delay(500);
          Serial.print(".");
        }
      
        Serial.println("");
        Serial.println("WiFi connected");
        Serial.println("IP address: ");
        Serial.println(WiFi.localIP());
      }
      
      extern const char* MQTT_FALSE = "0";
      
      extern const char* MQTT_TRUE = "1";
      
      
      
      WiFiClient wifiClient;
      
      PubSubClient mqttClient(wifiClient);
      
      
      
      char MQTT_CLIENT_ID[15];
      
      
      
      void setup_mqtt() {
      
        mqttClient.setServer(MQTT_HOST, MQTT_PORT);
      
        byte mac[6];
      
        WiFi.macAddress(mac);
      
        sprintf(MQTT_CLIENT_ID, "ESP8266_%02X%02X%02X", mac[3], mac[4], mac[5]);
      
      }
      
      
      
      void connect_mqtt(char* MQTT_TOPIC) {
      
        // Loop until we're reconnected
      
        while (!mqttClient.connected()) {
      
          Serial.print("Attempting MQTT connection...");
      
          // Attempt to connect
      
      #if defined(MQTT_ALIVE_TOPIC)
      
          byte mac[6];
      
          WiFi.macAddress(mac);
      
          char aliveTopicId[7];
      
          sprintf(aliveTopicId, "%02X%02X%02X", mac[3], mac[4], mac[5]);
      
          char aliveTopic[255];
      
          sprintf(aliveTopic, MQTT_ALIVE_TOPIC, aliveTopicId);
      
          if (mqttClient.connect(MQTT_CLIENT_ID, MQTT_USERNAME, MQTT_PASSWORD, aliveTopic, 1, 1, MQTT_FALSE)) {
      
            Serial.println("connected with last will and testament enabled");
      
            mqttClient.publish(aliveTopic,MQTT_TRUE,1);
      
            Serial.print("Sent alive message to ");
      
            Serial.println(aliveTopic);
      
      #else
      
          if (mqttClient.connect(MQTT_CLIENT_ID, MQTT_USERNAME, MQTT_PASSWORD)) {
      
            Serial.println("connected");
      
      #endif
      
            if (MQTT_TOPIC && mqttClient.subscribe(MQTT_TOPIC,1)) {
      
              Serial.print("Subscribed to ");
      
              Serial.println(MQTT_TOPIC);
      
            }
      
          } else {
      
            Serial.print("failed, rc=");
      
            Serial.print(mqttClient.state());
      
            Serial.println(" try again in 5 seconds");
      
            // Wait 5 seconds before retrying
      
            delay(5000);
      
            wdt_reset();
      
          }
      
        }
      
      }
      
      volatile unsigned long lastTrigger;
      
      byte mac[6];
      char sensorId[7];
      char topicBuffer[255];
      char messageBuffer[255];
      
      byte bitPos=-1;
      byte messageNum=-1;
      // there are always sent 6 messages. For temperature/humidity, the message is repeatet 6 times. For wind, 2 messages are repeatet 3 times each
      int message1Bits[36];
      int message2Bits[36];
      
      bool verifyChecksum(int bits[]) {
        int checksum=0xf;
        for (int i=0;i<8;i++) {
          checksum-=bits[i*4]|bits[i*4+1]<<1|bits[i*4+2]<<2|bits[i*4+3]<<3;
        }
        checksum&=0xf;
        int expectedChecksum=bits[32]|bits[33]<<1|bits[34]<<2|bits[35]<<3;
        return checksum==expectedChecksum;
      }
      
      void decodeMessages() {
        if (!verifyChecksum(message1Bits)) {
          Serial.println("Checksum mismatch in message #1");
          return;
        }
        
      /*  
        Serial.println("---");
        for (int i=0;i<36;i++) {
          Serial.print(message1Bits[i]);
          Serial.print(" ");
        }
        Serial.println();
        for (int i=0;i<36;i++) {
          Serial.print(message2Bits[i]);
          Serial.print(" ");
        }
        Serial.println();
        */
        
        if (message1Bits[9]==1 && message1Bits[10]==1) { // wind data (2 messages)
      
          if (!verifyChecksum(message2Bits)) {
            Serial.println("Checksum mismatch in message #1");
            return;
          }
          
          float windSpeed=(message1Bits[24]    | message1Bits[25]<<1 | message1Bits[26]<<2 | message1Bits[27]<<3 |
                           message1Bits[28]<<4 | message1Bits[29]<<5 | message1Bits[30]<<6 | message1Bits[31]<<7)*0.2f;
          Serial.print("Average wind speed: ");
          Serial.print(windSpeed);
          Serial.println(" m/s");
      
          sprintf(topicBuffer, MQTT_DATA_TOPIC, sensorId, "wind_speed");
          String value = String(windSpeed,1);
          value.toCharArray(messageBuffer,255);
          mqttClient.publish(topicBuffer,(byte*)messageBuffer,strlen(messageBuffer));
      
      
          float windGust=(message2Bits[24]    | message2Bits[25]<<1 | message2Bits[26]<<2 | message2Bits[27]<<3 |
                          message2Bits[28]<<4 | message2Bits[29]<<5 | message2Bits[30]<<6 | message2Bits[31]<<7)*0.2f;
          Serial.print("Max wind speed: ");
          Serial.print(windGust);
          Serial.println(" m/s");
      
          sprintf(topicBuffer, MQTT_DATA_TOPIC, sensorId, "wind_gust");
          value = String(windGust,1);
          value.toCharArray(messageBuffer,255);
          mqttClient.publish(topicBuffer,(byte*)messageBuffer,strlen(messageBuffer));
      
          int windDirection=(message2Bits[15]    | message2Bits[16]<<1 | message2Bits[17]<<2 | message2Bits[18]<<3 |
                             message2Bits[19]<<4 | message2Bits[20]<<5 | message2Bits[21]<<6 | message2Bits[22]<<7 |
                             message2Bits[23]<<8);
          Serial.print("Wind direction: ");
          Serial.print(windDirection);
          Serial.println(" °");
      
          sprintf(topicBuffer, MQTT_DATA_TOPIC, sensorId, "wind_direction");
          value = String(windDirection);
          value.toCharArray(messageBuffer,255);
          mqttClient.publish(topicBuffer,(byte*)messageBuffer,strlen(messageBuffer));
          
        } else {  // temperature/humidity in both messages
          int temperatureRaw=(message1Bits[12]    | message1Bits[13]<<1 | message1Bits[14]<<2 | message1Bits[15]<<3 |
                              message1Bits[16]<<4 | message1Bits[17]<<5 | message1Bits[18]<<6 | message1Bits[19]<<7 | 
                              message1Bits[20]<<8 | message1Bits[21]<<9 | message1Bits[22]<<10| message1Bits[23]<<11);
          if (temperatureRaw& 0x800) temperatureRaw+=0xF000; // negative number, 12 to 16 bit
          float temperature=temperatureRaw*0.1f;
          Serial.print("Temperature: ");
          Serial.print(temperature);
          Serial.println(" °C");
      
          sprintf(topicBuffer, MQTT_DATA_TOPIC, sensorId, "temp");
          String value = String(temperature,1);
          value.toCharArray(messageBuffer,255);
          mqttClient.publish(topicBuffer,(byte*)messageBuffer,strlen(messageBuffer));
          
          int humidity=(message1Bits[24] | message1Bits[25]<<1 | message1Bits[26]<<2 | message1Bits[27]<<3 )+
                       (message1Bits[28] | message1Bits[29]<<1 | message1Bits[30]<<2 | message1Bits[31]<<3 )*10;
          Serial.print("Humidity: ");
          Serial.print(humidity);
          Serial.println(" %");
      
          sprintf(topicBuffer, MQTT_DATA_TOPIC, sensorId, "humi");
          value = String(humidity);
          value.toCharArray(messageBuffer,255);
          mqttClient.publish(topicBuffer,(byte*)messageBuffer,strlen(messageBuffer));
          
        }
        
      }
      
      void dataTrigger() {
        unsigned long now=micros();
        unsigned long duration=now-lastTrigger;
        lastTrigger=now;
      
        if (duration>30000) { // a news block of messages begins
          messageNum=0;
        }
      
        if (duration>7000) { // ~9 ms = sync signal
          if (bitPos==36) { // we got a full message
            if (messageNum==0) { // 1st message completed
              messageNum=1;
            } else if (messageNum==1) { // 2nd message completed
              decodeMessages();
              messageNum=-1;
            }
          }
          bitPos=0; // Nachricht begonnen
          return;
        }
      
        if (messageNum<0) return; // ignore repeated messages
        if (bitPos<0) return; // invalid message, ignored
      
        if (messageNum==0) {
          message1Bits[bitPos]=(duration>3300); // 2.2ms=LOW, 4.4ms = HIGH bits
        } else {
          message2Bits[bitPos]=(duration>3300); // 2.2ms=LOW, 4.4ms = HIGH bits
        }
        bitPos++;
        if (bitPos>36) bitPos=-1; // message too long -> invalid
      }
      
      void setup() {
        wdt_enable(WDTO_8S); // Watchdog muss alle 8 Sekunden resettet werden
        Serial.begin(115200);
        Serial.println("Initializing");
      
        WiFi.macAddress(mac);
        sprintf(sensorId, "%02X%02X%02X", mac[3], mac[4], mac[5]);
      
        setup_wifi();
        wdt_reset(); // Watchdog resetten
        setup_mqtt();
        wdt_reset(); // Watchdog resetten
        
        pinMode(PIN_ANEMOMETER,INPUT);
        attachInterrupt(digitalPinToInterrupt(PIN_ANEMOMETER), dataTrigger, FALLING);
      
        wdt_reset(); // Watchdog resetten
      
        Serial.println("Starting");
      }
      
      void loop() {
        wdt_reset(); // Watchdog resetten
        connect_mqtt(0);
        wdt_reset(); // Watchdog resetten
        mqttClient.loop();
      }
      

      Beim Prüfen bekomme ich folgende Fehlerantwort; "common_wifi.h: No such file or Directory"

      Woran kann das liegen?

      Danke für deine Unterstützung!

      M 1 Antwort Letzte Antwort
      0
      • C Offline
        C Offline
        claus1993
        schrieb am zuletzt editiert von claus1993
        #17

        Hier mal noch die komplette Fehlermeldung

        Arduino: 1.8.8 (Windows 10), Board: "LOLIN(WEMOS) D1 R2 & mini, 80 MHz, Flash, Disabled, 4M (no SPIFFS), v2 Lower Memory, Disabled, None, Only Sketch, 921600"
        
        C:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\claus\AppData\Local\Arduino15\packages -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\claus\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\claus\Documents\Arduino\libraries -fqbn=esp8266:esp8266:d1_mini:xtal=80,vt=flash,exception=disabled,eesz=4M,ip=lm2f,dbg=Disabled,lvl=None____,wipe=none,baud=921600 -ide-version=10808 -build-path C:\Users\claus\AppData\Local\Temp\arduino_build_156623 -warnings=none -build-cache C:\Users\claus\AppData\Local\Temp\arduino_cache_901311 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.esptool.path=C:\Users\claus\AppData\Local\Arduino15\packages\esp8266\tools\esptool\2.5.0-3-20ed2b9 -prefs=runtime.tools.esptool-2.5.0-3-20ed2b9.path=C:\Users\claus\AppData\Local\Arduino15\packages\esp8266\tools\esptool\2.5.0-3-20ed2b9 -prefs=runtime.tools.xtensa-lx106-elf-gcc.path=C:\Users\claus\AppData\Local\Arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9 -prefs=runtime.tools.xtensa-lx106-elf-gcc-2.5.0-3-20ed2b9.path=C:\Users\claus\AppData\Local\Arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9 -prefs=runtime.tools.mkspiffs.path=C:\Users\claus\AppData\Local\Arduino15\packages\esp8266\tools\mkspiffs\2.5.0-3-20ed2b9 -prefs=runtime.tools.mkspiffs-2.5.0-3-20ed2b9.path=C:\Users\claus\AppData\Local\Arduino15\packages\esp8266\tools\mkspiffs\2.5.0-3-20ed2b9 -verbose C:\Users\claus\Documents\Arduino\Windmesser\Windmesser.ino
        C:\Program Files (x86)\Arduino\arduino-builder -compile -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\claus\AppData\Local\Arduino15\packages -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\claus\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\claus\Documents\Arduino\libraries -fqbn=esp8266:esp8266:d1_mini:xtal=80,vt=flash,exception=disabled,eesz=4M,ip=lm2f,dbg=Disabled,lvl=None____,wipe=none,baud=921600 -ide-version=10808 -build-path C:\Users\claus\AppData\Local\Temp\arduino_build_156623 -warnings=none -build-cache C:\Users\claus\AppData\Local\Temp\arduino_cache_901311 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.esptool.path=C:\Users\claus\AppData\Local\Arduino15\packages\esp8266\tools\esptool\2.5.0-3-20ed2b9 -prefs=runtime.tools.esptool-2.5.0-3-20ed2b9.path=C:\Users\claus\AppData\Local\Arduino15\packages\esp8266\tools\esptool\2.5.0-3-20ed2b9 -prefs=runtime.tools.xtensa-lx106-elf-gcc.path=C:\Users\claus\AppData\Local\Arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9 -prefs=runtime.tools.xtensa-lx106-elf-gcc-2.5.0-3-20ed2b9.path=C:\Users\claus\AppData\Local\Arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9 -prefs=runtime.tools.mkspiffs.path=C:\Users\claus\AppData\Local\Arduino15\packages\esp8266\tools\mkspiffs\2.5.0-3-20ed2b9 -prefs=runtime.tools.mkspiffs-2.5.0-3-20ed2b9.path=C:\Users\claus\AppData\Local\Arduino15\packages\esp8266\tools\mkspiffs\2.5.0-3-20ed2b9 -verbose C:\Users\claus\Documents\Arduino\Windmesser\Windmesser.ino
        Using board 'd1_mini' from platform in folder: C:\Users\claus\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.0
        Using core 'esp8266' from platform in folder: C:\Users\claus\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.0
        Build-Optionen wurden verändert, alles wird neu kompiliert
        Detecting libraries used...
        "C:\\Users\\claus\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\2.5.0-3-20ed2b9/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-IC:\\Users\\claus\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.0/tools/sdk/include" "-IC:\\Users\\claus\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.0/tools/sdk/lwip2/include" "-IC:\\Users\\claus\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.0/tools/sdk/libc/xtensa-lx106-elf/include" "-IC:\\Users\\claus\\AppData\\Local\\Temp\\arduino_build_156623/core" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -fno-exceptions -w -x c++ -E -CC -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10808 -DARDUINO_ESP8266_WEMOS_D1MINI -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD=\"ESP8266_WEMOS_D1MINI\"" -DFLASHMODE_DIO -DESP8266 "-IC:\\Users\\claus\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.0\\cores\\esp8266" "-IC:\\Users\\claus\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.0\\variants\\d1_mini" "C:\\Users\\claus\\AppData\\Local\\Temp\\arduino_build_156623\\sketch\\Windmesser.ino.cpp" -o nul
        Windmesser:30:25: error: common_wifi.h: No such file or directory
        
         #include <common_wifi.h>
        
                                 ^
        
        compilation terminated.
        
        exit status 1
        common_wifi.h: No such file or directory
        

        WIFI und MQTT Namen sowie Passwörter habe ich bewusst noch nicht eingetragen :-)

        1 Antwort Letzte Antwort
        0
        • C Offline
          C Offline
          claus1993
          schrieb am zuletzt editiert von
          #18

          Dann gebe ich mir mal selber eine Antwort :-)

          Da ich die Befehle direkt in den Sketch kopiert habe, benötige ich die externen Libraries nicht. Externe Libraries werden in den gleichen Ordner abgelegt wie der Sketch und im Sketch mit include eingebunden.

          Habe die #include für <common_wifi.h>, <Common_mqtt.h>, <esp_pins.h> und <private_wifi.h> mit einen // davor als Kommentar gesetzt. Den Sketch auf meinen ESP geflasht und jetzt habe ich die Values in meinem ioBroker :-)

          Weiterhin habe ich meine Zugriffsdaten für mein WLAN und MQTT im Sketch eingetragen.

          :blush: :+1:

          W 1 Antwort Letzte Antwort
          0
          • M Offline
            M Offline
            mwyraz
            schrieb am zuletzt editiert von mwyraz
            #19

            Top ;-)

            Please enter a longer post. Posts should contain at least 8 character(s).

            Freu mich, dass es geht. Ja, die Libs entfallen, wenn du deren Inhalt reinkopierst kannst die Zeilen rauslöschen.

            Edit: ich versuche mal, meinen Blogpost incl. "Schaltplan" zeitnah fertig zu machen und poste dann den Link hier.

            1 Antwort Letzte Antwort
            1
            • F Offline
              F Offline
              feli1
              schrieb am zuletzt editiert von feli1
              #20

              ...habe in dem Sketch von @claus1993 vom 9.Okt die includes "common_wifi.h, common_mqtt.h, private_wifi.h und esp_pins.h" auskommentiert, die Wlan und MQTT Login Daten eingetragen und den Sketch erfolgreich geflasht.
              Der Wemos meldet sich erfolgreich in der Fritzbox an, alles scheint ok. Leider wird mein MQTT Adapter im IO Broker nicht grün. Mit dem MQTT Beispiel- Sketch aus dem Arduino IDE wird er dagegen sofort grün.
              Habe im Moment keine Idee wie ich weitermachen könnte.
              Hat jemand einen Vorschlag?

              1 Antwort Letzte Antwort
              0
              • C claus1993

                Dann gebe ich mir mal selber eine Antwort :-)

                Da ich die Befehle direkt in den Sketch kopiert habe, benötige ich die externen Libraries nicht. Externe Libraries werden in den gleichen Ordner abgelegt wie der Sketch und im Sketch mit include eingebunden.

                Habe die #include für <common_wifi.h>, <Common_mqtt.h>, <esp_pins.h> und <private_wifi.h> mit einen // davor als Kommentar gesetzt. Den Sketch auf meinen ESP geflasht und jetzt habe ich die Values in meinem ioBroker :-)

                Weiterhin habe ich meine Zugriffsdaten für mein WLAN und MQTT im Sketch eingetragen.

                :blush: :+1:

                W Offline
                W Offline
                Wayne1983
                schrieb am zuletzt editiert von
                #21

                @claus1993 Hallo. Vielleicht könntest du mir helfen. Habe alle lt. deiner Beschreibung erledigt.
                Bekomme aber immer folgende Fehlermeldung.

                Fehlermeldung W132_neu.jpg

                Danke.

                1 Antwort Letzte Antwort
                0
                • H Offline
                  H Offline
                  hugo1215
                  schrieb am zuletzt editiert von
                  #22

                  Hallo zusammen,
                  habe auch das Script von @claus1993 genommen und auch die #include für <common_wifi.h>, <Common_mqtt.h>, <esp_pins.h> und <private_wifi.h> mit einen // auskommentiert.
                  Habe meine Wlan daten und MQTT daten eingeben. Im Wlan habe ich diesen auch gefunden nur leider sehe ich diese noch nicht im MQTT im Iobroker.
                  Habe ich was übersehen? Sensor ist auch angeschlossen.
                  Gruß

                  1 Antwort Letzte Antwort
                  0
                  • C Offline
                    C Offline
                    claus1993
                    schrieb am zuletzt editiert von claus1993
                    #23

                    Sorry das tut mir leid das es nicht funktioniert...bin leider kein Profi was das programmieren betrifft und wurschtele mich auch immer so durch. meist ist es ein Trial and Error...

                    @Wayne1983
                    du hast die Meldung zu dem D2 Pin gesehen? Hast du deine Data Leitung dort angesetzt?
                    Hatte in einem anderen Sketch auch ein Problem und habe dann D2 durch den GPIO Pin ersetzt. Vielleicht hilft das.

                    @hugo1215
                    hast du die Daten korrekt eingegeben? Funktionieren andere MQTT Exports? Hast du auch deine IP und Port Nummer verwendet und nicht die die im Skript steht?

                    Aufgrund eines Rechner Crashs habe ich den Sketch leider nicht mehr sonst würde ich ihn hier posten :-(

                    1 Antwort Letzte Antwort
                    0
                    • H Offline
                      H Offline
                      hugo1215
                      schrieb am zuletzt editiert von hugo1215
                      #24

                      Hallo @claus1993,
                      also normal funktionieren die Exports. Habe 4 Wemos laufen wo ESP EASY läuft mit meinem Einstellungen.
                      Hatte einen Kleine Fehler gefunden. hehe. Wass aber passiert ist das es sich immer wieder mit meinem WLAN verbinden will das hat er auch macht immer ein Reconnect und somit kommt er nicht zum verbinden mit dem MQTT server und kann dann im weiteren Verlauf nicht die Daten vom Windmesser weiterleiten.
                      Gruß

                      H 1 Antwort Letzte Antwort
                      0
                      • C Offline
                        C Offline
                        claus1993
                        schrieb am zuletzt editiert von
                        #25

                        @hugo1215

                        sorry dann kann ich leider nicht weiterhelfen. Sollte mir etwas einfallen würde ich mich melden.

                        H 1 Antwort Letzte Antwort
                        0
                        • premoP Online
                          premoP Online
                          premo
                          schrieb am zuletzt editiert von premo
                          #26

                          Falls Interesse besteht dann könnte ich mal ein einfaches Ansteuern der Markise anbieten.

                          Bei mir ist ein Eltako WS Windsensor mit Wemos D1 mini im Einsatz.
                          Mit dem Skript wird über MQTT die Windstärke in km/h in IOBroker
                          angezeigt.
                          Der Eltako WS erzeugt pro Umdrehung 2 Impulse, beim W132 wird nur 1 Impuls erzeugt.
                          Dieses muss im Skript noch eingestellt werden.
                          Anbei die Beschreibung mit Skript

                          esp8266-anemometer-master.zip Beschreibung.zip

                          Gerade noch was Intressantes gefunden.
                          https://gist.github.com/micw/098709efc83a9d9ebf16d14cea4ca38e

                          1 Antwort Letzte Antwort
                          0
                          • H Offline
                            H Offline
                            hugo1215
                            schrieb am zuletzt editiert von hugo1215
                            #27

                            hallo @premo
                            danke das du dein Script zur verfügung stellst. Werde es mal ausprobieren. WO stelle ich die Impulse in deinem Script ein. Ein bisschen erfahrung habe ich aber nicht genug.
                            Denn Link von Github kenne ich schon leider klappt es damit nicht.

                            Gruß

                            premoP 1 Antwort Letzte Antwort
                            0
                            • C claus1993

                              @hugo1215

                              sorry dann kann ich leider nicht weiterhelfen. Sollte mir etwas einfallen würde ich mich melden.

                              H Offline
                              H Offline
                              hugo1215
                              schrieb am zuletzt editiert von
                              #28

                              @claus1993 sagte in Windanzeige mit Ventus W132 & Wemos D1 Mini:

                              @hugo1215

                              sorry dann kann ich leider nicht weiterhelfen. Sollte mir etwas einfallen würde ich mich melden.

                              Hallo @claus1993,
                              habe den Fehler gefunden. Bei den Board Verwaltung im Arduino Programm muss die Version 2.4.1 installiert sein. Dann klappt es.
                              Bekomme jetzt auch die Daten in Iobroker. Soweit so gut. Kann man die Daten auch schneller Abrufen und nicht nur alle 30 sek??
                              Gruß

                              C ? 2 Antworten Letzte Antwort
                              0
                              • H hugo1215

                                @claus1993 sagte in Windanzeige mit Ventus W132 & Wemos D1 Mini:

                                @hugo1215

                                sorry dann kann ich leider nicht weiterhelfen. Sollte mir etwas einfallen würde ich mich melden.

                                Hallo @claus1993,
                                habe den Fehler gefunden. Bei den Board Verwaltung im Arduino Programm muss die Version 2.4.1 installiert sein. Dann klappt es.
                                Bekomme jetzt auch die Daten in Iobroker. Soweit so gut. Kann man die Daten auch schneller Abrufen und nicht nur alle 30 sek??
                                Gruß

                                C Offline
                                C Offline
                                claus1993
                                schrieb am zuletzt editiert von
                                #29

                                @hugo1215 freut mich das es jetzt läuft. Was eine Verkürzung der Abfragezeit betrifft meine ich gelesen zu haben das der Skript Vergleichswerte zur Berechnung benötigt. Wenn dem so ist müsste man den Skript und die Berechnung anpassen.

                                H 1 Antwort Letzte Antwort
                                0
                                • C claus1993

                                  @hugo1215 freut mich das es jetzt läuft. Was eine Verkürzung der Abfragezeit betrifft meine ich gelesen zu haben das der Skript Vergleichswerte zur Berechnung benötigt. Wenn dem so ist müsste man den Skript und die Berechnung anpassen.

                                  H Offline
                                  H Offline
                                  hugo1215
                                  schrieb am zuletzt editiert von
                                  #30

                                  @claus1993 hast du einen Tip wo ich schauen kann??
                                  Gruß

                                  1 Antwort Letzte Antwort
                                  0
                                  • H hugo1215

                                    hallo @premo
                                    danke das du dein Script zur verfügung stellst. Werde es mal ausprobieren. WO stelle ich die Impulse in deinem Script ein. Ein bisschen erfahrung habe ich aber nicht genug.
                                    Denn Link von Github kenne ich schon leider klappt es damit nicht.

                                    Gruß

                                    premoP Online
                                    premoP Online
                                    premo
                                    schrieb am zuletzt editiert von
                                    #31

                                    @hugo1215 sagte in Windanzeige mit Ventus W132 & Wemos D1 Mini:

                                    WO stelle ich die Impulse in deinem Script ein.

                                    In der "myconfig_samples.h"
                                    In der Zeile 16
                                    const float number_reed = 1

                                    1 Antwort Letzte Antwort
                                    0
                                    • C claus1993

                                      @mwyraz

                                      Habe mal alles in einen Sketch kopiert und ihn dann überprüfen lassen.

                                      Beim kopieren habe ich die define und include untereinander geschrieben. Den Rest der einzelnen Sketche habe ich dann darunter kopiert. Zusätzlich habe ich die define für die Userberechtigungen in den Sketch kopiert. Im Endeffekt habe ich aus 4 einzelnen Sketchen einen einzigen erstellt.

                                      /**
                                       * Ein ESP8622 NodeMCU Develompent Board, welches Sensorwerte via MQTT verschickt
                                       * http://frightanic.com/iot/comparison-of-esp8266-nodemcu-development-boards/
                                       * 
                                       * Umbau eines W132 Windsensors von ELV
                                       * 
                                       * - Abtrennen des 433 MHZ-Senders, welcher mit 3 Leitungen (Schwarz, Rot, Blau) an der Logik-Platine angeschlossen ist
                                       * - Anschließen des ESP-8266
                                       *   - Schwarz -> GND
                                       *   - Rot -> 3.3V
                                       *   - Blau -> D2
                                       * 
                                       * Eine Beschreibung des Protokoll ist unter http://www.tfd.hu/tfdhu/files/wsprotocol/auriol_protocol_v20.pdf zu finden, hilfreich ist auch https://sourceforge.net/p/wmrx00/discussion/855158/thread/b3a47730/
                                       * - Bits und Sync-Signale werden über die Abstände der fallenden Flanke codiert
                                       * - diese Implementierung nutzt dazu einen Interrupt auf der fallenden Flanke
                                       */
                                      
                                      
                                      #define MQTT_ALIVE_TOPIC "sensor/%s/alive"
                                      #define MQTT_DATA_TOPIC "sensor/%s/%s"
                                      #define MQTT_KEEPALIVE 10
                                      
                                      #define WIFI_SSID "mywifi"
                                      #define WIFI_PASSWORD "topsecret"
                                      #define MQTT_HOST "10.10.10.1"
                                      #define MQTT_PORT 1883
                                      #define MQTT_USERNAME "sensor"
                                      #define MQTT_PASSWORD "secret"
                                      
                                      #include <common_wifi.h>
                                      #include <common_mqtt.h>
                                      #include <esp_pins.h>
                                      #include <ESP8266WiFi.h>
                                      #include <WiFiUdp.h>
                                      #include <private_wifi.h>
                                      #include <PubSubClient.h>
                                      
                                      #define PIN_ANEMOMETER D2
                                      
                                      void setup_wifi() {
                                        delay(10);
                                        // We start by connecting to a WiFi network
                                        Serial.println();
                                        Serial.print("Connecting to ");
                                        Serial.println(WIFI_SSID);
                                      
                                        WiFi.mode(WIFI_STA); // disable hotspot
                                        WiFi.begin(WIFI_SSID,WIFI_PASSWORD);
                                        wdt_reset(); // Watchdock resetten
                                      
                                        while (WiFi.status() != WL_CONNECTED) {
                                          delay(500);
                                          Serial.print(".");
                                        }
                                      
                                        Serial.println("");
                                        Serial.println("WiFi connected");
                                        Serial.println("IP address: ");
                                        Serial.println(WiFi.localIP());
                                      }
                                      
                                      extern const char* MQTT_FALSE = "0";
                                      
                                      extern const char* MQTT_TRUE = "1";
                                      
                                      
                                      
                                      WiFiClient wifiClient;
                                      
                                      PubSubClient mqttClient(wifiClient);
                                      
                                      
                                      
                                      char MQTT_CLIENT_ID[15];
                                      
                                      
                                      
                                      void setup_mqtt() {
                                      
                                        mqttClient.setServer(MQTT_HOST, MQTT_PORT);
                                      
                                        byte mac[6];
                                      
                                        WiFi.macAddress(mac);
                                      
                                        sprintf(MQTT_CLIENT_ID, "ESP8266_%02X%02X%02X", mac[3], mac[4], mac[5]);
                                      
                                      }
                                      
                                      
                                      
                                      void connect_mqtt(char* MQTT_TOPIC) {
                                      
                                        // Loop until we're reconnected
                                      
                                        while (!mqttClient.connected()) {
                                      
                                          Serial.print("Attempting MQTT connection...");
                                      
                                          // Attempt to connect
                                      
                                      #if defined(MQTT_ALIVE_TOPIC)
                                      
                                          byte mac[6];
                                      
                                          WiFi.macAddress(mac);
                                      
                                          char aliveTopicId[7];
                                      
                                          sprintf(aliveTopicId, "%02X%02X%02X", mac[3], mac[4], mac[5]);
                                      
                                          char aliveTopic[255];
                                      
                                          sprintf(aliveTopic, MQTT_ALIVE_TOPIC, aliveTopicId);
                                      
                                          if (mqttClient.connect(MQTT_CLIENT_ID, MQTT_USERNAME, MQTT_PASSWORD, aliveTopic, 1, 1, MQTT_FALSE)) {
                                      
                                            Serial.println("connected with last will and testament enabled");
                                      
                                            mqttClient.publish(aliveTopic,MQTT_TRUE,1);
                                      
                                            Serial.print("Sent alive message to ");
                                      
                                            Serial.println(aliveTopic);
                                      
                                      #else
                                      
                                          if (mqttClient.connect(MQTT_CLIENT_ID, MQTT_USERNAME, MQTT_PASSWORD)) {
                                      
                                            Serial.println("connected");
                                      
                                      #endif
                                      
                                            if (MQTT_TOPIC && mqttClient.subscribe(MQTT_TOPIC,1)) {
                                      
                                              Serial.print("Subscribed to ");
                                      
                                              Serial.println(MQTT_TOPIC);
                                      
                                            }
                                      
                                          } else {
                                      
                                            Serial.print("failed, rc=");
                                      
                                            Serial.print(mqttClient.state());
                                      
                                            Serial.println(" try again in 5 seconds");
                                      
                                            // Wait 5 seconds before retrying
                                      
                                            delay(5000);
                                      
                                            wdt_reset();
                                      
                                          }
                                      
                                        }
                                      
                                      }
                                      
                                      volatile unsigned long lastTrigger;
                                      
                                      byte mac[6];
                                      char sensorId[7];
                                      char topicBuffer[255];
                                      char messageBuffer[255];
                                      
                                      byte bitPos=-1;
                                      byte messageNum=-1;
                                      // there are always sent 6 messages. For temperature/humidity, the message is repeatet 6 times. For wind, 2 messages are repeatet 3 times each
                                      int message1Bits[36];
                                      int message2Bits[36];
                                      
                                      bool verifyChecksum(int bits[]) {
                                        int checksum=0xf;
                                        for (int i=0;i<8;i++) {
                                          checksum-=bits[i*4]|bits[i*4+1]<<1|bits[i*4+2]<<2|bits[i*4+3]<<3;
                                        }
                                        checksum&=0xf;
                                        int expectedChecksum=bits[32]|bits[33]<<1|bits[34]<<2|bits[35]<<3;
                                        return checksum==expectedChecksum;
                                      }
                                      
                                      void decodeMessages() {
                                        if (!verifyChecksum(message1Bits)) {
                                          Serial.println("Checksum mismatch in message #1");
                                          return;
                                        }
                                        
                                      /*  
                                        Serial.println("---");
                                        for (int i=0;i<36;i++) {
                                          Serial.print(message1Bits[i]);
                                          Serial.print(" ");
                                        }
                                        Serial.println();
                                        for (int i=0;i<36;i++) {
                                          Serial.print(message2Bits[i]);
                                          Serial.print(" ");
                                        }
                                        Serial.println();
                                        */
                                        
                                        if (message1Bits[9]==1 && message1Bits[10]==1) { // wind data (2 messages)
                                      
                                          if (!verifyChecksum(message2Bits)) {
                                            Serial.println("Checksum mismatch in message #1");
                                            return;
                                          }
                                          
                                          float windSpeed=(message1Bits[24]    | message1Bits[25]<<1 | message1Bits[26]<<2 | message1Bits[27]<<3 |
                                                           message1Bits[28]<<4 | message1Bits[29]<<5 | message1Bits[30]<<6 | message1Bits[31]<<7)*0.2f;
                                          Serial.print("Average wind speed: ");
                                          Serial.print(windSpeed);
                                          Serial.println(" m/s");
                                      
                                          sprintf(topicBuffer, MQTT_DATA_TOPIC, sensorId, "wind_speed");
                                          String value = String(windSpeed,1);
                                          value.toCharArray(messageBuffer,255);
                                          mqttClient.publish(topicBuffer,(byte*)messageBuffer,strlen(messageBuffer));
                                      
                                      
                                          float windGust=(message2Bits[24]    | message2Bits[25]<<1 | message2Bits[26]<<2 | message2Bits[27]<<3 |
                                                          message2Bits[28]<<4 | message2Bits[29]<<5 | message2Bits[30]<<6 | message2Bits[31]<<7)*0.2f;
                                          Serial.print("Max wind speed: ");
                                          Serial.print(windGust);
                                          Serial.println(" m/s");
                                      
                                          sprintf(topicBuffer, MQTT_DATA_TOPIC, sensorId, "wind_gust");
                                          value = String(windGust,1);
                                          value.toCharArray(messageBuffer,255);
                                          mqttClient.publish(topicBuffer,(byte*)messageBuffer,strlen(messageBuffer));
                                      
                                          int windDirection=(message2Bits[15]    | message2Bits[16]<<1 | message2Bits[17]<<2 | message2Bits[18]<<3 |
                                                             message2Bits[19]<<4 | message2Bits[20]<<5 | message2Bits[21]<<6 | message2Bits[22]<<7 |
                                                             message2Bits[23]<<8);
                                          Serial.print("Wind direction: ");
                                          Serial.print(windDirection);
                                          Serial.println(" °");
                                      
                                          sprintf(topicBuffer, MQTT_DATA_TOPIC, sensorId, "wind_direction");
                                          value = String(windDirection);
                                          value.toCharArray(messageBuffer,255);
                                          mqttClient.publish(topicBuffer,(byte*)messageBuffer,strlen(messageBuffer));
                                          
                                        } else {  // temperature/humidity in both messages
                                          int temperatureRaw=(message1Bits[12]    | message1Bits[13]<<1 | message1Bits[14]<<2 | message1Bits[15]<<3 |
                                                              message1Bits[16]<<4 | message1Bits[17]<<5 | message1Bits[18]<<6 | message1Bits[19]<<7 | 
                                                              message1Bits[20]<<8 | message1Bits[21]<<9 | message1Bits[22]<<10| message1Bits[23]<<11);
                                          if (temperatureRaw& 0x800) temperatureRaw+=0xF000; // negative number, 12 to 16 bit
                                          float temperature=temperatureRaw*0.1f;
                                          Serial.print("Temperature: ");
                                          Serial.print(temperature);
                                          Serial.println(" °C");
                                      
                                          sprintf(topicBuffer, MQTT_DATA_TOPIC, sensorId, "temp");
                                          String value = String(temperature,1);
                                          value.toCharArray(messageBuffer,255);
                                          mqttClient.publish(topicBuffer,(byte*)messageBuffer,strlen(messageBuffer));
                                          
                                          int humidity=(message1Bits[24] | message1Bits[25]<<1 | message1Bits[26]<<2 | message1Bits[27]<<3 )+
                                                       (message1Bits[28] | message1Bits[29]<<1 | message1Bits[30]<<2 | message1Bits[31]<<3 )*10;
                                          Serial.print("Humidity: ");
                                          Serial.print(humidity);
                                          Serial.println(" %");
                                      
                                          sprintf(topicBuffer, MQTT_DATA_TOPIC, sensorId, "humi");
                                          value = String(humidity);
                                          value.toCharArray(messageBuffer,255);
                                          mqttClient.publish(topicBuffer,(byte*)messageBuffer,strlen(messageBuffer));
                                          
                                        }
                                        
                                      }
                                      
                                      void dataTrigger() {
                                        unsigned long now=micros();
                                        unsigned long duration=now-lastTrigger;
                                        lastTrigger=now;
                                      
                                        if (duration>30000) { // a news block of messages begins
                                          messageNum=0;
                                        }
                                      
                                        if (duration>7000) { // ~9 ms = sync signal
                                          if (bitPos==36) { // we got a full message
                                            if (messageNum==0) { // 1st message completed
                                              messageNum=1;
                                            } else if (messageNum==1) { // 2nd message completed
                                              decodeMessages();
                                              messageNum=-1;
                                            }
                                          }
                                          bitPos=0; // Nachricht begonnen
                                          return;
                                        }
                                      
                                        if (messageNum<0) return; // ignore repeated messages
                                        if (bitPos<0) return; // invalid message, ignored
                                      
                                        if (messageNum==0) {
                                          message1Bits[bitPos]=(duration>3300); // 2.2ms=LOW, 4.4ms = HIGH bits
                                        } else {
                                          message2Bits[bitPos]=(duration>3300); // 2.2ms=LOW, 4.4ms = HIGH bits
                                        }
                                        bitPos++;
                                        if (bitPos>36) bitPos=-1; // message too long -> invalid
                                      }
                                      
                                      void setup() {
                                        wdt_enable(WDTO_8S); // Watchdog muss alle 8 Sekunden resettet werden
                                        Serial.begin(115200);
                                        Serial.println("Initializing");
                                      
                                        WiFi.macAddress(mac);
                                        sprintf(sensorId, "%02X%02X%02X", mac[3], mac[4], mac[5]);
                                      
                                        setup_wifi();
                                        wdt_reset(); // Watchdog resetten
                                        setup_mqtt();
                                        wdt_reset(); // Watchdog resetten
                                        
                                        pinMode(PIN_ANEMOMETER,INPUT);
                                        attachInterrupt(digitalPinToInterrupt(PIN_ANEMOMETER), dataTrigger, FALLING);
                                      
                                        wdt_reset(); // Watchdog resetten
                                      
                                        Serial.println("Starting");
                                      }
                                      
                                      void loop() {
                                        wdt_reset(); // Watchdog resetten
                                        connect_mqtt(0);
                                        wdt_reset(); // Watchdog resetten
                                        mqttClient.loop();
                                      }
                                      

                                      Beim Prüfen bekomme ich folgende Fehlerantwort; "common_wifi.h: No such file or Directory"

                                      Woran kann das liegen?

                                      Danke für deine Unterstützung!

                                      M Offline
                                      M Offline
                                      Meldb
                                      schrieb am zuletzt editiert von
                                      #32

                                      @claus1993 Hallo ich habe auch dein Skipt verwendet. Super danke erstmal das du es hier zu verfügung gestellt hat. Jetzt habe ich noch eine Frage weiter oben habt ihr über den Regensensor W174 geschrieben habt ihr das auch an dem Wemo mit dem Skript? Oder wie habt ihr das gemacht?

                                      C 1 Antwort Letzte Antwort
                                      0
                                      • M Meldb

                                        @claus1993 Hallo ich habe auch dein Skipt verwendet. Super danke erstmal das du es hier zu verfügung gestellt hat. Jetzt habe ich noch eine Frage weiter oben habt ihr über den Regensensor W174 geschrieben habt ihr das auch an dem Wemo mit dem Skript? Oder wie habt ihr das gemacht?

                                        C Offline
                                        C Offline
                                        claus1993
                                        schrieb am zuletzt editiert von
                                        #33

                                        @Meldb
                                        Jepp der läuft mit einem Wemos D1 Mini.

                                        M 1 Antwort Letzte Antwort
                                        0
                                        • C claus1993

                                          @Meldb
                                          Jepp der läuft mit einem Wemos D1 Mini.

                                          M Offline
                                          M Offline
                                          Meldb
                                          schrieb am zuletzt editiert von
                                          #34

                                          @claus1993 Hallo ich habe heute mein Sensor W132 bekommen ich bekomme immer den gleichen Temperatur u. Luftfeuchte Wert ist das bei dir auch so?

                                          C 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

                                          703

                                          Online

                                          32.5k

                                          Benutzer

                                          81.8k

                                          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