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.
    • S
      schnakker last edited by

      Danke für die schnelle Umsetzung und dem Tipp "Option -v bei mosquitto"!

      @sissiwup:

      @schnakker:

      Um ehrlich zu sein, ich bin beim Thema Hausautomation generell noch am Anfang. Falls Mosquitto dir nichts sagt. Das ist ein einfacher MQTT Broker (unter anderem auf dem Raspberry Pi - https://mosquitto.org/).

      Wenn ich die Steckdose boote/reboote erhalte ich folgende Message von der Steckdose (Name: Steckdose02):

      MQQTT_Start.png

      Wenn ich den Stromfluß der Steckdose einschalte (mosquitto_pub -h 127.0.0.1 -t Steckdose02/setRelay -m "on" -d) erhalte ich folgende Nachricht:

      MQQTT_On.png

      Wenn ich den Status der Steckdose abfrage (mosquitto_pub -h 127.0.0.1 -t Steckdose02/setRelay -m "?" -d), erhalte ich folgende Message:

      MQQTT_RelayStatus.png

      Diese Message enthält keinen Status der Steckdose.

      Mein Problem ist, dass ich den Zustand (on, off, delayOn, …) also nur beim Booten und beim Schalten der Steckdose erhalte. Kann diesen aber später nicht nochmal Abfragen. Beim Status wäre eine Abfragemöglichkeit sinnvoll oder? Mein Szenario ist, dass der Heimautomationsserver Startet und als erstes den Status der Steckdose abfragt...

      @sissiwup:

      Kann die leider nicht ganz folgen:

      Alle Punkte sind bei mir gefüllt:

      Bildschirmfoto 2018-09-13 um 09.18.56.png

      Nur folgende Punkte sind aktiv:

      Bildschirmfoto 2018-09-13 um 09.21.25.png

      Also nur hier kannst du Werte reinschreiben. Die anderen Ändern sich bei Änderungen in der Dose.

      Was fehlt dir da? Bin kein Experte für MQTT, habe nur so nach besten Wissen implementiert.

      Hallo,

      du suchst eine Möglichkeit beim Start den Status der Dose abzufragen:

      1. Wenn du ein -v in deinen Aufruf hinzufügst, siehst du die Datenpunkte:

      mosquitto_sub -v -t /SW-50/5/#
      

      Bildschirmfoto 2018-09-15 um 09.13.25.png

      Mit

      mosquitto_pub -t /SW-50/5/setRelay -m "??"
      

      Bekommst du dann:

      Bildschirmfoto 2018-09-15 um 09.17.29.png

      Allerdings erst ab Version 1.1.9d 🙂

      Warum nicht bei ? schon ->wenn man mit iobroker auf change von relay_i arbeitet würde er darauf reagieren.

      firmware_1_1_9d.zip

      code_1_1_9d.zip `

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

        @sissiwup

        Kannst Du in zukünftige Versionen mit einbauen, dass man die blaue Lampe auswählen kann, ob an oder aus?

        Die rote Lampe leuchtet so schwach nach unten , dass man nicht sehen kann, ob die Dose an oder aus ist.

        Hab die Version 1.1.1 bei allen installiert, weil da noch die blaue Led beim Zustand: EIN dauerhaft leuchtet.

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

          @haselchen:

          @sissiwup

          Kannst Du in zukünftige Versionen mit einbauen, dass man die blaue Lampe auswählen kann, ob an oder aus?

          Die rote Lampe leuchtet so schwach nach unten , dass man nicht sehen kann, ob die Dose an oder aus ist.

          Hab die Version 1.1.1 bei allen installiert, weil da noch die blaue Led beim Zustand: EIN dauerhaft leuchtet. `

          Steckdose umdrehen?

          Sorry haselchen, der Ball lag da so schön auf dem Elfmeterpunkt, und der Torwart musste ans Telefon… 😉

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

            Ich liebe Klugscheisser 😄 😄 😄

            Natürlich auch dran gedacht, aber einerseits ist für mich die Farbe rot immer mit Problemen behaftet :lol:

            Und 2. passen die Dosen an den Plätzen immer nur mit dem langen Teil nach unten 😉

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

              @haselchen:

              Ich liebe Klugscheisser 😄 😄 😄

              Natürlich auch dran gedacht, aber einerseits ist für mich die Farbe rot immer mit Problemen behaftet :lol:

              Und 2. passen die Dosen an den Plätzen immer nur mit dem langen Teil nach unten 😉 `

              Bin ja nicht nur Klugscheißer, sondern auch Weltverbesserer :lol:. Die Ampeln kann ich zwar nicht auf Dauergrün schalten :D, aber ich hab dir die letzte Firmware so geändert, dass die blaue LED sich wie früher verhält. Das ganze in der Laufzeit zu ändern, würde etwas mehr Veränderungen im Code benötigen, da pfusche ich Sissi lieber nicht einfach so ins Handwerk.

              Version BETA 1.1.9dh (lt. Fußzeile auf der Webseite):
              8307_firmware_obi_1_1_9d.haselchen.bin.zip

              Grüße,

              Alex

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

                Bist jetzt schon mein Tagesheld 😄

                Ne eigene Firmware hat nicht jeder :lol:

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

                  @Skaiwotscher:

                  @haselchen:

                  Ich liebe Klugscheisser 😄 😄 😄

                  Natürlich auch dran gedacht, aber einerseits ist für mich die Farbe rot immer mit Problemen behaftet :lol:

                  Und 2. passen die Dosen an den Plätzen immer nur mit dem langen Teil nach unten 😉 `

                  Bin ja nicht nur Klugscheißer, sondern auch Weltverbesserer :lol:. Die Ampeln kann ich zwar nicht auf Dauergrün schalten :D, aber ich hab dir die letzte Firmware so geändert, dass die blaue LED sich wie früher verhält. Das ganze in der Laufzeit zu ändern, würde etwas mehr Veränderungen im Code benötigen, da pfusche ich Sissi lieber nicht einfach so ins Handwerk.

                  Version BETA 1.1.9dh (lt. Fußzeile auf der Webseite):

                  firmware_obi_1_1_9d.haselchen.bin.zip

                  Grüße,

                  Alex `

                  Hi,

                  und hier mit Schalter:

                  /blueLEDmode?=

                  0 = aus

                  1 = wie rote = Relais-Status

                  2 = wie bisher, Activity etc.

                  609_bildschirmfoto_2018-09-18_um_19.11.38.png
                  609_firmware_1_2_0.zip
                  609_code_1_2_0.zip

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

                    Was ihr aus dem Ding rausholt, ist schon abgefahren 🙂

                    Hab mal nen Screenshot nem OBI Mitarbeiter gezeigt, der hat gleich seine ganze Belegschaft zum Gucken geholt :lol: :lol: :lol: :lol:

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

                      Kann nicht mehr lange dauern, dann haben wir den http://11errat.eu/Fotos/Gumbomat.png :lol:

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

                        Ergomatischer Eumel…. 😄 😄 😄 😄

                        You made my Day :mrgreen:

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

                          Hallo sissiwup,

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

                          7526_unbenannt.jpg

                          Ich möchte eine Steckdose zum Laden meines E-Bike-Akkus benutzen,

                          Dazu gebe ich den Link ein: http://192.168.xxx.xxx/ONdelayOFF?=18000

                          Nun habe ich gesehen das man nicht auf Anhieb erkennt wann mit Laden fertig bzw. Restzeit.

                          Manchmal dauert es auch ein paar Sekunden bis die Zeile da ist, wäre ne schöne Lösung danke 😄

                          Vorteil der Akku bzw. Ladegerät hängt nicht unnötig lange an der Netzspannung!

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            720
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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