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

                          751
                          Online

                          31.7k
                          Users

                          79.8k
                          Topics

                          1.3m
                          Posts

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