Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. ePaper Statusdisplay Hausflur

NEWS

  • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar
    BluefoxB
    Bluefox
    11
    2
    203

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    7.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.7k

ePaper Statusdisplay Hausflur

ePaper Statusdisplay Hausflur

Scheduled Pinned Locked Moved Praktische Anwendungen (Showcase)
62 Posts 18 Posters 17.7k Views 27 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • draexlerD Offline
    draexlerD Offline
    draexler
    wrote on last edited by
    #1

    Hi Zusammen,

    Habe für den zentralen Hausflur eines Mehrparteien Hauses ein Status ePaper gebaut mit dem ESPHome Adapter.

    Komponenten sind ein Esp32 Feather, ein 7.5 Waveshare Display und ein 2500 Lipo Akku.

    Aktualisiert wird jede Stunde durch DeepSleep.

    27CE8533-567E-41F5-B71A-D56A849D42DB.jpeg
    1E18C135-4724-4271-B882-2986448E140A.jpeg

    D B Florian 1F 3 Replies Last reply
    12
    • draexlerD draexler

      Hi Zusammen,

      Habe für den zentralen Hausflur eines Mehrparteien Hauses ein Status ePaper gebaut mit dem ESPHome Adapter.

      Komponenten sind ein Esp32 Feather, ein 7.5 Waveshare Display und ein 2500 Lipo Akku.

      Aktualisiert wird jede Stunde durch DeepSleep.

      27CE8533-567E-41F5-B71A-D56A849D42DB.jpeg
      1E18C135-4724-4271-B882-2986448E140A.jpeg

      D Offline
      D Offline
      dos1973
      wrote on last edited by
      #2

      @draexler

      Richtig coole Sache !!

      1 Reply Last reply
      0
      • draexlerD draexler

        Hi Zusammen,

        Habe für den zentralen Hausflur eines Mehrparteien Hauses ein Status ePaper gebaut mit dem ESPHome Adapter.

        Komponenten sind ein Esp32 Feather, ein 7.5 Waveshare Display und ein 2500 Lipo Akku.

        Aktualisiert wird jede Stunde durch DeepSleep.

        27CE8533-567E-41F5-B71A-D56A849D42DB.jpeg
        1E18C135-4724-4271-B882-2986448E140A.jpeg

        B Offline
        B Offline
        bimmi
        wrote on last edited by bimmi
        #3

        Sehr schön.

        Ich bin da im Moment an was ähnlichem dran jedoch mit elektronischen Preisschildern.

        Ich habe einen Schwung von eBay ergattert und versuche seit ein paar Tagen das ganze zum laufen zu bringen mit

        https://github.com/atc1441/E-Paper_Pricetags

        IMG_20220924_184443.jpg

        IMG_20220924_184453.jpg

        Jedoch scheitert es bei mir in der Übertragung.

        Edit: vielleicht magst du ein paar mehr Informationen dazu Preis geben wie zum Beispiel welche Software du nutzt, wie schickst du deine generierten Bilder an den eingebauten esp und wie läuft das mit dem deepsleep... Läuft da eine rtc mit dazu die den Display aufweckt.... Würde mich freuen!

        Gruß Bimmi

        iobroker in einer Proxmox Umgebung auf einem ausrangierten DELL OptiPlex 3080 24GB i5 in der VM auf SSD. Nutze den slaeh zigbee Router mit Tür- und Temperatursensoren von Aqara, viele Tasmota Devices, Unifi AP, Sprinklecontrol, günstige E-INK Displays, Adguard und noch vieles mehr 😬

        draexlerD 1 Reply Last reply
        0
        • B bimmi

          Sehr schön.

          Ich bin da im Moment an was ähnlichem dran jedoch mit elektronischen Preisschildern.

          Ich habe einen Schwung von eBay ergattert und versuche seit ein paar Tagen das ganze zum laufen zu bringen mit

          https://github.com/atc1441/E-Paper_Pricetags

          IMG_20220924_184443.jpg

          IMG_20220924_184453.jpg

          Jedoch scheitert es bei mir in der Übertragung.

          Edit: vielleicht magst du ein paar mehr Informationen dazu Preis geben wie zum Beispiel welche Software du nutzt, wie schickst du deine generierten Bilder an den eingebauten esp und wie läuft das mit dem deepsleep... Läuft da eine rtc mit dazu die den Display aufweckt.... Würde mich freuen!

          draexlerD Offline
          draexlerD Offline
          draexler
          wrote on last edited by
          #4

          @bimmi Hi, gerne 🙂

          also zwecks Software:

          • ioBroker 😉
          • espHome Adapter (hier ist die Komplette Unterstützung der Waveshare Displays bereits integriert und die Doku ist TOP) und die ganze compilirerei der YAML wird dort auch für dich gemacht. OTA Updates sind auch möglich.
          • MQTT Adapter
          • Javascript Adapter

          Hardware:

          • ESP: Also entweder direkt von Waveshare die ePaper Driver Boards (das erspart einiges an Kabelei, da das Flachband vom Display direkt auf das Board gesteckt wird oder meine Empfehlung das Adafruit HUZZAH32 – ESP32 Feather Board.
            Damit habe ich die beste Erfahrung gemacht und ich habe einige ESP ausprobiert. Und hier kannst du auch direkt den LIPO Akku anstecken.
          • ePaper: Einfach in der ESPHOME Doku nachsehen welche Display Größen unterstützt werden.
          • Wenn Batterie Betrieb. LIPO Akku in deiner größe.

          BILDER:
          Die Bilder liegen im ersten Step in einen Verzeichnis auf deinem ioBroker. In der YAML gibts du dazu den Pfad an.

          z.B:

          image:
            - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Status/Oeltank/Oeltank_0.png"
              id: Oeltank_0
              resize: 95x95
          

          und dann im Lambda Bereich
          z.B.

              lambda: |-
                // HINTERGRUNDBILD
                it.image(115, 270, id(Oeltank_0));
          

          DEEP SLEEP:

          Du kann die ESP entweder zu einen bestimmten Zeitpunkt aufwecken oder auch per Taster
          In meine Fall habe ich es simpler gemacht und aktualisiere jede Stunde einmal:

          deep_sleep:
            id: deep_sleep_1
            run_duration: 35s
            sleep_duration: 60min
          
          draexlerD T 2 Replies Last reply
          2
          • draexlerD draexler

            @bimmi Hi, gerne 🙂

            also zwecks Software:

            • ioBroker 😉
            • espHome Adapter (hier ist die Komplette Unterstützung der Waveshare Displays bereits integriert und die Doku ist TOP) und die ganze compilirerei der YAML wird dort auch für dich gemacht. OTA Updates sind auch möglich.
            • MQTT Adapter
            • Javascript Adapter

            Hardware:

            • ESP: Also entweder direkt von Waveshare die ePaper Driver Boards (das erspart einiges an Kabelei, da das Flachband vom Display direkt auf das Board gesteckt wird oder meine Empfehlung das Adafruit HUZZAH32 – ESP32 Feather Board.
              Damit habe ich die beste Erfahrung gemacht und ich habe einige ESP ausprobiert. Und hier kannst du auch direkt den LIPO Akku anstecken.
            • ePaper: Einfach in der ESPHOME Doku nachsehen welche Display Größen unterstützt werden.
            • Wenn Batterie Betrieb. LIPO Akku in deiner größe.

            BILDER:
            Die Bilder liegen im ersten Step in einen Verzeichnis auf deinem ioBroker. In der YAML gibts du dazu den Pfad an.

            z.B:

            image:
              - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Status/Oeltank/Oeltank_0.png"
                id: Oeltank_0
                resize: 95x95
            

            und dann im Lambda Bereich
            z.B.

                lambda: |-
                  // HINTERGRUNDBILD
                  it.image(115, 270, id(Oeltank_0));
            

            DEEP SLEEP:

            Du kann die ESP entweder zu einen bestimmten Zeitpunkt aufwecken oder auch per Taster
            In meine Fall habe ich es simpler gemacht und aktualisiere jede Stunde einmal:

            deep_sleep:
              id: deep_sleep_1
              run_duration: 35s
              sleep_duration: 60min
            
            draexlerD Offline
            draexlerD Offline
            draexler
            wrote on last edited by
            #5

            Ansonsten kann ich gerne auch die gesamt YAML mal posten:

            esphome:
              name: TEST
                
              on_boot:
                priority: -100
                then:
                  - delay: 1s
                  - component.update: current_time
                  # Give some time to get the rest of the mqtt data
                  - component.update: epaper_display
                  # Wait for display update cycle
                
            esp32:
              board: featheresp32
            
            # Enable logging
            logger:
              level: DEBUG
            
            # Enable Home Assistant API
            api:
              password: !secret api_password
            
            # OTA
            ota:
              password: "DeinPasswort"
              
            # Enable MQTT 
            mqtt:
              broker: 192.168.x.xx
              username: xxx
              password: !secret mqtt_password
              client_id: Test
              topic_prefix: esphome/Test
              
            # OTA MODUS
              on_message:
                - topic: esphome.Test.ota
                  payload: 'ON'
                  then:
                    - deep_sleep.prevent: deep_sleep_1
                - topic: esphome.Test.deepsleep
                  payload: 'ON'
                  then:
                    - deep_sleep.enter: deep_sleep_1
            
            # Epaper display doesn't turn back on after deep sleep while on lipo powerunless this switch is defined. Not sure why!
            switch:
              - platform: gpio
                pin:
                  number: 21
                  inverted: yes
                id: Display_Reset
                internal: true
                name: "Display Reset"
            
            # Enable WIFI
            wifi:
              ssid: !secret wifi_ssid
              password: !secret wifi_password
              fast_connect: True
              
            # Enable fallback hotspot (captive portal) in case wifi connection fails
              ap:
                ssid: "Test"
                password: "password"
                
            ##############
            
            captive_portal:
            
            font:
              # Schrift für Kästchenbeschriftung z.B. Innen
              - file: "/opt/iobroker/iobroker-data/esphome.0/Fonts/VerdanaBold.ttf"
                id: VerdanaBold24
                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: 24
              # Schrift für Wertebezeichnungen z.B. MAX TEMPERATUR
              - file: "/opt/iobroker/iobroker-data/esphome.0/Fonts/Verdana.ttf"
                id: Verdana20
                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
                # Schrift für Zentrale Wichtige Werte z.B. Temperatur Innen
              - file: "/opt/iobroker/iobroker-data/esphome.0/Fonts/VerdanaBold.ttf"
                id: VerdanaBold32
                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: 32
                # Schrift für Werte z.B. MAX TEMPERATUR
              - file: "/opt/iobroker/iobroker-data/esphome.0/Fonts/VerdanaBold.ttf"
                id: VerdanaBold20
                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
                # Schrift für Trend Tage
              - file: "/opt/iobroker/iobroker-data/esphome.0/Fonts/VerdanaBold.ttf"
                id: VerdanaBold15
                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: 15
                # Schrift für Trend Werte
              - file: "/opt/iobroker/iobroker-data/esphome.0/Fonts/VerdanaBold.ttf"
                id: VerdanaBold17
                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: 17
                # Schrift für Wettersymbole
              - file: "/opt/iobroker/iobroker-data/esphome.0/Fonts/Materialdesignicons-Webfont.ttf"
                id: Icons60
                size: 60
                glyphs:
                - "\U000F0599" # Sonne,
                - "\U000F0595" # Sonne bewölkt, Sonne stark bewölkt
                - "\U000F0590" # bewölkt		
                - "\U000F0597" # Sonne bewölkt leichter Regen, Sonne stark bewölkt leichter Regen, bewölkt leichter Regen
                - "\U000F0596" # Sonne bewölkt starker Regen, Sonne stark bewölkt starker Regen, stark bewölkt starker Regen
                - "\U000F0593" # Sonne bewölkt Unwetter, Sonne stark bewölkt Unwetter, stark bewölkt Unwetter
                - "\U000F0592" # Sonne bewölkt Eisregen, Sonne stark bewölkt Eisregen, stark bewölkt Eisregen, Sonne bewölkt Schneeregen, Sonne stark bewölkt Schneeregen, stark bewölkt Schneeregen
                - "\U000F0598" # Sonne bewölkt Schnee, Sonne stark bewölkt Schnee, stark bewölkt Schnee
                
            image:
              - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Status/VISStatus.png"
                id: VISStatus
                resize: 800x480
              - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Status/Oeltank/Oeltank_0.png"
                id: Oeltank_0
                resize: 95x95
              - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Status/Oeltank/Oeltank_10.png"
                id: Oeltank_10
                resize: 95x95
              - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Status/Oeltank/Oeltank_20.png"
                id: Oeltank_20
                resize: 95x95
              - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Status/Oeltank/Oeltank_30.png"
                id: Oeltank_30
                resize: 95x95
              - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Status/Oeltank/Oeltank_40.png"
                id: Oeltank_40
                resize: 95x95
              - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Status/Oeltank/Oeltank_50.png"
                id: Oeltank_50
                resize: 95x95
              - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Status/Oeltank/Oeltank_60.png"
                id: Oeltank_60
                resize: 95x95
              - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Status/Oeltank/Oeltank_70.png"
                id: Oeltank_70
                resize: 95x95
              - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Status/Oeltank/Oeltank_80.png"
                id: Oeltank_80
                resize: 95x95
              - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Status/Oeltank/Oeltank_90.png"
                id: Oeltank_90
                resize: 95x95
              - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Status/Oeltank/Oeltank_100.png"
                id: Oeltank_100
                resize: 95x95
                
            text_sensor:
                #MQTT SENSOR HEUTE DATUM LANG
              - platform: mqtt_subscribe
                id: HeuteDatumLang
                topic: subscribe_text_sensor/Kalender/Heute/DatumLang
                #MQTT SENSOR TEMPERATUR AUSSEN
              - platform: mqtt_subscribe
                id: TemperaturAussen
                topic: subscribe_text_sensor/Wetter/Aussen/Temperatur
                #MQTT SENSOR LUFTFEUCHTIGKEIT AUSSEN
              - platform: mqtt_subscribe
                id: LuftfeuchtigkeitAussen
                topic: subscribe_text_sensor/Wetter/Aussen/Luftfeuchtigkeit
                #MQTT SENSOR MAX TEMPERATUR AUSSEN
              - platform: mqtt_subscribe
                id: MaxTemperaturAussen
                topic: subscribe_text_sensor/Wetter/Aussen/MaxTemp
                #MQTT SENSOR MIN TEMPERATUR AUSSEN
              - platform: mqtt_subscribe
                id: MinTemperaturAussen
                topic: subscribe_text_sensor/Wetter/Aussen/MinTemp
                #MQTT SENSOR TAG MORGEN
              - platform: mqtt_subscribe
                id: TagMorgen
                topic: subscribe_text_sensor/Wetter/Trend/Tag/Morgen
                #MQTT SENSOR TAG ÜBERMORGEN
              - platform: mqtt_subscribe
                id: TagUEbermorgen
                topic: subscribe_text_sensor/Wetter/Trend/Tag/UeMorgen
                #MQTT SENSOR TAG ÜBER-ÜBERMORGEN
              - platform: mqtt_subscribe
                id: TagUEberUebermorgen
                topic: subscribe_text_sensor/Wetter/Trend/Tag/UeUeMorgen
                #MQTT SENSOR WETTERSYMBOL MORGEN
              - platform: mqtt_subscribe
                id: WettersymbolMorgen
                topic: subscribe_text_sensor/Wetter/Trend/Symbol/Morgen
                #MQTT SENSOR WETTERSYMBOL ÜBERMORGEN
              - platform: mqtt_subscribe
                id: WettersymbolUEbermorgen
                topic: subscribe_text_sensor/Wetter/Trend/Symbol/UeMorgen
                #MQTT SENSOR WETTERSYMBOL ÜBER-ÜBERMORGEN
              - platform: mqtt_subscribe
                id: WettersymbolUEberUebermorgen
                topic: subscribe_text_sensor/Wetter/Trend/Symbol/UeUeMorgen
                #MQTT SENSOR TEMPERATUR MAX MORGEN
              - platform: mqtt_subscribe
                id: MaxTempMorgen
                topic: subscribe_text_sensor/Wetter/Trend/MaxTemp/Morgen
                #MQTT SENSOR TEMPERATUR MIN MORGEN
              - platform: mqtt_subscribe
                id: MinTempMorgen
                topic: subscribe_text_sensor/Wetter/Trend/MinTemp/Morgen
                #MQTT SENSOR TEMPERATUR MAX ÜBERMORGEN
              - platform: mqtt_subscribe
                id: MaxTempUEbermorgen
                topic: subscribe_text_sensor/Wetter/Trend/MaxTemp/UeMorgen
                #MQTT SENSOR TEMPERATUR MIN ÜBERMORGEN
              - platform: mqtt_subscribe
                id: MinTempUEbermorgen
                topic: subscribe_text_sensor/Wetter/Trend/MinTemp/UeMorgen
                #MQTT SENSOR TEMPERATUR MAX ÜBER-ÜBERMORGEN
              - platform: mqtt_subscribe
                id: MaxTempUEberUebermorgen
                topic: subscribe_text_sensor/Wetter/Trend/MaxTemp/UeUeMorgen
                #MQTT SENSOR TEMPERATUR MIN ÜBER-ÜBERMORGEN
              - platform: mqtt_subscribe
                id: MinTempUEberUebermorgen
                topic: subscribe_text_sensor/Wetter/Trend/MinTemp/UeUeMorgen
                #MQTT SENSOR PHOTOVOLTAIK HAUSVERBRAUCH
              - platform: mqtt_subscribe
                id: PhotovoltaikHausverbrauch
                topic: subscribe_text_sensor/Photovoltaik/Hausverbrauch
                #MQTT SENSOR PHOTOVOLTAIK ERZEUGUNG
              - platform: mqtt_subscribe
                id: PhotovoltaikErzeugung
                topic: subscribe_text_sensor/Photovoltaik/Erzeugung
                #MQTT SENSOR PHOTOVOLTAIK BEZUG
              - platform: mqtt_subscribe
                id: PhotovoltaikBezug
                topic: subscribe_text_sensor/Photovoltaik/Bezug
                #MQTT SENSOR PHOTOVOLTAIK EINSPEISUNG
              - platform: mqtt_subscribe
                id: PhotovoltaikEinspeisung
                topic: subscribe_text_sensor/Photovoltaik/Einspeisung
                #MQTT SENSOR ÖLTANK RESTMENGE   
              - platform: mqtt_subscribe
                id: OeltankRestmenge
                topic: subscribe_text_sensor/Oeltank/Restmenge
                #MQTT SENSOR ÖLTANK RESTLITER   
              - platform: mqtt_subscribe
                id: OeltankRestliter
                topic: subscribe_text_sensor/Oeltank/Restliter
                #MQTT SENSOR ÖLTANK ENDDATUM   
              - platform: mqtt_subscribe
                id: OeltankEnddatum
                topic: subscribe_text_sensor/Oeltank/Enddatum
                #MQTT SENSOR ÖLTANK SYMBOL   
              - platform: mqtt_subscribe
                id: OeltankSymbol
                topic: subscribe_text_sensor/Oeltank/Symbol
                #MQTT SENSOR HAUSARBEIT WISCHEN KALENDERWOCHE
              - platform: mqtt_subscribe
                id: HausarbeitWischenKalenderwoche
                topic: subscribe_text_sensor/Hausarbeit/Wischen/Kalenderwoche
                #MQTT SENSOR HAUSARBEIT WISCHEN NAME
              - platform: mqtt_subscribe
                id: HausarbeitWischenName
                topic: subscribe_text_sensor/Hausarbeit/Wischen/Name
                #MQTT SENSOR MÜLL RESTMUELL DATUM
              - platform: mqtt_subscribe
                id: MuellRestmuellDatum
                topic: subscribe_text_sensor/Muell/Restmuell/Datum
                #MQTT SENSOR MÜLL RESTMUELL RESTTAGE
              - platform: mqtt_subscribe
                id: MuellRestmuellResttage
                topic: subscribe_text_sensor/Muell/Restmuell/Resttage
                #MQTT SENSOR MÜLL PAPIERTONNE DATUM
              - platform: mqtt_subscribe
                id: MuellPapiertonneDatum
                topic: subscribe_text_sensor/Muell/Papiertonne/Datum
                #MQTT SENSOR MÜLL PAPIERTONNE RESTTAGE
              - platform: mqtt_subscribe
                id: MuellPapiertonneResttage
                topic: subscribe_text_sensor/Muell/Papiertonne/Resttage
                #MQTT SENSOR ENERGIE ZÄHLER STROMBEZUG
              - platform: mqtt_subscribe
                id: EnergieZaehlerStrombezug
                topic: subscribe_text_sensor/Energie/Zaehler/Strombezug
                #MQTT SENSOR ENERGIE ZÄHLER STROMEINSPEISUNG
              - platform: mqtt_subscribe
                id: EnergieZaehlerStromeinspeisung
                topic: subscribe_text_sensor/Energie/Zaehler/Stromeinspeisung
                #MQTT SENSOR ENERGIE ZÄHLER WASSER
              - platform: mqtt_subscribe
                id: EnergieZaehlerWasser
                topic: subscribe_text_sensor/Energie/Zaehler/Wasser
                
            time:
             - platform: sntp
               id: current_time
               timezone: Europe/Berlin
               servers : ptbtime1.ptb.de
               
            deep_sleep:
              id: deep_sleep_1
              run_duration: 35s
              sleep_duration: 60min
               
            spi:
              clk_pin: 5
              mosi_pin: 18
              id: epaper_spi
            
            display:
              - platform: waveshare_epaper
                id: epaper_display
                cs_pin: 22
                dc_pin: 23
                busy_pin: 39
                reset_pin: 21
                model: 7.50inV2
                spi_id: epaper_spi
                update_interval: never
                reset_duration: 2ms
                
                lambda: |-
                  // HINTERGRUNDBILD
                  it.image(0, 0, id(VISStatus));
                  
                  //ÜBERSCHRIFTEN
                  //WETTER
                  it.print(87, 15, id(VerdanaBold24), TextAlign::TOP_CENTER, "WETTER");
                  //TREND
                  it.print(87, 158, id(VerdanaBold24), TextAlign::TOP_CENTER, "TREND");
                  //PV KWH
                  it.print(87, 294, id(VerdanaBold24), TextAlign::TOP_CENTER, "PV KWH");
                  //ÖLTANK
                  it.print(473, 15, id(VerdanaBold24), TextAlign::TOP_CENTER, "ÖLTANK");
                  //WISCHEN
                  it.print(473, 153, id(VerdanaBold24), TextAlign::TOP_CENTER, "WISCHEN");
                  //MÜLL
                  it.print(473, 225, id(VerdanaBold24), TextAlign::TOP_CENTER, "MÜLL");
                  //ZÄHLER
                  it.print(473, 340, id(VerdanaBold24), TextAlign::TOP_CENTER, "ZÄHLER");
                  
                  //DATUM
                  it.printf(688, 17, id(VerdanaBold24), TextAlign::TOP_CENTER, "%s", id(HeuteDatumLang).state.c_str());
                  
                  //AUSSEN WERTEBEZEICHNUNGEN
                  //TEMPERATUR
                  it.print(26, 48, id(Verdana20), "Temperatur");
                  //LUFTFEUCHTIGKEIT
                  it.print(26, 75, id(Verdana20), "Luftfeuchtigkeit");
                  //MAX TEMPERATUR
                  it.print(26, 102, id(Verdana20), "MAX Temperatur");
                  //MIN TEMPERATUR
                  it.print(26, 130, id(Verdana20), "MIN Temperatur");
                  
                  //AUSSEN WERTE
                  //Temperatur
                  it.printf(374, 38, id(VerdanaBold32), TextAlign::TOP_RIGHT, "%s", id(TemperaturAussen).state.c_str());
                  //LUFTFEUCHTIKEIT
                  it.printf(374, 75, id(VerdanaBold20), TextAlign::TOP_RIGHT, "%s", id(LuftfeuchtigkeitAussen).state.c_str());
                  //MAX TEMPERATUR
                  it.printf(374, 102, id(VerdanaBold20), TextAlign::TOP_RIGHT, "%s", id(MaxTemperaturAussen).state.c_str());
                  //MIN TEMPERATUR
                  it.printf(374, 130, id(VerdanaBold20), TextAlign::TOP_RIGHT, "%s", id(MinTemperaturAussen).state.c_str());
                  
                  //TREND TAGE WERTE
                  //MORGEN TAG
                  it.printf(84, 268, id(VerdanaBold15), TextAlign::TOP_CENTER, "%s", id(TagMorgen).state.c_str());
                  //ÜBERMORGEN TAG
                  it.printf(205, 268, id(VerdanaBold15), TextAlign::TOP_CENTER, "%s", id(TagUEbermorgen).state.c_str());
                  //ÜBER-ÜBERMORGEN TAG
                  it.printf(323, 268, id(VerdanaBold15), TextAlign::TOP_CENTER, "%s", id(TagUEberUebermorgen).state.c_str());
            
                  //TREND SYMBOL WERTE
                  //SYMBOL MORGEN STATE 1
                  if (id(WettersymbolMorgen).state == "1") {
                  it.print(55, 194, id(Icons60), "\U000F0599");}
                  //SYMBOL MORGEN STATE 2
                  if (id(WettersymbolMorgen).state == "2") {
                  it.print(55, 194, id(Icons60), "\U000F0595");}
                  //SYMBOL MORGEN STATE 3
                  if (id(WettersymbolMorgen).state == "3") {
                  it.print(55, 194, id(Icons60), "\U000F0590");}
                  //SYMBOL MORGEN STATE 4
                  if (id(WettersymbolMorgen).state == "4") {
                  it.print(55, 194, id(Icons60), "\U000F0597");}
                  //SYMBOL MORGEN STATE 5
                  if (id(WettersymbolMorgen).state == "5") {
                  it.print(55, 194, id(Icons60), "\U000F0596");}
                  //SYMBOL MORGEN STATE 6
                  if (id(WettersymbolMorgen).state == "6") {
                  it.print(55, 194, id(Icons60), "\U000F0593");}
                  //SYMBOL MORGEN STATE 7
                  if (id(WettersymbolMorgen).state == "7") {
                  it.print(55, 194, id(Icons60), "\U000F0592");}
                  //SYMBOL MORGEN STATE 8
                  if (id(WettersymbolMorgen).state == "8") {
                  it.print(55, 194, id(Icons60), "\U000F0598");}
                  //TREND SYMBOL ÜBERMORGEN
                  //SYMBOL ÜBERMORGEN STATE 1
                  if (id(WettersymbolUEbermorgen).state == "1") {
                  it.print(175, 194, id(Icons60), "\U000F0599");}
                  //SYMBOL ÜBERMORGEN STATE 2
                  if (id(WettersymbolUEbermorgen).state == "2") {
                  it.print(175, 194, id(Icons60), "\U000F0595");}
                  //SYMBOL ÜBERMORGEN STATE 3
                  if (id(WettersymbolUEbermorgen).state == "3") {
                  it.print(175, 194, id(Icons60), "\U000F0590");}
                  //SYMBOL ÜBERMORGEN STATE 4
                  if (id(WettersymbolUEbermorgen).state == "4") {
                  it.print(175, 194, id(Icons60), "\U000F0597");}
                  //SYMBOL ÜBERMORGEN STATE 5
                  if (id(WettersymbolUEbermorgen).state == "5") {
                  it.print(175, 194, id(Icons60), "\U000F0596");}
                  //SYMBOL ÜBERMORGEN STATE 6
                  if (id(WettersymbolUEbermorgen).state == "6") {
                  it.print(175, 194, id(Icons60), "\U000F0593");}
                  //SYMBOL ÜBERMORGEN STATE 7
                  if (id(WettersymbolUEbermorgen).state == "7") {
                  it.print(175, 194, id(Icons60), "\U000F0592");}
                  //SYMBOL ÜBERMORGEN STATE 8
                  if (id(WettersymbolUEbermorgen).state == "8") {
                  it.print(175, 194, id(Icons60), "\U000F0598");}
                  //TREND SYMBOL ÜBER-ÜBERMORGEN
                  //SYMBOL ÜBER-ÜBERMORGEN STATE 1
                  if (id(WettersymbolUEberUebermorgen).state == "1") {
                  it.print(295, 194, id(Icons60), "\U000F0599");}
                  //SYMBOL ÜBER-ÜBERMORGEN STATE 2
                  if (id(WettersymbolUEberUebermorgen).state == "2") {
                  it.print(295, 194, id(Icons60), "\U000F0595");}
                  //SYMBOL ÜBER-ÜBERMORGEN STATE 3
                  if (id(WettersymbolUEberUebermorgen).state == "3") {
                  it.print(295, 194, id(Icons60), "\U000F0590");}
                  //SYMBOL ÜBER-ÜBERMORGEN STATE 4
                  if (id(WettersymbolUEberUebermorgen).state == "4") {
                  it.print(295, 194, id(Icons60), "\U000F0597");}
                  //SYMBOL ÜBER-ÜBERMORGEN STATE 5
                  if (id(WettersymbolUEberUebermorgen).state == "5") {
                  it.print(295, 194, id(Icons60), "\U000F0596");}
                  //SYMBOL ÜBER-ÜBERMORGEN STATE 6
                  if (id(WettersymbolUEberUebermorgen).state == "6") {
                  it.print(295, 194, id(Icons60), "\U000F0593");}
                  //SYMBOL ÜBER-ÜBERMORGEN STATE 7
                  if (id(WettersymbolUEberUebermorgen).state == "7") {
                  it.print(295, 194, id(Icons60), "\U000F0592");}
                  //SYMBOL ÜBER-ÜBERMORGEN STATE 8
                  if (id(WettersymbolUEberUebermorgen).state == "8") {
                  it.print(295, 194, id(Icons60), "\U000F0598");}
            
                  //TREND TAGE TEMPERATUR
                  //MORGEN MAX TEMPERATUR
                  it.printf(61, 248, id(VerdanaBold17), TextAlign::TOP_CENTER, "%s", id(MaxTempMorgen).state.c_str());
                  //MORGEN MIN TEMPERATUR
                  it.printf(107, 248, id(VerdanaBold17), TextAlign::TOP_CENTER, "%s", id(MinTempMorgen).state.c_str());
                  //ÜBERMORGEN MAX TEMPERATUR
                  it.printf(181, 248, id(VerdanaBold17), TextAlign::TOP_CENTER, "%s", id(MaxTempUEbermorgen).state.c_str());
                  //ÜBERMORGEN MIN TEMPERATUR
                  it.printf(227, 248, id(VerdanaBold17), TextAlign::TOP_CENTER, "%s", id(MinTempUEbermorgen).state.c_str());
                  //ÜBER-ÜBERMORGEN MAX TEMPERATUR
                  it.printf(302, 248, id(VerdanaBold17), TextAlign::TOP_CENTER, "%s", id(MaxTempUEberUebermorgen).state.c_str());
                  //ÜBER-ÜBERMORGEN MIN TEMPERATUR
                  it.printf(348, 248, id(VerdanaBold17), TextAlign::TOP_CENTER, "%s", id(MinTempUEberUebermorgen).state.c_str());
                  
                  //PV kW/h
                  //HAUSVERBRAUCH
                  it.printf(138, 414, id(VerdanaBold20), TextAlign::TOP_CENTER, "%s", id(PhotovoltaikHausverbrauch).state.c_str());
                  //ERZEUGUNG
                  it.printf(138, 351, id(VerdanaBold20), TextAlign::TOP_CENTER, "%s", id(PhotovoltaikErzeugung).state.c_str());
                  //BEZUG
                  it.printf(271, 351, id(VerdanaBold20), TextAlign::TOP_CENTER, "%s", id(PhotovoltaikBezug).state.c_str());
                  //EINSPEISUNG
                  it.printf(271, 414, id(VerdanaBold20), TextAlign::TOP_CENTER, "%s", id(PhotovoltaikEinspeisung).state.c_str());
                  
                  //OELTANK WERTEBEZEICHNUNGEN
                  //RESTMENGE
                  it.print(504, 68, id(Verdana20), "Restmenge");
                  //RESTLITER
                  it.print(504, 94, id(Verdana20), "Restliter");
                  //ENDDATUM
                  it.print(504, 120, id(Verdana20), "Enddatum");
                  
                  //OELTANK WERTE
                  //RESTMENGE
                  it.printf(760, 68, id(VerdanaBold20), TextAlign::TOP_RIGHT, "%s", id(OeltankRestmenge).state.c_str());
                  //RESTLITER
                  it.printf(760, 94, id(VerdanaBold20), TextAlign::TOP_RIGHT, "%s", id(OeltankRestliter).state.c_str());
                  //ENDDATUM
                  it.printf(760, 120, id(VerdanaBold20), TextAlign::TOP_RIGHT, "%s", id(OeltankEnddatum).state.c_str());
                  
                  //Oeltank SYMBOL
                  //Oeltank 0%
                  if (id(OeltankSymbol).state == "0") {
                  it.image(405, 50, id(Oeltank_0));}
                  //Oeltank 10%
                  if (id(OeltankSymbol).state == "1") {
                  it.image(405, 50, id(Oeltank_10));}
                  //Oeltank 20%
                  if (id(OeltankSymbol).state == "2") {
                  it.image(405, 50, id(Oeltank_20));}
                  //Oeltank 30%
                  if (id(OeltankSymbol).state == "3") {
                  it.image(405, 50, id(Oeltank_30));}
                  //Oeltank 40%
                  if (id(OeltankSymbol).state == "4") {
                  it.image(405, 50, id(Oeltank_40));}
                  //Oeltank 50%
                  if (id(OeltankSymbol).state == "5") {
                  it.image(405, 50, id(Oeltank_50));}
                  //Oeltank 60%
                  if (id(OeltankSymbol).state == "6") {
                  it.image(405, 50, id(Oeltank_60));}
                  //Oeltank 70%
                  if (id(OeltankSymbol).state == "7") {
                  it.image(405, 50, id(Oeltank_70));}
                  //Oeltank 80%
                  if (id(OeltankSymbol).state == "8") {
                  it.image(405, 50, id(Oeltank_80));}
                  //Oeltank 90%
                  if (id(OeltankSymbol).state == "9") {
                  it.image(405, 50, id(Oeltank_90));}
                  //Oeltank 100%
                  if (id(OeltankSymbol).state == "10") {
                  it.image(405, 50, id(Oeltank_100));}
                  
                  //HAUSARBEIT WISCHEN
                  //KALENDERWOCHE
                  it.printf(412, 191, id(Verdana20), "%s", id(HausarbeitWischenKalenderwoche).state.c_str());
                  //NAME
                  it.printf(760, 191, id(VerdanaBold20), TextAlign::TOP_RIGHT, "%s", id(HausarbeitWischenName).state.c_str());
                  
                  //MUELL WERTEBEZEICHNUNGEN
                  //RESTMUELLTONNE
                  it.print(476, 275, id(Verdana20), "Restmüll");
                  //PAPIERTONNE
                  it.print(646, 275, id(Verdana20), "Papiertonne");
                  
                  //MUELL WERTE
                  //RESTMUELL DATUM
                  it.printf(476, 301, id(VerdanaBold20), "%s", id(MuellRestmuellDatum).state.c_str());
                  //RESTMUELL TAGE
                  it.printf(443, 286, id(VerdanaBold17), TextAlign::TOP_CENTER, "%s", id(MuellRestmuellResttage).state.c_str());
                  //PAPIERTONNE DATUM
                  it.printf(646, 301, id(VerdanaBold20), "%s", id(MuellPapiertonneDatum).state.c_str());
                  //PAPIERTONNE TAGE
                  it.printf(614, 286, id(VerdanaBold17), TextAlign::TOP_CENTER, "%s", id(MuellPapiertonneResttage).state.c_str());
                  
                  //ZAEHLER WERTEBEZEICHNUNGEN
                  //STROMBEZUG
                  it.printf(412, 380, id(Verdana20), "Strom Bezug");
                  //STROMEINSPEISUNG
                  it.printf(412, 406, id(Verdana20), "Strom Einspeisung");
                  //WASSER
                  it.printf(412, 432, id(Verdana20), "Wasser");
                  
                  //ZAEHLER WERTE
                  //STROMBEZUG
                  it.printf(760, 380, id(VerdanaBold20), TextAlign::TOP_RIGHT, "%s", id(EnergieZaehlerStrombezug).state.c_str());
                  //STROMEINSPEISUNG
                  it.printf(760, 406, id(VerdanaBold20), TextAlign::TOP_RIGHT, "%s", id(EnergieZaehlerStromeinspeisung).state.c_str());
                  //WASSER
                  it.printf(760, 432, id(VerdanaBold20), TextAlign::TOP_RIGHT, "%s", id(EnergieZaehlerWasser).state.c_str());
            
            B 1 Reply Last reply
            2
            • draexlerD draexler

              Ansonsten kann ich gerne auch die gesamt YAML mal posten:

              esphome:
                name: TEST
                  
                on_boot:
                  priority: -100
                  then:
                    - delay: 1s
                    - component.update: current_time
                    # Give some time to get the rest of the mqtt data
                    - component.update: epaper_display
                    # Wait for display update cycle
                  
              esp32:
                board: featheresp32
              
              # Enable logging
              logger:
                level: DEBUG
              
              # Enable Home Assistant API
              api:
                password: !secret api_password
              
              # OTA
              ota:
                password: "DeinPasswort"
                
              # Enable MQTT 
              mqtt:
                broker: 192.168.x.xx
                username: xxx
                password: !secret mqtt_password
                client_id: Test
                topic_prefix: esphome/Test
                
              # OTA MODUS
                on_message:
                  - topic: esphome.Test.ota
                    payload: 'ON'
                    then:
                      - deep_sleep.prevent: deep_sleep_1
                  - topic: esphome.Test.deepsleep
                    payload: 'ON'
                    then:
                      - deep_sleep.enter: deep_sleep_1
              
              # Epaper display doesn't turn back on after deep sleep while on lipo powerunless this switch is defined. Not sure why!
              switch:
                - platform: gpio
                  pin:
                    number: 21
                    inverted: yes
                  id: Display_Reset
                  internal: true
                  name: "Display Reset"
              
              # Enable WIFI
              wifi:
                ssid: !secret wifi_ssid
                password: !secret wifi_password
                fast_connect: True
                
              # Enable fallback hotspot (captive portal) in case wifi connection fails
                ap:
                  ssid: "Test"
                  password: "password"
                  
              ##############
              
              captive_portal:
              
              font:
                # Schrift für Kästchenbeschriftung z.B. Innen
                - file: "/opt/iobroker/iobroker-data/esphome.0/Fonts/VerdanaBold.ttf"
                  id: VerdanaBold24
                  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: 24
                # Schrift für Wertebezeichnungen z.B. MAX TEMPERATUR
                - file: "/opt/iobroker/iobroker-data/esphome.0/Fonts/Verdana.ttf"
                  id: Verdana20
                  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
                  # Schrift für Zentrale Wichtige Werte z.B. Temperatur Innen
                - file: "/opt/iobroker/iobroker-data/esphome.0/Fonts/VerdanaBold.ttf"
                  id: VerdanaBold32
                  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: 32
                  # Schrift für Werte z.B. MAX TEMPERATUR
                - file: "/opt/iobroker/iobroker-data/esphome.0/Fonts/VerdanaBold.ttf"
                  id: VerdanaBold20
                  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
                  # Schrift für Trend Tage
                - file: "/opt/iobroker/iobroker-data/esphome.0/Fonts/VerdanaBold.ttf"
                  id: VerdanaBold15
                  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: 15
                  # Schrift für Trend Werte
                - file: "/opt/iobroker/iobroker-data/esphome.0/Fonts/VerdanaBold.ttf"
                  id: VerdanaBold17
                  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: 17
                  # Schrift für Wettersymbole
                - file: "/opt/iobroker/iobroker-data/esphome.0/Fonts/Materialdesignicons-Webfont.ttf"
                  id: Icons60
                  size: 60
                  glyphs:
                  - "\U000F0599" # Sonne,
                  - "\U000F0595" # Sonne bewölkt, Sonne stark bewölkt
                  - "\U000F0590" # bewölkt		
                  - "\U000F0597" # Sonne bewölkt leichter Regen, Sonne stark bewölkt leichter Regen, bewölkt leichter Regen
                  - "\U000F0596" # Sonne bewölkt starker Regen, Sonne stark bewölkt starker Regen, stark bewölkt starker Regen
                  - "\U000F0593" # Sonne bewölkt Unwetter, Sonne stark bewölkt Unwetter, stark bewölkt Unwetter
                  - "\U000F0592" # Sonne bewölkt Eisregen, Sonne stark bewölkt Eisregen, stark bewölkt Eisregen, Sonne bewölkt Schneeregen, Sonne stark bewölkt Schneeregen, stark bewölkt Schneeregen
                  - "\U000F0598" # Sonne bewölkt Schnee, Sonne stark bewölkt Schnee, stark bewölkt Schnee
                  
              image:
                - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Status/VISStatus.png"
                  id: VISStatus
                  resize: 800x480
                - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Status/Oeltank/Oeltank_0.png"
                  id: Oeltank_0
                  resize: 95x95
                - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Status/Oeltank/Oeltank_10.png"
                  id: Oeltank_10
                  resize: 95x95
                - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Status/Oeltank/Oeltank_20.png"
                  id: Oeltank_20
                  resize: 95x95
                - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Status/Oeltank/Oeltank_30.png"
                  id: Oeltank_30
                  resize: 95x95
                - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Status/Oeltank/Oeltank_40.png"
                  id: Oeltank_40
                  resize: 95x95
                - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Status/Oeltank/Oeltank_50.png"
                  id: Oeltank_50
                  resize: 95x95
                - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Status/Oeltank/Oeltank_60.png"
                  id: Oeltank_60
                  resize: 95x95
                - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Status/Oeltank/Oeltank_70.png"
                  id: Oeltank_70
                  resize: 95x95
                - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Status/Oeltank/Oeltank_80.png"
                  id: Oeltank_80
                  resize: 95x95
                - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Status/Oeltank/Oeltank_90.png"
                  id: Oeltank_90
                  resize: 95x95
                - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Status/Oeltank/Oeltank_100.png"
                  id: Oeltank_100
                  resize: 95x95
                  
              text_sensor:
                  #MQTT SENSOR HEUTE DATUM LANG
                - platform: mqtt_subscribe
                  id: HeuteDatumLang
                  topic: subscribe_text_sensor/Kalender/Heute/DatumLang
                  #MQTT SENSOR TEMPERATUR AUSSEN
                - platform: mqtt_subscribe
                  id: TemperaturAussen
                  topic: subscribe_text_sensor/Wetter/Aussen/Temperatur
                  #MQTT SENSOR LUFTFEUCHTIGKEIT AUSSEN
                - platform: mqtt_subscribe
                  id: LuftfeuchtigkeitAussen
                  topic: subscribe_text_sensor/Wetter/Aussen/Luftfeuchtigkeit
                  #MQTT SENSOR MAX TEMPERATUR AUSSEN
                - platform: mqtt_subscribe
                  id: MaxTemperaturAussen
                  topic: subscribe_text_sensor/Wetter/Aussen/MaxTemp
                  #MQTT SENSOR MIN TEMPERATUR AUSSEN
                - platform: mqtt_subscribe
                  id: MinTemperaturAussen
                  topic: subscribe_text_sensor/Wetter/Aussen/MinTemp
                  #MQTT SENSOR TAG MORGEN
                - platform: mqtt_subscribe
                  id: TagMorgen
                  topic: subscribe_text_sensor/Wetter/Trend/Tag/Morgen
                  #MQTT SENSOR TAG ÜBERMORGEN
                - platform: mqtt_subscribe
                  id: TagUEbermorgen
                  topic: subscribe_text_sensor/Wetter/Trend/Tag/UeMorgen
                  #MQTT SENSOR TAG ÜBER-ÜBERMORGEN
                - platform: mqtt_subscribe
                  id: TagUEberUebermorgen
                  topic: subscribe_text_sensor/Wetter/Trend/Tag/UeUeMorgen
                  #MQTT SENSOR WETTERSYMBOL MORGEN
                - platform: mqtt_subscribe
                  id: WettersymbolMorgen
                  topic: subscribe_text_sensor/Wetter/Trend/Symbol/Morgen
                  #MQTT SENSOR WETTERSYMBOL ÜBERMORGEN
                - platform: mqtt_subscribe
                  id: WettersymbolUEbermorgen
                  topic: subscribe_text_sensor/Wetter/Trend/Symbol/UeMorgen
                  #MQTT SENSOR WETTERSYMBOL ÜBER-ÜBERMORGEN
                - platform: mqtt_subscribe
                  id: WettersymbolUEberUebermorgen
                  topic: subscribe_text_sensor/Wetter/Trend/Symbol/UeUeMorgen
                  #MQTT SENSOR TEMPERATUR MAX MORGEN
                - platform: mqtt_subscribe
                  id: MaxTempMorgen
                  topic: subscribe_text_sensor/Wetter/Trend/MaxTemp/Morgen
                  #MQTT SENSOR TEMPERATUR MIN MORGEN
                - platform: mqtt_subscribe
                  id: MinTempMorgen
                  topic: subscribe_text_sensor/Wetter/Trend/MinTemp/Morgen
                  #MQTT SENSOR TEMPERATUR MAX ÜBERMORGEN
                - platform: mqtt_subscribe
                  id: MaxTempUEbermorgen
                  topic: subscribe_text_sensor/Wetter/Trend/MaxTemp/UeMorgen
                  #MQTT SENSOR TEMPERATUR MIN ÜBERMORGEN
                - platform: mqtt_subscribe
                  id: MinTempUEbermorgen
                  topic: subscribe_text_sensor/Wetter/Trend/MinTemp/UeMorgen
                  #MQTT SENSOR TEMPERATUR MAX ÜBER-ÜBERMORGEN
                - platform: mqtt_subscribe
                  id: MaxTempUEberUebermorgen
                  topic: subscribe_text_sensor/Wetter/Trend/MaxTemp/UeUeMorgen
                  #MQTT SENSOR TEMPERATUR MIN ÜBER-ÜBERMORGEN
                - platform: mqtt_subscribe
                  id: MinTempUEberUebermorgen
                  topic: subscribe_text_sensor/Wetter/Trend/MinTemp/UeUeMorgen
                  #MQTT SENSOR PHOTOVOLTAIK HAUSVERBRAUCH
                - platform: mqtt_subscribe
                  id: PhotovoltaikHausverbrauch
                  topic: subscribe_text_sensor/Photovoltaik/Hausverbrauch
                  #MQTT SENSOR PHOTOVOLTAIK ERZEUGUNG
                - platform: mqtt_subscribe
                  id: PhotovoltaikErzeugung
                  topic: subscribe_text_sensor/Photovoltaik/Erzeugung
                  #MQTT SENSOR PHOTOVOLTAIK BEZUG
                - platform: mqtt_subscribe
                  id: PhotovoltaikBezug
                  topic: subscribe_text_sensor/Photovoltaik/Bezug
                  #MQTT SENSOR PHOTOVOLTAIK EINSPEISUNG
                - platform: mqtt_subscribe
                  id: PhotovoltaikEinspeisung
                  topic: subscribe_text_sensor/Photovoltaik/Einspeisung
                  #MQTT SENSOR ÖLTANK RESTMENGE   
                - platform: mqtt_subscribe
                  id: OeltankRestmenge
                  topic: subscribe_text_sensor/Oeltank/Restmenge
                  #MQTT SENSOR ÖLTANK RESTLITER   
                - platform: mqtt_subscribe
                  id: OeltankRestliter
                  topic: subscribe_text_sensor/Oeltank/Restliter
                  #MQTT SENSOR ÖLTANK ENDDATUM   
                - platform: mqtt_subscribe
                  id: OeltankEnddatum
                  topic: subscribe_text_sensor/Oeltank/Enddatum
                  #MQTT SENSOR ÖLTANK SYMBOL   
                - platform: mqtt_subscribe
                  id: OeltankSymbol
                  topic: subscribe_text_sensor/Oeltank/Symbol
                  #MQTT SENSOR HAUSARBEIT WISCHEN KALENDERWOCHE
                - platform: mqtt_subscribe
                  id: HausarbeitWischenKalenderwoche
                  topic: subscribe_text_sensor/Hausarbeit/Wischen/Kalenderwoche
                  #MQTT SENSOR HAUSARBEIT WISCHEN NAME
                - platform: mqtt_subscribe
                  id: HausarbeitWischenName
                  topic: subscribe_text_sensor/Hausarbeit/Wischen/Name
                  #MQTT SENSOR MÜLL RESTMUELL DATUM
                - platform: mqtt_subscribe
                  id: MuellRestmuellDatum
                  topic: subscribe_text_sensor/Muell/Restmuell/Datum
                  #MQTT SENSOR MÜLL RESTMUELL RESTTAGE
                - platform: mqtt_subscribe
                  id: MuellRestmuellResttage
                  topic: subscribe_text_sensor/Muell/Restmuell/Resttage
                  #MQTT SENSOR MÜLL PAPIERTONNE DATUM
                - platform: mqtt_subscribe
                  id: MuellPapiertonneDatum
                  topic: subscribe_text_sensor/Muell/Papiertonne/Datum
                  #MQTT SENSOR MÜLL PAPIERTONNE RESTTAGE
                - platform: mqtt_subscribe
                  id: MuellPapiertonneResttage
                  topic: subscribe_text_sensor/Muell/Papiertonne/Resttage
                  #MQTT SENSOR ENERGIE ZÄHLER STROMBEZUG
                - platform: mqtt_subscribe
                  id: EnergieZaehlerStrombezug
                  topic: subscribe_text_sensor/Energie/Zaehler/Strombezug
                  #MQTT SENSOR ENERGIE ZÄHLER STROMEINSPEISUNG
                - platform: mqtt_subscribe
                  id: EnergieZaehlerStromeinspeisung
                  topic: subscribe_text_sensor/Energie/Zaehler/Stromeinspeisung
                  #MQTT SENSOR ENERGIE ZÄHLER WASSER
                - platform: mqtt_subscribe
                  id: EnergieZaehlerWasser
                  topic: subscribe_text_sensor/Energie/Zaehler/Wasser
                  
              time:
               - platform: sntp
                 id: current_time
                 timezone: Europe/Berlin
                 servers : ptbtime1.ptb.de
                 
              deep_sleep:
                id: deep_sleep_1
                run_duration: 35s
                sleep_duration: 60min
                 
              spi:
                clk_pin: 5
                mosi_pin: 18
                id: epaper_spi
              
              display:
                - platform: waveshare_epaper
                  id: epaper_display
                  cs_pin: 22
                  dc_pin: 23
                  busy_pin: 39
                  reset_pin: 21
                  model: 7.50inV2
                  spi_id: epaper_spi
                  update_interval: never
                  reset_duration: 2ms
                  
                  lambda: |-
                    // HINTERGRUNDBILD
                    it.image(0, 0, id(VISStatus));
                    
                    //ÜBERSCHRIFTEN
                    //WETTER
                    it.print(87, 15, id(VerdanaBold24), TextAlign::TOP_CENTER, "WETTER");
                    //TREND
                    it.print(87, 158, id(VerdanaBold24), TextAlign::TOP_CENTER, "TREND");
                    //PV KWH
                    it.print(87, 294, id(VerdanaBold24), TextAlign::TOP_CENTER, "PV KWH");
                    //ÖLTANK
                    it.print(473, 15, id(VerdanaBold24), TextAlign::TOP_CENTER, "ÖLTANK");
                    //WISCHEN
                    it.print(473, 153, id(VerdanaBold24), TextAlign::TOP_CENTER, "WISCHEN");
                    //MÜLL
                    it.print(473, 225, id(VerdanaBold24), TextAlign::TOP_CENTER, "MÜLL");
                    //ZÄHLER
                    it.print(473, 340, id(VerdanaBold24), TextAlign::TOP_CENTER, "ZÄHLER");
                    
                    //DATUM
                    it.printf(688, 17, id(VerdanaBold24), TextAlign::TOP_CENTER, "%s", id(HeuteDatumLang).state.c_str());
                    
                    //AUSSEN WERTEBEZEICHNUNGEN
                    //TEMPERATUR
                    it.print(26, 48, id(Verdana20), "Temperatur");
                    //LUFTFEUCHTIGKEIT
                    it.print(26, 75, id(Verdana20), "Luftfeuchtigkeit");
                    //MAX TEMPERATUR
                    it.print(26, 102, id(Verdana20), "MAX Temperatur");
                    //MIN TEMPERATUR
                    it.print(26, 130, id(Verdana20), "MIN Temperatur");
                    
                    //AUSSEN WERTE
                    //Temperatur
                    it.printf(374, 38, id(VerdanaBold32), TextAlign::TOP_RIGHT, "%s", id(TemperaturAussen).state.c_str());
                    //LUFTFEUCHTIKEIT
                    it.printf(374, 75, id(VerdanaBold20), TextAlign::TOP_RIGHT, "%s", id(LuftfeuchtigkeitAussen).state.c_str());
                    //MAX TEMPERATUR
                    it.printf(374, 102, id(VerdanaBold20), TextAlign::TOP_RIGHT, "%s", id(MaxTemperaturAussen).state.c_str());
                    //MIN TEMPERATUR
                    it.printf(374, 130, id(VerdanaBold20), TextAlign::TOP_RIGHT, "%s", id(MinTemperaturAussen).state.c_str());
                    
                    //TREND TAGE WERTE
                    //MORGEN TAG
                    it.printf(84, 268, id(VerdanaBold15), TextAlign::TOP_CENTER, "%s", id(TagMorgen).state.c_str());
                    //ÜBERMORGEN TAG
                    it.printf(205, 268, id(VerdanaBold15), TextAlign::TOP_CENTER, "%s", id(TagUEbermorgen).state.c_str());
                    //ÜBER-ÜBERMORGEN TAG
                    it.printf(323, 268, id(VerdanaBold15), TextAlign::TOP_CENTER, "%s", id(TagUEberUebermorgen).state.c_str());
              
                    //TREND SYMBOL WERTE
                    //SYMBOL MORGEN STATE 1
                    if (id(WettersymbolMorgen).state == "1") {
                    it.print(55, 194, id(Icons60), "\U000F0599");}
                    //SYMBOL MORGEN STATE 2
                    if (id(WettersymbolMorgen).state == "2") {
                    it.print(55, 194, id(Icons60), "\U000F0595");}
                    //SYMBOL MORGEN STATE 3
                    if (id(WettersymbolMorgen).state == "3") {
                    it.print(55, 194, id(Icons60), "\U000F0590");}
                    //SYMBOL MORGEN STATE 4
                    if (id(WettersymbolMorgen).state == "4") {
                    it.print(55, 194, id(Icons60), "\U000F0597");}
                    //SYMBOL MORGEN STATE 5
                    if (id(WettersymbolMorgen).state == "5") {
                    it.print(55, 194, id(Icons60), "\U000F0596");}
                    //SYMBOL MORGEN STATE 6
                    if (id(WettersymbolMorgen).state == "6") {
                    it.print(55, 194, id(Icons60), "\U000F0593");}
                    //SYMBOL MORGEN STATE 7
                    if (id(WettersymbolMorgen).state == "7") {
                    it.print(55, 194, id(Icons60), "\U000F0592");}
                    //SYMBOL MORGEN STATE 8
                    if (id(WettersymbolMorgen).state == "8") {
                    it.print(55, 194, id(Icons60), "\U000F0598");}
                    //TREND SYMBOL ÜBERMORGEN
                    //SYMBOL ÜBERMORGEN STATE 1
                    if (id(WettersymbolUEbermorgen).state == "1") {
                    it.print(175, 194, id(Icons60), "\U000F0599");}
                    //SYMBOL ÜBERMORGEN STATE 2
                    if (id(WettersymbolUEbermorgen).state == "2") {
                    it.print(175, 194, id(Icons60), "\U000F0595");}
                    //SYMBOL ÜBERMORGEN STATE 3
                    if (id(WettersymbolUEbermorgen).state == "3") {
                    it.print(175, 194, id(Icons60), "\U000F0590");}
                    //SYMBOL ÜBERMORGEN STATE 4
                    if (id(WettersymbolUEbermorgen).state == "4") {
                    it.print(175, 194, id(Icons60), "\U000F0597");}
                    //SYMBOL ÜBERMORGEN STATE 5
                    if (id(WettersymbolUEbermorgen).state == "5") {
                    it.print(175, 194, id(Icons60), "\U000F0596");}
                    //SYMBOL ÜBERMORGEN STATE 6
                    if (id(WettersymbolUEbermorgen).state == "6") {
                    it.print(175, 194, id(Icons60), "\U000F0593");}
                    //SYMBOL ÜBERMORGEN STATE 7
                    if (id(WettersymbolUEbermorgen).state == "7") {
                    it.print(175, 194, id(Icons60), "\U000F0592");}
                    //SYMBOL ÜBERMORGEN STATE 8
                    if (id(WettersymbolUEbermorgen).state == "8") {
                    it.print(175, 194, id(Icons60), "\U000F0598");}
                    //TREND SYMBOL ÜBER-ÜBERMORGEN
                    //SYMBOL ÜBER-ÜBERMORGEN STATE 1
                    if (id(WettersymbolUEberUebermorgen).state == "1") {
                    it.print(295, 194, id(Icons60), "\U000F0599");}
                    //SYMBOL ÜBER-ÜBERMORGEN STATE 2
                    if (id(WettersymbolUEberUebermorgen).state == "2") {
                    it.print(295, 194, id(Icons60), "\U000F0595");}
                    //SYMBOL ÜBER-ÜBERMORGEN STATE 3
                    if (id(WettersymbolUEberUebermorgen).state == "3") {
                    it.print(295, 194, id(Icons60), "\U000F0590");}
                    //SYMBOL ÜBER-ÜBERMORGEN STATE 4
                    if (id(WettersymbolUEberUebermorgen).state == "4") {
                    it.print(295, 194, id(Icons60), "\U000F0597");}
                    //SYMBOL ÜBER-ÜBERMORGEN STATE 5
                    if (id(WettersymbolUEberUebermorgen).state == "5") {
                    it.print(295, 194, id(Icons60), "\U000F0596");}
                    //SYMBOL ÜBER-ÜBERMORGEN STATE 6
                    if (id(WettersymbolUEberUebermorgen).state == "6") {
                    it.print(295, 194, id(Icons60), "\U000F0593");}
                    //SYMBOL ÜBER-ÜBERMORGEN STATE 7
                    if (id(WettersymbolUEberUebermorgen).state == "7") {
                    it.print(295, 194, id(Icons60), "\U000F0592");}
                    //SYMBOL ÜBER-ÜBERMORGEN STATE 8
                    if (id(WettersymbolUEberUebermorgen).state == "8") {
                    it.print(295, 194, id(Icons60), "\U000F0598");}
              
                    //TREND TAGE TEMPERATUR
                    //MORGEN MAX TEMPERATUR
                    it.printf(61, 248, id(VerdanaBold17), TextAlign::TOP_CENTER, "%s", id(MaxTempMorgen).state.c_str());
                    //MORGEN MIN TEMPERATUR
                    it.printf(107, 248, id(VerdanaBold17), TextAlign::TOP_CENTER, "%s", id(MinTempMorgen).state.c_str());
                    //ÜBERMORGEN MAX TEMPERATUR
                    it.printf(181, 248, id(VerdanaBold17), TextAlign::TOP_CENTER, "%s", id(MaxTempUEbermorgen).state.c_str());
                    //ÜBERMORGEN MIN TEMPERATUR
                    it.printf(227, 248, id(VerdanaBold17), TextAlign::TOP_CENTER, "%s", id(MinTempUEbermorgen).state.c_str());
                    //ÜBER-ÜBERMORGEN MAX TEMPERATUR
                    it.printf(302, 248, id(VerdanaBold17), TextAlign::TOP_CENTER, "%s", id(MaxTempUEberUebermorgen).state.c_str());
                    //ÜBER-ÜBERMORGEN MIN TEMPERATUR
                    it.printf(348, 248, id(VerdanaBold17), TextAlign::TOP_CENTER, "%s", id(MinTempUEberUebermorgen).state.c_str());
                    
                    //PV kW/h
                    //HAUSVERBRAUCH
                    it.printf(138, 414, id(VerdanaBold20), TextAlign::TOP_CENTER, "%s", id(PhotovoltaikHausverbrauch).state.c_str());
                    //ERZEUGUNG
                    it.printf(138, 351, id(VerdanaBold20), TextAlign::TOP_CENTER, "%s", id(PhotovoltaikErzeugung).state.c_str());
                    //BEZUG
                    it.printf(271, 351, id(VerdanaBold20), TextAlign::TOP_CENTER, "%s", id(PhotovoltaikBezug).state.c_str());
                    //EINSPEISUNG
                    it.printf(271, 414, id(VerdanaBold20), TextAlign::TOP_CENTER, "%s", id(PhotovoltaikEinspeisung).state.c_str());
                    
                    //OELTANK WERTEBEZEICHNUNGEN
                    //RESTMENGE
                    it.print(504, 68, id(Verdana20), "Restmenge");
                    //RESTLITER
                    it.print(504, 94, id(Verdana20), "Restliter");
                    //ENDDATUM
                    it.print(504, 120, id(Verdana20), "Enddatum");
                    
                    //OELTANK WERTE
                    //RESTMENGE
                    it.printf(760, 68, id(VerdanaBold20), TextAlign::TOP_RIGHT, "%s", id(OeltankRestmenge).state.c_str());
                    //RESTLITER
                    it.printf(760, 94, id(VerdanaBold20), TextAlign::TOP_RIGHT, "%s", id(OeltankRestliter).state.c_str());
                    //ENDDATUM
                    it.printf(760, 120, id(VerdanaBold20), TextAlign::TOP_RIGHT, "%s", id(OeltankEnddatum).state.c_str());
                    
                    //Oeltank SYMBOL
                    //Oeltank 0%
                    if (id(OeltankSymbol).state == "0") {
                    it.image(405, 50, id(Oeltank_0));}
                    //Oeltank 10%
                    if (id(OeltankSymbol).state == "1") {
                    it.image(405, 50, id(Oeltank_10));}
                    //Oeltank 20%
                    if (id(OeltankSymbol).state == "2") {
                    it.image(405, 50, id(Oeltank_20));}
                    //Oeltank 30%
                    if (id(OeltankSymbol).state == "3") {
                    it.image(405, 50, id(Oeltank_30));}
                    //Oeltank 40%
                    if (id(OeltankSymbol).state == "4") {
                    it.image(405, 50, id(Oeltank_40));}
                    //Oeltank 50%
                    if (id(OeltankSymbol).state == "5") {
                    it.image(405, 50, id(Oeltank_50));}
                    //Oeltank 60%
                    if (id(OeltankSymbol).state == "6") {
                    it.image(405, 50, id(Oeltank_60));}
                    //Oeltank 70%
                    if (id(OeltankSymbol).state == "7") {
                    it.image(405, 50, id(Oeltank_70));}
                    //Oeltank 80%
                    if (id(OeltankSymbol).state == "8") {
                    it.image(405, 50, id(Oeltank_80));}
                    //Oeltank 90%
                    if (id(OeltankSymbol).state == "9") {
                    it.image(405, 50, id(Oeltank_90));}
                    //Oeltank 100%
                    if (id(OeltankSymbol).state == "10") {
                    it.image(405, 50, id(Oeltank_100));}
                    
                    //HAUSARBEIT WISCHEN
                    //KALENDERWOCHE
                    it.printf(412, 191, id(Verdana20), "%s", id(HausarbeitWischenKalenderwoche).state.c_str());
                    //NAME
                    it.printf(760, 191, id(VerdanaBold20), TextAlign::TOP_RIGHT, "%s", id(HausarbeitWischenName).state.c_str());
                    
                    //MUELL WERTEBEZEICHNUNGEN
                    //RESTMUELLTONNE
                    it.print(476, 275, id(Verdana20), "Restmüll");
                    //PAPIERTONNE
                    it.print(646, 275, id(Verdana20), "Papiertonne");
                    
                    //MUELL WERTE
                    //RESTMUELL DATUM
                    it.printf(476, 301, id(VerdanaBold20), "%s", id(MuellRestmuellDatum).state.c_str());
                    //RESTMUELL TAGE
                    it.printf(443, 286, id(VerdanaBold17), TextAlign::TOP_CENTER, "%s", id(MuellRestmuellResttage).state.c_str());
                    //PAPIERTONNE DATUM
                    it.printf(646, 301, id(VerdanaBold20), "%s", id(MuellPapiertonneDatum).state.c_str());
                    //PAPIERTONNE TAGE
                    it.printf(614, 286, id(VerdanaBold17), TextAlign::TOP_CENTER, "%s", id(MuellPapiertonneResttage).state.c_str());
                    
                    //ZAEHLER WERTEBEZEICHNUNGEN
                    //STROMBEZUG
                    it.printf(412, 380, id(Verdana20), "Strom Bezug");
                    //STROMEINSPEISUNG
                    it.printf(412, 406, id(Verdana20), "Strom Einspeisung");
                    //WASSER
                    it.printf(412, 432, id(Verdana20), "Wasser");
                    
                    //ZAEHLER WERTE
                    //STROMBEZUG
                    it.printf(760, 380, id(VerdanaBold20), TextAlign::TOP_RIGHT, "%s", id(EnergieZaehlerStrombezug).state.c_str());
                    //STROMEINSPEISUNG
                    it.printf(760, 406, id(VerdanaBold20), TextAlign::TOP_RIGHT, "%s", id(EnergieZaehlerStromeinspeisung).state.c_str());
                    //WASSER
                    it.printf(760, 432, id(VerdanaBold20), TextAlign::TOP_RIGHT, "%s", id(EnergieZaehlerWasser).state.c_str());
              
              B Offline
              B Offline
              bimmi
              wrote on last edited by
              #6

              @draexler wow. Vielen Dank für die ausführlichen Informationen über das Projekt.

              Da setze ich mich doch gleich ran und versuche mein Glück 😬👍

              Gruß Bimmi

              iobroker in einer Proxmox Umgebung auf einem ausrangierten DELL OptiPlex 3080 24GB i5 in der VM auf SSD. Nutze den slaeh zigbee Router mit Tür- und Temperatursensoren von Aqara, viele Tasmota Devices, Unifi AP, Sprinklecontrol, günstige E-INK Displays, Adguard und noch vieles mehr 😬

              1 Reply Last reply
              0
              • draexlerD draexler

                @bimmi Hi, gerne 🙂

                also zwecks Software:

                • ioBroker 😉
                • espHome Adapter (hier ist die Komplette Unterstützung der Waveshare Displays bereits integriert und die Doku ist TOP) und die ganze compilirerei der YAML wird dort auch für dich gemacht. OTA Updates sind auch möglich.
                • MQTT Adapter
                • Javascript Adapter

                Hardware:

                • ESP: Also entweder direkt von Waveshare die ePaper Driver Boards (das erspart einiges an Kabelei, da das Flachband vom Display direkt auf das Board gesteckt wird oder meine Empfehlung das Adafruit HUZZAH32 – ESP32 Feather Board.
                  Damit habe ich die beste Erfahrung gemacht und ich habe einige ESP ausprobiert. Und hier kannst du auch direkt den LIPO Akku anstecken.
                • ePaper: Einfach in der ESPHOME Doku nachsehen welche Display Größen unterstützt werden.
                • Wenn Batterie Betrieb. LIPO Akku in deiner größe.

                BILDER:
                Die Bilder liegen im ersten Step in einen Verzeichnis auf deinem ioBroker. In der YAML gibts du dazu den Pfad an.

                z.B:

                image:
                  - file: "/opt/iobroker/iobroker-data/esphome.0/Pictures/Status/Oeltank/Oeltank_0.png"
                    id: Oeltank_0
                    resize: 95x95
                

                und dann im Lambda Bereich
                z.B.

                    lambda: |-
                      // HINTERGRUNDBILD
                      it.image(115, 270, id(Oeltank_0));
                

                DEEP SLEEP:

                Du kann die ESP entweder zu einen bestimmten Zeitpunkt aufwecken oder auch per Taster
                In meine Fall habe ich es simpler gemacht und aktualisiere jede Stunde einmal:

                deep_sleep:
                  id: deep_sleep_1
                  run_duration: 35s
                  sleep_duration: 60min
                
                T Offline
                T Offline
                thomassch
                wrote on last edited by thomassch
                #7

                Hallo @draexler,

                Super Projekt, gefällt mir.
                Damit ich das Bild nicht vorher designen muss und nur werte Anzeige, würde ich gerne ein gerendertes Bild vom Iobroker auf dem epaper darstellen, hast du eine Idee wie das ginge oder wo ich suchen könnte?
                Damit könnte ich dann zb. Grafana Bilder darstellen.

                Gruß
                Thomas

                ******* iobroker auf Intel PC, Raspberry PI4 + Homematic CCU *******

                draexlerD 1 Reply Last reply
                0
                • T thomassch

                  Hallo @draexler,

                  Super Projekt, gefällt mir.
                  Damit ich das Bild nicht vorher designen muss und nur werte Anzeige, würde ich gerne ein gerendertes Bild vom Iobroker auf dem epaper darstellen, hast du eine Idee wie das ginge oder wo ich suchen könnte?
                  Damit könnte ich dann zb. Grafana Bilder darstellen.

                  Gruß
                  Thomas

                  draexlerD Offline
                  draexlerD Offline
                  draexler
                  wrote on last edited by
                  #8

                  @thomassch Freut mich wenn es dir gefällt 🙂

                  Also mit Bilder nachladen auf dem ESP wird's vermutlich nix werden... Da ist ein ESP zu schwach auf der Brust was ich so recherchiert habe, das er das ON THE FLY könnte. Die müssen immer neu drauf geflasht werden.
                  Wobei esphome schon sehr einfache Graphen abbilden könnte. Einfach mal in die Doku von ESPhome schauen.
                  In der Verbindung mit einem Raspberry würde es aber schon gehen. Das habe ich sogar auch schon mal umgesetzt. Siehe https://forum.iobroker.net/topic/46943/gelöst-wetter-display/19
                  Da kannst du dann einfach eine Screenshot von einer VIS etc. mit Puppetier auf dein ePaper zaubern lassen 😉
                  Ein Batteriebetrieb ist dann aber nicht mehr so einfach möglich.

                  JLegJ 1 Reply Last reply
                  0
                  • T Offline
                    T Offline
                    thomassch
                    wrote on last edited by
                    #9

                    Hallo @draexler ,
                    schade aber ok, dachte mir schon das der ESP32 hier eventuell zu wenig Dampf hat.

                    Gruss
                    Thomas

                    ******* iobroker auf Intel PC, Raspberry PI4 + Homematic CCU *******

                    1 Reply Last reply
                    0
                    • draexlerD draexler

                      @thomassch Freut mich wenn es dir gefällt 🙂

                      Also mit Bilder nachladen auf dem ESP wird's vermutlich nix werden... Da ist ein ESP zu schwach auf der Brust was ich so recherchiert habe, das er das ON THE FLY könnte. Die müssen immer neu drauf geflasht werden.
                      Wobei esphome schon sehr einfache Graphen abbilden könnte. Einfach mal in die Doku von ESPhome schauen.
                      In der Verbindung mit einem Raspberry würde es aber schon gehen. Das habe ich sogar auch schon mal umgesetzt. Siehe https://forum.iobroker.net/topic/46943/gelöst-wetter-display/19
                      Da kannst du dann einfach eine Screenshot von einer VIS etc. mit Puppetier auf dein ePaper zaubern lassen 😉
                      Ein Batteriebetrieb ist dann aber nicht mehr so einfach möglich.

                      JLegJ Offline
                      JLegJ Offline
                      JLeg
                      wrote on last edited by
                      #10

                      @draexler sagte in ePaper Statusdisplay Hausflur:

                      Also mit Bilder nachladen auf dem ESP wird's vermutlich nix werden... Da ist ein ESP zu schwach auf der Brust was ich so recherchiert habe, das er das ON THE FLY könnte.

                      hm, was meinst du mit "on the fly" hier genau? Ich hab' z.B. ein Waveshare-e-ink an einem Feather-S2 (mit einem Feather-Friends-Shield, hiess das glaube ich), und der holt sich jede paar Minuten ein neues Bild von der auf dem Shield befindlichen SD-Card. Dorthin zwischendurch per POST einen Upload draufladen sollte eigentlich funktionieren?

                      draexlerD 1 Reply Last reply
                      0
                      • JLegJ JLeg

                        @draexler sagte in ePaper Statusdisplay Hausflur:

                        Also mit Bilder nachladen auf dem ESP wird's vermutlich nix werden... Da ist ein ESP zu schwach auf der Brust was ich so recherchiert habe, das er das ON THE FLY könnte.

                        hm, was meinst du mit "on the fly" hier genau? Ich hab' z.B. ein Waveshare-e-ink an einem Feather-S2 (mit einem Feather-Friends-Shield, hiess das glaube ich), und der holt sich jede paar Minuten ein neues Bild von der auf dem Shield befindlichen SD-Card. Dorthin zwischendurch per POST einen Upload draufladen sollte eigentlich funktionieren?

                        draexlerD Offline
                        draexlerD Offline
                        draexler
                        wrote on last edited by
                        #11

                        @jleg Hi 🙂 Das der ESP das Bild im laufenden Betrieb holt.
                        Mhh... Sehr interessant wenn es anscheinend doch geht. Wobei meine Recherchen immer in Verbindung mit ESPHome stehen und da wurden mir in den einschlägigen Foren (esphome Community HomeAsisst etc.) gesagt das es nicht gehen würde.
                        Auf welcher Basis (Software) hast du das realisiert? Auch mit ESPhome oder mit einen Ardoino etc. Projekt?
                        Was natürlich bei mir auch ganz wichtig ist, das ein Batteriebetrieb möglich ist und da zählt jede Sekunde im Deepsleep die ich runterschrauben kann bzw. der ESP auch allgemein sparsam ist.

                        draexlerD 1 Reply Last reply
                        0
                        • draexlerD draexler

                          @jleg Hi 🙂 Das der ESP das Bild im laufenden Betrieb holt.
                          Mhh... Sehr interessant wenn es anscheinend doch geht. Wobei meine Recherchen immer in Verbindung mit ESPHome stehen und da wurden mir in den einschlägigen Foren (esphome Community HomeAsisst etc.) gesagt das es nicht gehen würde.
                          Auf welcher Basis (Software) hast du das realisiert? Auch mit ESPhome oder mit einen Ardoino etc. Projekt?
                          Was natürlich bei mir auch ganz wichtig ist, das ein Batteriebetrieb möglich ist und da zählt jede Sekunde im Deepsleep die ich runterschrauben kann bzw. der ESP auch allgemein sparsam ist.

                          draexlerD Offline
                          draexlerD Offline
                          draexler
                          wrote on last edited by
                          #12

                          @draexler sagte in ePaper Statusdisplay Hausflur:

                          @jleg Hi 🙂 Das der ESP das Bild im laufenden Betrieb holt.
                          Mhh... Sehr interessant wenn es anscheinend doch geht. Wobei meine Recherchen immer in Verbindung mit ESPHome stehen und da wurden mir in den einschlägigen Foren (esphome Community HomeAsisst etc.) gesagt das es nicht gehen würde.
                          Auf welcher Basis (Software) hast du das realisiert? Auch mit ESPhome oder mit einen Ardoino etc. Projekt?
                          Was natürlich bei mir auch ganz wichtig ist, das ein Batteriebetrieb möglich ist und da zählt jede Sekunde im Deepsleep die ich runterschrauben kann bzw. der ESP auch allgemein sparsam ist.

                          Laut Adafruit Spec ist aber bei dem „Friends“ bei 4,2Zoll (300x400) Schluss, oder?

                          JLegJ 1 Reply Last reply
                          0
                          • draexlerD draexler

                            @draexler sagte in ePaper Statusdisplay Hausflur:

                            @jleg Hi 🙂 Das der ESP das Bild im laufenden Betrieb holt.
                            Mhh... Sehr interessant wenn es anscheinend doch geht. Wobei meine Recherchen immer in Verbindung mit ESPHome stehen und da wurden mir in den einschlägigen Foren (esphome Community HomeAsisst etc.) gesagt das es nicht gehen würde.
                            Auf welcher Basis (Software) hast du das realisiert? Auch mit ESPhome oder mit einen Ardoino etc. Projekt?
                            Was natürlich bei mir auch ganz wichtig ist, das ein Batteriebetrieb möglich ist und da zählt jede Sekunde im Deepsleep die ich runterschrauben kann bzw. der ESP auch allgemein sparsam ist.

                            Laut Adafruit Spec ist aber bei dem „Friends“ bei 4,2Zoll (300x400) Schluss, oder?

                            JLegJ Offline
                            JLegJ Offline
                            JLeg
                            wrote on last edited by JLeg
                            #13

                            @draexler
                            Ist ein 5,65‘‘ Display, 600 × 448 Pixel, 7 Farben 😏

                            Und ja, läuft als Arduinoprojekt, und einer fertigen Lib für das Display…

                            Edit: ja, die 32k vom Friendsshield sind natürlich viel zu klein, daher der FeatherS2 - der hat 8MB PSRAM für den Bildspeicher.

                            draexlerD 1 Reply Last reply
                            0
                            • JLegJ JLeg

                              @draexler
                              Ist ein 5,65‘‘ Display, 600 × 448 Pixel, 7 Farben 😏

                              Und ja, läuft als Arduinoprojekt, und einer fertigen Lib für das Display…

                              Edit: ja, die 32k vom Friendsshield sind natürlich viel zu klein, daher der FeatherS2 - der hat 8MB PSRAM für den Bildspeicher.

                              draexlerD Offline
                              draexlerD Offline
                              draexler
                              wrote on last edited by draexler
                              #14

                              Hab dem ganzen jetzt nochmal ein "Upgrade" unterzogen...
                              Problem war das die Lipo Akkus einen ziemlichen schnellen Spannungsabfall haben und ziemlich viel Kapazität deswegen nicht genutzt werden kann.
                              Des weiteren ist mit aufgefallen das die eingebaute WLAN Antenne in meinem Fall zu "schwach" auf der Brust ist.
                              Ich habe nun Lithium AA Akkus genommen mit 2200 mAh und 1,5V. Einmal in Reihe und einmal Parallel habe ich nun 3V und 4400mAh und die halten die Spannung auch ziemlich bis zum Schluss laut Datenblatt.
                              Den ESP32 habe ich ausgetauscht gegen den Adafruit ESP32 Feather V2 mit externen Antenne.

                              Bis jetzt läuft es super. Ich berichte weiter 🙂
                              IMG_7318.jpeg

                              1 Reply Last reply
                              4
                              • D Offline
                                D Offline
                                DoHo
                                wrote on last edited by
                                #15

                                Hallo @draexler,

                                Großes Lob für die Visualisierung! Ich bin einfach nur begeistert und würde sie gerne nachbauen, um unsere Photovoltaik-Daten anzuzeigen. Als Hardware möchte ich ebenfalls den Adafruit ESP 32 Feather V2 und ein Waveshare e Paper verwenden. Allerdings ein 5.83 inch Display.
                                Darf ich fragen, wie lange die Akkus halten? sleep_duration: 60min noch korrekt?

                                draexlerD 1 Reply Last reply
                                0
                                • D DoHo

                                  Hallo @draexler,

                                  Großes Lob für die Visualisierung! Ich bin einfach nur begeistert und würde sie gerne nachbauen, um unsere Photovoltaik-Daten anzuzeigen. Als Hardware möchte ich ebenfalls den Adafruit ESP 32 Feather V2 und ein Waveshare e Paper verwenden. Allerdings ein 5.83 inch Display.
                                  Darf ich fragen, wie lange die Akkus halten? sleep_duration: 60min noch korrekt?

                                  draexlerD Offline
                                  draexlerD Offline
                                  draexler
                                  wrote on last edited by draexler
                                  #16

                                  @doho Hi, freut mich mega das es dir so gut gefällt 🙂

                                  Wie lange die Akkus halten kann ich noch nicht sagen, da ich das Design mit den Lithium AA Akkus am 04. Februar in Betrieb genommen habe und diese immer noch laufen mit dieser Konfiguration 😉

                                  deep_sleep:
                                    id: deep_sleep_1
                                    run_duration: 15s
                                    sleep_duration: 60min
                                  

                                  Wichtig ist das der Feather V2 eine externe Antenne braucht. Aufpassen beim bestellen der Antenne, die hat einen besonderen Anschluss.

                                  Werde die Restlichen ESP´s die ich auf Akku laufen habe jetzt auf die Lithium AA Akkus umrüsten.

                                  Edit: Gerade gesehen das es den Feather V2 mit und ohne Antenne gibt. Aber würde trotzdem auf eine externe Antenne setzen. Einfach bessere Werte,

                                  D 1 Reply Last reply
                                  0
                                  • draexlerD draexler

                                    @doho Hi, freut mich mega das es dir so gut gefällt 🙂

                                    Wie lange die Akkus halten kann ich noch nicht sagen, da ich das Design mit den Lithium AA Akkus am 04. Februar in Betrieb genommen habe und diese immer noch laufen mit dieser Konfiguration 😉

                                    deep_sleep:
                                      id: deep_sleep_1
                                      run_duration: 15s
                                      sleep_duration: 60min
                                    

                                    Wichtig ist das der Feather V2 eine externe Antenne braucht. Aufpassen beim bestellen der Antenne, die hat einen besonderen Anschluss.

                                    Werde die Restlichen ESP´s die ich auf Akku laufen habe jetzt auf die Lithium AA Akkus umrüsten.

                                    Edit: Gerade gesehen das es den Feather V2 mit und ohne Antenne gibt. Aber würde trotzdem auf eine externe Antenne setzen. Einfach bessere Werte,

                                    D Offline
                                    D Offline
                                    DoHo
                                    wrote on last edited by
                                    #17

                                    Danke für den Hinweis. Ich werde jetzt mal die Hardware bestellen und dann bestimmt auf dich zurückkommen. Für den Ein oder Anderen vielleicht hilfreich, hier meine Hardware zusammengefasst:

                                    • Feather ESP32 V2 (Adafruit 5438)
                                    • Antenne (Adafruit 5445)
                                    • ePaper display (bei mir 5.83" e-Paper von Waveshare)
                                    • Treiber Platine für Display
                                    • 4 AA-Akkus
                                    • Gehäuse individuell 🙂

                                    @draexler bitte korrigier mich, wenn ich etwas vergessen haben sollte. Danke!

                                    draexlerD 1 Reply Last reply
                                    0
                                    • D DoHo

                                      Danke für den Hinweis. Ich werde jetzt mal die Hardware bestellen und dann bestimmt auf dich zurückkommen. Für den Ein oder Anderen vielleicht hilfreich, hier meine Hardware zusammengefasst:

                                      • Feather ESP32 V2 (Adafruit 5438)
                                      • Antenne (Adafruit 5445)
                                      • ePaper display (bei mir 5.83" e-Paper von Waveshare)
                                      • Treiber Platine für Display
                                      • 4 AA-Akkus
                                      • Gehäuse individuell 🙂

                                      @draexler bitte korrigier mich, wenn ich etwas vergessen haben sollte. Danke!

                                      draexlerD Offline
                                      draexlerD Offline
                                      draexler
                                      wrote on last edited by
                                      #18

                                      @doho Soweit alles korrekt, nur zu den Akkus die Ergänzung: AA Akku 1,5V 3300 mWh. Auf meinen Bild sollte erkennen zu sein welche ich genommen habe 😉 Da der ESP 3V benötigt -> einmal in Reihe und einmal Parallel sind das dann 3V und 4400mAh

                                      1 Reply Last reply
                                      0
                                      • S Offline
                                        S Offline
                                        smarthome2020
                                        wrote on last edited by smarthome2020
                                        #19

                                        @draexler Das Projekt sieht richtig gut aus . Ich habe auch Interesse , aber noch einige Fragen:

                                        1. Was kostet das Projekt ca?
                                        2. Druckt ihr die Gehäuse selber oder gibt es auch fertig zu Kaufende (habe keinen entsprechenden Drucker) ? Das von @draexler verwendete Gehäuse wäre optimal für mich.
                                        draexlerD 1 Reply Last reply
                                        0
                                        • S smarthome2020

                                          @draexler Das Projekt sieht richtig gut aus . Ich habe auch Interesse , aber noch einige Fragen:

                                          1. Was kostet das Projekt ca?
                                          2. Druckt ihr die Gehäuse selber oder gibt es auch fertig zu Kaufende (habe keinen entsprechenden Drucker) ? Das von @draexler verwendete Gehäuse wäre optimal für mich.
                                          draexlerD Offline
                                          draexlerD Offline
                                          draexler
                                          wrote on last edited by
                                          #20

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

                                          D A 2 Replies Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          120

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe