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.6k

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

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

[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.0k 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.
  • 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
                    • S Offline
                      S Offline
                      starfish
                      schrieb am zuletzt editiert von
                      #50

                      lösch mal den cmd-ordner (damit auch die darunter liegenden Ordner) - dann mit dem mqtt.fx publishen, wie in der letzten Antwort. es sollten sich kein Unterordner OLED und 1 ergeben.

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

                        siehe Bild. Nach dem Neustart des Wemos hängst sich das Teil weg… und startet immer wieder neu! Sieht man schön an der Uhrzeit auch...

                        Am Wemo liegt es nicht. Habe bereits schon den zweiten heute probiert... Es hört auf, wen ich den MQTT Adapter unter IOBroker stoppe. Wenn ich erneut den Adapter unter IOBroker starte, passiert am Wemo wieder nichts....bis zum Neustart des Wemos...dann wieder startet sich das Teil neu!

                        Der IOBroker bringt den Wemo zum Restart. Das Display startet sich neu!

                        liegt es an der Firmware des Wemos evtl. ??? habe die GIT version: v2.0.0-dev7
                        1526_unbenannt17.png

                        HP Microserver Gen8, RPI-4, IoBroker,

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

                          Hallo Nochmal…

                          also, ich habe jetzt noch einmal ESPEasy_v2.0.0-dev7_normal_4096.bin geflash.

                          Anschließend nach deinem Tipp die Sache mit Hallo World ausprobiert.

                          Der Text wird nach dem Publishen für ca. 2-3 sek. auf das Display aufgeschaltet. ;)

                          ABER:

                          es sieht nicht gut aus... n etwa so:

                          h

                          allo World

                          Das ganze weit oben, gerade einen mm tiefer als die Uhrzeit und Signalanzeige.

                          HP Microserver Gen8, RPI-4, IoBroker,

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

                            wie sieht denn die Anzeige aus, wenn Du die 12 Zeilen direkt in Wemos schreibst?

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

                              wenn ich die 12 Zeilen manuell eintrage, sieht alles normal aus…. Das Display scrollt auch brav. schau hin...

                              https://www.youtube.com/watch?v=1MpM_C0 ... e=youtu.be

                              Das Video hab ich vor paar ein Tagen gemacht. Die Temperaturwerte und die Akkuspannung was man im Display sieht, wurde manuell über die 12 Zeilen gemacht... Ich wollte wissen, wie es aussieht, wenn dort echte Werte stehen... :mrgreen:

                              Beim Beispiel mit "Hallo World" von Dir, sieht die Schrifft anderes aus... Dien Buchstaben sind halb so groß, als wenn ich es manuell in den Zeilen eingebe...

                              und sehen so aus...

                              ****H // H ist rechts im Display und nicht links wie dies hier angezeigt wird..

                              allo World****

                              siehe auch http://forum.iobroker.net/viewtopic.php … =40#p65112

                              Gegen 20 Uhr habe ich dieses schon beschrieben...

                              ESP1/cmd

                              OLED,x,texttest

                              ergibt am Display auch ein

                              t

                              exttest

                              hier genau so...t rechts im Display, und der Rest eine Zeile Tiefer... Es wird etwas ausgegeben, aber es passt nicht absolut in den Raster Linie1-Linie12

                              Nach meiner Logik wird beim OLED,1,texttest die erste Zeile oben im Display beschrieben… So sieht es zumindest aus.... Die Linie 1 im Sketch ist viel tiefer, dort wo bei Dir die "Wohnzimmer, T_aussen" stehen....

                              Wenn ich die OLED,1,texttest gegen 2,3 oder 4 ändere, rutscht alles eine Etage tiefer… Aber diese Linien 1-12 werden überhaup nicht wahrgenommen!

                              Beim Publishen sieht man ganz kurz den Text. Es scrollt nicht, es ist nicht an der richtigen Position, und es verschwindet sofort...

                              Ich habe versucht gestern auch noch ein Relai AN/AUS zu bekommen und habe mich nach deinem Bild orientiert. Dem GPIO-12 ist der Pin des Wemos D6 zugeschrieben... Ich habe am Wemo (D6) eine LED mit Vorwiderstand gegen den GND angeschlossen. Rules habe ich auch eingetragen.

                              easy/gpio/12

                              0 oder 1

                              brachte die LED nicht zum Schalten. Unter MQTT Adapter waren die Werte aber da.

                              Langsam habe ich das Gefühl, dass es an der Firmware liegt. Hast Du evtl. die .bin Datei von Dir? Ich würde versuchen deine Firmware draufzuflashen... :|
                              1526_relay-espeasy.png

                              HP Microserver Gen8, RPI-4, IoBroker,

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

                                @knopers1 - PM schauen

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

                                  nichts angekommen, kannst Du noch mal versuchen?

                                  HP Microserver Gen8, RPI-4, IoBroker,

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

                                    Hallo,

                                    jemand von den Kollegen, dass dieses Projekt erfolgreich nachgebaut hat?

                                    Kennt jemand die kompilierte Firmware im Link? (siehe Bild)

                                    HP Microserver Gen8, RPI-4, IoBroker,

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

                                      @knopers1 - was machst Du? ich hatte die .bin files nur für Dich zur Verfügung gestellt, weil ich sie sonst nirgends hochladen kann. Dieses "repository" ist eigentlich nicht öffentlich. Erklärung siehe PM - lade sie dir runter, anschliessend lösche ich sie wieder.

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

                                        Danke, siehe PN.

                                        Das Bild mit Respository ist gelöscht…

                                        Ich bleibe dran und berichte ob es funktioniert.

                                        Danke vorerst :)

                                        HP Microserver Gen8, RPI-4, IoBroker,

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

                                          @starfish

                                          ich habe deine Firmware ausprobiert, gleich die erste von oben… Ich habe das Display auch getausch in der Hoffnung das sich etwas tut!

                                          Beide Displays sind mit 128x64, jedoch das andere hat etwas längstliche Löcher zur Befestigung, und die VCC mit GND sin dort auch getauscht.

                                          Den Wemo habe ich auch getauscht, weil ich schon gedacht habe das es deshalb nicht funktioniert.

                                          Ich bekomme beim Publishen immer die Textausgabe auf den Display, aber:

                                          • Text ist halb so hoch, als wenn man etwas direkt in die Linien schrebt

                                          • Text wird nur für kzurzen Moment beim Publishen angezeigt und verschwindet sofort vom Display

                                          • Text Scrollt nicht

                                          • Text wird im Display falsch dargestellt. Der esrte Buchstabe ist Zeile höcher als der Rest.

                                          Das Ende vom Lied ist, dass es bei mir nicht funktioniert wie es soll. Macht es Sinn noch die anderen Firmware von deinem Link auszuprobieren?

                                          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

                                          842

                                          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