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

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    OBI Funk-Steckdosenumbau ESP8266 (Generation1 Rund)

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

      Fehler beim Compilieren von 1.20

      Ich bekomme einen Compilerfehler beim übersetzen:

      xxx/Firmware_1_2_0_2018_09_17\Main-Obi-wall-plug\Main-Obi-wall-plug.ino:121:21: fatal error: TimeLib.h: No such file or directory
      
       #include <timelib.h>
      
                           ^
      
      compilation terminated.
      
      exit status 1
      Fehler beim Kompilieren für das Board Generic ESP8266 Modul</timelib.h>
      

      Ich verwende esp8266 2.4.2 .

      Der Wechsel auf 2.3 bringt nichts

      Irgend ein Hinweis?

      1 Reply Last reply Reply Quote 0
      • H
        hike last edited by

        Problem teilweise gelöst, jetzt wird übersetzt und geflashed

        Die fehlenden Bibliotheken TimeLib, NtpClientLib und ESP8266Ping, müssen als zip eingebunden werden.

        Ich habe diese über google bzw https://www.arduinolibraries.info/libraries gefunden

        Hier wäre ein Hinweis in der Source nett, der die Quellen der Libraies ausweist.

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

          @meierchen006:

          Hallo sissiwup,

          ist es möglich die Zeile "TIME to Event" farblich hervorzuheben ähnlich On/Off ? `

          Hallo meierchen006,

          ich bin zwar nicht sissywup, aber hier die Lösung :

          Öffne mit Arduino den Code der 1.19d und dort in der Datei webstatic.ino suche folgenden Code (im oberen Drittel zu finden)

          wwwInfos = wwwInfos + String(F("
          Actual Time : ")) + gerDate(NTP.getTimeDateString()) +
                         String(F("
          Time to Event : OFF
          "
          

          Ersetze diesen mit

          wwwInfos = wwwInfos + String(F("
          Actual Time : ")) + gerDate(NTP.getTimeDateString()) +
                         String(F("
          
          **Time to Event : OFF**
          
           **"** 
          ```` **Neu kompilieren und fertig ;)
          
          Sollte nun etwas kleiner als der Status darunter sein, aber größer als der Rest
          
          Grüße
          
          Tom**
          1 Reply Last reply Reply Quote 0
          • M
            meierchen006 last edited by

            Hallo TomT,

            ok danke werde ich für mich anpassen. :mrgreen:

            Edit:

            Sollte das auch bei der letzten Version 1.2.0 funktionieren?

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

              Ja, passt auch exakt so bei der Version 1.2.0

              Grüße

              Tom

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

                @hike:

                Keine Verbindung zu Mosquitto

                Ich benutze als Test-Broker Mosquitto auf einem Raspberry zero mit Dietpi von Andreads Spiess (the man with the swiss accent)

                Die Version 1.20 stellt keine Verbindung zu Mosquitto her

                11:39:51 08.10.2018 MQTT server started
                11:39:51 08.10.2018 MQTT try reconnect
                11:39:52 08.10.2018 MQTT NOT subscribed
                11:40:42 08.10.2018 Wifi.Reconnect Time done
                11:40:50 08.10.2018 MQTT try reconnect
                11:40:51 08.10.2018 MQTT NOT subscribed
                11:41:20 08.10.2018 MQTT try reconnect
                11:41:21 08.10.2018 MQTT NOT subscribed
                
                

                Im Code von handleMQTT.ino wird auch klar warum, es findet keine Authentifizierung durch user/password statt

                void reconnect()
                {
                  if (MQTT_active == 1)
                  {
                    blueLEDstartCountBlink(0.8, 4);
                    int timeout = 2;
                    build_wwwStatus2("MQTT try reconnect");
                    while ((!pubClient.connected()) && (timeout > 0))
                    {
                      timeout--;
                      Serial.println("Reconnecting MQTT...");
                      char devname[80];
                      iDevname.toCharArray(devname, 80);
                      if (!pubClient.connect(devname))  // <-- Aufruf ohne Authentifizierung
                      .......
                      {
                

                es müsste dort stehen

                 if (!pubClient.connect(devname,mqtt_user,mqtt_password))  // <-- Aufruf mit Authentifizierung
                 
                

                wobei mqtt_user und mqtt_password vorher gesetzt sind.

                Das kann aber nur über die Web-Oberfläche geschehen.

                Da hängt allerdings noch eine Menge anderer Dinge dran, siehe handle_commands.ino –> handle_devName

                und espEEPROMSet.Ino-->writeEEPROM

                Bisher wurden 901 Nibbles von 1024 verbraucht, es scheint noch ein wenig Platz zu sein.

                Es wäre schön, wenn Funktionen zum Setzen von mqtt-user und mqtt-password eingebaut werden könnten oder eine Rückmeldung, welche EEPROM-Adressen für solche Einstellungen genutzt werden sollten.

                Ansonsten vielen Dank für die viele Arbeit und den gut lesbaren Code. `

                Ok, das ist nicht das Problem. Kann mir jemand sagen wie ich beim iobroker user und passwort setze?

                (zum Testen)

                Was ein bischen schwieriger wird, ist das Passwort nicht im Klartext zu übertragen… mal sehen.

                Kümmere mich am Wochenende darum.

                PS: Wie lang müssen User und Passwort sein?

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

                  @hike:

                  Fehler beim Compilieren von 1.20

                  Ich bekomme einen Compilerfehler beim übersetzen:

                  xxx/Firmware_1_2_0_2018_09_17\Main-Obi-wall-plug\Main-Obi-wall-plug.ino:121:21: fatal error: TimeLib.h: No such file or directory
                  
                   #include <timelib.h>
                  
                                       ^
                  
                  compilation terminated.
                  
                  exit status 1
                  Fehler beim Kompilieren für das Board Generic ESP8266 Modul</timelib.h>
                  

                  Ich verwende esp8266 2.4.2 .

                  Der Wechsel auf 2.3 bringt nichts

                  Irgend ein Hinweis? `

                  Hi,

                  ist im Post beschrieben:

                  viewtopic.php?f=35&t=12125&start=280#p163799

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

                    @TomT:

                    @meierchen006:

                    Hallo sissiwup,

                    ist es möglich die Zeile "TIME to Event" farblich hervorzuheben ähnlich On/Off ? `

                    Hallo meierchen006,

                    ich bin zwar nicht sissywup, aber hier die Lösung :

                    Öffne mit Arduino den Code der 1.19d und dort in der Datei webstatic.ino suche folgenden Code (im oberen Drittel zu finden)

                    wwwInfos = wwwInfos + String(F("
                    Actual Time : ")) + gerDate(NTP.getTimeDateString()) +
                                   String(F("
                    Time to Event : OFF
                    "
                    

                    Ersetze diesen mit

                    wwwInfos = wwwInfos + String(F("
                    Actual Time : ")) + gerDate(NTP.getTimeDateString()) +
                                   String(F("
                    
                    **Time to Event : OFF**
                    
                     **"** 
                    ```` **Neu kompilieren und fertig ;)
                    
                    Sollte nun etwas kleiner als der Status darunter sein, aber größer als der Rest
                    
                    Grüße
                    
                    Tom** `   **Hi, hab das übernommen:
                    

                    609_bildschirmfoto_2018-10-10_um_23.48.34.png

                    609_firmware_1_2_0b.zip
                    609_code_1_2_0b.zip **

                    1 Reply Last reply Reply Quote 0
                    • M
                      meierchen006 last edited by

                      Hallo,

                      habe die 1.2.0.b installiert funktioniert wie gewollt.

                      Nun ist Time to Event besser zu sehen/direkt zu erkennen. :mrgreen:

                      Danke.

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

                        @hike:

                        Keine Verbindung zu Mosquitto

                        Ich benutze als Test-Broker Mosquitto auf einem Raspberry zero mit Dietpi von Andreads Spiess (the man with the swiss accent)

                        Die Version 1.20 stellt keine Verbindung zu Mosquitto her

                        11:39:51 08.10.2018 MQTT server started
                        11:39:51 08.10.2018 MQTT try reconnect
                        11:39:52 08.10.2018 MQTT NOT subscribed
                        11:40:42 08.10.2018 Wifi.Reconnect Time done
                        11:40:50 08.10.2018 MQTT try reconnect
                        11:40:51 08.10.2018 MQTT NOT subscribed
                        11:41:20 08.10.2018 MQTT try reconnect
                        11:41:21 08.10.2018 MQTT NOT subscribed
                        
                        

                        Im Code von handleMQTT.ino wird auch klar warum, es findet keine Authentifizierung durch user/password statt

                        void reconnect()
                        {
                          if (MQTT_active == 1)
                          {
                            blueLEDstartCountBlink(0.8, 4);
                            int timeout = 2;
                            build_wwwStatus2("MQTT try reconnect");
                            while ((!pubClient.connected()) && (timeout > 0))
                            {
                              timeout--;
                              Serial.println("Reconnecting MQTT...");
                              char devname[80];
                              iDevname.toCharArray(devname, 80);
                              if (!pubClient.connect(devname))  // <-- Aufruf ohne Authentifizierung
                              .......
                              {
                        

                        es müsste dort stehen

                         if (!pubClient.connect(devname,mqtt_user,mqtt_password))  // <-- Aufruf mit Authentifizierung
                         
                        

                        wobei mqtt_user und mqtt_password vorher gesetzt sind.

                        Das kann aber nur über die Web-Oberfläche geschehen.

                        Da hängt allerdings noch eine Menge anderer Dinge dran, siehe handle_commands.ino –> handle_devName

                        und espEEPROMSet.Ino-->writeEEPROM

                        Bisher wurden 901 Nibbles von 1024 verbraucht, es scheint noch ein wenig Platz zu sein.

                        Es wäre schön, wenn Funktionen zum Setzen von mqtt-user und mqtt-password eingebaut werden könnten oder eine Rückmeldung, welche EEPROM-Adressen für solche Einstellungen genutzt werden sollten.

                        Ansonsten vielen Dank für die viele Arbeit und den gut lesbaren Code. `

                        Hallo,

                        anbei die Version mit User und Passwort für MQTT (jetzt ist das EEPROM fast voll, aber es sind ja noch fast 63K File-system da:-)):
                        609_bildschirmfoto_2018-10-12_um_22.01.40.png

                        User = Max. 32 Zeichen, minimal 2 Zeichen!

                        Passwort = Max. 64 Zeichen

                        609_firmware_1_2_1.zip
                        609_code_1_2_1.zip

                        1 Reply Last reply Reply Quote 0
                        • T
                          thobastian last edited by

                          HI ,

                          bei mir gibt es so komische MQTT Fehlermeldung, also "try reconnect"

                          ist das okay, oder funktioniert da irgendwas nicht? User habe ich nicht.

                          Ich habe jetzt auch immer, dass das Licht der Schalter einfach so anging und ich habe mich gefragt, warum.

                          Gruß

                          Thomas

                          1555_screen.jpg

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

                            Als erstes würde ich dann MQTT auf OFF stellen, dann wird er mit Sicherheit nicht mehr reconnecten wollen 😉

                            Edit: Wenn du natürlich MQTT benutzt, können dir nur wahrscheinlich sissiwup oder TomT helfen.

                            1 Reply Last reply Reply Quote 0
                            • T
                              thobastian last edited by

                              Jetzt habe ich mqtt tatsächlich mal abgeschaltet.

                              Trotzdem schalten sich die Lampen immer wieder mal an.

                              gestern Abend um 21:13 und danach ging die Lampe wieder an, ohne das irgendetwas gemacht wurde.

                              und es kommt eine Meldung "Dateway not reach". Was soll das? mqtt ist doch aus. ?
                              1555_screen.jpg

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

                                Also bei MQTT kann ich dir leider nicht helfen.

                                Bist du dir sicher, daß du nirgendwo einen Weblink auf die Steckdose benutzt hast?

                                Mit einem einfachen <ip-adresse der/steckdose/on="">command kannst du die ja auch ganz ohne Einrichtungen von CCU/ioBroker/MQTT steuern.

                                Eventuell ein Script, was die IP Adresse auf diese Art anspricht?

                                Da ich ab Version 1.0.4 die FW nicht mehr selbst erweitere, kann dir im Zweifel nur noch sissiwup helfen.

                                Bei mir laufen alle (bis auf 1 zum testen ab und an) noch auf der "uralten" Version und werden ausschließlich durch ioBroker gesteuert.

                                Ich selbst benutze zur Zeit noch nicht mal mehr die Delay Funktionen.

                                Wenn da nämlich mal was nicht läuft, brauche ich nur an 1 Stelle zu suchen…

                                Macht die Fehleranalyse einfacher.

                                Grüße

                                Tom</ip-adresse>

                                1 Reply Last reply Reply Quote 0
                                • T
                                  thobastian last edited by

                                  Jetzt ist er schon lange nicht wieder angegangen. mqtt ist aus.

                                  Ich warte mal ab, was nun passiert.

                                  Ja, ich schalte die Lampen via direkte IP.

                                  Gibt es eine Beschreibung zu den allgemeinen Settings oben rechts? Das verstehe ich nicht.

                                  und ich habe auch iobroker, aber wenn ich die Schnittstelle einschalte, sehe ich trotzdem nichts in iobroker, oder muss ich die Datenpunkte selbst eintragen? wo ist das beschrieben?

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

                                    Das Anlegen der Datenpunkte im ioBroker ist im 1. Beitrag auf Seite 1 beschrieben.

                                    Oder du machst das im ioBroker per javascript.

                                    Anleitung dazu und Script : viewtopic.php?f=35&t=12125&start=100#p139351

                                    Damit du den Status im ioBroker sehen kannst musst du die Datenpunkte auch in der Steckdose eintragen.

                                    Das geht mit den Commands

                                    http://<ip der/steckdose="">/ioBroker?ip=192.XXX.XXX.XXX
                                    http://<ip der/steckdose="">/ioBroker?port=8087
                                    http://<ip der/steckdose="">/ioBroker?path=esp8266.0
                                    http://<ip der/steckdose="">/ioBroker?sub=OBI-Steckdose
                                    http://<ip der/steckdose="">/ioBroker?state=State
                                    http://<ip der/steckdose="">/ioBroker?message=Info</ip></ip></ip></ip></ip></ip> 
                                    

                                    Die Namen und Daten müssen mit deinen angelegten Datenpunkten übereinstimmen.

                                    Port ist der SimpleApi Port des Adapters. Simple Api Adapter muss installiert sein…

                                    Steuern tust du dann über ein Script im ioBroker, ich mache das mit Blockly.

                                    Hinweise dazu findest du auch auf Seite 1 im 1.Beitrag.

                                    Die grundlegenden Settings oben rechts müssten sich doch eigentlich selbst erklären.

                                    PowerOnState stellst du ein, ob die Steckdose beim Einstecken AN/AUS oder den letzten Schaltzustand schaltet.

                                    Wifi-Reconnect und die Time dazu haben was mit einem Bug in der Firmware des ESP Controllercore zu tun.

                                    Einige ESP verlieren nach unbekannter Zeit die Verbindung zum WLAN. Mit den 2 Werten stellst du ein, nach welcher Zeit er selbstständig eine Verbindung neu aufbaut. Ajax ON aktualisiert die WEbseite der Steckdose in regelmäßigen Abständen. Soweit ich weiß ist das Sekündlich...

                                    Ich hoffe das hilft dir jetzt erst mal weiter, sonst frag halt nochmal nach 😉

                                    Grüße

                                    Tom

                                    1 Reply Last reply Reply Quote 0
                                    • T
                                      thobastian last edited by

                                      Danke schön ,

                                      ich werde das probieren.

                                      Gruß

                                      Thomas

                                      1 Reply Last reply Reply Quote 0
                                      • T
                                        thobastian last edited by

                                        Aber mein Problem , dass das Relay automatisch angeht, ohne das ich etwas getan habe. Das Problem besteht weiterhin.

                                        Als Hinweis. Wenn das Relay angeht, dass beim Service: "State saved: on".

                                        Also, als wenn ich den Stecker herausgesteckt und wieder hineingesteckt habe. Habe ich aber nicht!

                                        Außerdem war der letzte Status: off.

                                        Ich verstehe das nicht. Woran kann ich denn sehen, warum das Relay überhaupt geschaltet hatte?

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

                                          Ich hab mir deinen Screenshot oben noch mal etwas genauer angeguckt.

                                          Du hast sehr viele Gateway not reach.

                                          Ausserdem hast du den PowerONState auf 2, was bedeutet Last State.

                                          Schalte bitte testweise den PowerONState mal auf 0, also OFF.

                                          Ich befürchte, deine Steckdose stürzt ab und bootet in unregelmäßigen Abstanden neu.

                                          Warum, kann ich dir nicht sagen.

                                          Da müsste Sissiwup mal versuchen den Fehler zu finden.

                                          Hast du mal die FW neu aufgespielt? Manchmal kann da ein Fehler beim Updaten passieren und dann kommt es zu solchen mysteriösen Arbeitsweisen….

                                          Versuche im Zweifel auch mal eine ältere Version. Wenn das auch da dann passiert, könnte es sich ja auch um einen Hardwaredefekt handeln.

                                          > Ich verstehe das nicht. Woran kann ich denn sehen, warum das Relay überhaupt geschaltet hatte?
                                          Das kannst du meines Wissens nach nicht, weil die Quelle des Commands nicht gespeichert wird.

                                          Ich denke aber eher, dein Problem ist ein Absturz der FW und dem Reboot der Dose.

                                          Grüße

                                          Tom

                                          1 Reply Last reply Reply Quote 0
                                          • T
                                            thobastian last edited by

                                            Ich habe 2 von den Obi Steckdosen. und bei haben genau das gleiche Verhalten.

                                            Ich werde mal das mit der Firmware und dem Powerstate versuchen.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            451
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            esp8266 obi steckdose
                                            37
                                            464
                                            129327
                                            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