Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. [Projekt] Scrolling OLED-display und Sonoff-Relais für iobroker via MQTT

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.7k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.1k

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

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
131 Beiträge 23 Kommentatoren 41.1k Aufrufe 5 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • K Offline
    K Offline
    knopers1
    schrieb am zuletzt editiert von
    #30

    Danke dir.

    die Daten kommen definitiv beim IObroker an. Habe zwar kein Display noch dran, konnte aber einige Daten wie zb. Uptime, FreeRam,Systemload richtung Vis übertragen… Ich gehe davon aus, dass es in die andere Richtung auch funktionieren sollte, muß aber noch paar Tage auf das Display warten... Geniales Teil, ich werde noch etwas damit Spielen um zu gucken was noch möglich ist. Eine Bestellung bei AliExs. verschiedener Sensoren,Displays, Fühler habe ich auch schon gemacht. Eine Wetterstation mit BME280 möchte ich auch noch bauen.

    HP Microserver Gen8, RPI-4, IoBroker,

    1 Antwort Letzte Antwort
    0
    • K Offline
      K Offline
      knopers1
      schrieb am zuletzt editiert von
      #31

      Hallo,

      die erste Lieferung ist da. Leider ein Oled Display mit 7 Pins.

      Laut Beschreibung aber für Driver IC: SSD1306. Somit sollte das Teil funktionieren.

      Ich habe das Display direkt an den ESP8260 verdrahtet.

      VCC vom Display an 3.3V beim ESP. GND mit G verbunden. Somit ist die Spannungsversorgung gegeben.

      Jetzt hänge ich fest, da es ein Display mit SPI Interface ist und kein I2C… Der zweite ist auch schon bestellt, allerdings noch nicht angekommen.

      Wie verdrahte ich das Teil?

      Ich versuchte bereits den Pin D0 vom Display (SCL ???) an Pin GPIO-4

      und den Pin D1 (vermutlich SDA) an GPIO-5 des ESP8260 zu verbinden. Leider bleibt das Display schwarz.

      Jemand von Euch, der das Display zum Laufen gebracht hat? Vermutlich geht es mit der I2C Schnittstelle einfacher….
      1526___57.jpg

      HP Microserver Gen8, RPI-4, IoBroker,

      1 Antwort Letzte Antwort
      0
      • S Offline
        S Offline
        starfish
        schrieb am zuletzt editiert von
        #32

        ja, schade, SPI ist natürlich nicht dasselbe wie I2C - theoretisch geht SPI auch mit ESP8266 - auf die Schnelle habe ich gefunden: https://odd-one-out.serek.eu/esp8266-no … splay-spi/ aber das ist dann halt nicht ganz dasselbe.

        1 Antwort Letzte Antwort
        0
        • WalW Offline
          WalW Offline
          Wal
          Developer
          schrieb am zuletzt editiert von
          #33

          Für I2C mußt du auf der Rückseite Widerstände umlöten.

          http://www.14core.com/wp-content/upload … ed_Lcd.jpg

          http://www.alxblog.com/ssd1306-oled-i2c … o-esp8266/

          Gruß
          Walter

          DoorIO-Adapter
          wioBrowser-Adapter und wioBrowser

          1 Antwort Letzte Antwort
          0
          • K Offline
            K Offline
            knopers1
            schrieb am zuletzt editiert von
            #34

            Danke, schöne Seite. Aber mit meinem Parkinson Syndrom bekomme ich es nicht hin… :)

            Spass bei Seite. Ich habe schon einiges gabaut und gelötet. Aber diese winzigen SMD Widerstände sind doch für mein Können etwas zu klein geraten. Da warte ich lieber aud das I2C Display.

            HP Microserver Gen8, RPI-4, IoBroker,

            1 Antwort Letzte Antwort
            0
            • K Offline
              K Offline
              knopers1
              schrieb am zuletzt editiert von
              #35

              @starfisch

              das Display läuft jetzt. Ich habe heute ein I2C Display bekommen. MQTT ist installiert und verbunden. Kannst Du mir erklären wie ich jetzt z.b ein Wert (Außentemperatur) auf das Display bekomme?

              HP Microserver Gen8, RPI-4, IoBroker,

              1 Antwort Letzte Antwort
              0
              • S Offline
                S Offline
                starfish
                schrieb am zuletzt editiert von
                #36

                @knopers bin grad unterwegs - kann erst heute abend genauer schauen. versuchs mal mit dem js script, hier im thread. (angepasst an deine datenpunkte)

                1 Antwort Letzte Antwort
                0
                • K Offline
                  K Offline
                  knopers1
                  schrieb am zuletzt editiert von
                  #37

                  Puhh, Danke Dir!

                  Du meinst das hier?

                  schedule("*/30 * * * *",  function () { // alle 30 Minuten
                  
                  setState("mqtt.0.easy_wemo.cmd","wemo,1,T_aussen");
                  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;
                  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");
                  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");
                  
                  });
                  

                  Ich versuche es zu verstehen. Schlauer bin ich aber trotzdem nicht geworden.

                  Dies dürfte die Zeile 1,3,5 sein mit der Raumbeschreibung was im Display ausgegeben wird? Muß ich den markierten Namen "easy_wemo" an meinem Namen anpassen? Bei mir heißt es ESP1 und wird im Display zwischen der Uhrzeit und Signalstärke angezeigt. ?

                  setState("mqtt.0.easy_wemo.cmd","wemo,1,T_aussen");

                  setState("mqtt.0.easy_wemo.cmd","wemo,3,Wohnzimmer");

                  setState("mqtt.0.easy_wemo.cmd","wemo,5,Keller");

                  Das sind die hm-Geräte die abgefragt werden?

                  var temp=getState("hm-rpc.2.IEQ0020678.1.TEMPERATURE").val;

                  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;

                  Abgefragt wurde auch dieses HM-Gerät "hm-rpc.2.IEQ0020678.1"(T_aussen). Was ist das für ein Gerät genau???Kann ich dazu einen HM-Heizungsthermostat abfragen?

                  Zeile 2 gehört zu der Zeile 1 für T_aussen, deshalb nur die Temperatur auf dem Display ohne Luftfeuchte bei Dir im Display…

                  Dann gibt es noch diese hier mit Luftfeuchte für Wohnzimmer und Keller. Zusammen sind es drei Geräte die abgefragt werden.

                  "hm-rpc.2.MEQ0476362.1.TEMPERATURE" //Sind es Wandthermostate???

                  "hm-rpc.2.MEQ0476362.1.HUMIDITY"

                  "hm-rpc.2.MEQ0477427.1.TEMPERATURE"

                  "hm-rpc.2.MEQ0477427.1.HUMIDITY"

                  Hierzu die Konfig für Zeile 2,4 und 6… Vermutlich auch hier muß der Name angepasst werden.

                  setState("mqtt.0.easy_wemo.cmd","wemo,2,"+temp+" °C");

                  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");

                  ****Kannst Du etwas helfen? Was ist wenn ich einen Wemo abfragen möchte, welches Temperatur/Feuchte an IOBroker sendet?

                  Ganz genau habe ich ein Wemo mit einem DHT22 Sensor testweise am laufen, welches Temperatur/Feuchte an die Variable in der CCU schreibt???

                  Oder eine Wetterstation, die mit 433 Mhz über RFLINK gekoppelt ist? Und vor allem, wo soll dieses Script hin? IOBroker, CCU? Wo genau? MQTT ist als Adapter unter IOBroker installiert. Deine Beschreibung zeigt aber eine Konfiguration unter Windows???

                  Kannst Du hier ein Beispiel geben? Ich blick es nicht durch…bzw. die Funktion ist mir nicht ganz klar...****

                  HP Microserver Gen8, RPI-4, IoBroker,

                  1 Antwort Letzte Antwort
                  0
                  • S Offline
                    S Offline
                    starfish
                    schrieb am zuletzt editiert von
                    #38

                    @knopers1 - Du hast PM

                    1 Antwort Letzte Antwort
                    0
                    • K Offline
                      K Offline
                      knopers1
                      schrieb am zuletzt editiert von
                      #39

                      @starfisch

                      das Toll für windows, was man unten im Bild sieht, was kommt dort fü Benutzername und Passwort? Frei erfinden, ober vorher irgendwo registrieren???

                      Evtl. das Passwort vom MQTT Adapter unter IOBroker ????

                      Kannst Du etwas dazu schreiben?
                      1526_mqtt-tool-2.png
                      1526_unbenannt.png

                      HP Microserver Gen8, RPI-4, IoBroker,

                      1 Antwort Letzte Antwort
                      0
                      • DutchmanD Offline
                        DutchmanD Offline
                        Dutchman
                        Developer Most Active Administrators
                        schrieb am zuletzt editiert von
                        #40

                        @knopers1:

                        @starfisch

                        das Toll für windows, was man unten im Bild sieht, was kommt dort fü Benutzername und Passwort? Frei erfinden, ober vorher irgendwo registrieren???

                        Evtl. das Passwort vom MQTT Adapter unter IOBroker ????

                        Kannst Du etwas dazu schreiben? `

                        Da due daten zu einem MQTT server schicken moechtest muessen hier die datan vom MQTT server rein.

                        Laut deinen screenshots ist iObroker der MQTT server, also IP = iObroker IP und username/pass/port = gleich an iObroker MQTT server configuration

                        (benutze dasselbe concept mit anderen geraeten)

                        Greetz,

                        Dutch

                        1 Antwort Letzte Antwort
                        0
                        • S Offline
                          S Offline
                          starfish
                          schrieb am zuletzt editiert von
                          #41

                          @knopers1:

                          @starfisch

                          das Toll für windows, was man unten im Bild sieht, was kommt dort fü Benutzername und Passwort? Frei erfinden, ober vorher irgendwo registrieren???

                          Evtl. das Passwort vom MQTT Adapter unter IOBroker ????

                          Kannst Du etwas dazu schreiben? `

                          Wie Dutchman schon schreibt, user und passw. und IP vom MQTT-Server einsetzen, in Deinem Fall ist es wohl der iobroker adapter (wie in der Anleitung gezeigt).

                          http://forum.iobroker.net/viewtopic.php … 460#p55591

                          und die Konfig von mqtt.fx

                          http://forum.iobroker.net/viewtopic.php ... 460#p55622

                          Es ist ein grosser Vorteil, wenn Du dieses Tool verwendest, so kannst Du sehen, was passiert, u.A. auch zur Fehlersuche ganz brauchbar.

                          1 Antwort Letzte Antwort
                          0
                          • K Offline
                            K Offline
                            knopers1
                            schrieb am zuletzt editiert von
                            #42

                            ich habe Verbindung! Allerdings habe ich echt keine Ahnung, was ich damit anstellen sollte. Wo kommt dein Script hin? Ich nehme an, dass ich die Datenpunkte anpassen muß… Kannst Du helfen? Unter IObroker mqtt.o/ESP1/ ist ein CMD entstanden... Dort ändert sich der Text, sobald ich unter mqtt.fx Windows Anwendung diesen Text Publishe... Am Display tut sich nichts... Wie muß ich damit arbeiten, damit ich Daten in das Display bekomme?
                            1526_unbenannt.png
                            1526_unbenannt1.png
                            1526_unbenannt2.png
                            1526_unbenannt3.png
                            1526_unbenannt4.png

                            HP Microserver Gen8, RPI-4, IoBroker,

                            1 Antwort Letzte Antwort
                            0
                            • K Offline
                              K Offline
                              knopers1
                              schrieb am zuletzt editiert von
                              #43

                              @starfisch

                              damit bekomme ich etwas auf das Display… Du hast geschrieben:

                              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.

                              bei mir sieht es so aus... /ESP1/cmd

                              OLED,x,texttest

                              Ich bekomme damit ganz kurz den Text auf das Display. Allerdings steht der erste Buchstabe eine Zeile oberhalb von dem Rest

                              so in etwa...

                              t

                              exttest

                              Ich würde jetzt gerne wissen wie es weiter geht?

                              EDIT2

                              Du schreibst:

                              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…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.

                              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.

                              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
                              

                              Ich nehme mal an, dass ich auch ein Java Script benötige…

                              wofür steht das hier ???

                              schedule("*/30 * * * *", function () { // alle 30 Minuten - für Tests ggf auskommentieren
                              1526_unbenannt7.png

                              HP Microserver Gen8, RPI-4, IoBroker,

                              1 Antwort Letzte Antwort
                              0
                              • K Offline
                                K Offline
                                knopers1
                                schrieb am zuletzt editiert von
                                #44

                                puhh, ich versuche mich an Java… :mrgreen:

                                ich habe dein Script etwas umgeschrieben und hoffte dass in der Zeile 1 "T_aussen" und in der Zeile 2 die Temperatur eines Heizkörperthermostates auf das Display ausgegeben wird... Nur so zum Test :mrgreen: Aber nichts passierte :shock: :o :(

                                Kann mit jemand Helfen bitte ????

                                schedule("*/30 * * * *",  function () { // alle 30 Minuten - für Tests ggf auskommentieren
                                
                                setState("mqtt.0.ESP1.cmd","OLED,1,T_aussen"); // Beschriftungszeilen setzen  via MQTT
                                var temp=getState("hm-rpc.0.KEQ0723839.4.ACTUAL_TEMPERATURE").val; // HM-Datenpunkte auslesen und in Variablen schreiben
                                setState("mqtt.0.ESP1.cmd","OLED,2,"+temp+" °C"); // Variablen nach ESP8266 schreiben  via MQTT
                                }); // für Tests ggf auskommentieren
                                

                                mit dem Script sehe ich schon aber die Temperatur unter MQTT :mrgreen:
                                1526_unbenannt8.png

                                HP Microserver Gen8, RPI-4, IoBroker,

                                1 Antwort Letzte Antwort
                                0
                                • S Offline
                                  S Offline
                                  starfish
                                  schrieb am zuletzt editiert von
                                  #45

                                  … eins nach dem andern ;)

                                  das javascript kommt erst am Schluss ...

                                  versuch mal hier

                                  http://forum.iobroker.net/download/file ... &mode=view

                                  irgend was auf die Line 1 bis Line 12 reinzuschreiben und mit submit speichern. schreib dann, was Du siehst.

                                  dann würd ich beim mqtt-adapter im iobroker die Datenflut etwas einschränken
                                  291_iobroker.admin_2_.png

                                  1 Antwort Letzte Antwort
                                  0
                                  • K Offline
                                    K Offline
                                    knopers1
                                    schrieb am zuletzt editiert von
                                    #46

                                    da bekomme ich alle Zeilen angezeigt!

                                    Mein Script scheint auch zu funktionieren… ich sehe die Temp unter MQTT... Den MQTT Adapter habe ich auch nach deiner Vorgabe eingestellt...
                                    1526_unbenannt9.png

                                    HP Microserver Gen8, RPI-4, IoBroker,

                                    1 Antwort Letzte Antwort
                                    0
                                    • S Offline
                                      S Offline
                                      starfish
                                      schrieb am zuletzt editiert von
                                      #47

                                      da geht ja schon fast alles .

                                      im javascript die erste und die letzte Zeile auskommentieren (oder auch löschen), die automatisiert das Updaten des Displays alle 30 Minuten. Zum Testen stört diese Funktion. Dann wird beim Speichern das Script auch 1 x aufgerufen. Die Funktion kannst Du parallel dazu mit dem mqtt.fx kontrollieren.

                                      1 Antwort Letzte Antwort
                                      0
                                      • S Offline
                                        S Offline
                                        starfish
                                        schrieb am zuletzt editiert von
                                        #48

                                        ich seh grad, in Deinem Objekt-Baum ist etwas anders als bei mir. eigentlich müsste das hier am Stück als Payload übermittelt werden "OLED,2,"+temp+" °C

                                        versuch mal mit mqtt.fx mit dem iobroker mqtt-server zu verbinden und dann bei "Publish" folgendes eingeben:
                                        291_publish.png
                                        und dann auf publish klicken.

                                        1 Antwort Letzte Antwort
                                        0
                                        • K Offline
                                          K Offline
                                          knopers1
                                          schrieb am zuletzt editiert von
                                          #49

                                          hmm, es kommt nur unter IOBroker (MQTT-Adapter) an.. Aber nicht am Display!

                                          Das Display muß i.O sein, da ich alle Linien beschreiben kann. Am Display kommt alles an und wird gescrollt auch.
                                          1526_unbenann15t.png

                                          HP Microserver Gen8, RPI-4, IoBroker,

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          606

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe