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

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    406

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

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

Windanzeige mit Ventus W132 & Wemos D1 Mini

Scheduled Pinned Locked Moved Hardware
45 Posts 14 Posters 11.7k Views 17 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.
  • C Offline
    C Offline
    claus1993
    wrote on last edited by 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 Reply Last reply
    0
    • H Offline
      H Offline
      hugo1215
      wrote on last edited by 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 Reply Last reply
      0
      • C Offline
        C Offline
        claus1993
        wrote on last edited by
        #25

        @hugo1215

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

        H 1 Reply Last reply
        0
        • premoP Offline
          premoP Offline
          premo
          wrote on last edited by 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 Reply Last reply
          0
          • H Offline
            H Offline
            hugo1215
            wrote on last edited by 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 Reply Last reply
            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
              wrote on last edited by
              #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 Replies Last reply
              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
                wrote on last edited by
                #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 Reply Last reply
                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
                  wrote on last edited by
                  #30

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

                  1 Reply Last reply
                  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 Offline
                    premoP Offline
                    premo
                    wrote on last edited by
                    #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 Reply Last reply
                    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
                      wrote on last edited by
                      #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 Reply Last reply
                      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
                        wrote on last edited by
                        #33

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

                        M 1 Reply Last reply
                        0
                        • C claus1993

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

                          M Offline
                          M Offline
                          Meldb
                          wrote on last edited by
                          #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 Reply Last reply
                          0
                          • M Meldb

                            @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 Offline
                            C Offline
                            claus1993
                            wrote on last edited by claus1993
                            #35

                            @Meldb
                            Habe den Sensor mal angeklemmt und sehe das sich nur die Werte für den Wind ändern. Bei Temperatur und Humity ist schon weit längeren unverändert und wird bei einem Update auch nicht kurz grün. Kann die leider nicht sagen woran das liegt. Vielleicht gibt es den ein oder anderen Experten der den Code lesen kann und dort einen Fehler findet.

                            1 Reply Last reply
                            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ß

                              ? Offline
                              ? Offline
                              A Former User
                              wrote on last edited by A Former User
                              #36

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

                              habe den Fehler gefunden. Bei den Board Verwaltung im Arduino Programm muss die Version 2.4.1 installiert sein. Dann klappt es.

                              @mwyraz
                              Vielleicht könnte man den Punkt mit der Version 2.4.1 auf GitHub hinzufügen?

                              1 Reply Last reply
                              0
                              • ? Offline
                                ? Offline
                                A Former User
                                wrote on last edited by
                                #37

                                Wie versorgt ihr das Teil mit Strom? Die Batterien halten ja nicht allzulange.

                                C 1 Reply Last reply
                                0
                                • ? A Former User

                                  Wie versorgt ihr das Teil mit Strom? Die Batterien halten ja nicht allzulange.

                                  C Offline
                                  C Offline
                                  claus1993
                                  wrote on last edited by
                                  #38

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

                                  Wie versorgt ihr das Teil mit Strom? Die Batterien halten ja nicht allzulange.

                                  Die Versorgung erfolgt über den D1 Mini und dort über ein USB Netzteil.

                                  1 Reply Last reply
                                  0
                                  • ? Offline
                                    ? Offline
                                    A Former User
                                    wrote on last edited by
                                    #39

                                    Die Temperatur Messung ist seltsam, morgens um 10 kommen Daten bis Abends um kurz vor 20 Uhr dann nichts mehr bis am nächsten Tag. Wie wenn im Code eine Zeit definiert wäre...

                                    1 Reply Last reply
                                    0
                                    • C Offline
                                      C Offline
                                      cap
                                      wrote on last edited by
                                      #40

                                      Hallo zusammen,

                                      ich versuche mit dem Code wir im Post von @claus1993 mein W132 mit dem D1 mini zum Laufen zu bringen. Das Kompilieren und Flashen geht, das Ding verbindet sich auch mit dem WiFi, jedoch bekomme ich im Serial Monitor die Fehlermeldung

                                      ISR not in IRAM!
                                      

                                      Hier die komplette Fehlermeldung:

                                      18:08:30.418 -> ...
                                      18:08:31.404 -> WiFi connected
                                      18:08:31.404 -> IP address: 
                                      18:08:31.404 -> 192.168.---.---
                                      18:08:31.404 -> ISR not in IRAM!
                                      18:08:31.404 -> 
                                      18:08:31.404 -> User exception (panic/abort/assert)
                                      18:08:31.452 -> --------------- CUT HERE FOR EXCEPTION DECODER ---------------
                                      18:08:31.452 -> 
                                      18:08:31.452 -> Abort called
                                      18:08:31.452 -> 
                                      18:08:31.452 -> >>>stack>>>
                                      18:08:31.452 -> 
                                      18:08:31.452 -> ctx: cont
                                      18:08:31.452 -> sp: 3ffffef0 end: 3fffffc0 offset: 0000
                                      18:08:31.452 -> 3ffffef0:  00000009 0000002e 3ffef7d4 40205879  
                                      18:08:31.452 -> 3fffff00:  000000fe 00000000 00000000 00000000  
                                      18:08:31.452 -> 3fffff10:  00000000 00000000 00000000 00ff0000  
                                      18:08:31.452 -> 3fffff20:  5ffffe00 5ffffe00 00000000 00000000  
                                      18:08:31.452 -> 3fffff30:  00000002 00000004 3ffee970 40204e16  
                                      18:08:31.452 -> 3fffff40:  40100476 3ffee990 3ffe8844 40204e28  
                                      18:08:31.452 -> 3fffff50:  40232ddd 0000000e 3ffee970 40205335  
                                      18:08:31.452 -> 3fffff60:  00000000 000000d6 3ffee85d 40203c68  
                                      18:08:31.498 -> 3fffff70:  3ffe862b 3ffee954 3ffee970 3ffeeabc  
                                      18:08:31.498 -> 3fffff80:  3ffee990 3ffee85d 3ffee970 402053e4  
                                      18:08:31.498 -> 3fffff90:  3ffee990 3ffee85d 3ffee970 4020181f  
                                      18:08:31.498 -> 3fffffa0:  3fffdad0 00000000 3ffeea7c 40204798  
                                      18:08:31.498 -> 3fffffb0:  feefeffe feefeffe 3ffe84f0 40100d71  
                                      18:08:31.498 -> <<<stack<<<
                                      18:08:31.498 -> 
                                      18:08:31.498 -> --------------- CUT HERE FOR EXCEPTION DECODER ---------------
                                      18:08:31.498 -> 
                                      18:08:31.498 ->  ets Jan  8 2013,rst cause:2, boot mode:(3,6)
                                      18:08:31.498 -> 
                                      18:08:31.498 -> load 0x4010f000, len 3584, room 16 
                                      18:08:31.546 -> tail 0
                                      18:08:31.546 -> chksum 0xb0
                                      18:08:31.546 -> csum 0xb0
                                      18:08:31.546 -> v2843a5ac
                                      18:08:31.546 -> ~ld
                                      18:08:31.594 -> Initializing
                                      18:08:31.594 -> 
                                      18:08:31.594 -> Connecting to CONTACT-wifi
                                      18:08:32.117 -> .
                                      

                                      Das läuft dann so in Dauerschleife unendlich weiter.

                                      Hat jemand vielleicht eine Idee woran es liegen kann? Würde mich auf eure Hilfe sehr freuen.

                                      Danke und Gruß
                                      Christo

                                      R 1 Reply Last reply
                                      0
                                      • C cap

                                        Hallo zusammen,

                                        ich versuche mit dem Code wir im Post von @claus1993 mein W132 mit dem D1 mini zum Laufen zu bringen. Das Kompilieren und Flashen geht, das Ding verbindet sich auch mit dem WiFi, jedoch bekomme ich im Serial Monitor die Fehlermeldung

                                        ISR not in IRAM!
                                        

                                        Hier die komplette Fehlermeldung:

                                        18:08:30.418 -> ...
                                        18:08:31.404 -> WiFi connected
                                        18:08:31.404 -> IP address: 
                                        18:08:31.404 -> 192.168.---.---
                                        18:08:31.404 -> ISR not in IRAM!
                                        18:08:31.404 -> 
                                        18:08:31.404 -> User exception (panic/abort/assert)
                                        18:08:31.452 -> --------------- CUT HERE FOR EXCEPTION DECODER ---------------
                                        18:08:31.452 -> 
                                        18:08:31.452 -> Abort called
                                        18:08:31.452 -> 
                                        18:08:31.452 -> >>>stack>>>
                                        18:08:31.452 -> 
                                        18:08:31.452 -> ctx: cont
                                        18:08:31.452 -> sp: 3ffffef0 end: 3fffffc0 offset: 0000
                                        18:08:31.452 -> 3ffffef0:  00000009 0000002e 3ffef7d4 40205879  
                                        18:08:31.452 -> 3fffff00:  000000fe 00000000 00000000 00000000  
                                        18:08:31.452 -> 3fffff10:  00000000 00000000 00000000 00ff0000  
                                        18:08:31.452 -> 3fffff20:  5ffffe00 5ffffe00 00000000 00000000  
                                        18:08:31.452 -> 3fffff30:  00000002 00000004 3ffee970 40204e16  
                                        18:08:31.452 -> 3fffff40:  40100476 3ffee990 3ffe8844 40204e28  
                                        18:08:31.452 -> 3fffff50:  40232ddd 0000000e 3ffee970 40205335  
                                        18:08:31.452 -> 3fffff60:  00000000 000000d6 3ffee85d 40203c68  
                                        18:08:31.498 -> 3fffff70:  3ffe862b 3ffee954 3ffee970 3ffeeabc  
                                        18:08:31.498 -> 3fffff80:  3ffee990 3ffee85d 3ffee970 402053e4  
                                        18:08:31.498 -> 3fffff90:  3ffee990 3ffee85d 3ffee970 4020181f  
                                        18:08:31.498 -> 3fffffa0:  3fffdad0 00000000 3ffeea7c 40204798  
                                        18:08:31.498 -> 3fffffb0:  feefeffe feefeffe 3ffe84f0 40100d71  
                                        18:08:31.498 -> <<<stack<<<
                                        18:08:31.498 -> 
                                        18:08:31.498 -> --------------- CUT HERE FOR EXCEPTION DECODER ---------------
                                        18:08:31.498 -> 
                                        18:08:31.498 ->  ets Jan  8 2013,rst cause:2, boot mode:(3,6)
                                        18:08:31.498 -> 
                                        18:08:31.498 -> load 0x4010f000, len 3584, room 16 
                                        18:08:31.546 -> tail 0
                                        18:08:31.546 -> chksum 0xb0
                                        18:08:31.546 -> csum 0xb0
                                        18:08:31.546 -> v2843a5ac
                                        18:08:31.546 -> ~ld
                                        18:08:31.594 -> Initializing
                                        18:08:31.594 -> 
                                        18:08:31.594 -> Connecting to CONTACT-wifi
                                        18:08:32.117 -> .
                                        

                                        Das läuft dann so in Dauerschleife unendlich weiter.

                                        Hat jemand vielleicht eine Idee woran es liegen kann? Würde mich auf eure Hilfe sehr freuen.

                                        Danke und Gruß
                                        Christo

                                        R Offline
                                        R Offline
                                        RalfB
                                        wrote on last edited by
                                        #41

                                        @cap Hallo Cristo,

                                        ich hatte das gleiche Problem und so gelöst:

                                        Du must in der Funktionsdefinition von dataTrigger ICACHE_RAM_ATTR voran stellen:

                                        void ICACHE_RAM_ATTR dataTrigger(){

                                        Jetzt gibt es die Fehlermeldung nicht mehr und er sendet fleißig Daten. Bitte frage mich nicht, was die Ergänzung bewirkt - ich weiß es nicht. Ich habe das nur irgendwo gegoogelt und getestet.....

                                        Gruß

                                        Ralf

                                        Viele Grüße

                                        Ralf

                                        1 Reply Last reply
                                        0
                                        • M mwyraz

                                          Ich habe den Sketch fertig, funktioniert prima. Es verwendet noch eine Wifi/Mqtt Wrapper-Bibliothek von mir aber sollte ohne großen Aufwand mit den Original-MQTT+Wifi-Bibliotheken laufen.

                                          Das Gist habe ich aktualisiert: https://gist.github.com/micw/098709efc83a9d9ebf16d14cea4ca38e

                                          Die Libs sind ansosten auch hier zu finden:
                                          https://github.com/micw/ArduinoProjekte/tree/master/libraries/common
                                          https://github.com/micw/ArduinoProjekte/tree/master/libraries/private
                                          esp_pins.h braucht man denke ich inzwischen nicht mehr.

                                          K Offline
                                          K Offline
                                          kodibrain
                                          wrote on last edited by
                                          #42

                                          @mwyraz Vielen Dank für den Sketch! Du hast nicht zufällig Interesse daran noch den W174 Regenmesser darin zu integrieren? Eigentlich würde ein Counter ja schon reichen :)

                                          Fred FreundF 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

                                          293

                                          Online

                                          32.7k

                                          Users

                                          82.5k

                                          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