Moin!
Ich habe ewig gebraucht, aber jetzt zeigt mein 7,5" B/W/R Waveshare Display mit Versionssticker “V3” auf der Rückseite endlich Schwarz / Weiss und Rot an.
Waveshare schreibt über dieses Display, dass es auch 2 Graustufen “kann”. Ich würde diese jetzt auch gerne definieren und dann in meinem Dashboard einsetzen. Leider habe ich bisher nicht herausgefunden, wie das geht.
Bisher habe ich COLOR_OFF als Schwarz, COLOR_ON als Weiss und COLOR_RED als Rot (das ist extra definiert).
Habt Ihr eine Idee, wie ich die beiden Graustufen auch in ESPHome verwenden kann?
Hier meine Konfiguration bisher:
substitutions:
gpio_spi_clk_pin: GPIO13
gpio_spi_mosi_pin: GPIO14
gpio_cs_pin: GPIO15
gpio_dc_pin: GPIO27
gpio_reset_pin: GPIO26
gpio_busy_pin: GPIO25
# use twisterss' repo:
external_components:
- source:
type: git
url: https://github.com/twisterss/esphome-dev.git
ref: waveshare-red-black
components: [ waveshare_epaper ]
esphome:
name: epaper01
friendly_name: epaper01
esp32:
board: esp32dev
framework:
type: arduino
# Enable logging
logger:
level: DEBUG
baud_rate: 0
# Enable Home Assistant API
api: {} # This spawns an AP with the device name and mac address, no password.
# Enable web server
web_server:
port: 80
# Allow Over-The-Air updates
ota:
- platform: esphome
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
fast_connect: true
power_save_mode: none
manual_ip:
static_ip: 192.168.178.140
gateway: 192.168.178.1
subnet: 255.255.255.0
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "epaper01"
password: "epaper01"
# In combination with the `ap` this allows the user
# to provision wifi credentials to the device via WiFi AP.
captive_portal:
font:
- file: "SegoeUI.ttf"
id: segoe
size: 52
# Define colors
# This design is white on black so this is necessary.
color:
- id: COLOR_RED
red: 100%
white: 0%
spi:
clk_pin: $gpio_spi_clk_pin
mosi_pin: $gpio_spi_mosi_pin
display:
- platform: waveshare_epaper
id: epaper01
cs_pin:
number: $gpio_cs_pin
ignore_strapping_warning: true
dc_pin: $gpio_dc_pin
busy_pin:
number: $gpio_busy_pin
inverted: true
reset_pin: $gpio_reset_pin
model: 7.50in-bv2-rb #7.50in-bv2
reset_duration: 2ms
update_interval: 960s
rotation: 270
# auto_clear_enabled: true
lambda: |
it.fill(COLOR_ON);
it.print(0, 0, id(segoe), COLOR_ON, "Schwarzer Text");
it.print(0, 60, id(segoe), COLOR_OFF, "Weisser Text");
it.print(0, 120, id(segoe), COLOR_RED, "Roter Text");