Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. OBI Funk-Steckdosenumbau ESP8266 (Generation1 Rund)

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    OBI Funk-Steckdosenumbau ESP8266 (Generation1 Rund)

    This topic has been deleted. Only users with topic management privileges can see it.
    • sissiwup
      sissiwup last edited by

      @HomeZecke:

      Hallo,

      habe die Steckdose jetzt mal unter IOBroker mit mqtt getestet, funktioniert - ohne Probleme! 😛 Auch Änderung von Path. Schön wären jetzt noch die Delayed -Befehle.

      Grüße.. `

      Dein Wunsch:
      609_bildschirmfoto_2018-08-31_um_17.44.02.png

      setRelay zeigt nicht mehr den aktuellen Status an, das hat beim Reconnect dazu geführt, dass der MQTT-Broker die Daten neu gesendet hat.

      Das macht massive Probleme bei den DELAY-Befehlen.

      Bei allen Werten muss ein ein Wert >0 eingetragen werden (Ausnahme setRelay).

      Das ist dann immer der Wert in Sekunden.

      ONdelayOFF schaltet die Dose z.b. dann sofort an und nach den angegebenen Sekunden wieder aus.

      mit stopDelay = 1 kann man den Delay-Timer sofort anhalten ohne die Dose schalten zu müssen.

      setRelay hält den Timer auch sofort an.

      609_firmware_1_1_5d.zip
      609_code_1_1_5d.zip

      1 Reply Last reply Reply Quote 0
      • sissiwup
        sissiwup last edited by

        @Homoran:

        > Was für einen Status bring sie denn? WL_…
        gar nichts, nur endlose Punkte

        Nach abklemmen vom Strom (USB) zusammenbauen und mit 230V schaltete sie anscheinend doch in den AP Mode (hektisches Blinken), also wieder zerlegt und an den USB:

        .......................................................................................................
        WL_NO_SSID_AVAIL
        Could not connect to SSID!
        Starting AP at port: 80
        Scan done
        
        1\. Nachbar1
        2\. Nachbar2
        3\. Nachbar3
        4\. Nachbar4
        
        SoftAP IP address: 192.168.4.1
        AP:ESP8266 Config-AP 376C
        Pwd:esp8266-1
        
         ets Jan  8 2013,rst cause:4, boot mode:(3,6)
        
        wdt reset
        load 0x4010f000, len 1384, room 16 
        tail 8
        chksum 0x2d
        csum 0x2d
        vbb28d4a3
        ~ld
        SPIFFS is formatted. Moving along...
        
        SSID: >korrekt<
        PASS: >richtig<
        Waiting for Wifi to connect........................................................................................................................
        
        ```` `  
        

        Wenn ich meine SSID auf unsichtbar gestellt habe, kam immer WL_IDLE_STATUS.

        Muss mal schauen wo hier der Unterschied ist.

        Die >< habe ich hinzugefügt, damit man ggf. Blanks sieht.

        Sonderzeichen hast du keine in SSID oder Passwort (. oder _)?

        1 Reply Last reply Reply Quote 0
        • Homoran
          Homoran Global Moderator Administrators last edited by

          @sissiwup:

          Sonderzeichen hast du keine in SSID oder Passwort (. oder _)? `
          Nur Ziffern und "normale" Buchstaben

          EDIT:

          Nochmal SSID im laufenden Betrieb sichtbar geschaltet

          Waiting for Wifi to connect......................................
          WL_CONNECTED
          IP address: 192.168.138.93
          HTTP server started
          Relay OFF
          Start-Webpage
          Chunk Start
          Chunk End
          Start-Webpage1
          Chunk Data_Start
          27448
          .w
          Chunk Data_End
          Start-Webpage2
          Chunk Data_P_Start
          Chunk Data_Start
          24944
          .W
          .W
          .w
          Chunk Data_End
          Chunk Data_P_End
          Start-Webpage3
          Chunk Data_Start
          27448
          .w
          Chunk Data_End
          Start-Webpage4
          Chunk Data_Start
          27448
          .W
          .W
          .W
          .w
          Chunk Data_End
          Start-Webpage5
          Chunk Data_P_Start
          Chunk Data_Start
          24256
          .W
          .W
          .W
          .w
          Chunk Data_End
          Chunk Data_P_End
          Start-Webpage6
          Chunk Data_Start
          27448
          .w
          Chunk Data_End
          Start-Webpage7
          End-Webpage
          Looking for WiFi ...........................................................................................
          

          Nach unsichtbar schalten dann das looking for Wifi…..

          Die Punkte laufen auch nach 10 Minuten noch

          Gruß

          Rainer

          1 Reply Last reply Reply Quote 0
          • sissiwup
            sissiwup last edited by

            @Homoran:

            @sissiwup:

            Sonderzeichen hast du keine in SSID oder Passwort (. oder _)? `
            Nur Ziffern und "normale" Buchstaben

            EDIT:

            Nochmal SSID im laufenden Betrieb sichtbar geschaltet

            Waiting for Wifi to connect......................................
            WL_CONNECTED
            IP address: 192.168.138.93
            HTTP server started
            Relay OFF
            Start-Webpage
            Chunk Start
            Chunk End
            Start-Webpage1
            Chunk Data_Start
            27448
            .w
            Chunk Data_End
            Start-Webpage2
            Chunk Data_P_Start
            Chunk Data_Start
            24944
            .W
            .W
            .w
            Chunk Data_End
            Chunk Data_P_End
            Start-Webpage3
            Chunk Data_Start
            27448
            .w
            Chunk Data_End
            Start-Webpage4
            Chunk Data_Start
            27448
            .W
            .W
            .W
            .w
            Chunk Data_End
            Start-Webpage5
            Chunk Data_P_Start
            Chunk Data_Start
            24256
            .W
            .W
            .W
            .w
            Chunk Data_End
            Chunk Data_P_End
            Start-Webpage6
            Chunk Data_Start
            27448
            .w
            Chunk Data_End
            Start-Webpage7
            End-Webpage
            Looking for WiFi ...........................................................................................
            

            Nach unsichtbar schalten dann das looking for Wifi…..

            Die Punkte laufen auch nach 10 Minuten noch

            Gruß

            Rainer `

            Hallo,

            das ist so weit normal.

            Mach mal das WIFI-Debuggin an:

                -DDEBUG_ESP_PORT=Serial
                -DDEBUG_ESP_WIFI
            
            

            Als compile-Parameter.

            Oder als define oben in OBI-wall-plug_Ver_Beta.ino

            #define DEBUG_ESP_PORT=Serial
            #define DEBUG_ESP_WIFI
            
            

            Im Arduino-IDE sollte es wie folgt gehen:

            Im Code direkt nach
            Serial.begin(...);
            folgende Anweisung einfügen
            Serial.setDebugOutput(true);
            Das aktiviert die Ausgabe zusätzlicher Information. Diese müssen in der IDE ausgewählt werden:
            Menü -> Werkzeuge -> Debug Port: Serial
            Menü -> Werkzeuge -> Debug Level: WIFI
            
            

            und ersetz mal in espVPN.ino monitorWiFi mit:

            void monitorWiFi()
            {
              if (WiFi.status() != WL_CONNECTED)
              {
                if (connectioWasAlive == true)
                {
                  connectioWasAlive = false;
                  Serial.print("Looking for WiFi ");
                  WiFi.reconnect();
                }
            		Serial.println(printConnectionType(WiFi.status()));
            //    Serial.print(".");
                delay(500);
              }
              else if (connectioWasAlive == false)
              {
                connectioWasAlive = true;
                Serial.printf(" connected to %s\n", WiFi.SSID().c_str());
              }
            }
            

            Nutzt du eine statische IP oder DHCP?

            1 Reply Last reply Reply Quote 0
            • TomT
              TomT last edited by

              Mir fällt da gerade noch was auf :

              Schalte doch mal den Wifi.Reconnect = 0.(AUS)

              Dann kann man sehen, ob er im Netzt bleibt, oder ob es Probleme mit dem Reconnect gibt, der ja defaultmäßig eingeschaltet ist.

              Wenn sie dann im Netz bleibt….

              Grüße

              Tom

              1 Reply Last reply Reply Quote 0
              • sissiwup
                sissiwup last edited by

                Hallo,

                habe den Code bereinigt und mal auf LWIP 2.0 umgestellt.

                Vlt. hilft das auch Homoran. (Dann bitte die firmware nutzen!, nicht code)

                609_bildschirmfoto_2018-09-01_um_09.47.15.png
                609_bildschirmfoto_2018-09-01_um_09.48.44.png

                MQTT Einstellungen bei mir (Broker/Client):
                609_bildschirmfoto_2018-09-01_um_09.50.02.png
                609_bildschirmfoto_2018-09-01_um_09.49.29.png
                609_bildschirmfoto_2018-09-01_um_09.49.42.png

                609_firmware_1_1_6.zip
                609_code_1_1_6.zip

                1 Reply Last reply Reply Quote 0
                • sissiwup
                  sissiwup last edited by

                  @TomT:

                  Mir fällt da gerade noch was auf :

                  Schalte doch mal den Wifi.Reconnect = 0.(AUS)

                  Dann kann man sehen, ob er im Netzt bleibt, oder ob es Probleme mit dem Reconnect gibt, der ja defaultmäßig eingeschaltet ist.

                  Wenn sie dann im Netz bleibt….

                  Grüße

                  Tom `

                  Hi Tom,

                  ich meine wenn du die SSID umstellt folgt automatisch ein reconnect.

                  Aber vlt. wäre das noch einmal eine Idee eine andere SSID zu verwenden, z.b. nur wlan (nur kleine Buchstaben)

                  und als Passwort "testtesttest" auch nur Kleinbuchstaben.

                  1 Reply Last reply Reply Quote 0
                  • sissiwup
                    sissiwup last edited by

                    Hallo,

                    meine DHT22 sind endlich abgekommen. Ich hab die mit eingebauten Widerstand gekauft.
                    609_bildschirmfoto_2018-09-01_um_22.41.13.png

                    Dose / DHT22

                    VCC -> VCC

                    GND -> GND

                    RXD -> DATA

                    Achtung bei Betrieb ausserhalb der Dose. Keine galvanische Trennung. Alles auf eigenes Risiko!

                    > Stellen Sie sicher, dass die Kontakte des angesteckten Sensors nicht von außen berührbar sind. Das interne Netzteil der Steckdose besitzt keinen Sicherheitstransformator. Bei einer Überspannung besteht die Gefahr, dass diese in den Niederspannungskreis durchschlägt. (Vielen Dank an Dr. Alexander Steingass für den Hinweis.)

                    ` > Warnung: Arbeiten an Netzgeräten

                    Berührungen mit 230 Volt können Sie schwer verletzen oder töten. Schließen Sie das Gerät nicht geöffnet an die Netzspannung an. Alle Modifikationen geschehen über die Versorgungsspannung des USB-RS232-Adapters. Verschließen Sie das Gerät ordnungsgemäß, bevor Sie es an die Steckdose anschließen! `

                    Ist erstmal rudimentär implementiert, d.h. Anzeige in WEB und MQTT.

                    ioBroker folgt. CCU2 dann auch.

                    Aktuell wird auch nur der DHT22 unterstützt. Der DHT11 muss per define aktiviert werden:

                    / Uncomment whatever type you're using!
                    //#define DHTTYPE DHT11   // DHT 11
                    #define DHTTYPE DHT22 // DHT 22  (AM2302), AM2321
                    //#define DHTTYPE DHT21   // DHT 21 (AM2301)
                    
                    

                    609_bildschirmfoto_2018-09-01_um_22.30.19.png

                    609_bildschirmfoto_2018-09-01_um_22.36.30.png

                    609_firmware_1_1_7.zip
                    609_code_1_1_7.zip

                    1 Reply Last reply Reply Quote 0
                    • haselchen
                      haselchen Most Active last edited by

                      @sissiwup

                      Hab das Problem leider immer noch (Firmware 1.1.5b)

                      3723_unbenannt2.png

                      Hab dann auf 1.1.7 upgedatet. Gleiche Problem + keine Response Anzeige mehr.

                      3723_unbenannt3.png

                      1 Reply Last reply Reply Quote 0
                      • sissiwup
                        sissiwup last edited by

                        @haselchen:

                        @sissiwup

                        Hab das Problem leider immer noch (Firmware 1.1.5b)

                        Unbenannt2.PNG

                        Hab dann auf 1.1.7 upgedatet. Gleiche Problem + keine Response Anzeige mehr.

                        Unbenannt3.PNG `

                        Ich Tippe auf ein Script auf deinen ioBroker. Der Reagiert auf das State und setzt dann per Web die Dose.

                        Deaktivere mal deine Skripte.

                        1 Reply Last reply Reply Quote 0
                        • sissiwup
                          sissiwup last edited by

                          CCU-Integration für DHT-Sensor:

                          Im CUxD ein Device anlegen:
                          609_bildschirmfoto_2018-09-02_um_15.16.31.png

                          Einstellen auf Thermostat:

                          (SE-50-5 ist der Name den ihr auf der CCU zu sehen bekommt).
                          609_bildschirmfoto_2018-09-02_um_15.16.58.png
                          Name des Devices merken: CUX9002001

                          In der CCU2 anlernen, dann auf Einstellungen des Devices.

                          Ganz Oben auf Temp+Hum gehen, Häkchen weg bei USE_HMDATAPT (Kanal 1 und 2)
                          609_bildschirmfoto_2018-09-02_um_15.17.59.png

                          Device auf Dose Eintragen (gemerkter Name von oben CUX9002001 + Channel :1):
                          609_bildschirmfoto_2018-09-02_um_15.21.12.png

                          Und hier die Version dazu:
                          609_firmware_1_1_8.zip
                          609_code_1_1_8.zip

                          PS: Wann ändere ich die Versionsnummer und wann kommt ein Buchstabe:

                          • Bei Änderungen die ein neues Feld zum Speichern ins EEPROM notwendig machen, dann muss die Versionsnummer hochgezählt werden #
                          • Bei Fixes oder kleinen Features wird nur ein Buchstabe angehängt.
                          1 Reply Last reply Reply Quote 0
                          • haselchen
                            haselchen Most Active last edited by

                            Scripte hatte ich schonmal gestoppt.

                            Dann bekomme ich aber in der VIS nicht mehr den aktuellen Status der Dosen.

                            1 Reply Last reply Reply Quote 0
                            • sissiwup
                              sissiwup last edited by

                              @haselchen:

                              Scripte hatte ich schonmal gestoppt.

                              Dann bekomme ich aber in der VIS nicht mehr den aktuellen Status der Dosen. `

                              Hallo,

                              Dann bitte mal die Skripte Posten.

                              1 Reply Last reply Reply Quote 0
                              • haselchen
                                haselchen Most Active last edited by

                                on({id: "esp8266.1.Obi-Gaestezimmer.SetState"/*SetState*/, change: "ne"}, function (obj) {
                                  var value = obj.state.val;
                                  var oldValue = obj.oldState.val;
                                  if (getState("esp8266.1.Obi-Gaestezimmer.SetState").val === true) {
                                    try {
                                      require("request")('http://192.XXX.X.XXX/ON').on("error", function (e) {console.error(e);});
                                    } catch (e) { console.error(e); }
                                    console.log("request: " + 'http://192.XXX.X.XXX/ON');
                                  } else {
                                    try {
                                      require("request")('http://192.XXX.X.XXX/OFF').on("error", function (e) {console.error(e);});
                                    } catch (e) { console.error(e); }
                                    console.log("request: " + 'http://192.XXX.X.X/OFF');
                                  }
                                });
                                
                                on({id: "esp8266.1.Obi-Gaestezimmer.State", change: "ne"}, function (obj) {
                                  var value = obj.state.val;
                                  var oldValue = obj.oldState.val;
                                  if (getState("esp8266.1.Obi-Gaestezimmer.State").val === true) {
                                    setState("esp8266.1.Obi-Gaestezimmer.SetState", true, true);
                                  } else {
                                    setState("esp8266.1.Obi-Gaestezimmer.SetState", false, true);
                                  }
                                });
                                

                                Script 1 ist zum Schalten und das 2. damit in VIS der aktuelle AN/AUS Wert angezeigt wird.

                                Benutze ich die Scripte nicht, dann werde mir falsche Werte angezeigt, wenn ich die Dose mit der Hand anschalte.

                                1 Reply Last reply Reply Quote 0
                                • sissiwup
                                  sissiwup last edited by

                                  @haselchen:

                                  on({id: "esp8266.1.Obi-Gaestezimmer.SetState"/*SetState*/, change: "ne"}, function (obj) {
                                    var value = obj.state.val;
                                    var oldValue = obj.oldState.val;
                                    if (getState("esp8266.1.Obi-Gaestezimmer.SetState").val === true) {
                                      try {
                                        require("request")('http://192.XXX.X.XXX/ON').on("error", function (e) {console.error(e);});
                                      } catch (e) { console.error(e); }
                                      console.log("request: " + 'http://192.XXX.X.XXX/ON');
                                    } else {
                                      try {
                                        require("request")('http://192.XXX.X.XXX/OFF').on("error", function (e) {console.error(e);});
                                      } catch (e) { console.error(e); }
                                      console.log("request: " + 'http://192.XXX.X.X/OFF');
                                    }
                                  });
                                  
                                  on({id: "esp8266.1.Obi-Gaestezimmer.State", change: "ne"}, function (obj) {
                                    var value = obj.state.val;
                                    var oldValue = obj.oldState.val;
                                    if (getState("esp8266.1.Obi-Gaestezimmer.State").val === true) {
                                      setState("esp8266.1.Obi-Gaestezimmer.SetState", true, true);
                                    } else {
                                      setState("esp8266.1.Obi-Gaestezimmer.SetState", false, true);
                                    }
                                  });
                                  

                                  Script 1 ist zum Schalten und das 2. damit in VIS der aktuelle AN/AUS Wert angezeigt wird.

                                  Benutze ich die Scripte nicht, dann werde mir falsche Werte angezeigt, wenn ich die Dose mit der Hand anschalte. `

                                  Hallo,

                                  Schaltet aber das 2. Skript nicht das erste. Dann ist auch klar, warum du eine "Echo" bekommst.

                                  Du darfst im zweiten Skript nicht das SetState setzen.

                                  Es gibt zwei Varianten: Nutze CUXD, dann gibt es einen Datenpunkt.
                                  609_bildschirmfoto_2018-09-03_um_00.36.08.png

                                  Oder nutze ohne Skript:
                                  609_bildschirmfoto_2018-09-03_um_00.35.53.png
                                  die Extrasteuerung

                                  609_bildschirmfoto_2018-09-03_um_00.36.15.png
                                  Obere Knopf CUXD,

                                  untere Knopf ioBroker mit Extrasteuerung

                                  Keine Preller:
                                  609_bildschirmfoto_2018-09-03_um_00.38.42.png

                                  Ansonsten musst du im Skript 1 abfragen, das Skript zwei den Wert gesetzt hat,

                                  z.B. über eine globale Variable/State …

                                  1 Reply Last reply Reply Quote 0
                                  • HomeZecke
                                    HomeZecke last edited by

                                    Hallo,

                                    großes Danke für den Ausbau von MQTT! Alles Top, Aber eine kosmetische Kleinigkeit ist mir beim Ändern meiner IOBroker scripte aufgefallen: Das Topic setRelay muss wohl als Zahl übergeben werden. Die anderen Datenpunkte sind String. Einheitlich alles string wäre besser oder der Typ dem Topic entsprechent. Bei meinen geliebten Dalay-Befehlen :lol: wäre z.B. der Typ Zahl natürlich passender als String.

                                    Grüße…

                                    1 Reply Last reply Reply Quote 0
                                    • sissiwup
                                      sissiwup last edited by

                                      @HomeZecke:

                                      Hallo,

                                      großes Danke für den Ausbau von MQTT! Alles Top, Aber eine kosmetische Kleinigkeit ist mir beim Ändern meiner IOBroker scripte aufgefallen: Das Topic setRelay muss wohl als Zahl übergeben werden. Die anderen Datenpunkte sind String. Einheitlich alles string wäre besser oder der Typ dem Topic entsprechent. Bei meinen geliebten Dalay-Befehlen :lol: wäre z.B. der Typ Zahl natürlich passender als String.

                                      Grüße… `

                                      Hallo,

                                      habe ich auch bemerkt. Du kannst den Typ einfach in ioBroker ändern.

                                      Keine Ahnung warum er da int gewählt hat und nicht Zeichenkette.

                                      Du kannst ja auch ON oder on oder off oder OFF übergeben.

                                      609_bildschirmfoto_2018-09-03_um_15.27.03.png

                                      1 Reply Last reply Reply Quote 0
                                      • sissiwup
                                        sissiwup last edited by

                                        Hallo,

                                        habe noch einen Timer eingefügt, da alle 5 Sekunden die Temp. abzufragen mir doch ein wenig heftig war.

                                        min. ist jetzt alle 5 Sekunden, ein guter Wert ist vermutlich 600 Sekunden = alle 10 Minuten.

                                        609_firmware_1_1_9a.zip
                                        609_code_1_1_9a.zip

                                        1.1.9a -> starte erste Messung nach 5 Sekunden. Defaultwert DHT-Interval wurde nicht gelesen. Bei Update von 1.1.9 auf 1.1.9a wird der Wert zurückgesetzt! Löst Problem bei Anzeige Response … Avg ...

                                        1 Reply Last reply Reply Quote 0
                                        • S
                                          schnakker last edited by

                                          N'Abend,

                                          erst einmal vielen Dank für die tolle Arbeit.

                                          Ich möchte meine Obi Steckdose (IP: 192.168.178.30) mit MQTT nutzen. Hierfür lasse ich den MQTT Broker auf der IP: 192.168.178.100 laufen. Bei der Konfiguration der IP Adresse des Brokers über http://192.168.178.30/mqtt?ip=%3C192.168.178.100> werden durch die Firmware die letzte "0" sowie das ">" abgeschnitten:

                                          8644_unbenannt.png

                                          Wenn ich die ersten Blöcke in der IP-Adresse kürze, dann werden die IP-Blöcke am Ende korrekt übernommen. Ich vermute, dass der String mit der IP-Adresse einfach zu früh abgeschnitten wird.

                                          Ich habe es mit der Version 1.1.7, 1.1.8. und 1.1.9 versucht, alle mit dem selben Ergebnis.

                                          Viele Grüße.

                                          Sandro

                                          1 Reply Last reply Reply Quote 0
                                          • S
                                            schnakker last edited by

                                            Sorry, habe den Fehler gefunden. Man muss den Wert ohne die "Klammern" setzen. :roll:

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            761
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            esp8266 obi steckdose
                                            37
                                            464
                                            139278
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo