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. ePaper Statusdisplay Hausflur

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

ePaper Statusdisplay Hausflur

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
62 Beiträge 18 Kommentatoren 18.0k Aufrufe 27 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.
  • D Offline
    D Offline
    DoHo
    schrieb am zuletzt editiert von
    #35

    Hallo @draexler ,

    ich hab die Zeile reset_duration übersehen. Danke für den Hinweis!

    Hier das Ergebnis:
    MicrosoftTeams-image (11).png

    Vielen Dank für die Hilfe!

    draexlerD 1 Antwort Letzte Antwort
    1
    • D DoHo

      Hallo @draexler ,

      ich hab die Zeile reset_duration übersehen. Danke für den Hinweis!

      Hier das Ergebnis:
      MicrosoftTeams-image (11).png

      Vielen Dank für die Hilfe!

      draexlerD Nicht stören
      draexlerD Nicht stören
      draexler
      schrieb am zuletzt editiert von draexler
      #36

      @doho Super, Perfekt :-) Damit ist das schwerste geschafft. Jetzt heißt es das ganz mit Inhalt zu füllen.
      Kleiner TIP. Lege dir eine VIS an mit der Pixelgröße des ePapers. Du kannst dann alles dort einfacher "vormodelieren" und brauchst nur die X/Y Koordinaten übernehmen. Ansonsten flasht du ziemlich oft ;-)

      Achja, du hast oben mal mach einen Tutorial gefragt. Ich habe mit eigentlich nur an die offizielle ESP Home Doku gehalten. Damit fährt man am besten.

      Wenn du sowas ähnliches wie ich machen willst, kannst du ja bereits viele Teile aus meiner YAML nehmen (MQTT Config und Aufbau etc.)

      D S 2 Antworten Letzte Antwort
      0
      • draexlerD draexler

        @doho Super, Perfekt :-) Damit ist das schwerste geschafft. Jetzt heißt es das ganz mit Inhalt zu füllen.
        Kleiner TIP. Lege dir eine VIS an mit der Pixelgröße des ePapers. Du kannst dann alles dort einfacher "vormodelieren" und brauchst nur die X/Y Koordinaten übernehmen. Ansonsten flasht du ziemlich oft ;-)

        Achja, du hast oben mal mach einen Tutorial gefragt. Ich habe mit eigentlich nur an die offizielle ESP Home Doku gehalten. Damit fährt man am besten.

        Wenn du sowas ähnliches wie ich machen willst, kannst du ja bereits viele Teile aus meiner YAML nehmen (MQTT Config und Aufbau etc.)

        D Offline
        D Offline
        DoHo
        schrieb am zuletzt editiert von
        #37

        @draexler
        Danke für den Tipp. Ich werde berichten :blush:

        1 Antwort Letzte Antwort
        0
        • D Offline
          D Offline
          DoHo
          schrieb am zuletzt editiert von
          #38

          So, auch ich bin mit meinem Projekt fertig 😊
          Wie es so ist, hat sich die Aufgabenstellung im Projektverlauf geändert, sodass ich einiges anders gemacht habe als ursprünglich geplant. Andere Daten, anderer Standort, etc..
          Ich aktualisiere das Display alle 15 Minuten und zusätzlich kann man es über einen kleinen Taster oben rechts im Rahmen aktualisieren.
          Auf die Batterie habe ich auch verzichtet, weil am neuen Standort eine Steckdose vorhanden ist.
          Vielleicht für den ein oder anderen noch interessant; Aus Interesse habe ich die Leistungsaufnahme gemessen => im Schnitt 0.8W (über USB Netzteil versorgt).

          Alles in allem ein sehr gelungenes Projekt und eine super Anwendung. Danke nochmal an @draexler , für die Unterstützung!

          IMG_7668.jpeg

          IMG_7669.jpeg

          IMG_7670.jpeg

          draexlerD A 2 Antworten Letzte Antwort
          6
          • D DoHo

            So, auch ich bin mit meinem Projekt fertig 😊
            Wie es so ist, hat sich die Aufgabenstellung im Projektverlauf geändert, sodass ich einiges anders gemacht habe als ursprünglich geplant. Andere Daten, anderer Standort, etc..
            Ich aktualisiere das Display alle 15 Minuten und zusätzlich kann man es über einen kleinen Taster oben rechts im Rahmen aktualisieren.
            Auf die Batterie habe ich auch verzichtet, weil am neuen Standort eine Steckdose vorhanden ist.
            Vielleicht für den ein oder anderen noch interessant; Aus Interesse habe ich die Leistungsaufnahme gemessen => im Schnitt 0.8W (über USB Netzteil versorgt).

            Alles in allem ein sehr gelungenes Projekt und eine super Anwendung. Danke nochmal an @draexler , für die Unterstützung!

            IMG_7668.jpeg

            IMG_7669.jpeg

            IMG_7670.jpeg

            draexlerD Nicht stören
            draexlerD Nicht stören
            draexler
            schrieb am zuletzt editiert von
            #39

            @doho gefällt mir sehr gut 👍 Gute idee mit dem Knopf. Vielleicht setze ich das auch noch um. Muss dann schauen wie ich das mit WakeUp mit Deep Sleep mache.

            1 Antwort Letzte Antwort
            0
            • D DoHo

              So, auch ich bin mit meinem Projekt fertig 😊
              Wie es so ist, hat sich die Aufgabenstellung im Projektverlauf geändert, sodass ich einiges anders gemacht habe als ursprünglich geplant. Andere Daten, anderer Standort, etc..
              Ich aktualisiere das Display alle 15 Minuten und zusätzlich kann man es über einen kleinen Taster oben rechts im Rahmen aktualisieren.
              Auf die Batterie habe ich auch verzichtet, weil am neuen Standort eine Steckdose vorhanden ist.
              Vielleicht für den ein oder anderen noch interessant; Aus Interesse habe ich die Leistungsaufnahme gemessen => im Schnitt 0.8W (über USB Netzteil versorgt).

              Alles in allem ein sehr gelungenes Projekt und eine super Anwendung. Danke nochmal an @draexler , für die Unterstützung!

              IMG_7668.jpeg

              IMG_7669.jpeg

              IMG_7670.jpeg

              A Offline
              A Offline
              appi
              schrieb am zuletzt editiert von
              #40

              @doho super schön realisiert, würdest du allenfass den Code zur Verfügung stellen?
              Besten Dank und Gruss

              D 1 Antwort Letzte Antwort
              0
              • A appi

                @doho super schön realisiert, würdest du allenfass den Code zur Verfügung stellen?
                Besten Dank und Gruss

                D Offline
                D Offline
                DoHo
                schrieb am zuletzt editiert von
                #41

                @appi, klar.

                esphome:
                  name: e-paper
                  friendly_name: E-Paper
                
                esp32:
                  board: esp32dev
                  framework:
                    type: arduino
                
                # Enable logging
                logger:
                  level: INFO
                
                # Enable Home Assistant API
                ota:
                  password: "1097d7787d8aa56c814fc456ac0d4bdf"
                
                # Enable wifi
                wifi:
                  ssid: !secret wifi_ssid
                  password: !secret wifi_password
                
                  # Enable fallback hotspot (captive portal) in case wifi connection fails
                  ap:
                    ssid: "E-Paper Fallback Hotspot"
                    password: "7vHBNRjddp61"
                
                # Enable MQTT 
                mqtt:
                  broker: 192.168.10.40
                  username: ESP
                  password: !secret mqtt
                  client_id: e-paper
                  topic_prefix: esphome/e-paper
                  on_message:
                     - topic: subscribe_text_sensor/E-Paper/Trigger
                       then:
                        - component.update: epaper
                
                # Konfiguration ESP32
                captive_portal:
                spi:
                  clk_pin: 5
                  mosi_pin: 19
                
                binary_sensor:
                  - platform: gpio
                    pin:
                      number: 32
                      mode:
                        input: true
                        pulldown: true
                    name: "Taster"
                    on_press:
                     then:
                     # - component.update: epaper
                
                # Schriftarten
                font:
                  - file: 'fonts/Lato-Regular.ttf'
                    id: font1
                    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: 23
                
                  - file: 'fonts/Lato-Regular.ttf'
                    id: font2
                    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: 40
                
                  - file: 'fonts/Lato-Regular.ttf'
                    id: font3
                    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/Lato-Regular.ttf'
                    id: font4
                    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: 23
                
                # Variablen
                globals:
                  - id: photovoltaik_symbols_x_int
                    type: int
                    restore_value: no
                    initial_value: '0'
                
                  - id: photovoltaik_symbols_y_int
                    type: int
                    restore_value: no
                    initial_value: '0'
                    
                  - id: photovoltaik_data_x_int
                    type: int
                    restore_value: no
                    initial_value: '0'
                
                  - id: photovoltaik_data_y_int
                    type: int
                    restore_value: no
                    initial_value: '0'
                
                  - id: icon_heute_x_int
                    type: int
                    restore_value: no
                    initial_value: '0'
                
                  - id: icon_heute_y_int
                    type: int
                    restore_value: no
                    initial_value: '0'
                
                  - id: icon_morgen_x_int
                    type: int
                    restore_value: no
                    initial_value: '0'
                
                  - id: icon_morgen_y_int
                    type: int
                    restore_value: no
                    initial_value: '0'
                
                  - id: icon_uebermorgen_x_int
                    type: int
                    restore_value: no
                    initial_value: '0'
                
                  - id: icon_uebermorgen_y_int
                    type: int
                    restore_value: no
                    initial_value: '0'
                
                  - id: muell_x_int
                    type: int
                    restore_value: no
                    initial_value: '0'
                
                  - id: muell_y_int
                    type: int
                    restore_value: no
                    initial_value: '0'
                
                  - id: icons_x_int
                    type: int
                    restore_value: no
                    initial_value: '0'
                
                  - id: icons_y_int
                    type: int
                    restore_value: no
                    initial_value: '0'
                
                # MQTT Variablen ioBroker => E-Paper
                text_sensor:
                  # Allgemein
                  - platform: mqtt_subscribe
                    id: Datum
                    topic: subscribe_text_sensor/E-Paper/Allgemein/Datum
                
                  - platform: mqtt_subscribe
                    id: Tag_morgen
                    topic: subscribe_text_sensor/E-Paper/Allgemein/Tag_morgen
                
                  - platform: mqtt_subscribe
                    id: Tag_uebermorgen
                    topic: subscribe_text_sensor/E-Paper/Allgemein/Tag_uebermorgen
                
                  - platform: mqtt_subscribe
                    id: Foto
                    topic: subscribe_text_sensor/E-Paper/Allgemein/Foto
                
                  # Photovoltaik
                  - platform: mqtt_subscribe
                    id: Momentanleistung
                    topic: subscribe_text_sensor/E-Paper/Photovoltaik/Momentanleistung
                
                  - platform: mqtt_subscribe
                    id: Hausverbrauch
                    topic: subscribe_text_sensor/E-Paper/Photovoltaik/Hausverbrauch
                
                  - platform: mqtt_subscribe
                    id: Einspeisung_Bezug
                    topic: subscribe_text_sensor/E-Paper/Photovoltaik/Einspeisung_Bezug
                
                  - platform: mqtt_subscribe
                    id: Einspeisung_Heute
                    topic: subscribe_text_sensor/E-Paper/Photovoltaik/Einspeisung_Heute
                
                  - platform: mqtt_subscribe
                    id: Ertrag_Heute
                    topic: subscribe_text_sensor/E-Paper/Photovoltaik/Ertrag_Heute
                
                  - platform: mqtt_subscribe
                    id: Eigenverbrauch_Heute
                    topic: subscribe_text_sensor/E-Paper/Photovoltaik/Eigenverbrauch_Heute
                
                  - platform: mqtt_subscribe
                    id: Eigenverbrauch_Heute_Prozent
                    topic: subscribe_text_sensor/E-Paper/Photovoltaik/Eigenverbrauch_Heute_Prozent
                
                  - platform: mqtt_subscribe
                    id: Netzbezug_Heute
                    topic: subscribe_text_sensor/E-Paper/Photovoltaik/Netzbezug_Heute
                
                  - platform: mqtt_subscribe
                    id: Deckungsgrad_Heute
                    topic: subscribe_text_sensor/E-Paper/Photovoltaik/Deckungsgrad_Heute
                
                  - platform: mqtt_subscribe
                    id: Pfeil_PV_Netz
                    topic: subscribe_text_sensor/E-Paper/Photovoltaik/Pfeil_PV_Netz
                
                  - platform: mqtt_subscribe
                    id: Pfeil_PV_Haus
                    topic: subscribe_text_sensor/E-Paper/Photovoltaik/Pfeil_PV_Haus
                
                  - platform: mqtt_subscribe
                    id: Pfeil_Netz_Haus
                    topic: subscribe_text_sensor/E-Paper/Photovoltaik/Pfeil_Netz_Haus
                
                  # Wetter heute
                  - platform: mqtt_subscribe
                    id: Wettericon_now
                    topic: subscribe_text_sensor/E-Paper/Wetter/Wettericon_now
                
                  - platform: mqtt_subscribe
                    id: Actual_Temp
                    topic: subscribe_text_sensor/E-Paper/Wetter/Actual_Temp
                
                  - platform: mqtt_subscribe
                    id: MinMax_Temp_Heute
                    topic: subscribe_text_sensor/E-Paper/Wetter/MinMax_Temp_Heute
                
                  - platform: mqtt_subscribe
                    id: Regen_Heute
                    topic: subscribe_text_sensor/E-Paper/Wetter/Regen_Heute
                
                  - platform: mqtt_subscribe
                    id: Unwetter
                    topic: subscribe_text_sensor/E-Paper/Wetter/Unwetter
                
                  # Wetter morgen
                  - platform: mqtt_subscribe
                    id: Wettericon_morgen
                    topic: subscribe_text_sensor/E-Paper/Wetter/Wettericon_morgen
                
                  - platform: mqtt_subscribe
                    id: MinMax_Temp_morgen
                    topic: subscribe_text_sensor/E-Paper/Wetter/MinMax_Temp_morgen
                
                  - platform: mqtt_subscribe
                    id: Regen_morgen
                    topic: subscribe_text_sensor/E-Paper/Wetter/Regen_morgen
                
                  # Wetter uebermorgen
                  - platform: mqtt_subscribe
                    id: Wettericon_uebermorgen
                    topic: subscribe_text_sensor/E-Paper/Wetter/Wettericon_uebermorgen
                
                  - platform: mqtt_subscribe
                    id: MinMax_Temp_uebermorgen
                    topic: subscribe_text_sensor/E-Paper/Wetter/MinMax_Temp_uebermorgen
                
                  - platform: mqtt_subscribe
                    id: Regen_uebermorgen
                    topic: subscribe_text_sensor/E-Paper/Wetter/Regen_uebermorgen
                    
                  # Muell
                  - platform: mqtt_subscribe
                    id: Termin_Restmuell
                    topic: subscribe_text_sensor/E-Paper/Muell/Termin_Restmuell
                
                  - platform: mqtt_subscribe
                    id: Termin_Papier
                    topic: subscribe_text_sensor/E-Paper/Muell/Termin_Papier
                
                  - platform: mqtt_subscribe
                    id: Termin_Gruenabfall
                    topic: subscribe_text_sensor/E-Paper/Muell/Termin_Gruenabfall
                
                  - platform: mqtt_subscribe
                    id: Termin_Sperrmuell
                    topic: subscribe_text_sensor/E-Paper/Muell/Termin_Sperrmuell
                
                  - platform: mqtt_subscribe
                    id: Termin_Gruen_Sperr
                    topic: subscribe_text_sensor/E-Paper/Muell/Termin_Gruen_Sperr
                
                  - platform: mqtt_subscribe
                    id: Tage_bis_Restmuell
                    topic: subscribe_text_sensor/E-Paper/Muell/Tage_bis_Restmuell
                
                  - platform: mqtt_subscribe
                    id: Tage_bis_Papier
                    topic: subscribe_text_sensor/E-Paper/Muell/Tage_bis_Papier
                
                  - platform: mqtt_subscribe
                    id: Tage_bis_Gruenabfall
                    topic: subscribe_text_sensor/E-Paper/Muell/Tage_bis_Gruenabfall
                
                  - platform: mqtt_subscribe
                    id: Tage_bis_Sperrmuell
                    topic: subscribe_text_sensor/E-Paper/Muell/Tage_bis_Sperrmuell
                
                # Bilder
                image:
                  # Foto
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_farbig.jpg"
                    resize: 800x480
                    id: Bild
                
                  # Photovoltaik  
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Photovoltaik.png"
                    resize: 120x73
                    id: Bild_Photovoltaik
                
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Haus.png"
                    resize: 100x98
                    id: Bild_Haus
                
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Strommast.png"
                    resize: 60x96
                    id: Bild_Strommast
                
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Pfeil_rechts.png"
                    resize: 98x30
                    id: Bild_Pfeil_rechts
                
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Pfeil_rechts_unten.png"
                    resize: 70x70
                    id: Bild_Pfeil_rechts_unten
                
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Pfeil_links_unten.png"
                    resize: 70x70
                    id: Bild_Pfeil_links_unten
                    
                  # Wetter 
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Tropfen.png"
                    resize: 18x18
                    id: Bild_Tropfen
                
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Ausrufezeichen.png"
                    resize: 50x50
                    id: Bild_Ausrufezeichen
                
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Sonne.png"
                    resize: 150x150
                    id: Bild_Sonne
                
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Sonne+Gewitter.png"
                    resize: 150x150
                    id: Bild_Sonne_Gewitter
                
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Sonne+Regen.png"
                    resize: 150x150
                    id: Bild_Sonne_Regen
                
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Sonne+Schnee.png"
                    resize: 150x150
                    id: Bild_Sonne_Schnee
                
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Sonne+Wolken.png"
                    resize: 150x150
                    id: Bild_Sonne_Wolken
                
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Mond.png"
                    resize: 110x110
                    id: Bild_Mond
                
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Mond+Gewitter.png"
                    resize: 150x150
                    id: Bild_Mond_Gewitter
                
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Mond+Regen.png"
                    resize: 150x150
                    id: Bild_Mond_Regen
                
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Mond+Schnee.png"
                    resize: 150x150
                    id: Bild_Mond_Schnee
                
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Mond+Wolken.png"
                    resize: 150x150
                    id: Bild_Mond_Wolken
                
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Gewitter.png"
                    resize: 120x120
                    id: Bild_Gewitter
                
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Regen.png"
                    resize: 135x135
                    id: Bild_Regen
                
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Schnee.png"
                    resize: 135x135
                    id: Bild_Schnee
                
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Wolke.png"
                    resize: 150x150
                    id: Bild_Wolke
                
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Wolken.png"
                    resize: 150x150
                    id: Bild_Wolken
                    
                  # Wetter-Vorhersage
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Sonne.png"
                    resize: 55x55
                    id: Bild_Sonne_klein
                
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Sonne+Gewitter.png"
                    resize: 75x75
                    id: Bild_Sonne_Gewitter_klein
                
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Sonne+Regen.png"
                    resize: 65x65
                    id: Bild_Sonne_Regen_klein
                
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Sonne+Schnee.png"
                    resize: 75x75
                    id: Bild_Sonne_Schnee_klein
                
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Sonne+Wolken.png"
                    resize: 75x75
                    id: Bild_Sonne_Wolken_klein
                
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Mond.png"
                    resize: 47x47
                    id: Bild_Mond_klein
                
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Mond+Gewitter.png"
                    resize: 75x75
                    id: Bild_Mond_Gewitter_klein
                
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Mond+Regen.png"
                    resize: 65x65
                    id: Bild_Mond_Regen_klein
                
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Mond+Schnee.png"
                    resize: 75x75
                    id: Bild_Mond_Schnee_klein
                
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Mond+Wolken.png"
                    resize: 60x60
                    id: Bild_Mond_Wolken_klein
                
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Gewitter.png"
                    resize: 55x55
                    id: Bild_Gewitter_klein
                
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Regen.png"
                    resize: 55x55
                    id: Bild_Regen_klein
                
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Schnee.png"
                    resize: 57x57
                    id: Bild_Schnee_klein
                
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Wolke.png"
                    resize: 71x71
                    id: Bild_Wolke_klein
                
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Wolken.png"
                    resize: 75x75
                    id: Bild_Wolken_klein
                    
                  # Muell
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Muelltonne.png"
                    resize: 75x75
                    id: Bild_Muelltonne_gross
                
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Muelltonne.png"
                    resize: 57x57
                    id: Bild_Muelltonne_klein
                
                # Display x-, y-
                display:
                  - platform: waveshare_epaper
                    id: epaper
                    cs_pin: 20
                    busy_pin: 39
                    reset_pin: 14
                    dc_pin: 22
                    model: 7.50inV2
                    update_interval: never
                    reset_duration: 2ms
                    lambda: |-
                      if (id(Foto).state != "1") {
                        //Photovoltaik
                        it.image((id(photovoltaik_symbols_x_int)+400), (id(photovoltaik_symbols_y_int)+85), id(Bild_Photovoltaik));
                        it.printf((id(photovoltaik_symbols_x_int)+455), (id(photovoltaik_symbols_y_int)+45), id(font1),TextAlign::TOP_CENTER,"%s", id(Momentanleistung).state.c_str());
                        it.image((id(photovoltaik_symbols_x_int)+550), (id(photovoltaik_symbols_y_int)+171), id(Bild_Haus));
                        it.printf((id(photovoltaik_symbols_x_int)+601), (id(photovoltaik_symbols_y_int)+263), id(font1),TextAlign::TOP_CENTER,"%s", id(Hausverbrauch).state.c_str());
                        it.image((id(photovoltaik_symbols_x_int)+692), (id(photovoltaik_symbols_y_int)+78), id(Bild_Strommast));
                        it.printf((id(photovoltaik_symbols_x_int)+723), (id(photovoltaik_symbols_y_int)+45), id(font1),TextAlign::TOP_CENTER,"%s", id(Einspeisung_Bezug).state.c_str());
                        if (id(Pfeil_PV_Netz).state == "1") {
                          it.image((id(photovoltaik_symbols_x_int)+554), (id(photovoltaik_symbols_y_int)+115), id(Bild_Pfeil_rechts));}
                        if (id(Pfeil_PV_Haus).state == "1") {
                          it.image((id(photovoltaik_symbols_x_int)+448), (id(photovoltaik_symbols_y_int)+185), id(Bild_Pfeil_rechts_unten));}
                        if (id(Pfeil_Netz_Haus).state == "1") {
                          it.image((id(photovoltaik_symbols_x_int)+680), (id(photovoltaik_symbols_y_int)+185), id(Bild_Pfeil_links_unten));}
                        it.printf((id(photovoltaik_data_x_int)+470), (id(photovoltaik_data_y_int)+320), id(font1),TextAlign::TOP_LEFT, "Tagesertrag: %s", id(Ertrag_Heute).state.c_str());
                        it.printf((id(photovoltaik_data_x_int)+470), (id(photovoltaik_data_y_int)+350), id(font1),TextAlign::TOP_LEFT, "Eigenv.: %s", id(Eigenverbrauch_Heute).state.c_str());
                        it.printf((id(photovoltaik_data_x_int)+470), (id(photovoltaik_data_y_int)+380), id(font1),TextAlign::TOP_LEFT, "Netzbezug: %s", id(Netzbezug_Heute).state.c_str());
                        it.printf((id(photovoltaik_data_x_int)+470), (id(photovoltaik_data_y_int)+410), id(font1),TextAlign::TOP_LEFT, "Deckungsgrad: %s", id(Deckungsgrad_Heute).state.c_str());
                
                        //Unwetter
                        if (id(Unwetter).state != "0") {
                          id(icon_heute_y_int) = 0;
                          id(icon_morgen_y_int) = 60;
                          id(icon_uebermorgen_y_int) = 60;
                          it.printf((id(icon_heute_x_int)+125), (id(icon_heute_y_int)+155), id(font1),TextAlign::TOP_LEFT, "%s", id(Unwetter).state.c_str());
                          it.image((id(icon_heute_x_int)+60), (id(icon_heute_y_int)+148), id(Bild_Ausrufezeichen));}
                        else {
                          id(icon_heute_y_int) = 10;
                          id(icon_morgen_y_int) = 20;
                          id(icon_uebermorgen_y_int) = 20;}
                
                        //Wetter heute
                        if (id(Wettericon_now).state == "01d") {
                          it.image((id(icon_heute_x_int)+40), (id(icon_heute_y_int)+0), id(Bild_Sonne));}
                        if (id(Wettericon_now).state == "01n") {
                          it.image((id(icon_heute_x_int)+60), (id(icon_heute_y_int)+15), id(Bild_Mond));}
                        if (id(Wettericon_now).state == "02d") {
                          it.image((id(icon_heute_x_int)+40), (id(icon_heute_y_int)-25), id(Bild_Sonne_Wolken));}
                        if (id(Wettericon_now).state == "02n") {
                          it.image((id(icon_heute_x_int)+40), (id(icon_heute_y_int)-10), id(Bild_Mond_Wolken));}
                        if (id(Wettericon_now).state == "03dn") {
                          it.image((id(icon_heute_x_int)+43), (id(icon_heute_y_int)-20), id(Bild_Wolke));}
                        if (id(Wettericon_now).state == "04dn") {
                          it.image((id(icon_heute_x_int)+50), (id(icon_heute_y_int)-30), id(Bild_Wolken));}
                        if (id(Wettericon_now).state == "09dn") {
                          it.image((id(icon_heute_x_int)+50), (id(icon_heute_y_int)+10), id(Bild_Regen));}
                        if (id(Wettericon_now).state == "10d") {
                          it.image((id(icon_heute_x_int)+45), (id(icon_heute_y_int)-5), id(Bild_Sonne_Regen));}
                        if (id(Wettericon_now).state == "10n") {
                          it.image((id(icon_heute_x_int)+45), (id(icon_heute_y_int)-5), id(Bild_Mond_Regen));}
                        if (id(Wettericon_now).state == "11dn") {
                          it.image((id(icon_heute_x_int)+65), (id(icon_heute_y_int)+20), id(Bild_Gewitter));}
                        if (id(Wettericon_now).state == "13dn") {
                          it.image((id(icon_heute_x_int)+55), (id(icon_heute_y_int)+10), id(Bild_Schnee));}
                        if (id(Wettericon_now).state == "50dn") {
                          it.image((id(icon_heute_x_int)+45), (id(icon_heute_y_int)-30), id(Bild_Wolken));}
                        it.printf((id(icon_heute_x_int)+210), (id(icon_heute_y_int)+33), id(font2),TextAlign::TOP_LEFT, "%s", id(Actual_Temp).state.c_str());
                        it.printf((id(icon_heute_x_int)+210), (id(icon_heute_y_int)+78), id(font3),TextAlign::TOP_LEFT, "%s", id(MinMax_Temp_Heute).state.c_str());
                        it.printf((id(icon_heute_x_int)+230), (id(icon_heute_y_int)+100), id(font3),TextAlign::TOP_LEFT, "%s", id(Regen_Heute).state.c_str());
                        it.image((id(icon_heute_x_int)+210), (id(icon_heute_y_int)+104), id(Bild_Tropfen));
                
                        //Wetter morgen
                        if (id(Wettericon_morgen).state == "01d") {
                          it.image((id(icon_morgen_x_int)+78), (id(icon_morgen_y_int)+178), id(Bild_Sonne_klein));}
                        if (id(Wettericon_morgen).state == "01n") {
                          it.image((id(icon_morgen_x_int)+6), (id(icon_morgen_y_int)+180), id(Bild_Mond_klein));}
                        if (id(Wettericon_morgen).state == "02d") {
                          it.image((id(icon_morgen_x_int)+68), (id(icon_morgen_y_int)+154), id(Bild_Sonne_Wolken_klein));}
                        if (id(Wettericon_morgen).state == "02n") {
                          it.image((id(icon_morgen_x_int)+73), (id(icon_morgen_y_int)+173), id(Bild_Mond_Wolken_klein));}
                        if (id(Wettericon_morgen).state == "03dn") {
                          it.image((id(icon_morgen_x_int)+68), (id(icon_morgen_y_int)+159), id(Bild_Wolke_klein));}
                        if (id(Wettericon_morgen).state == "04dn") {
                          it.image((id(icon_morgen_x_int)+68), (id(icon_morgen_y_int)+152), id(Bild_Wolken_klein));}
                        if (id(Wettericon_morgen).state == "09dn") {
                          it.image((id(icon_morgen_x_int)+75), (id(icon_morgen_y_int)+180), id(Bild_Regen_klein));}
                        if (id(Wettericon_morgen).state == "10d") {
                          it.image((id(icon_morgen_x_int)+70), (id(icon_morgen_y_int)+169), id(Bild_Sonne_Regen_klein));}
                        if (id(Wettericon_morgen).state == "10n") {
                          it.image((id(icon_morgen_x_int)+70), (id(icon_morgen_y_int)+169), id(Bild_Mond_Regen_klein));}
                        if (id(Wettericon_morgen).state == "11dn") {
                          it.image((id(icon_morgen_x_int)+75), (id(icon_morgen_y_int)+181), id(Bild_Gewitter_klein));}
                        if (id(Wettericon_morgen).state == "13dn") {
                          it.image((id(icon_morgen_x_int)+75), (id(icon_morgen_y_int)+177), id(Bild_Schnee_klein));}
                        if (id(Wettericon_morgen).state == "50dn") {
                          it.image(id(icon_morgen_x_int)+68, (id(icon_morgen_y_int)+152), id(Bild_Wolken_klein));}     
                        it.printf(id(icon_morgen_x_int)+58, (id(icon_morgen_y_int)+233), id(font3),TextAlign::TOP_LEFT, "%s", id(MinMax_Temp_morgen).state.c_str());
                        it.printf((id(icon_morgen_x_int)+78), (id(icon_morgen_y_int)+255), id(font3),TextAlign::TOP_LEFT, "%s", id(Regen_morgen).state.c_str());
                        it.image(id(icon_morgen_x_int)+58, (id(icon_morgen_y_int)+259), id(Bild_Tropfen));
                        it.printf((id(icon_morgen_x_int)+73), (id(icon_morgen_y_int)+150), id(font3),TextAlign::TOP_LEFT, "%s", id(Tag_morgen).state.c_str());
                        it.line((id(icon_morgen_x_int)+58), (id(icon_morgen_y_int)+176), (id(icon_morgen_x_int)+158), (id(icon_morgen_y_int)+176));
                
                        //Wetter uebermorgen
                        if (id(Wettericon_uebermorgen).state == "01d") {
                          it.image((id(icon_uebermorgen_x_int)+238), (id(icon_uebermorgen_y_int)+178), id(Bild_Sonne_klein));}
                        if (id(Wettericon_uebermorgen).state == "01n") {
                          it.image((id(icon_uebermorgen_x_int)+236), (id(icon_uebermorgen_y_int)+180), id(Bild_Mond_klein));}
                        if (id(Wettericon_uebermorgen).state == "02d") {
                          it.image((id(icon_uebermorgen_x_int)+228), (id(icon_uebermorgen_y_int)+154), id(Bild_Sonne_Wolken_klein));}
                        if (id(Wettericon_uebermorgen).state == "02n") {
                          it.image((id(icon_uebermorgen_x_int)+233), (id(icon_uebermorgen_y_int)+171), id(Bild_Mond_Wolken_klein));}
                        if (id(Wettericon_uebermorgen).state == "03dn") {
                          it.image((id(icon_uebermorgen_x_int)+228), (id(icon_uebermorgen_y_int)+159), id(Bild_Wolke_klein));}
                        if (id(Wettericon_uebermorgen).state == "04dn") {
                          it.image((id(icon_uebermorgen_x_int)+228), (id(icon_uebermorgen_y_int)+152), id(Bild_Wolken_klein));}
                        if (id(Wettericon_uebermorgen).state == "09dn") {
                          it.image((id(icon_uebermorgen_x_int)+235), (id(icon_uebermorgen_y_int)+180), id(Bild_Regen_klein));}
                        if (id(Wettericon_uebermorgen).state == "10d") {
                          it.image((id(icon_uebermorgen_x_int)+230), (id(icon_uebermorgen_y_int)+169), id(Bild_Sonne_Regen_klein));}
                        if (id(Wettericon_uebermorgen).state == "10n") {
                          it.image((id(icon_uebermorgen_x_int)+230), (id(icon_uebermorgen_y_int)+169), id(Bild_Mond_Regen_klein));}
                        if (id(Wettericon_uebermorgen).state == "11dn") {
                          it.image((id(icon_uebermorgen_x_int)+235), (id(icon_uebermorgen_y_int)+181), id(Bild_Gewitter_klein));}
                        if (id(Wettericon_uebermorgen).state == "13dn") {
                          it.image((id(icon_uebermorgen_x_int)+235), (id(icon_uebermorgen_y_int)+177), id(Bild_Schnee_klein));}
                        if (id(Wettericon_uebermorgen).state == "50dn") {
                          it.image((id(icon_uebermorgen_x_int)+228), (id(icon_uebermorgen_y_int)+152), id(Bild_Wolken_klein));}   
                        it.printf(id(icon_uebermorgen_x_int)+218, (id(icon_uebermorgen_y_int)+233), id(font3),TextAlign::TOP_LEFT, "%s", id(MinMax_Temp_uebermorgen).state.c_str());
                        it.printf((id(icon_uebermorgen_x_int)+238), (id(icon_uebermorgen_y_int)+255), id(font3),TextAlign::TOP_LEFT, "%s", id(Regen_uebermorgen).state.c_str());
                        it.image(id(icon_uebermorgen_x_int)+218, (id(icon_uebermorgen_y_int)+259), id(Bild_Tropfen));
                        it.printf((id(icon_uebermorgen_x_int)+233), (id(icon_uebermorgen_y_int)+150), id(font3),TextAlign::TOP_LEFT, "%s", id(Tag_uebermorgen).state.c_str());
                        it.line((id(icon_uebermorgen_x_int)+218), (id(icon_uebermorgen_y_int)+176), (id(icon_uebermorgen_x_int)+318), (id(icon_uebermorgen_y_int)+176));
                
                        //Muell
                        //Keine Unwetterwarnung
                        if (id(Unwetter).state == "0") {
                            //Kein Grün- und kein Sperrmüll-Termin
                            if ((id(Termin_Gruenabfall).state == "Grünabfall: Kein Termin") && (id(Termin_Sperrmuell).state == "Sperrmüll: Kein Termin")) {
                              it.image((id(muell_x_int)+63), (id(muell_y_int)+337), id(Bild_Muelltonne_klein));
                              it.printf((id(muell_x_int)+105), (id(muell_y_int)+335), id(font4),TextAlign::TOP_LEFT, "%s", id(Termin_Restmuell).state.c_str());
                              it.printf((id(muell_x_int)+105), (id(muell_y_int)+365), id(font4),TextAlign::TOP_LEFT, "%s", id(Termin_Papier).state.c_str());}
                            //Nur Grünabfall-Termin
                            else if ((id(Termin_Gruenabfall).state != "Grünabfall: Kein Termin") && (id(Termin_Sperrmuell).state == "Sperrmüll: Kein Termin")) {
                              it.image((id(muell_x_int)+45), (id(muell_y_int)+340), id(Bild_Muelltonne_gross));
                              it.printf((id(muell_x_int)+105), (id(muell_y_int)+335), id(font4),TextAlign::TOP_LEFT, "%s", id(Termin_Restmuell).state.c_str());
                              it.printf((id(muell_x_int)+105), (id(muell_y_int)+365), id(font4),TextAlign::TOP_LEFT, "%s", id(Termin_Papier).state.c_str());
                              it.printf((id(muell_x_int)+105), (id(muell_y_int)+395), id(font4),TextAlign::TOP_LEFT, "%s", id(Termin_Gruenabfall).state.c_str());}
                            //Nur Sperrmüll-Termin
                            else if ((id(Termin_Gruenabfall).state == "Grünabfall: Kein Termin") && (id(Termin_Sperrmuell).state != "Sperrmüll: Kein Termin")) {
                              it.image((id(muell_x_int)+45), (id(muell_y_int)+340), id(Bild_Muelltonne_gross));
                              it.printf((id(muell_x_int)+105), (id(muell_y_int)+335), id(font4),TextAlign::TOP_LEFT, "%s", id(Termin_Restmuell).state.c_str());
                              it.printf((id(muell_x_int)+105), (id(muell_y_int)+365), id(font4),TextAlign::TOP_LEFT, "%s", id(Termin_Papier).state.c_str());
                              it.printf((id(muell_x_int)+105), (id(muell_y_int)+395), id(font4),TextAlign::TOP_LEFT, "%s", id(Termin_Sperrmuell).state.c_str());}
                            //Grün- und Sperrmüll-Termine
                            else if ((id(Termin_Gruenabfall).state != "Grünabfall: Kein Termin") && (id(Termin_Sperrmuell).state != "Sperrmüll: Kein Termin")) {
                              it.image((id(muell_x_int)+45), (id(muell_y_int)+340), id(Bild_Muelltonne_gross));
                              it.printf((id(muell_x_int)+105), (id(muell_y_int)+320), id(font4),TextAlign::TOP_LEFT, "%s", id(Termin_Restmuell).state.c_str());
                              it.printf((id(muell_x_int)+105), (id(muell_y_int)+350), id(font4),TextAlign::TOP_LEFT, "%s", id(Termin_Papier).state.c_str());
                              it.printf((id(muell_x_int)+105), (id(muell_y_int)+380), id(font4),TextAlign::TOP_LEFT, "%s", id(Termin_Gruenabfall).state.c_str());
                              it.printf((id(muell_x_int)+105), (id(muell_y_int)+410), id(font4),TextAlign::TOP_LEFT, "%s", id(Termin_Sperrmuell).state.c_str());}}
                
                        //Unwetterwarnung aktiv
                        else {
                            //Nur Rest- und Papiermüll-Termine
                            if (id(Termin_Gruen_Sperr).state == "Kein Termin") {
                              it.image((id(muell_x_int)+63), (id(muell_y_int)+367), id(Bild_Muelltonne_klein));
                              it.printf((id(muell_x_int)+105), (id(muell_y_int)+365), id(font4),TextAlign::TOP_LEFT, "%s", id(Termin_Restmuell).state.c_str());
                              it.printf((id(muell_x_int)+105), (id(muell_y_int)+395), id(font4),TextAlign::TOP_LEFT, "%s", id(Termin_Papier).state.c_str());}      
                            else {
                            ////Rest-, Papier-, Grün- und/oder Sperrmüll-Termine
                            it.image((id(muell_x_int)+45), (id(muell_y_int)+357), id(Bild_Muelltonne_gross));
                            it.printf((id(muell_x_int)+105), (id(muell_y_int)+350), id(font4),TextAlign::TOP_LEFT, "%s", id(Termin_Restmuell).state.c_str());
                            it.printf((id(muell_x_int)+105), (id(muell_y_int)+380), id(font4),TextAlign::TOP_LEFT, "%s", id(Termin_Papier).state.c_str());
                            it.printf((id(muell_x_int)+105), (id(muell_y_int)+410), id(font4),TextAlign::TOP_LEFT, "%s", id(Termin_Gruen_Sperr).state.c_str());}}}
                      else {it.image(75, 0, id(Bild));}
                
                A 1 Antwort Letzte Antwort
                -1
                • D DoHo

                  @appi, klar.

                  esphome:
                    name: e-paper
                    friendly_name: E-Paper
                  
                  esp32:
                    board: esp32dev
                    framework:
                      type: arduino
                  
                  # Enable logging
                  logger:
                    level: INFO
                  
                  # Enable Home Assistant API
                  ota:
                    password: "1097d7787d8aa56c814fc456ac0d4bdf"
                  
                  # Enable wifi
                  wifi:
                    ssid: !secret wifi_ssid
                    password: !secret wifi_password
                  
                    # Enable fallback hotspot (captive portal) in case wifi connection fails
                    ap:
                      ssid: "E-Paper Fallback Hotspot"
                      password: "7vHBNRjddp61"
                  
                  # Enable MQTT 
                  mqtt:
                    broker: 192.168.10.40
                    username: ESP
                    password: !secret mqtt
                    client_id: e-paper
                    topic_prefix: esphome/e-paper
                    on_message:
                       - topic: subscribe_text_sensor/E-Paper/Trigger
                         then:
                          - component.update: epaper
                  
                  # Konfiguration ESP32
                  captive_portal:
                  spi:
                    clk_pin: 5
                    mosi_pin: 19
                  
                  binary_sensor:
                    - platform: gpio
                      pin:
                        number: 32
                        mode:
                          input: true
                          pulldown: true
                      name: "Taster"
                      on_press:
                       then:
                       # - component.update: epaper
                  
                  # Schriftarten
                  font:
                    - file: 'fonts/Lato-Regular.ttf'
                      id: font1
                      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: 23
                  
                    - file: 'fonts/Lato-Regular.ttf'
                      id: font2
                      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: 40
                  
                    - file: 'fonts/Lato-Regular.ttf'
                      id: font3
                      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/Lato-Regular.ttf'
                      id: font4
                      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: 23
                  
                  # Variablen
                  globals:
                    - id: photovoltaik_symbols_x_int
                      type: int
                      restore_value: no
                      initial_value: '0'
                  
                    - id: photovoltaik_symbols_y_int
                      type: int
                      restore_value: no
                      initial_value: '0'
                      
                    - id: photovoltaik_data_x_int
                      type: int
                      restore_value: no
                      initial_value: '0'
                  
                    - id: photovoltaik_data_y_int
                      type: int
                      restore_value: no
                      initial_value: '0'
                  
                    - id: icon_heute_x_int
                      type: int
                      restore_value: no
                      initial_value: '0'
                  
                    - id: icon_heute_y_int
                      type: int
                      restore_value: no
                      initial_value: '0'
                  
                    - id: icon_morgen_x_int
                      type: int
                      restore_value: no
                      initial_value: '0'
                  
                    - id: icon_morgen_y_int
                      type: int
                      restore_value: no
                      initial_value: '0'
                  
                    - id: icon_uebermorgen_x_int
                      type: int
                      restore_value: no
                      initial_value: '0'
                  
                    - id: icon_uebermorgen_y_int
                      type: int
                      restore_value: no
                      initial_value: '0'
                  
                    - id: muell_x_int
                      type: int
                      restore_value: no
                      initial_value: '0'
                  
                    - id: muell_y_int
                      type: int
                      restore_value: no
                      initial_value: '0'
                  
                    - id: icons_x_int
                      type: int
                      restore_value: no
                      initial_value: '0'
                  
                    - id: icons_y_int
                      type: int
                      restore_value: no
                      initial_value: '0'
                  
                  # MQTT Variablen ioBroker => E-Paper
                  text_sensor:
                    # Allgemein
                    - platform: mqtt_subscribe
                      id: Datum
                      topic: subscribe_text_sensor/E-Paper/Allgemein/Datum
                  
                    - platform: mqtt_subscribe
                      id: Tag_morgen
                      topic: subscribe_text_sensor/E-Paper/Allgemein/Tag_morgen
                  
                    - platform: mqtt_subscribe
                      id: Tag_uebermorgen
                      topic: subscribe_text_sensor/E-Paper/Allgemein/Tag_uebermorgen
                  
                    - platform: mqtt_subscribe
                      id: Foto
                      topic: subscribe_text_sensor/E-Paper/Allgemein/Foto
                  
                    # Photovoltaik
                    - platform: mqtt_subscribe
                      id: Momentanleistung
                      topic: subscribe_text_sensor/E-Paper/Photovoltaik/Momentanleistung
                  
                    - platform: mqtt_subscribe
                      id: Hausverbrauch
                      topic: subscribe_text_sensor/E-Paper/Photovoltaik/Hausverbrauch
                  
                    - platform: mqtt_subscribe
                      id: Einspeisung_Bezug
                      topic: subscribe_text_sensor/E-Paper/Photovoltaik/Einspeisung_Bezug
                  
                    - platform: mqtt_subscribe
                      id: Einspeisung_Heute
                      topic: subscribe_text_sensor/E-Paper/Photovoltaik/Einspeisung_Heute
                  
                    - platform: mqtt_subscribe
                      id: Ertrag_Heute
                      topic: subscribe_text_sensor/E-Paper/Photovoltaik/Ertrag_Heute
                  
                    - platform: mqtt_subscribe
                      id: Eigenverbrauch_Heute
                      topic: subscribe_text_sensor/E-Paper/Photovoltaik/Eigenverbrauch_Heute
                  
                    - platform: mqtt_subscribe
                      id: Eigenverbrauch_Heute_Prozent
                      topic: subscribe_text_sensor/E-Paper/Photovoltaik/Eigenverbrauch_Heute_Prozent
                  
                    - platform: mqtt_subscribe
                      id: Netzbezug_Heute
                      topic: subscribe_text_sensor/E-Paper/Photovoltaik/Netzbezug_Heute
                  
                    - platform: mqtt_subscribe
                      id: Deckungsgrad_Heute
                      topic: subscribe_text_sensor/E-Paper/Photovoltaik/Deckungsgrad_Heute
                  
                    - platform: mqtt_subscribe
                      id: Pfeil_PV_Netz
                      topic: subscribe_text_sensor/E-Paper/Photovoltaik/Pfeil_PV_Netz
                  
                    - platform: mqtt_subscribe
                      id: Pfeil_PV_Haus
                      topic: subscribe_text_sensor/E-Paper/Photovoltaik/Pfeil_PV_Haus
                  
                    - platform: mqtt_subscribe
                      id: Pfeil_Netz_Haus
                      topic: subscribe_text_sensor/E-Paper/Photovoltaik/Pfeil_Netz_Haus
                  
                    # Wetter heute
                    - platform: mqtt_subscribe
                      id: Wettericon_now
                      topic: subscribe_text_sensor/E-Paper/Wetter/Wettericon_now
                  
                    - platform: mqtt_subscribe
                      id: Actual_Temp
                      topic: subscribe_text_sensor/E-Paper/Wetter/Actual_Temp
                  
                    - platform: mqtt_subscribe
                      id: MinMax_Temp_Heute
                      topic: subscribe_text_sensor/E-Paper/Wetter/MinMax_Temp_Heute
                  
                    - platform: mqtt_subscribe
                      id: Regen_Heute
                      topic: subscribe_text_sensor/E-Paper/Wetter/Regen_Heute
                  
                    - platform: mqtt_subscribe
                      id: Unwetter
                      topic: subscribe_text_sensor/E-Paper/Wetter/Unwetter
                  
                    # Wetter morgen
                    - platform: mqtt_subscribe
                      id: Wettericon_morgen
                      topic: subscribe_text_sensor/E-Paper/Wetter/Wettericon_morgen
                  
                    - platform: mqtt_subscribe
                      id: MinMax_Temp_morgen
                      topic: subscribe_text_sensor/E-Paper/Wetter/MinMax_Temp_morgen
                  
                    - platform: mqtt_subscribe
                      id: Regen_morgen
                      topic: subscribe_text_sensor/E-Paper/Wetter/Regen_morgen
                  
                    # Wetter uebermorgen
                    - platform: mqtt_subscribe
                      id: Wettericon_uebermorgen
                      topic: subscribe_text_sensor/E-Paper/Wetter/Wettericon_uebermorgen
                  
                    - platform: mqtt_subscribe
                      id: MinMax_Temp_uebermorgen
                      topic: subscribe_text_sensor/E-Paper/Wetter/MinMax_Temp_uebermorgen
                  
                    - platform: mqtt_subscribe
                      id: Regen_uebermorgen
                      topic: subscribe_text_sensor/E-Paper/Wetter/Regen_uebermorgen
                      
                    # Muell
                    - platform: mqtt_subscribe
                      id: Termin_Restmuell
                      topic: subscribe_text_sensor/E-Paper/Muell/Termin_Restmuell
                  
                    - platform: mqtt_subscribe
                      id: Termin_Papier
                      topic: subscribe_text_sensor/E-Paper/Muell/Termin_Papier
                  
                    - platform: mqtt_subscribe
                      id: Termin_Gruenabfall
                      topic: subscribe_text_sensor/E-Paper/Muell/Termin_Gruenabfall
                  
                    - platform: mqtt_subscribe
                      id: Termin_Sperrmuell
                      topic: subscribe_text_sensor/E-Paper/Muell/Termin_Sperrmuell
                  
                    - platform: mqtt_subscribe
                      id: Termin_Gruen_Sperr
                      topic: subscribe_text_sensor/E-Paper/Muell/Termin_Gruen_Sperr
                  
                    - platform: mqtt_subscribe
                      id: Tage_bis_Restmuell
                      topic: subscribe_text_sensor/E-Paper/Muell/Tage_bis_Restmuell
                  
                    - platform: mqtt_subscribe
                      id: Tage_bis_Papier
                      topic: subscribe_text_sensor/E-Paper/Muell/Tage_bis_Papier
                  
                    - platform: mqtt_subscribe
                      id: Tage_bis_Gruenabfall
                      topic: subscribe_text_sensor/E-Paper/Muell/Tage_bis_Gruenabfall
                  
                    - platform: mqtt_subscribe
                      id: Tage_bis_Sperrmuell
                      topic: subscribe_text_sensor/E-Paper/Muell/Tage_bis_Sperrmuell
                  
                  # Bilder
                  image:
                    # Foto
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_farbig.jpg"
                      resize: 800x480
                      id: Bild
                  
                    # Photovoltaik  
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Photovoltaik.png"
                      resize: 120x73
                      id: Bild_Photovoltaik
                  
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Haus.png"
                      resize: 100x98
                      id: Bild_Haus
                  
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Strommast.png"
                      resize: 60x96
                      id: Bild_Strommast
                  
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Pfeil_rechts.png"
                      resize: 98x30
                      id: Bild_Pfeil_rechts
                  
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Pfeil_rechts_unten.png"
                      resize: 70x70
                      id: Bild_Pfeil_rechts_unten
                  
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Pfeil_links_unten.png"
                      resize: 70x70
                      id: Bild_Pfeil_links_unten
                      
                    # Wetter 
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Tropfen.png"
                      resize: 18x18
                      id: Bild_Tropfen
                  
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Ausrufezeichen.png"
                      resize: 50x50
                      id: Bild_Ausrufezeichen
                  
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Sonne.png"
                      resize: 150x150
                      id: Bild_Sonne
                  
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Sonne+Gewitter.png"
                      resize: 150x150
                      id: Bild_Sonne_Gewitter
                  
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Sonne+Regen.png"
                      resize: 150x150
                      id: Bild_Sonne_Regen
                  
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Sonne+Schnee.png"
                      resize: 150x150
                      id: Bild_Sonne_Schnee
                  
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Sonne+Wolken.png"
                      resize: 150x150
                      id: Bild_Sonne_Wolken
                  
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Mond.png"
                      resize: 110x110
                      id: Bild_Mond
                  
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Mond+Gewitter.png"
                      resize: 150x150
                      id: Bild_Mond_Gewitter
                  
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Mond+Regen.png"
                      resize: 150x150
                      id: Bild_Mond_Regen
                  
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Mond+Schnee.png"
                      resize: 150x150
                      id: Bild_Mond_Schnee
                  
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Mond+Wolken.png"
                      resize: 150x150
                      id: Bild_Mond_Wolken
                  
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Gewitter.png"
                      resize: 120x120
                      id: Bild_Gewitter
                  
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Regen.png"
                      resize: 135x135
                      id: Bild_Regen
                  
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Schnee.png"
                      resize: 135x135
                      id: Bild_Schnee
                  
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Wolke.png"
                      resize: 150x150
                      id: Bild_Wolke
                  
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Wolken.png"
                      resize: 150x150
                      id: Bild_Wolken
                      
                    # Wetter-Vorhersage
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Sonne.png"
                      resize: 55x55
                      id: Bild_Sonne_klein
                  
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Sonne+Gewitter.png"
                      resize: 75x75
                      id: Bild_Sonne_Gewitter_klein
                  
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Sonne+Regen.png"
                      resize: 65x65
                      id: Bild_Sonne_Regen_klein
                  
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Sonne+Schnee.png"
                      resize: 75x75
                      id: Bild_Sonne_Schnee_klein
                  
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Sonne+Wolken.png"
                      resize: 75x75
                      id: Bild_Sonne_Wolken_klein
                  
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Mond.png"
                      resize: 47x47
                      id: Bild_Mond_klein
                  
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Mond+Gewitter.png"
                      resize: 75x75
                      id: Bild_Mond_Gewitter_klein
                  
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Mond+Regen.png"
                      resize: 65x65
                      id: Bild_Mond_Regen_klein
                  
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Mond+Schnee.png"
                      resize: 75x75
                      id: Bild_Mond_Schnee_klein
                  
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Mond+Wolken.png"
                      resize: 60x60
                      id: Bild_Mond_Wolken_klein
                  
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Gewitter.png"
                      resize: 55x55
                      id: Bild_Gewitter_klein
                  
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Regen.png"
                      resize: 55x55
                      id: Bild_Regen_klein
                  
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Schnee.png"
                      resize: 57x57
                      id: Bild_Schnee_klein
                  
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Wolke.png"
                      resize: 71x71
                      id: Bild_Wolke_klein
                  
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Wolken.png"
                      resize: 75x75
                      id: Bild_Wolken_klein
                      
                    # Muell
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Muelltonne.png"
                      resize: 75x75
                      id: Bild_Muelltonne_gross
                  
                    - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Bild_Muelltonne.png"
                      resize: 57x57
                      id: Bild_Muelltonne_klein
                  
                  # Display x-, y-
                  display:
                    - platform: waveshare_epaper
                      id: epaper
                      cs_pin: 20
                      busy_pin: 39
                      reset_pin: 14
                      dc_pin: 22
                      model: 7.50inV2
                      update_interval: never
                      reset_duration: 2ms
                      lambda: |-
                        if (id(Foto).state != "1") {
                          //Photovoltaik
                          it.image((id(photovoltaik_symbols_x_int)+400), (id(photovoltaik_symbols_y_int)+85), id(Bild_Photovoltaik));
                          it.printf((id(photovoltaik_symbols_x_int)+455), (id(photovoltaik_symbols_y_int)+45), id(font1),TextAlign::TOP_CENTER,"%s", id(Momentanleistung).state.c_str());
                          it.image((id(photovoltaik_symbols_x_int)+550), (id(photovoltaik_symbols_y_int)+171), id(Bild_Haus));
                          it.printf((id(photovoltaik_symbols_x_int)+601), (id(photovoltaik_symbols_y_int)+263), id(font1),TextAlign::TOP_CENTER,"%s", id(Hausverbrauch).state.c_str());
                          it.image((id(photovoltaik_symbols_x_int)+692), (id(photovoltaik_symbols_y_int)+78), id(Bild_Strommast));
                          it.printf((id(photovoltaik_symbols_x_int)+723), (id(photovoltaik_symbols_y_int)+45), id(font1),TextAlign::TOP_CENTER,"%s", id(Einspeisung_Bezug).state.c_str());
                          if (id(Pfeil_PV_Netz).state == "1") {
                            it.image((id(photovoltaik_symbols_x_int)+554), (id(photovoltaik_symbols_y_int)+115), id(Bild_Pfeil_rechts));}
                          if (id(Pfeil_PV_Haus).state == "1") {
                            it.image((id(photovoltaik_symbols_x_int)+448), (id(photovoltaik_symbols_y_int)+185), id(Bild_Pfeil_rechts_unten));}
                          if (id(Pfeil_Netz_Haus).state == "1") {
                            it.image((id(photovoltaik_symbols_x_int)+680), (id(photovoltaik_symbols_y_int)+185), id(Bild_Pfeil_links_unten));}
                          it.printf((id(photovoltaik_data_x_int)+470), (id(photovoltaik_data_y_int)+320), id(font1),TextAlign::TOP_LEFT, "Tagesertrag: %s", id(Ertrag_Heute).state.c_str());
                          it.printf((id(photovoltaik_data_x_int)+470), (id(photovoltaik_data_y_int)+350), id(font1),TextAlign::TOP_LEFT, "Eigenv.: %s", id(Eigenverbrauch_Heute).state.c_str());
                          it.printf((id(photovoltaik_data_x_int)+470), (id(photovoltaik_data_y_int)+380), id(font1),TextAlign::TOP_LEFT, "Netzbezug: %s", id(Netzbezug_Heute).state.c_str());
                          it.printf((id(photovoltaik_data_x_int)+470), (id(photovoltaik_data_y_int)+410), id(font1),TextAlign::TOP_LEFT, "Deckungsgrad: %s", id(Deckungsgrad_Heute).state.c_str());
                  
                          //Unwetter
                          if (id(Unwetter).state != "0") {
                            id(icon_heute_y_int) = 0;
                            id(icon_morgen_y_int) = 60;
                            id(icon_uebermorgen_y_int) = 60;
                            it.printf((id(icon_heute_x_int)+125), (id(icon_heute_y_int)+155), id(font1),TextAlign::TOP_LEFT, "%s", id(Unwetter).state.c_str());
                            it.image((id(icon_heute_x_int)+60), (id(icon_heute_y_int)+148), id(Bild_Ausrufezeichen));}
                          else {
                            id(icon_heute_y_int) = 10;
                            id(icon_morgen_y_int) = 20;
                            id(icon_uebermorgen_y_int) = 20;}
                  
                          //Wetter heute
                          if (id(Wettericon_now).state == "01d") {
                            it.image((id(icon_heute_x_int)+40), (id(icon_heute_y_int)+0), id(Bild_Sonne));}
                          if (id(Wettericon_now).state == "01n") {
                            it.image((id(icon_heute_x_int)+60), (id(icon_heute_y_int)+15), id(Bild_Mond));}
                          if (id(Wettericon_now).state == "02d") {
                            it.image((id(icon_heute_x_int)+40), (id(icon_heute_y_int)-25), id(Bild_Sonne_Wolken));}
                          if (id(Wettericon_now).state == "02n") {
                            it.image((id(icon_heute_x_int)+40), (id(icon_heute_y_int)-10), id(Bild_Mond_Wolken));}
                          if (id(Wettericon_now).state == "03dn") {
                            it.image((id(icon_heute_x_int)+43), (id(icon_heute_y_int)-20), id(Bild_Wolke));}
                          if (id(Wettericon_now).state == "04dn") {
                            it.image((id(icon_heute_x_int)+50), (id(icon_heute_y_int)-30), id(Bild_Wolken));}
                          if (id(Wettericon_now).state == "09dn") {
                            it.image((id(icon_heute_x_int)+50), (id(icon_heute_y_int)+10), id(Bild_Regen));}
                          if (id(Wettericon_now).state == "10d") {
                            it.image((id(icon_heute_x_int)+45), (id(icon_heute_y_int)-5), id(Bild_Sonne_Regen));}
                          if (id(Wettericon_now).state == "10n") {
                            it.image((id(icon_heute_x_int)+45), (id(icon_heute_y_int)-5), id(Bild_Mond_Regen));}
                          if (id(Wettericon_now).state == "11dn") {
                            it.image((id(icon_heute_x_int)+65), (id(icon_heute_y_int)+20), id(Bild_Gewitter));}
                          if (id(Wettericon_now).state == "13dn") {
                            it.image((id(icon_heute_x_int)+55), (id(icon_heute_y_int)+10), id(Bild_Schnee));}
                          if (id(Wettericon_now).state == "50dn") {
                            it.image((id(icon_heute_x_int)+45), (id(icon_heute_y_int)-30), id(Bild_Wolken));}
                          it.printf((id(icon_heute_x_int)+210), (id(icon_heute_y_int)+33), id(font2),TextAlign::TOP_LEFT, "%s", id(Actual_Temp).state.c_str());
                          it.printf((id(icon_heute_x_int)+210), (id(icon_heute_y_int)+78), id(font3),TextAlign::TOP_LEFT, "%s", id(MinMax_Temp_Heute).state.c_str());
                          it.printf((id(icon_heute_x_int)+230), (id(icon_heute_y_int)+100), id(font3),TextAlign::TOP_LEFT, "%s", id(Regen_Heute).state.c_str());
                          it.image((id(icon_heute_x_int)+210), (id(icon_heute_y_int)+104), id(Bild_Tropfen));
                  
                          //Wetter morgen
                          if (id(Wettericon_morgen).state == "01d") {
                            it.image((id(icon_morgen_x_int)+78), (id(icon_morgen_y_int)+178), id(Bild_Sonne_klein));}
                          if (id(Wettericon_morgen).state == "01n") {
                            it.image((id(icon_morgen_x_int)+6), (id(icon_morgen_y_int)+180), id(Bild_Mond_klein));}
                          if (id(Wettericon_morgen).state == "02d") {
                            it.image((id(icon_morgen_x_int)+68), (id(icon_morgen_y_int)+154), id(Bild_Sonne_Wolken_klein));}
                          if (id(Wettericon_morgen).state == "02n") {
                            it.image((id(icon_morgen_x_int)+73), (id(icon_morgen_y_int)+173), id(Bild_Mond_Wolken_klein));}
                          if (id(Wettericon_morgen).state == "03dn") {
                            it.image((id(icon_morgen_x_int)+68), (id(icon_morgen_y_int)+159), id(Bild_Wolke_klein));}
                          if (id(Wettericon_morgen).state == "04dn") {
                            it.image((id(icon_morgen_x_int)+68), (id(icon_morgen_y_int)+152), id(Bild_Wolken_klein));}
                          if (id(Wettericon_morgen).state == "09dn") {
                            it.image((id(icon_morgen_x_int)+75), (id(icon_morgen_y_int)+180), id(Bild_Regen_klein));}
                          if (id(Wettericon_morgen).state == "10d") {
                            it.image((id(icon_morgen_x_int)+70), (id(icon_morgen_y_int)+169), id(Bild_Sonne_Regen_klein));}
                          if (id(Wettericon_morgen).state == "10n") {
                            it.image((id(icon_morgen_x_int)+70), (id(icon_morgen_y_int)+169), id(Bild_Mond_Regen_klein));}
                          if (id(Wettericon_morgen).state == "11dn") {
                            it.image((id(icon_morgen_x_int)+75), (id(icon_morgen_y_int)+181), id(Bild_Gewitter_klein));}
                          if (id(Wettericon_morgen).state == "13dn") {
                            it.image((id(icon_morgen_x_int)+75), (id(icon_morgen_y_int)+177), id(Bild_Schnee_klein));}
                          if (id(Wettericon_morgen).state == "50dn") {
                            it.image(id(icon_morgen_x_int)+68, (id(icon_morgen_y_int)+152), id(Bild_Wolken_klein));}     
                          it.printf(id(icon_morgen_x_int)+58, (id(icon_morgen_y_int)+233), id(font3),TextAlign::TOP_LEFT, "%s", id(MinMax_Temp_morgen).state.c_str());
                          it.printf((id(icon_morgen_x_int)+78), (id(icon_morgen_y_int)+255), id(font3),TextAlign::TOP_LEFT, "%s", id(Regen_morgen).state.c_str());
                          it.image(id(icon_morgen_x_int)+58, (id(icon_morgen_y_int)+259), id(Bild_Tropfen));
                          it.printf((id(icon_morgen_x_int)+73), (id(icon_morgen_y_int)+150), id(font3),TextAlign::TOP_LEFT, "%s", id(Tag_morgen).state.c_str());
                          it.line((id(icon_morgen_x_int)+58), (id(icon_morgen_y_int)+176), (id(icon_morgen_x_int)+158), (id(icon_morgen_y_int)+176));
                  
                          //Wetter uebermorgen
                          if (id(Wettericon_uebermorgen).state == "01d") {
                            it.image((id(icon_uebermorgen_x_int)+238), (id(icon_uebermorgen_y_int)+178), id(Bild_Sonne_klein));}
                          if (id(Wettericon_uebermorgen).state == "01n") {
                            it.image((id(icon_uebermorgen_x_int)+236), (id(icon_uebermorgen_y_int)+180), id(Bild_Mond_klein));}
                          if (id(Wettericon_uebermorgen).state == "02d") {
                            it.image((id(icon_uebermorgen_x_int)+228), (id(icon_uebermorgen_y_int)+154), id(Bild_Sonne_Wolken_klein));}
                          if (id(Wettericon_uebermorgen).state == "02n") {
                            it.image((id(icon_uebermorgen_x_int)+233), (id(icon_uebermorgen_y_int)+171), id(Bild_Mond_Wolken_klein));}
                          if (id(Wettericon_uebermorgen).state == "03dn") {
                            it.image((id(icon_uebermorgen_x_int)+228), (id(icon_uebermorgen_y_int)+159), id(Bild_Wolke_klein));}
                          if (id(Wettericon_uebermorgen).state == "04dn") {
                            it.image((id(icon_uebermorgen_x_int)+228), (id(icon_uebermorgen_y_int)+152), id(Bild_Wolken_klein));}
                          if (id(Wettericon_uebermorgen).state == "09dn") {
                            it.image((id(icon_uebermorgen_x_int)+235), (id(icon_uebermorgen_y_int)+180), id(Bild_Regen_klein));}
                          if (id(Wettericon_uebermorgen).state == "10d") {
                            it.image((id(icon_uebermorgen_x_int)+230), (id(icon_uebermorgen_y_int)+169), id(Bild_Sonne_Regen_klein));}
                          if (id(Wettericon_uebermorgen).state == "10n") {
                            it.image((id(icon_uebermorgen_x_int)+230), (id(icon_uebermorgen_y_int)+169), id(Bild_Mond_Regen_klein));}
                          if (id(Wettericon_uebermorgen).state == "11dn") {
                            it.image((id(icon_uebermorgen_x_int)+235), (id(icon_uebermorgen_y_int)+181), id(Bild_Gewitter_klein));}
                          if (id(Wettericon_uebermorgen).state == "13dn") {
                            it.image((id(icon_uebermorgen_x_int)+235), (id(icon_uebermorgen_y_int)+177), id(Bild_Schnee_klein));}
                          if (id(Wettericon_uebermorgen).state == "50dn") {
                            it.image((id(icon_uebermorgen_x_int)+228), (id(icon_uebermorgen_y_int)+152), id(Bild_Wolken_klein));}   
                          it.printf(id(icon_uebermorgen_x_int)+218, (id(icon_uebermorgen_y_int)+233), id(font3),TextAlign::TOP_LEFT, "%s", id(MinMax_Temp_uebermorgen).state.c_str());
                          it.printf((id(icon_uebermorgen_x_int)+238), (id(icon_uebermorgen_y_int)+255), id(font3),TextAlign::TOP_LEFT, "%s", id(Regen_uebermorgen).state.c_str());
                          it.image(id(icon_uebermorgen_x_int)+218, (id(icon_uebermorgen_y_int)+259), id(Bild_Tropfen));
                          it.printf((id(icon_uebermorgen_x_int)+233), (id(icon_uebermorgen_y_int)+150), id(font3),TextAlign::TOP_LEFT, "%s", id(Tag_uebermorgen).state.c_str());
                          it.line((id(icon_uebermorgen_x_int)+218), (id(icon_uebermorgen_y_int)+176), (id(icon_uebermorgen_x_int)+318), (id(icon_uebermorgen_y_int)+176));
                  
                          //Muell
                          //Keine Unwetterwarnung
                          if (id(Unwetter).state == "0") {
                              //Kein Grün- und kein Sperrmüll-Termin
                              if ((id(Termin_Gruenabfall).state == "Grünabfall: Kein Termin") && (id(Termin_Sperrmuell).state == "Sperrmüll: Kein Termin")) {
                                it.image((id(muell_x_int)+63), (id(muell_y_int)+337), id(Bild_Muelltonne_klein));
                                it.printf((id(muell_x_int)+105), (id(muell_y_int)+335), id(font4),TextAlign::TOP_LEFT, "%s", id(Termin_Restmuell).state.c_str());
                                it.printf((id(muell_x_int)+105), (id(muell_y_int)+365), id(font4),TextAlign::TOP_LEFT, "%s", id(Termin_Papier).state.c_str());}
                              //Nur Grünabfall-Termin
                              else if ((id(Termin_Gruenabfall).state != "Grünabfall: Kein Termin") && (id(Termin_Sperrmuell).state == "Sperrmüll: Kein Termin")) {
                                it.image((id(muell_x_int)+45), (id(muell_y_int)+340), id(Bild_Muelltonne_gross));
                                it.printf((id(muell_x_int)+105), (id(muell_y_int)+335), id(font4),TextAlign::TOP_LEFT, "%s", id(Termin_Restmuell).state.c_str());
                                it.printf((id(muell_x_int)+105), (id(muell_y_int)+365), id(font4),TextAlign::TOP_LEFT, "%s", id(Termin_Papier).state.c_str());
                                it.printf((id(muell_x_int)+105), (id(muell_y_int)+395), id(font4),TextAlign::TOP_LEFT, "%s", id(Termin_Gruenabfall).state.c_str());}
                              //Nur Sperrmüll-Termin
                              else if ((id(Termin_Gruenabfall).state == "Grünabfall: Kein Termin") && (id(Termin_Sperrmuell).state != "Sperrmüll: Kein Termin")) {
                                it.image((id(muell_x_int)+45), (id(muell_y_int)+340), id(Bild_Muelltonne_gross));
                                it.printf((id(muell_x_int)+105), (id(muell_y_int)+335), id(font4),TextAlign::TOP_LEFT, "%s", id(Termin_Restmuell).state.c_str());
                                it.printf((id(muell_x_int)+105), (id(muell_y_int)+365), id(font4),TextAlign::TOP_LEFT, "%s", id(Termin_Papier).state.c_str());
                                it.printf((id(muell_x_int)+105), (id(muell_y_int)+395), id(font4),TextAlign::TOP_LEFT, "%s", id(Termin_Sperrmuell).state.c_str());}
                              //Grün- und Sperrmüll-Termine
                              else if ((id(Termin_Gruenabfall).state != "Grünabfall: Kein Termin") && (id(Termin_Sperrmuell).state != "Sperrmüll: Kein Termin")) {
                                it.image((id(muell_x_int)+45), (id(muell_y_int)+340), id(Bild_Muelltonne_gross));
                                it.printf((id(muell_x_int)+105), (id(muell_y_int)+320), id(font4),TextAlign::TOP_LEFT, "%s", id(Termin_Restmuell).state.c_str());
                                it.printf((id(muell_x_int)+105), (id(muell_y_int)+350), id(font4),TextAlign::TOP_LEFT, "%s", id(Termin_Papier).state.c_str());
                                it.printf((id(muell_x_int)+105), (id(muell_y_int)+380), id(font4),TextAlign::TOP_LEFT, "%s", id(Termin_Gruenabfall).state.c_str());
                                it.printf((id(muell_x_int)+105), (id(muell_y_int)+410), id(font4),TextAlign::TOP_LEFT, "%s", id(Termin_Sperrmuell).state.c_str());}}
                  
                          //Unwetterwarnung aktiv
                          else {
                              //Nur Rest- und Papiermüll-Termine
                              if (id(Termin_Gruen_Sperr).state == "Kein Termin") {
                                it.image((id(muell_x_int)+63), (id(muell_y_int)+367), id(Bild_Muelltonne_klein));
                                it.printf((id(muell_x_int)+105), (id(muell_y_int)+365), id(font4),TextAlign::TOP_LEFT, "%s", id(Termin_Restmuell).state.c_str());
                                it.printf((id(muell_x_int)+105), (id(muell_y_int)+395), id(font4),TextAlign::TOP_LEFT, "%s", id(Termin_Papier).state.c_str());}      
                              else {
                              ////Rest-, Papier-, Grün- und/oder Sperrmüll-Termine
                              it.image((id(muell_x_int)+45), (id(muell_y_int)+357), id(Bild_Muelltonne_gross));
                              it.printf((id(muell_x_int)+105), (id(muell_y_int)+350), id(font4),TextAlign::TOP_LEFT, "%s", id(Termin_Restmuell).state.c_str());
                              it.printf((id(muell_x_int)+105), (id(muell_y_int)+380), id(font4),TextAlign::TOP_LEFT, "%s", id(Termin_Papier).state.c_str());
                              it.printf((id(muell_x_int)+105), (id(muell_y_int)+410), id(font4),TextAlign::TOP_LEFT, "%s", id(Termin_Gruen_Sperr).state.c_str());}}}
                        else {it.image(75, 0, id(Bild));}
                  
                  A Offline
                  A Offline
                  appi
                  schrieb am zuletzt editiert von
                  #42

                  @doho besten Dank, sind die PNG's als Standart verfügbar oder selber gezeichnet?

                  1 Antwort Letzte Antwort
                  0
                  • D Offline
                    D Offline
                    DoHo
                    schrieb am zuletzt editiert von DoHo
                    #43

                    Die Bilder hab ich von freepik.com

                    1 Antwort Letzte Antwort
                    0
                    • D Offline
                      D Offline
                      DoHo
                      schrieb am zuletzt editiert von
                      #44

                      Hallo Zusammen,
                      Mein Display macht seit einiger Zeit Probleme und ich komme nicht dahinter, was es ist.
                      Über den Tag hinweg, verliert das Display seinen Kontrast. Morgens ist der Kontrast ok und Abends ist das Display unscharf. Update Intervall 15 Minuten tagsüber. Nachts (22:30 Uhr bis 06:00 Uhr) keine Refresh’s.

                      Verkabelung und Software habe ich geprüft und scheint ok zu sein. Direkt nach dem Refresh ist das Display für wenige ms scharf und wird dann schlagartig „unscharf“. Darum denke ich, es ist ein Konfigurationsthema.
                      Kennst Du das Phänomen vielleicht @draexler? Oder evtl. sonst jemand?

                      Vielen Dank vorab!

                      IMG_7785.jpeg

                      IMG_7786.jpeg

                      draexlerD 1 Antwort Letzte Antwort
                      0
                      • D DoHo

                        Hallo Zusammen,
                        Mein Display macht seit einiger Zeit Probleme und ich komme nicht dahinter, was es ist.
                        Über den Tag hinweg, verliert das Display seinen Kontrast. Morgens ist der Kontrast ok und Abends ist das Display unscharf. Update Intervall 15 Minuten tagsüber. Nachts (22:30 Uhr bis 06:00 Uhr) keine Refresh’s.

                        Verkabelung und Software habe ich geprüft und scheint ok zu sein. Direkt nach dem Refresh ist das Display für wenige ms scharf und wird dann schlagartig „unscharf“. Darum denke ich, es ist ein Konfigurationsthema.
                        Kennst Du das Phänomen vielleicht @draexler? Oder evtl. sonst jemand?

                        Vielen Dank vorab!

                        IMG_7785.jpeg

                        IMG_7786.jpeg

                        draexlerD Nicht stören
                        draexlerD Nicht stören
                        draexler
                        schrieb am zuletzt editiert von
                        #45

                        @doho Ja, das tritt bei meinen Geräten auf, auf denen kein DeepSleep verwendet wird.

                        Fehler ist bekannt und wird mit einer der nächsten Version gefixt.
                        Aktuell musst du auf die 2023.7.0 esphome Version updaten -> Dazu musst du den ioBroker Adapter deinstallieren und wieder installieren. Keine Angst die YAMLS sind danach noch da. Aber trotzdem vielleicht sichern.

                        Anschließen ergänzt du in der YAML folgendes:

                        # Interim solution until solution comes centrally
                        external_components:
                          - source:
                              type: git
                              url: https://github.com/prapador/esphome_waveshare_fix
                              ref: dev
                            components: [ waveshare_epaper ]
                        

                        Und als Display Version verwendest du folgendes:

                        model: 7.50inV2alt
                        

                        Damit sollte das Problem behoben. Es kommt aber irgendwann ein Update. Ein Pull Request dazu läuft schon.

                        1 Antwort Letzte Antwort
                        0
                        • D Offline
                          D Offline
                          DoHo
                          schrieb am zuletzt editiert von
                          #46

                          Danke für den Hinweis @draexler. Laut changelog müsste es mit der neusten Version 2023.7.1 behoben sein. Ich werde es ausprobieren :-)

                          2023-08-04 08_40_22-Releases · esphome_esphome – Mozilla Firefox.png

                          draexlerD 1 Antwort Letzte Antwort
                          0
                          • D DoHo

                            Danke für den Hinweis @draexler. Laut changelog müsste es mit der neusten Version 2023.7.1 behoben sein. Ich werde es ausprobieren :-)

                            2023-08-04 08_40_22-Releases · esphome_esphome – Mozilla Firefox.png

                            draexlerD Nicht stören
                            draexlerD Nicht stören
                            draexler
                            schrieb am zuletzt editiert von
                            #47

                            @doho Ah, sehr gut. Ging also doch schneller als gedacht. Dann einfach nur den Adapter deinstallieren und installieren, damit die neueste Version installiert wird und die ESPs neu flashen, aber trotzdem den Modelnamen ändern:

                            model: 7.50inV2alt
                            
                            

                            ohne "alt" hatte es bei mir keine Auswirkung.

                            1 Antwort Letzte Antwort
                            0
                            • D Offline
                              D Offline
                              DoHo
                              schrieb am zuletzt editiert von
                              #48

                              Stimmt. Ich muss auch den Modelnamen auf:

                              model: 7.50inV2alt
                              

                              ändern. Woher wusstest du das mit dem esphome update?

                              draexlerD 1 Antwort Letzte Antwort
                              0
                              • D DoHo

                                Stimmt. Ich muss auch den Modelnamen auf:

                                model: 7.50inV2alt
                                

                                ändern. Woher wusstest du das mit dem esphome update?

                                draexlerD Nicht stören
                                draexlerD Nicht stören
                                draexler
                                schrieb am zuletzt editiert von
                                #49

                                @doho Du ich bin Recherche mäßig ab und zu in dem ESPHOME GITHUB Projekt unterwegs und dabe ich den Issue gesehen.

                                D 1 Antwort Letzte Antwort
                                0
                                • draexlerD draexler

                                  @doho Du ich bin Recherche mäßig ab und zu in dem ESPHOME GITHUB Projekt unterwegs und dabe ich den Issue gesehen.

                                  D Offline
                                  D Offline
                                  DoHo
                                  schrieb am zuletzt editiert von
                                  #50

                                  @draexler auf jeden Fall nochmal vielen Dank! Ich hätte erstmal weiterhin meine Konfiguration in Frage gestellt.

                                  H 1 Antwort Letzte Antwort
                                  0
                                  • D DoHo

                                    @draexler auf jeden Fall nochmal vielen Dank! Ich hätte erstmal weiterhin meine Konfiguration in Frage gestellt.

                                    H Offline
                                    H Offline
                                    hesse
                                    schrieb am zuletzt editiert von
                                    #51

                                    Vielen Dank für den Hinweis, nach dem Update sieht es nun endlich wieder viel besser aus :)

                                    1 Antwort Letzte Antwort
                                    0
                                    • draexlerD draexler

                                      @smarthome2020
                                      Alles circa Angaben
                                      Display inkl. Treiberplatine -> 70€
                                      ESP -> 20€
                                      Antenne -> 5€
                                      Akkus -> 30€
                                      Kleinigkeiten z.B. LIPO Batteriestecker, Batteriesilberdraht, Schraubklemmen für ESP -> 10€

                                      Also rund ca 130€ bis 150€

                                      Das Gehäuse ist selbstgedruckt... Das kriegt man also nirgends so zum kaufen.

                                      A Offline
                                      A Offline
                                      appi
                                      schrieb am zuletzt editiert von
                                      #52

                                      @draexler
                                      morgen
                                      cooles Projekt, bin auch am rumspielen mit E-Paper und hab vieles von dir übernommen.
                                      würdest du ev. Datein für den 3D Druck für das Gehäuse zur Verfügungstellen? Würde mich freuen.

                                      1 Antwort Letzte Antwort
                                      0
                                      • desqD Offline
                                        desqD Offline
                                        desq
                                        schrieb am zuletzt editiert von desq
                                        #53

                                        @DoHo

                                        Hej.
                                        Da hast Du genau das umgesetzt, wonach ich schon seit ein paar Wochen das Netz durchforste.
                                        Ich biege gerade die mqtt-topics um.

                                        Welchen Adapter verwendest Du für die Wetterprognose?
                                        Würdest Du neben der yaml für espHome (danke dafür) auch die PNGs teilen?

                                        LG,
                                        Stefan

                                        F 1 Antwort Letzte Antwort
                                        0
                                        • desqD desq

                                          @DoHo

                                          Hej.
                                          Da hast Du genau das umgesetzt, wonach ich schon seit ein paar Wochen das Netz durchforste.
                                          Ich biege gerade die mqtt-topics um.

                                          Welchen Adapter verwendest Du für die Wetterprognose?
                                          Würdest Du neben der yaml für espHome (danke dafür) auch die PNGs teilen?

                                          LG,
                                          Stefan

                                          F Offline
                                          F Offline
                                          Fischje
                                          schrieb am zuletzt editiert von Fischje
                                          #54

                                          @desq

                                          da schließe ich mich an, habe gerade erstmal alles zum laufen gebracht. das display in version 2.3 hat mich erstmal nerven gekostet. aber jetzt klappt es erstmal:

                                          4ae2383f-85fe-4b2f-979b-bc81fa1e362a-image.png

                                          Das mit den Images un den vielen Zeichenkonvertierungen sieht nach unglaublich viel arbeit aus...

                                          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

                                          350

                                          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