Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. [Gelöst] Wetter Display

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Gelöst] Wetter Display

    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      Kredar @draexler last edited by Kredar

      @draexler

      Werde ich morgen oder so mal testen. Also das YAML legt die Datenpunkte an im MQTT im ioBroker wenn ich das richtig verstanden habe. Die "Datenpunkte" meinst du beim jeweiligen Adapter? Also bei mir der Sonoff-Adapter, da einfach den "Datenpunkt"-Namen für die YAML-Konfig rauskopieren und in die YAML-Konfig einfügen?

      MQTT im ioBroker läuft schon, auch connect zum ESP32 klappt, zumindest habe ich keine Fehlermeldung beim kompilieren. Okay, ich werde es testen. Danke für dein Beispiel das hilft weiter um Tests zu machen mit meiner Hardware hier im Haus ;).

      mfg

      draexler 1 Reply Last reply Reply Quote 0
      • draexler
        draexler @Kredar last edited by

        @kredar Wenn du Werte von Sonoff im ePaper anzeigen willst, machst du am besten ein script, das auf eine Änderung des Sonoff Datenpunkt triggert und diesen Wert dann in den MQTT Datenpunkt schreibt

        K 1 Reply Last reply Reply Quote 0
        • K
          Kredar @draexler last edited by

          @draexler

          Ich habe die Tasmota Geräte alle im Sonoff Adapter liegen. Da Tasmota ja ein integriertes MQTT mitliefert und das im Sonoff Adapter gelesen wird habe ich bisher kein MQTT Adapter installiert gehabt. Nun schon. Für mich komisch war halt nur dass der Sonoff Adapter automatisch Datenpunkte anlegt von den Tasmota Geraten und der MQTT Adapter nicht.

          Und ein Script schreiben, hmm. Soviel Ahnung habe ich das leider nicht das Mal eben zu schreiben.

          Und ja, ich will nur Tasmota Daten auf dem Display anzeigen, plus Uhrzeit und Datum. Uhrzeit und Datum steht schon drauf, das klappt schon.

          mfg

          draexler 1 Reply Last reply Reply Quote 0
          • draexler
            draexler @Kredar last edited by

            @kredar script schreiben ist nicht schwer. Stichwort: Blockly

            K 1 Reply Last reply Reply Quote 0
            • K
              Kredar @draexler last edited by

              @draexler

              Hab bisher nur NodeRed drauf. Mal sehen wie ich es mache. Erstmal ohne Script, erstmal Daten auf das Display bekommen. Ein Script brauche ich damit es aktualisiert wird oder wofür? Also iobroker zu lernen war leichter als das hier 😉

              mfg

              draexler 1 Reply Last reply Reply Quote 0
              • draexler
                draexler @Kredar last edited by draexler

                @kredar Ich mache es über ein Script. Irgendwie muss ich ja Werte in die Datenpunkte im MQTT bekommen 😉
                Wenn du zum Test nur mal irgendwelche Werte haben willst, kannst du ja manuell in den MQTT Datenpunkten Werte eintragen.

                1 Reply Last reply Reply Quote 0
                • Feuersturm
                  Feuersturm @draexler last edited by

                  @draexler Danke fürs teilen deiner yaml Datei 🙂
                  Mein epaper Display ist bestellt (4,2") und ich konnte gestern Abend erfolgreich Daten zwischen iobroker und dem esp austauschen.

                  draexler 1 Reply Last reply Reply Quote 0
                  • draexler
                    draexler @Feuersturm last edited by

                    @feuersturm Gerne 🙂 Musst halt einiges anpassen ,-)
                    Aber kleiner Tipp. Baue es dir zuerst in der VIS. Macht es viel einfacher mit den X Y Koordinaten in der YAML, da du die nur aus der VIS übernehmen brauchst.
                    Das Ergebnis siehst du ja immer erst nach dem Flashen/Updaten.

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

                      Ich habe mal die Temperatur-Innenwerte in ESPHome eingetragen:

                          text_sensor:
                          #MQTT SENSOR TEMPERATUR INNEN
                        - platform: mqtt_subscribe
                          name: "Temp-Innen"
                          id: TemperaturInnen
                          topic: Temperatur/Innen
                          
                        # Display Print
                          lambda: |-
                            int x, y;
                            ESP_LOGI("display", "Updating..");
                      
                          it.print(26, 49, id(Arial), "Temperatur");
                          it.printf(374, 38, id(Arial), TextAlign::TOP_RIGHT, "%s", id(TemperaturInnen).state.c_str());
                      

                      Nun kann ich es speichern aber nicht Installieren. Mir fehlt irgendwie irgendwas damit ESPHome das checkt.

                      Fehler1.jpg

                      Was für einen Adapter muss ich denn installieren, einen Blocky-Adapter gibt es im ioBroker nicht oder er heißt anders wenn man ihn für das ganze benötigt.

                      Ich habe ja im MQTT-Adapter schon einen Wert drinnen stehen, den kann ich auslesen. Der MQTT-Adapter ist auf "Client/subscriber" eingestellt.

                      Adpater.jpg

                      Das ist mein go-e der ist per MQTT automatisch eingetragen worden also ich den MQTT-Adapter eingetragen habe am go-e. Das kann man mal als "Muster" nehmen denke ich zum testen damit überhaupt mal was funktioniert.

                      Wie bekomme ich den Wert nun auf den ESP32? Mir fehlt irgendwas, ich kann sobald ich eine "text_sensor" Zeile eintrage nichts mehr Installieren im ESPHome und es erscheinen Fehler im ESPHome.

                      Egal was ich mache, es geht nichts. Und woher weiß der MQTT welchen Sensor er nehmen soll wenn ich im MQTT einen Wert schreiben lasse? In deinem Beispiel ist z.b. TemperaturInnen, wo steht der Adapter wo der Wert abgelesen wird? Man muss doch die Quelle irgendwie angeben?

                      Wenn ich deine Konfig übernehmen würde, bekäme ich diese niemals mit "Install" zum laufen, da es 10000 Fehlermeldungen gibt. Ein Anhaltspunkt okay, mehr leider nicht da einiges im ioBroker bei mir wohl fehlt damit es ansatzweise läuft.

                      Also ich check das "ganze" noch gar nicht. Leider. Komme nicht weiter, sobald es um einen Adapter geht, geht nichts mehr.

                      mfg

                      Feuersturm 1 Reply Last reply Reply Quote 0
                      • Feuersturm
                        Feuersturm @Kredar last edited by Feuersturm

                        @kredar Hi, in deinem Beitrag stecken gerade verschiedene Fragestellungen. Hier einmal mein Stand von gestern abend. Ich fange gerade auch erst mit dem Thema an, so dass einige Sachen vielleicht noch nicht ganz optimal sind.

                        a) Fehlermeldung beim programmieren des ESP
                        Deine yaml Datei ist vermutlich umfangreicher, als was du in den Codetags gezeigt hast. Poste doch mal dein vollständige yaml Datei.

                        b) Blockly / Javascript
                        Wenn du Skripte mit Blockly oder Javascript erstellen möchtest, musst du den Adapter "Scriptausführung" installieren
                        bf8c5f54-cd01-474d-b570-13bc0bcba826-grafik.png

                        Das in den Beiträgen oben genannte Skript brauchst du, damit du im mqtt.0.* Pfad deine Datenpunkte anlegen / aktualisieren kannst die irgenwo anders unter den Objekten liegt

                        Ablauf wäre dann:

                        • Temperatur aktualisiert sich im Datenpunkt hm-rpc.0.000E58A9A97423.1.ACTUAL_TEMPERATURE_STATUS auf 40
                        • Skript erkennt diese Aktualsieriung und holt sich von hm-rpc.0.000E58A9A97423.1.ACTUAL_TEMPERATURE_STATUS den Wert und schreibt diesen Wert in den Datenpunkt mqtt.0.iobprovides.TempAussen
                          Auf diese Weise kannst du von deinen Unterschiedlichen Adaptern / Datenpunkte Daten bereitstellen, welche dann per MQTT weiter übertragen werden können

                        c) Datenübertragung per MQTT von ioBroker zum ESP
                        Mein mqtt Adapter ist wie folgt konfiguriert:
                        99ccce6a-198e-45be-9beb-e359fe116f35-grafik.png

                        Bei den Objekten vom mqtt hab ich mir Testweise einfach einen Datenpunkt angelegt
                        9f323910-20c2-4e5f-9554-f8d090d58a1d-grafik.png

                        In meiner yaml Datei steht für mqtt folgendes

                        # Example configuration entry
                        web_server:
                          port: 80
                          auth:
                            username: admin
                            password: admin
                        
                        mqtt:
                          broker: 192.168.178.54
                          #username: MQTT
                          #password: DeinPasswort
                        
                        
                        text_sensor:
                          - platform: mqtt_subscribe
                            name: "Temperatur aussen"
                            id: TempAussen
                            topic: iobprovides/TempAussen
                        

                        Über den topic Pfad sagst du dem ESP, welchen Werte er von mqtt einlesen soll.

                        Ich hab mir den web_server mit dazu geladen, so dass ich eine einfache Möglichkeit habe um zu sehen, welche Werte auf dem ESP ankommen. Hierzu einfach die IP des ESP im Browser eingeben.
                        56908c13-a19d-4bc6-a196-66b6dbb60736-grafik.png

                        Mein aktuelles yaml file sieht so aus

                        <<: !include secrets.yaml
                        
                        esphome:
                          name: esp8266-epaper
                          platform: ESP8266
                          board: d1_mini_pro
                        
                        
                        captive_portal:
                        
                        # Enable logging
                        logger:
                          level: DEBUG
                        
                        # Example configuration entry
                        web_server:
                          port: 80
                          auth:
                            username: admin
                            password: admin
                        
                        mqtt:
                          broker: 192.168.178.54
                          #username: MQTT
                          #password: DeinPasswort
                        
                        
                        text_sensor:
                          - platform: mqtt_subscribe
                            name: "Temperatur aussen"
                            id: TempAussen
                            topic: iobprovides/TempAussen
                        
                        
                        # Example configuration entry
                        sensor:
                          - platform: wifi_signal
                            name: "WiFi Signal Sensor"
                            update_interval: 60s
                        

                        K 1 Reply Last reply Reply Quote 1
                        • K
                          Kredar @Feuersturm last edited by Kredar

                          @feuersturm

                          Vielen Dank für die Hilfe.

                          So den MQTT habe ich wieder umgestellt auf Server/Broker.

                          Den Javascript-Adapter habe ich Installiert (neues Menü "Scripte") ist nun da links am Rand.

                          Meine YAML zur Zeit:

                            # ESP32 Configuration
                          esphome:
                            name: wohnzimmer
                            platform: ESP32
                            board: esp32dev
                          
                            # Enable logging
                          logger:
                            level: DEBUG
                          
                            # Enable Home Assistant API
                          api:
                          
                          ota:
                            password: "******"
                          
                            # Wifi Configuration
                          wifi:
                            ssid: "******"
                            password: "*******"
                          
                            # MQTT Configuration
                          mqtt:
                            broker: 192.168.x.x
                            username: "*******"
                            password: "********"
                              
                            # Fonts need to exist in /opt/iobroker/iobroker-data/esphome.0/
                          font:
                            - file: "arial.ttf"
                              id: arial
                              size: 60
                              
                            #Font Color  
                          color:
                            - id: text_red
                              red: 100%
                              
                            - id: text_white
                              white: 50%
                              
                            # Timeserver Configuration
                          time:
                           - platform: sntp
                             id: current_time
                             timezone: Europe/Berlin
                             servers : ptbtime1.ptb.de
                              
                            # Configuration IOs
                          spi:
                            clk_pin: 13
                            mosi_pin: 14
                          
                          display:
                            - platform: waveshare_epaper
                              cs_pin: 15
                              dc_pin: 27
                              busy_pin: 25
                              reset_pin: 26
                              model: 7.50inV2
                              update_interval: 120s
                              
                          text_sensor:
                            - platform: mqtt_subscribe
                              name: "Temperaturaussen"
                              id: Temperaturaussen
                              topic: Temperaturen/TemperaturAussen/Aussen
                          
                            # Display Print
                              lambda: |-
                                int x, y;
                                ESP_LOGI("display", "Updating..");
                          
                              it.print(26, 49, id(Arial), "TemperaturAussen");
                              it.printf(374, 38, id(Arial), TextAlign::TOP_RIGHT, "%s", id(Temperaturaussen).state.c_str());
                          

                          Dazu im MQTT:

                          MQTT.jpg

                          Es kommt im ESPHome Adapter im ioBroker immer noch der Fehler den ich schon oben per Bild eingefügt habe (Invalid YAML Syntax) bei den Zeilen mit dem "if.print" damit es am Display angezeigt werden kann. Die Zeilen 63 bis 67 sind wohl okay, da bekomme ich keine Fehlermeldung.

                          mfg

                          Feuersturm draexler 2 Replies Last reply Reply Quote 0
                          • Feuersturm
                            Feuersturm @Kredar last edited by

                            @kredar Ich habe noch kein Display im Einsatz, daher kann ich gerade nur Vermutungen anstellen.

                            Ändere doch mal in deinem yaml die Reihenfolge wie folgt ab.
                            Laut der Doku https://esphome.io/components/display/index.html gehört das lambda zum Bereich Display:. Ich weiß noch nicht wie diese Abschnitte / Sektionen bei esphome richtig heißen.
                            Ich vermute er stört sich daran, dass du in deiner aktuellen Struktur das text_sensor: vor das lambda geschoben hast.

                            text_sensor:
                              - platform: mqtt_subscribe
                                name: "Temperaturaussen"
                                id: Temperaturaussen
                                topic: Temperaturen/TemperaturAussen/Aussen
                            
                            display:
                              - platform: waveshare_epaper
                                cs_pin: 15
                                dc_pin: 27
                                busy_pin: 25
                                reset_pin: 26
                                model: 7.50inV2
                                update_interval: 120s
                            
                                 # Display Print
                            
                                lambda: |-
                                  int x, y;
                                  ESP_LOGI("display", "Updating..");
                            
                                it.print(26, 49, id(Arial), "TemperaturAussen");
                                it.printf(374, 38, id(Arial), TextAlign::TOP_RIGHT, "%s", id(Temperaturaussen).state.c_str());
                            
                            1 Reply Last reply Reply Quote 0
                            • K
                              Kredar last edited by

                              Ändert leider nichts. Check ich nicht, habe deine Konfig oben kopiert und eingefügt. Ohne Besserung. Selbe Fehlermeldung.

                              mfg

                              Feuersturm 1 Reply Last reply Reply Quote 0
                              • Feuersturm
                                Feuersturm @Kredar last edited by Feuersturm

                                @kredar Hast du mal versucht aus der Doku https://esphome.io/components/display/index.html
                                das Beispiel umzusetzen, um zu schauen ob das funktioniert? Den Bereich mit den Punkten musst du entsprechend mit deinen Displayparametern ersetzen.

                                display:
                                  - platform: ...
                                    # ...
                                    lambda: |-
                                      // Write your display rendering code here
                                
                                      // For example, draw a line from [x=0,y=0] to [x=50,y=50]
                                      it.line(0, 0, 50, 50);
                                
                                K 1 Reply Last reply Reply Quote 0
                                • draexler
                                  draexler @Kredar last edited by

                                  @kredar lass mal den „ESP_LOGI“ Teil weg (finde jetzt auch keine Info dazu was das bewirkt)

                                  Und wenn du Fontfarben verwendest, kann es sein das du dad bei „print“ auch mitangeben musst.

                                  1 Reply Last reply Reply Quote 0
                                  • K
                                    Kredar @Feuersturm last edited by Kredar

                                    @feuersturm sagte in [Gelöst] Wetter Display:

                                    @kredar Hast du mal versucht aus der Doku https://esphome.io/components/display/index.html
                                    das Beispiel umzusetzen, um zu schauen ob das funktioniert? Den Bereich mit den Punkten musst du entsprechend mit deinen Displayparametern ersetzen.

                                    display:
                                      - platform: ...
                                        # ...
                                        lambda: |-
                                          // Write your display rendering code here
                                    
                                          // For example, draw a line from [x=0,y=0] to [x=50,y=50]
                                          it.line(0, 0, 50, 50);
                                    

                                    Der Code geht einwandfrei. Sobald ein Adapter im Lambda ist kommt die Fehlermeldung.

                                    Auch wenn ich das "ESP_LOGI" weglasse bleibt der Fehler bestehen.

                                    EDIT: Jetzt geht es nur kommt nicht der Wert von 40 sondern "TemperaturAussen" auf dem Display :). Hmm.

                                    text_sensor:
                                      - platform: mqtt_subscribe
                                        name: "Temperaturaussen"
                                        id: Temperaturaussen
                                        topic: Temperaturen/TemperaturAussen/Aussen 
                                    
                                        # Display Print
                                    
                                        lambda: |-
                                    
                                          it.print(16, 49, id(arial), "TemperaturAussen");
                                          it.printf(20, 38, id(arial), "%s", id(Temperaturaussen).state.c_str());
                                    

                                    Klappt, aber ohne den Wert....

                                    mfg

                                    Feuersturm 1 Reply Last reply Reply Quote 0
                                    • Feuersturm
                                      Feuersturm @Kredar last edited by

                                      @kredar Du kannst ja mal den Webserver aktivieren und dann die IP vom ESP im Browser eingeben. Dort siehst du dann ja, welchen Wert Temperaturaussen hat. Es klingt ja danach, dass dort nichts empfangen wurde bisher.

                                      K 1 Reply Last reply Reply Quote 0
                                      • K
                                        Kredar @Feuersturm last edited by

                                        @feuersturm

                                        Was mich irritiert in den Logs:

                                        [23:23:09][I][mqtt:172]: Connecting to MQTT...
                                        [23:23:09][W][mqtt:257]: MQTT Disconnected: TCP disconnected.
                                        [23:23:14][I][mqtt:172]: Connecting to MQTT...
                                        [23:23:14][W][mqtt:257]: MQTT Disconnected: TCP disconnected.
                                        [23:23:19][I][mqtt:172]: Connecting to MQTT...
                                        [23:23:19][W][mqtt:257]: MQTT Disconnected: TCP disconnected.
                                        [23:23:24][I][mqtt:172]: Connecting to MQTT...
                                        [23:23:24][W][mqtt:257]: MQTT Disconnected: TCP disconnected.
                                        [23:23:29][I][mqtt:172]: Connecting to MQTT...
                                        [23:23:29][W][mqtt:257]: MQTT Disconnected: TCP disconnected.
                                        [23:23:34][I][mqtt:172]: Connecting to MQTT...
                                        [23:23:34][W][mqtt:257]: MQTT Disconnected: TCP disconnected.
                                        [23:23:39][I][mqtt:172]: Connecting to MQTT...
                                        [23:23:39][W][mqtt:257]: MQTT Disconnected: TCP disconnected.
                                        [23:23:44][I][mqtt:172]: Connecting to MQTT...
                                        [23:23:44][W][mqtt:257]: MQTT Disconnected: TCP disconnected.
                                        [23:23:49][I][mqtt:172]: Connecting to MQTT...
                                        [23:23:49][W][mqtt:257]: MQTT Disconnected: TCP disconnected.
                                        [23:23:54][I][mqtt:172]: Connecting to MQTT...
                                        [23:23:54][W][mqtt:257]: MQTT Disconnected: TCP disconnected.

                                        Komisch habe aber alles korrekt angegeben. Finde irgendwie keinen Fehler in der YAML. MQTT ist auch alles "grün" im Adapter.

                                        mfg

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

                                          @kredar Ich glaube ich hatte gestern einmal diese Checkbox aktiviert als ich den Wert geändert habe
                                          d271fc3d-dd46-49f4-801b-dc1cbf79a60b-grafik.png
                                          Bei allen weiteren Änderungen hab ich die Checkbox nicht aktiv und ich sehe bei mir sofort die Änderung auch auf der Webseite vom ESP.

                                          K 1 Reply Last reply Reply Quote 0
                                          • K
                                            Kredar @Feuersturm last edited by Kredar

                                            @feuersturm

                                            Ne da kommt kein Wert vom ioBroker auf das Display. Bestätigt habe ich den Wert nun.

                                            [23:23:34][I][mqtt:172]: Connecting to MQTT...
                                            [23:23:34][W][mqtt:257]: MQTT Disconnected: TCP disconnected.
                                            [23:23:39][I][mqtt:172]: Connecting to MQTT...
                                            [23:23:39][W][mqtt:257]: MQTT Disconnected: TCP disconnected.
                                            [23:23:44][I][mqtt:172]: Connecting to MQTT...
                                            [23:23:44][W][mqtt:257]: MQTT Disconnected: TCP disconnected.
                                            [23:23:49][I][mqtt:172]: Connecting to MQTT...
                                            [23:23:49][W][mqtt:257]: MQTT Disconnected: TCP disconnected.
                                            [23:23:54][I][mqtt:172]: Connecting to MQTT...
                                            [23:23:54][W][mqtt:257]: MQTT Disconnected: TCP disconnected.

                                            Das irritiert mich leicht. Müsste das nicht nur 1x kommen und ohne disconnected? Ich mein der ESP32 ist zwar im WLan aber kann sich mit dem MQTT nicht verbinden. Finde nur den Fehler noch nicht.....

                                            mfg

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            897
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            15
                                            116
                                            19134
                                            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