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

                        576
                        Online

                        31.6k
                        Users

                        79.6k
                        Topics

                        1.3m
                        Posts

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