Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. [Projekt] Scrolling OLED-display und Sonoff-Relais für iobroker via MQTT

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Projekt] Scrolling OLED-display und Sonoff-Relais für iobroker via MQTT

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

      Konfiguration ESP8266 mit ESPEasy

      nach dem Firmware-upload http://www.letscontrolit.com/wiki/index … are_Upload

      ist das Modul als Accesspoint ESP_0 erreichbar (am eigenen Laptop bestehende WiFi Verbindung trennen und mit ESP_0 verbinden) Falls der AP ESP_0 nicht erscheint, kurz aus- und wieder einschalten. Anschliessend nicht vergessen, wieder mit dem Heim-Netzwerk zu verbinden.

      Login und Setup nach folgender Anleitung http://www.letscontrolit.com/wiki/index.php/EasySetup

      hier die Zugangsdaten (SSID/Passwort) zum eigenen Wlan eintragen. Anschliessend das Modul unter der zugeteilten IP connecten.

      Beispielkonfiguration:
      291_easy_wemo_1_.png 291_easy_wemo_2_.png
      mittlerweile auch mit ESP-01 (Kosten 2 Euro) getestet: SDA geht hier auf GPIO0 und SCK auf GPIO2, Speisung 3.3V

      291_easy_wemo_3_.png

      Achtung, der Name des Oled-Device darf nicht "oled " sein

      291_easy_wemo_4_.png

      :!: Beispiel Sonoff-Relais Modul

      291_devices-espeasy.png 291_button-espeasy.png
      291_relay-espeasy.png
      Rules müssen eingeschaltet werden: /tools/advanced/rules Haken setzen
      291_rules-espeasy.png

      on relay#state do
        if [relay#state]=0
          gpio,13,1
        else
          gpio,13,0
        endif
      endon
      on button#state do
        if [button#state]=0
          gpio,12,0
          gpio,13,1
        else
          gpio,12,1
          gpio,13,0
        endif
      endon
      
      1 Reply Last reply Reply Quote 0
      • S
        starfish last edited by

        (Test-)Konfiguration des iobroker MQTT-Adapters

        291_iobroker.admin_1_.png 291_iobroker.admin_2_.png

        5. Publish-topic für ausgehende Befehle:

        . In diesem Fall (ESPEasy-OLED-Scroll-Display) setzt sich der Topic wie folgt zusammen /Modulname/cmd/devicename/Anzeigeplatz/Anzeigetext. Im Beispiel:

        /easy_wemo/cmd/wemo/1/Anzeigetext-1 (vgl. die Bezeichnungen in der ESPEasy Konfiguration). Die Zuordnung der Anzeigeplätze hängt von der Zeilenzahl ab. Bei 2 Zeilen bedeutet 1 die obere Zeile im 1. Frame, 2 die untere Zeile im 1. Frame usw. (der eigentliche Topic ist /Modulname/cmd/ der Rest wird als payload gesendet: devicename,Anzeigeplatz,Text)

        Siehe ioBroker script im letzten Kapitel.

        IOBroker kennt die publish-topics nicht:

        Hier gibts ein kleines Problem: die clients geben in der Regel die Befehle, die sie erwarten nicht bekannt. Deshalb muss man diese dem iobroker händisch beibringen. Im MQTT Adapter sind diese Topics als Datenpunkte abgebildet. Leider habe ich keinen eleganten Weg gefunden, diese Datenpunkte unter mqtt.0 zu generieren, meine diesbez. Anfrage im Forum blieb unbeantwortet. Aber es gibt einen relativ einfachen Weg, dies zu tun, nämlich mit dem MQTT-tool MQTT.fx. (oder mit der Android app MQTT Dashboard) Mit diesem Tool kann man gleichzeitig den MQTT-Server wie auch die MQTT-clients testen. Einzige Bedingung ist, dass der iobroker MQTT-server eingeschaltet ist. Wird vom Tool aus ein Befehl (publish) an den client abgesetzt, wird der betreffende Datenpunkt unter mqtt.0 unmittelbar eingetragen. Erst dann lassen sich von ioBroker aus auch MQTT-Befehle absetzen. Beide Tools beschreibe ich im nächsten Kapitel.

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

          Vielen Dank für die Anleitung!!!! [emoji1360][emoji6]

          Gruß

          Adrian

          Gesendet von iPhone mit Tapatalk Pro

          1 Reply Last reply Reply Quote 0
          • Lenny.CB
            Lenny.CB Most Active last edited by

            [emoji106] super Anleitung!

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

              Tools

              mqtt.fx für Windows download http://mqttfx.jfx4ee.org/index.php

              iobroker mqtt-server einstellen
              291_mqtt-tool1.png 291_mqtt-tool-2.png
              subscribe (zum Test noch ohne Einschränkungen) und popup-notifications für jedes telegramm
              291_mqtt_fx_subscribe.png 291_mqtt_fx_subscribe_notification.png
              und hier das Wichtigste: ein publish Befehl zum Darstellen eines Texts und Eintrag des Datenpunkts in iobroker

              291_mqtt_fx_publish_display.png
              Beispiel für das Schalten eines Sonoff-Relais

              291_mqtt_fx_relay-on.png 291_mqtt_fx_relay-off.png

              Android app MQTT Dashboard

              Server einrichten

              291_andr1.jpg
              291_andr2.jpg

              subscribe
              291_andr_sub1.jpg 291_andr_sub2.jpg
              publish
              291_andr-pub0.jpg 291_andr_pub2.jpg
              291_andr_pub3.jpg
              Beispiel für das Schalten eines Sonoff-Relais

              291_andr_sub3onoff.jpg

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

                IOBroker javascript

                einfaches Testscript - less than perfect - aber tut für mich genau das, was es muss (siehe video-clip im 1. Post)

                Das script liest Messdaten von HM-Sensoren und sendet sie per MQTT an das OLED-Display. Dank Wifi lässt sich das Display frei platzieren, als Stromversorgung genügt ein einfaches USB-Netzteil mit 5V - zumindest bei Verwendung eines Wemos-Moduls mit eingebautem 3.3V Regler. Achtung, nicht alle ESP8266-Module haben diesen Spannungsregler eingebaut, da muss man selber für 3.3V sorgen. Versehentliche Einspeisung von 5 V überleben diese nicht.

                schedule("*/30 * * * *",  function () { // alle 30 Minuten - für Tests ggf auskommentieren
                
                setState("mqtt.0.easy_wemo.cmd","wemo,1,T_aussen"); // Beschriftungszeilen setzen  via MQTT
                setState("mqtt.0.easy_wemo.cmd","wemo,3,Wohnzimmer");
                setState("mqtt.0.easy_wemo.cmd","wemo,5,Keller");
                var temp=getState("hm-rpc.2.IEQ0020678.1.TEMPERATURE").val; // HM-Datenpunkte auslesen und in Variablen schreiben
                var wz_t=getState("hm-rpc.2.MEQ0476362.1.TEMPERATURE").val;
                var wz_h=getState("hm-rpc.2.MEQ0476362.1.HUMIDITY").val;
                var k_t=getState("hm-rpc.2.MEQ0477427.1.TEMPERATURE").val;
                var k_h=getState("hm-rpc.2.MEQ0477427.1.HUMIDITY").val;
                setState("mqtt.0.easy_wemo.cmd","wemo,2,"+temp+" °C"); // Variablen nach ESP8266 schreiben  via MQTT
                setState("mqtt.0.easy_wemo.cmd","wemo,4,"+wz_t+" °C / "+wz_h+" %rH");
                setState("mqtt.0.easy_wemo.cmd","wemo,6,"+k_t+" °C / "+k_h+" %rH");
                
                }); // für Tests ggf auskommentieren
                

                so, das wars, ist doch noch länger geworden. Ich hoffe, dem einen oder andern hilfts. Aufgrund der Vielzahl möglicher Module habe ich mich in dem Bereich etwas kurz gehalten, aber das Internet ist ja voll mit Anleitungen und Schaltungsvorschlägen. Gut an ESPEasy ist, dass es gerade im Bereich der GPIO sehr flexibel ist. Wie schon angedeutet lassen sich mit ESPEasy eine Vielzahl verschiedener Sensoren, aber auch Relais und Schalter anschliessen, auch simultan.

                Es lohnt sich, die Webpage http://www.letscontrolit.com/wiki/index.php/ESPEasy genauer durchzulesen.

                Nachtrag 18.4.17 : falls sich bei den Topics Probleme ergeben, kann es sein, dass es am leading / liegt. Manchmal wird dieses / am Anfang vorgegeben (so z.B. auch im ESP Easy default) - ich selbst habs überall entfernt, da damit nur eine (leere) Ebene eingeschoben wird.

                die entsprechende Konfiguration im ESPEasy sieht dann so aus:

                291_lbgt_sonoff1.png

                1 Reply Last reply Reply Quote 0
                • I
                  Ingo last edited by

                  Guten Morgen starfish,

                  Dank deiner Hilfe habe ich es ja geschafft, ESP Easy auf den ESP8266 zu flashen. Läuft super.

                  Du hast in diesem Beitrag auch die MQTT-Verbindung dokumentiert. Ich will folgendes machen:

                  Heizung wird in 4 Wochen umgebaut. Ich möchte mit einem ESP8266 und mehreren DS18B20

                  div Temperaturen im Keller erfassen und in IoBroker anzeigen. ESP und DS18B20 läuft.

                  Womit ich nicht klarkomme, ist MQTT. (Oder eine andere Verbindung zum IoBroker)

                  In ESP-Easy so eingestellt wie in deinem Screenshot, OpenHAB MQTT, IP des IoBroker, User und Password.

                  In IoBroker den MQTT-Adapter (später noch den MQTT-Client) installiert, in MQTT-Adapter folgendes eingestellt:

                  • Client/subscriber

                  • IP des ESP

                  • Username und Kennwort wie im ESP

                  Will ich unter Instanzen mqtt.0 starten, wird der Kreis ganz links gelb, jedoch nicht grün.

                  Habe leider im Forum nix gefunden, was mache ich verkehrt ????

                  Was müßte ich unter MQTT-Einstellungen eintragen ?

                  Oder muß ich dem MQTT-Client verwenden ?

                  Grüße Ingo

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

                    hallo Ingo,

                    als erstes lösche mal den mqtt-client aus den Instanzen. Ich habe nur den mqtt adapter 1.3.2 laufen.

                    Der gelbe Punkt bedeutet, dass noch kein client mit dem server Kontakt aufgenommen hat. In dem Punkt ist meine Anleitung (eher "Starthilfe") nicht ganz klar - überall wo 192.168.0.162 steht, muss DEINE iobroker-IP stehen (also im ESPEasy).

                    Ist Dein ESPEasy überhaupt erreichbar mit dem Browser? bzw. angemeldet an Deinem AccessPoint? (welche IP?)

                    zu den MQTT-Adapter Einstellungen habe ich in meiner Anleitung auch 2 screenshots (Test-)Konfiguration des iobroker MQTT-Adapters) - die kannst Du so übernehmen (ausser Dein Username/Kennwort).

                    Kannst Du mir per PM screenshots schicken von ESP-easy und iobroker-adapter konfiguration?

                    1 Reply Last reply Reply Quote 0
                    • Z
                      Zipkart last edited by

                      Hallo Satrfish.

                      Ich habe meinen WEMO und den MQTT Adapter installiert bekommen.

                      Mein Wemo heist GaragenESP er hat 2 Relays an GPIO 14 und GPIO 12angeschlossen

                      das Relay an GPIO14 heist tor1

                      Beim Einschalten bekommen ich als State in MQTT Fx folgendes angezeigt

                      ! /GaragenESP/tor1/state
                      ! 1

                      Was ich noch nicht genau verstehe wozu nun die Rules da sind und wieso dein Schaltbefehl bei die an

                      easy/relay/gpio/12 geht

                      demnach müsste mein MQTT Befehl GaragenESP/tor1/state heißen? Oder liege ich da verkehrt.

                      ich habe folgende Rule eingefügt

                      on tor1.state do
                        if [tor1.state]=0
                          gpio,14,1
                        else
                          gpio,14,0
                        endif
                      endon 
                      

                      Vielleicht kannst Du mir ja helfen.

                      Gruß Stefan

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

                        hallo Stefan,

                        so wie ich verstehe, hast Du kein Sonoff Relais? In dem Fall hast Du auch keine Taster und keine (eigenständigen) LEDs zur Schaltanzeige? Unter dieser Voraussetzung brauchst Du gar keine Rule zu schreiben, sondern kannst die Relais direkt über GaragenESP/gpio/12 bzw GaragenESP/gpio/14 und 0 bzw. 1 als payload schalten. So entfallen zwar die individuellen Namen für die Relais (Tor1 …) aber es ist die einfachste Möglichkeit, das Ziel zu erreichen. Die Devices Switchinput und Rules kannst Du löschen. Versuchs mal so, und melde Dich wieder über PM.

                        (die Rules in meinem Beispiel sind für Sonoff gedacht, damit die LED und das Relais gleichzeitig eingeschaltet werden. Die 2. Funktion ist fürs manuelle Einschalten des Relais über den eingebauten Taster gedacht).

                        1 Reply Last reply Reply Quote 0
                        • Z
                          Zipkart last edited by

                          Sorry das ich jetzt erst antworte. Aber Tapatalk nervt mich manchmal ein wenig.

                          Ich habe tatsächlich kein Sonoff Relay sondern ein selbstgebautes.

                          Ich werde das ganze nochmal testen. Wobei ich noch nicht gefunden habe wie ich bei ESPEasy erkenne dass er die mqtt Meldung tatsächlich bekommen hat.

                          Ich werde es in Ruhe nochmal Testen.

                          Gruß Stefan

                          Gesendet von iPhone mit Tapatalk

                          1 Reply Last reply Reply Quote 0
                          • K
                            knopers1 last edited by

                            Hallo, danke Dir für die gute Anleitung.

                            Ich möchte ein Wemos ESP-12 mit 512k verwenden. Gibt es Nachteile gegeüber den 4M Modulen?

                            1 Reply Last reply Reply Quote 0
                            • Z
                              Zipkart last edited by

                              @Zipkart:

                              Ich habe tatsächlich kein Sonoff Relay sondern ein selbstgebautes.

                              Ich werde es in Ruhe nochmal Testen.

                              Gruß Stefan

                              Gesendet von iPhone mit Tapatalk `

                              Guten Morgen.

                              Wie versprochen die kurze Rückmeldung.

                              Mit dem mqtt Befehl hat es super geklappt. Jetzt schalten beide Relais und der DHT sendet fleißig.

                              Jetzt. Leibt mir nur noch das Skript offen, welches mir die Bestätigung der Relais bearbeitet und sie wieder zurücksetzt. Da sie nur als Taster für die Garagentore dienen sollten.

                              Gruß Stefan

                              Gesendet von iPhone mit Tapatalk

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

                                @knopers1:

                                Hallo, danke Dir für die gute Anleitung.

                                Ich möchte ein Wemos ESP-12 mit 512k verwenden. Gibt es Nachteile gegeüber den 4M Modulen? `
                                die 512k Module würde ich neu nicht erwerben. Grad beim espeasy 512k - sketch hast Du nur die basic plugins und OTA - update (übers WLAN) geht auch nicht.Diese würde ich nur verwenden, wenn die Bastelkiste voll ist damit.

                                4M hat also klar Vorteile. ich empfehle die Module mit USB-Schnittstellenwandler und 3.3V Spannungsregler (z.B. Wemos D1 mini und ähnliche). Bekanntlich laufen die ESP8266 mit 3.3V - 5V sind tödlich (ohne obenerwähnten Spannungsregler).

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

                                  @Zipkart:

                                  Jetzt. Leibt mir nur noch das Skript offen, welches mir die Bestätigung der Relais bearbeitet und sie wieder zurücksetzt. Da sie nur als Taster für die Garagentore dienen sollten.

                                  Gruß Stefan

                                  Gesendet von iPhone mit Tapatalk `

                                  jetzt ist mir klar, was Du meinst. ich hab da so eine Idee, muss aber zuerst testen.

                                  so, wenn ich Dein Problem richtig verstanden habe, sollte dies laufen:

                                  erstelle ein Device in espeasy als gpio pin nimmst Du irgendeinen freien (hier testweise 14)
                                  291_easy_th.png
                                  dann in den rules :

                                  on tast#state do
                                    if [tast#state]=0
                                      gpio,12,0
                                    else
                                      pulse,12,1,500
                                    endif 
                                  endon
                                  

                                  der Tast-puls (500ms) wird jedesmal ausgelöst, wenn Du von 0 -> 1 schaltest auf easy_th/gpio/14 (dazwischen wieder auf 0 schalten) (easy_th durch deine Bezeichnung ersetzen) - den Datenpunkt erstellen mit mqtt.fx

                                  1 Reply Last reply Reply Quote 0
                                  • K
                                    knopers1 last edited by

                                    @starfish:

                                    @knopers1:

                                    Hallo, danke Dir für die gute Anleitung.

                                    Ich möchte ein Wemos ESP-12 mit 512k verwenden. Gibt es Nachteile gegeüber den 4M Modulen? `
                                    die 512k Module würde ich neu nicht erwerben. Grad beim espeasy 512k - sketch hast Du nur die basic plugins und OTA - update (übers WLAN) geht auch nicht.Diese würde ich nur verwenden, wenn die Bastelkiste voll ist damit.

                                    4M hat also klar Vorteile. ich empfehle die Module mit USB-Schnittstellenwandler und 3.3V Spannungsregler (z.B. Wemos D1 mini und ähnliche). Bekanntlich laufen die ESP8266 mit 3.3V - 5V sind tödlich (ohne obenerwähnten Spannungsregler). `

                                    boah, habe bereits schon einen mit 512k bestellt :?

                                    Aber jetzt würde ich mir noch einen mit 4M nachlegen.

                                    Kannst Du unter dem Link schauen ob dies das richtige Teil ist?

                                    http://www.ebay.de/itm/D1-Mini-NodeMCU- … SwFqJWn1os

                                    Das Teil ist allemal 4M Version, und hat einmal den Pin mit 5V und 3,3V

                                    Die Spannungsversorgung kann ich entweder über die micro USB Schnittstelle, oder die 5 und 3,3V gegen die Mase anlegen richtig?

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

                                      @knopers1:

                                      boah, habe bereits schon einen mit 512k bestellt :?

                                      Aber jetzt würde ich mir noch einen mit 4M nachlegen.

                                      Kannst Du unter dem Link schauen ob dies das richtige Teil ist?

                                      http://www.ebay.de/itm/D1-Mini-NodeMCU- … SwFqJWn1os

                                      Das Teil ist allemal 4M Version, und hat einmal den Pin mit 5V und 3,3V

                                      Die Spannungsversorgung kann ich entweder über die micro USB Schnittstelle, oder die 5 und 3,3V gegen die Mase anlegen richtig? `

                                      nicht so schlimm, das 512k Teil kannste ja für eine einfachere Aufgabe verwenden (ist dort überhaupt eine usb-schnittstelle drauf? sonst müsstest Du zum Programmieren noch einen USB-Schnittstellenadapter besorgen).

                                      Das Teil vom Link scheint OK - Stromversorgung reicht 5V - das Modul hat ja einen 3.3V Spannungsregler drauf.

                                      1 Reply Last reply Reply Quote 0
                                      • K
                                        knopers1 last edited by

                                        Danke,

                                        habe noch zusätzlich die 4M Variante bestellt. Den 512er behalte ich zum üben 😛

                                        Und ja, die 512er Version hat eine USB Schnittstelle. Schaen wir mal was ich damit machen kann. Ich freu mich schon auf das Scroll-Display. Ich hoffe doch, dass ich das Teil aufbauen kann. Ich würde auf jeden Fall die Außentemperatur anzeigen wollen, auch den Zustand der Alarmanlage würde ich gerne auf das Display bringen.

                                        1 Reply Last reply Reply Quote 0
                                        • K
                                          knopers1 last edited by

                                          Hallo nochmal…

                                          Heute kam ein Wemos D1 mini an (4M). Ich habe die Firmware ESP Easy drauf bekommen. Es geht viel einfacher wie die Anleitung hier hergibt...

                                          Bei Bedarf kann ich etwas mehr dazu sagen. Ich habe aber nicht die Software IDE benutzen müssen. Wie auch immer... Ich habe eine feste IP vergeben,ebenso alles andere nach Anleitung hier abgeändert.

                                          Die Controller IP Adresse wird doch die vom IObroker sein richtig ???

                                          Unter Devices habe ich nur Display - OLED SSD1306 mit GPIO 4,5 stehen. ****Ist das so richtig ?****Ich möchte mir ein paar Sachen vom Vis auf das Display anzeigen lassen. Auf das Display warte ich noch…. 😞

                                          Bis dato habe ich keine Software IDE oder ein Sketch abgeloadet... ? Wie soll das funktionieren? Ich nehme mal an dass jetzt noch ein MQTT Adapter beim Vis benötigt wird. Es gibt sogar noch nen Client vom MQTT… Was muß ich für mein Vorhaben installieren ?

                                          @Starfish- kannst Du mich etwas aufklären? Ich befürchte dass ich noch nen Sketch dazu brauche, bin mir aber nicht wirklich sicher…

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

                                            @knopers1, Welche Version hast Du geflasht? (und wie - mit dem loader?)

                                            Die Controller-IP ist richtig, die vom iobroker. Im iobroker den Server aktivieren (hast Du wohl schon: mqtt.0), wie beschrieben (nicht client, bzw. client adapter).

                                            GPIO 4 und 5 stimmt, falls Du das hardwaremässig auch so verdrahtest.

                                            Einen neuen Sketch brauchst Du nicht.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            562
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            23
                                            131
                                            34824
                                            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