Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. ePaper Statusdisplay Hausflur

NEWS

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

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

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.5k

ePaper Statusdisplay Hausflur

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
62 Beiträge 18 Kommentatoren 18.0k Aufrufe 27 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • 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 Nicht stören
    draexlerD Nicht stören
    draexler
    schrieb am zuletzt editiert von
    #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 Antworten Letzte Antwort
    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 Nicht stören
      draexlerD Nicht stören
      draexler
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
          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 Nicht stören
            draexlerD Nicht stören
            draexler
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            0
            • T Offline
              T Offline
              thomassch
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                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 Nicht stören
                  draexlerD Nicht stören
                  draexler
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  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 Nicht stören
                    draexlerD Nicht stören
                    draexler
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                      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 Nicht stören
                        draexlerD Nicht stören
                        draexler
                        schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                        4
                        • D Offline
                          D Offline
                          DoHo
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          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 Nicht stören
                            draexlerD Nicht stören
                            draexler
                            schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                            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
                              schrieb am zuletzt editiert von
                              #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 Antwort Letzte Antwort
                              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 Nicht stören
                                draexlerD Nicht stören
                                draexler
                                schrieb am zuletzt editiert von
                                #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 Antwort Letzte Antwort
                                0
                                • S Offline
                                  S Offline
                                  smarthome2020
                                  schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                  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 Nicht stören
                                    draexlerD Nicht stören
                                    draexler
                                    schrieb am zuletzt editiert von
                                    #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 Antworten Letzte Antwort
                                    0
                                    • draexlerD draexler

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

                                      Also rund ca 130€ bis 150€

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

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

                                      afa2be90-badb-4c83-8c5e-a27daa3991ae-grafik.png

                                      1 Antwort Letzte Antwort
                                      0
                                      • O Offline
                                        O Offline
                                        oxident
                                        schrieb am zuletzt editiert von
                                        #22

                                        Möchte den Thread ungerne "hijacken", aber ich versuche mich gerade daran, das mit einem M5Paper zu realisieren. Kostenpunkt: 80 EUR inkl. Gehäuse

                                        draexlerD 1 Antwort Letzte Antwort
                                        0
                                        • O oxident

                                          Möchte den Thread ungerne "hijacken", aber ich versuche mich gerade daran, das mit einem M5Paper zu realisieren. Kostenpunkt: 80 EUR inkl. Gehäuse

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

                                          Update: 48 Tage mit gleichen Akkus und es läuft immer noch 👍

                                          D 1 Antwort Letzte Antwort
                                          1
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          877

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe