ich habe ein ePaper-Panel zu Weihnachten bekommen, auf dem ich gerne den Status von Entitäten abbilden möchte. Ich habe das Panel mit Möglichkeit 2 eingebunden, es werden also schon Sachen auf dem Panel angezeigt. Das Problem ist aber, dass ich ein festes Intervall angeben muss, wann das Panel sich aktualisiert und genau das möchte ich nicht, um den Akku zu schonen. Das Panel soll sich eigentlich nur aktualisieren, wenn ein bestimmter Zustand einer in HomeAssistant vorhandenen Entität eingetreten ist. Meine Frage ist also: Kann man via ESPHome dem Panel einen Befehl senden, dass es sich aktualisieren soll? So etwas wie Wake-on-LAN oder ähnliches?
esphome:
name: epaper
friendly_name: ePaper
esp32:
board: esp32-c3-devkitm-1
framework:
type: esp-idf
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "[...]"
ota:
- platform: esphome
password: "[...]"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Epaper Fallback Hotspot"
password: "[...]"
captive_portal:
# Hier ist der aktivierte Deep-Sleep Part
#deep_sleep:
# id: deep_sleep_1
# run_duration: 1min # Device wake up and run 60s (enough to pull data and update)
# sleep_duration: 60min # deep sleep for 1h
http_request:
verify_ssl: false
timeout: 30s
watchdog_timeout: 15s
online_image:
- id: dashboard_image
format: BMP
type: BINARY
buffer_size: 25000
url: http://192.168.178.55:10000/lovelace/epaper?viewport=800x480&eink=2&format=bmp
on_download_finished:
- delay: 0ms
- component.update: main_display
spi:
clk_pin: GPIO8
mosi_pin: GPIO10
display:
- platform: waveshare_epaper
id: main_display
cs_pin: GPIO3
dc_pin: GPIO5
busy_pin:
number: GPIO4
inverted: true
reset_pin: GPIO2
model: 7.50inv2
update_interval: never
lambda: |-
it.image(0, 0, id(dashboard_image));
Mir ist gerade noch eine andere Idee gekommen: Eigentlich wäre es das einfachste, wenn das Display auf „Tastendruck“ reagieren würde. Ich habe dafür den Helfer „input_button.flurdisplay_aktualisieren“ angelegt. Dann könnte ich in HA einfach eine Automation schreiben, die bei diversen Auslösern die Taste drückt und das Display würde sich aktualisieren.
EDIT1: Ich habe anstelle der Taste mal eine Input-Number genommen, die ich dann einfach um den Wert 1 erhöhe/erniedrige. Wenn ich das richtig verstehe, arbeitet Home Assistant Sensor ja nur mit Zahlen
Genau das soll es hier auch sein. Welches Bildformat benutzt du? Es dauert bei mir schon etliche Sekunden, bis das Bild runtergeladen und angezeigt wird…
EDIT: Die Aktualisierung geht vermutlich schneller, wenn man das Display mit „Code“ beschreibt, richtig?
bei mir ist das noch ein herkömmliches Display, will ich eigentlich schon lange mal auf E-Paper umstellen!
Du hast aber noch ein Problem!
Mit der aktuellen Variante kannst du das Teil nicht in den Tiefschlaf schicken (Was ja eigentlich am meisten Strom spart!), weil du den dann nicht mehr wach bekommst!? Mal schauen ob mir da noch was einfällt?
Schade, es scheint da keine Möglichkeiten zu geben das Teil von extern zu wecken!?
Musst du wohl ohne Tiefschlaf auskommen, mußt mal schauen wie lange du da mit einer Akkuladung hinkommst? Würde mich auch interessieren → kannst ja mal berichten!