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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    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

      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.

      1 Reply Last reply Reply Quote 0
      • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            830
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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