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.
    • Feuersturm
      Feuersturm @draexler last edited by

      @draexler Ich hab das 4.2 Zoll epaper Display von waveshare.
      Hattest du bei dir auch das Problem, dass noch einigen Aktualisierungen die Schrift / Grafiken immer weiter verblassen?

      Ich muss das Display / ESP32 Controller etwas länger (ich weiß noch nicht genau wie lange) stromlos liegen lassen. Beim nächsten Start habe ich dann wieder ein "kräftiges" Bild, welches dann aber wieder nach einiger Zeit verblasst..

      e1c58c2d-1ec6-4ae4-a473-eaa03aba64c8-image.png

      und nach einigen Aktualisieurngen sieht man schon, dass der Text nicht mehr kräftig schwarz ist:
      f08dc32f-2962-4a7a-80f0-5881fbe58f17-image.png

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

        @feuersturm: Hi, nein das Problem kenne ich nicht. Welchen ESP nutzt du? Kontakte sind vermutlich schon kontrolliert worden?
        Poste mal deine YAML.
        Nutzt du irgendwas mit DeepSleep?

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

          @draexler
          Das ist meine Hardware:
          ESP32: https://www.waveshare.com/e-paper-esp32-driver-board.htm
          Display: https://www.waveshare.com/4.2inch-e-paper.htm

          Verdrahtung ESP zum Display:
          6c73226c-503a-479e-9b4c-df41c909b33f-grafik.png

          Ich habe gerade auch einma das Display direkt am ESP angeschlossen, um ein Hardwareproblem in der Verlängerung auszuschließen. Hat leider auch nicht geholfen.

          Meine yaml Datei. Deep Sleep nutze ich nicht. Hatte es mal kurzzeitig gestern aus deinem Code bei mir eingebaut, aber damit gab es keine Veränderung / Verbesserung.

          esphome:
            name: epaperdisplay
            platform: ESP32
            board: esp32dev
          
          
          wifi:
              ssid: !secret wifi_ssid
              password: !secret wifi_password
          
              # Optional manual IP
              manual_ip:
                static_ip: 192.168.178.91
                gateway: 192.168.178.1
                dns1: 192.168.178.1
                subnet: 255.255.255.0
            
              # Enable fallback hotspot (captive portal) in case wifi connection fails
              ap:
                ssid: !secret wifi_ap_ssid
                password: !secret wifi_ap_password
          
          
          captive_portal:
          
          
          # Enable logging
          logger:
            level: DEBUG
          
          # Enable Home Assistant API
          api:
            password: !secret api_password
          
          ota:
            password: !secret ota_password
          
          # Example configuration entry
          web_server:
            port: !secret webserver_port
            auth:
              username: !secret webserver_username
              password: !secret webserver_password
          
          
          mqtt:
            broker: 192.168.178.54
            #username: !secret mqtt_username
            #password: !secret mqtt_password
          
          #time:
          #  - platform: homeassistant
          #    id: hass_time 
          
          time:
            - platform: sntp
              id: sntp_time
              timezone: Europe/Berlin
              servers : 0.pool.ntp.org
              # Every 5 minutes
              on_time:
                - seconds: 0
                  minutes: /1
                  then:
                    - logger.log: "On_time sntp clock schedule"
              on_time_sync:
                then:
                  - logger.log: "Synchronized sntp clock"
          
          text_sensor:
            #TemperaturLueftungAussen
            - platform: mqtt_subscribe
              name: "Temperatur aussen"
              id: TemperaturLueftungAussen
              topic: iobprovides/TemperaturLueftungAussen
            #LuftfeuchtigkeitLueftungInnen
            - platform: mqtt_subscribe
              name: "Luftfeuchtigkeit Innen Lüftung"
              id: LuftfeuchtigkeitLueftungInnen
              topic: iobprovides/LuftfeuchtigkeitLueftungInnen
            #TemperaturWetterdienstMin
            - platform: mqtt_subscribe
              name: "Temperatur Min Wetterdienst"
              id: TemperaturWetterdienstMin
              topic: iobprovides/TemperaturWetterdienstMin
            #TemperaturWetterdienstMax
            - platform: mqtt_subscribe
              name: "Temperatur Max Wetterdienst"
              id: TemperaturWetterdienstMax
              topic: iobprovides/TemperaturWetterdienstMax
            #Wettersymbol_WetterAktuell
            - platform: mqtt_subscribe
              name: "Wettersymbol Wetter Aktuell"
              id: WettersymbolAktuell
              topic: iobprovides/WettersymbolAktuell
            - platform: mqtt_subscribe
              name: "Wettertext Wetter Aktuell"
              id: WettertextAktuell
              topic: iobprovides/WettertextAktuell
              #Wettersymbol_WetterHeute
            - platform: mqtt_subscribe
              name: "Wettersymbol Wetter Heute"
              id: WettersymbolHeute
              topic: iobprovides/WettersymbolHeute  
            - platform: mqtt_subscribe
              name: "Wettertext Wetter Heute"
              id: WettertextHeute
              topic: iobprovides/WettertextHeute 
          
              
          
          # Example configuration entry
          sensor:
            - platform: wifi_signal
              name: "WiFi Signal Sensor"
              update_interval: 60s
          
          
          font:
            - file: "fonts/VerdanaBold.ttf"
              id: VerandanaBold20
              #glyphs ist notwendig um Sonderzeichen und Umlaute darzustellen
              glyphs:
                ['&', '@', '!', ',', '.', '?', '"', '%', '(', ')', '+', '-', '_', ':', '°', '0',
                 '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E',
                 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S',
                 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', ' ', 'a', 'b', 'c', 'd', 'e', 'f',
                 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
                 'u', 'v', 'w', 'x', 'y', 'z','å', 'Ä', 'ä', 'Ö', 'ö', 'Ü', 'ü', '/']  
              size: 20
            - file: "fonts/materialdesignicons-webfont.ttf"
              id: Icons120
              size: 120
              glyphs:
              #Codes für Icons https://pictogrammers.github.io/@mdi/font/5.3.45/
              - "\U000F0599" # Sonne,
              - "\U000F0595" # Sonne bewölkt, Sonne stark bewölkt
              - "\U000F0590" # bewölkt		
              - "\U000F0597" # Sonne bewölkt leichter Regen, Sonne stark bewölkt leichter Regen, bewölkt leichter Regen
              - "\U000F0596" # Sonne bewölkt starker Regen, Sonne stark bewölkt starker Regen, stark bewölkt starker Regen
              - "\U000F0593" # Sonne bewölkt Unwetter, Sonne stark bewölkt Unwetter, stark bewölkt Unwetter
              - "\U000F0592" # Sonne bewölkt Eisregen, Sonne stark bewölkt Eisregen, stark bewölkt Eisregen, Sonne bewölkt Schneeregen, Sonne stark bewölkt Schneeregen, stark bewölkt Schneeregen
              - "\U000F0598" # Sonne bewölkt Schnee, Sonne stark bewölkt Schnee, stark bewölkt Schnee
            - file: "fonts/materialdesignicons-webfont.ttf"
              id: Icons90
              size: 90
              glyphs:
              #Codes für Icons https://pictogrammers.github.io/@mdi/font/5.3.45/
              - "\U000F0599" # Sonne,
              - "\U000F0595" # Sonne bewölkt, Sonne stark bewölkt
              - "\U000F0590" # bewölkt		
              - "\U000F0597" # Sonne bewölkt leichter Regen, Sonne stark bewölkt leichter Regen, bewölkt leichter Regen
              - "\U000F0596" # Sonne bewölkt starker Regen, Sonne stark bewölkt starker Regen, stark bewölkt starker Regen
              - "\U000F0593" # Sonne bewölkt Unwetter, Sonne stark bewölkt Unwetter, stark bewölkt Unwetter
              - "\U000F0592" # Sonne bewölkt Eisregen, Sonne stark bewölkt Eisregen, stark bewölkt Eisregen, Sonne bewölkt Schneeregen, Sonne stark bewölkt Schneeregen, stark bewölkt Schneeregen
              - "\U000F0598" # Sonne bewölkt Schnee, Sonne stark bewölkt Schnee, stark bewölkt Schnee
          
          
          
          image:
            - file: "images/visweather.png"
              id: visweather
              #resize: 400x300
            - file: "images/nadel.png"
              id: nadel
              resize: 95x95    
          
          
          #deep_sleep:
          #  id: deep_sleep_1
          #  run_duration: 22s
          #  sleep_duration: 2min 
              
          
          spi:
            clk_pin: 13
            mosi_pin: 14
               
          display:
            - platform: waveshare_epaper
              id: epaper
              cs_pin: 15
              busy_pin: 25
              reset_pin: 26
              dc_pin: 27
              model: 4.20in
              #rotation: 180°
              update_interval: 30s
              lambda: |-
                // HINTERGRUNDBILD
                it.image(0, 0, id(visweather));
                
          
                
                
                // Print the string "Temperatur!" at [0,10]
                it.print(0, 10, id(VerandanaBold20), "Temperatur!");
          
          
                
                it.printf(40, 80, id(VerandanaBold20), TextAlign::BOTTOM_LEFT, "%s", id(TemperaturLueftungAussen).state.c_str());
          
                it.printf(40, 100, id(VerandanaBold20), TextAlign::BOTTOM_LEFT, "%s", id(LuftfeuchtigkeitLueftungInnen).state.c_str());
          
                it.printf(40, 120, id(VerandanaBold20), TextAlign::BOTTOM_LEFT, "%s", id(TemperaturWetterdienstMin).state.c_str());
          
                it.printf(40, 140, id(VerandanaBold20), TextAlign::BOTTOM_LEFT, "%s", id(TemperaturWetterdienstMax).state.c_str());
          
          
                //Time
                it.strftime(200, 28, id(VerandanaBold20),TextAlign::BOTTOM_LEFT, "%H:%M", id(sntp_time).now());
                it.strftime(150, 68, id(VerandanaBold20),TextAlign::BOTTOM_LEFT, "%A, %d.%m.%y, KW %W", id(sntp_time).now());
          
          
          
                //Wetter Aktuell SYMBOL WERTE
                //SYMBOL Aktuell STATE 1
                if (id(WettersymbolAktuell).state == "1") {
                it.print(200, 120, id(Icons120), "\U000F0599");}
          
                //SYMBOL Aktuell STATE 2
                if (id(WettersymbolAktuell).state == "2") {
                it.print(200, 120, id(Icons120), "\U000F0595");}
                //SYMBOL Aktuell STATE 3
                if (id(WettersymbolAktuell).state == "3") {
                it.print(200, 120, id(Icons120), "\U000F0590");}
                //SYMBOL Aktuell STATE 4
                if (id(WettersymbolAktuell).state == "4") {
                it.print(200, 120, id(Icons120), "\U000F0597");}
                //SYMBOL Aktuell STATE 5
                if (id(WettersymbolAktuell).state == "5") {
                it.print(200, 120, id(Icons120), "\U000F0596");}
                //SYMBOL Aktuell STATE 6
                if (id(WettersymbolAktuell).state == "6") {
                it.print(200, 120, id(Icons120), "\U000F0593");}
                //SYMBOL Aktuell STATE 7
                if (id(WettersymbolAktuell).state == "7") {
                it.print(200, 120, id(Icons120), "\U000F0592");}
                //SYMBOL Aktuell STATE 8
                if (id(WettersymbolAktuell).state == "8") {
                it.print(200, 120, id(Icons120), "\U000F0598");}
          
                it.printf(60, 120, id(VerandanaBold20), TextAlign::BOTTOM_LEFT, "%s", id(WettertextAktuell).state.c_str());
              
          
          
                //it.print(60, 180, id(Icons90), "\U000F0599");
          
                //it.printf(60, 160, id(VerandanaBold20), TextAlign::BOTTOM_LEFT, "%s", id(WettertextHeute).state.c_str());
          
          
          

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

            @draexler Ich kann das Problem etwas weiter eingrenzen. Es ist wohl kein Problem mit der Hardware (freu).
            Ich habe gerade einmal meine alte yaml Datei geflasht, in welcher nur ein Text und zwei Linien gemalt werden. Dort tritt das Problem nicht auf. Ich werde jetzt mein aktuelle yaml Datei mal Stück für Stück zurück bauen und schauen wo die Ursache liegt.

            SBorg draexler 2 Replies Last reply Reply Quote 0
            • SBorg
              SBorg Forum Testing Most Active @Feuersturm last edited by

              @feuersturm Ich fische "etwas" im trüben da ich noch nie ein ePaper benutzt habe.
              Aber mich macht "stromlos" bei dir und "Deep Sleep" bei @draexler

              deep_sleep:
                id: deep_sleep_1
                run_duration: 22s
                sleep_duration: 10min
              

              doch etwas stutzig, was ja quasi "stromlos" für 10 Minuten ist.
              Kann es sein, dass es durch immer währendes neu beschreiben verblasst? Fehlt ev. ein "clear" um es zu löschen?
              Hau doch mal spaßeshalber den Deep Sleep mit rein.

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

                @feuersturm: ich würde testweise mal das Bild (id:(VisWeather)) auskommentieren.
                Hab in einen anderen Forum gelesen das die Bildgröße ein Problem darstellt. Es muss Pixelgenau passen und es sollte sich im kilobyte Bereich befinden.

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

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

                  @feuersturm Ich fische "etwas" im trüben da ich noch nie ein ePaper benutzt habe.
                  Aber mich macht "stromlos" bei dir und "Deep Sleep" bei @draexler

                  deep_sleep:
                    id: deep_sleep_1
                    run_duration: 22s
                    sleep_duration: 10min
                  

                  doch etwas stutzig, was ja quasi "stromlos" für 10 Minuten ist.
                  Kann es sein, dass es durch immer währendes neu beschreiben verblasst? Fehlt ev. ein "clear" um es zu löschen?
                  Hau doch mal spaßeshalber den Deep Sleep mit rein.

                  Die Idee hatte ich auch, dass es nach dem aufwachen auf dem Deepsleep wieder frisch ist. Daran liegt es aber nicht. Hatte den Deepsleep testweise drin. Es hat aber keine Verbesserung gebracht. Das verblassen beginnt im aktiven Betrieb gleich beim zweiten refresh. Es ist somit kein Verblassen im stromlosen Betrieb.

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

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

                    @feuersturm: ich würde testweise mal das Bild (id:(VisWeather)) auskommentieren.
                    Hab in einen anderen Forum gelesen das die Bildgröße ein Problem darstellt. Es muss Pixelgenau passen und es sollte sich im kilobyte Bereich befinden.

                    Das Bild ist eine Ursache dafür, dass es zum verblassen kommt. Die Zeile hab ich gestern schon auskommentiert.

                    Müssen Texte und Symbole (Wettersymbole) so aufeinander abgestimmt sein, dass sie sich nicht überschneiden? Die Ausgabe vom Wochentag, Datum, KW macht auch irgendwie Probleme. Werde heute abend mal weiter einzelne Zeilen auskommentieren und auf dem Display verschieben.

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

                      @feuersturm: Nö, überschneidungen sind komplett egal, das macht nichts 😊

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

                        Habt ihr das clear des Displays bei jeder Aktualisierung ausschalten können?
                        Ich habe dazu nichts gefunden.
                        Ein bisschen nervig wenn das Display aller 5 Minuten Schwarz und Weiß wird und dann erst die Werte wieder anzeigt

                        auto_clear_enabled: false unter Display war keine Lösung

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

                          @tbsjah: Nein, aber das würde mich auch interessieren wenn jemand eine Lösung hätte. Würde sicher wieder ein, zwei Sekunden für den Deep Sleep bringen.

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

                            @draexler Es scheint so zu sein dass immer ein kompletter Reset notwendig ist - nur für die kleinen Displays kann das partielle durchgeführt werden
                            Schade

                            Frage zur PIN Belegung
                            Ich nutze das Driver Board von Waveshare
                            Woher kommen diese Angaben - laut Waveshare sollten da ganz andere Werte stehen
                            ada68a91-8585-4dd9-8e31-0dc7d8ea3180-image.png

                            Ihr verwendet dass was auch funktionert
                            spi:
                            clk_pin: 13
                            mosi_pin: 14

                            display:

                            • platform: waveshare_epaper
                              cs_pin: 15
                              dc_pin: 27
                              busy_pin: 25
                              reset_pin: 26
                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            774
                            Online

                            31.6k
                            Users

                            79.6k
                            Topics

                            1.3m
                            Posts

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