135 lines
2.8 KiB
YAML
135 lines
2.8 KiB
YAML
esphome:
|
|
name: cyb1
|
|
friendly_name: cyb1
|
|
|
|
esp32:
|
|
board: esp32dev
|
|
framework:
|
|
type: arduino
|
|
|
|
# Enable logging
|
|
logger:
|
|
|
|
# Enable Home Assistant API
|
|
api:
|
|
encryption:
|
|
key: "W9XTb4Pds0pmbvnyDRSCOZrH7+r+9rOjg0hZmRK/uwo="
|
|
|
|
ota:
|
|
- platform: esphome
|
|
password: "e6ca3cee32249ed15ee0bc06bce56375"
|
|
|
|
wifi:
|
|
ssid: !secret wifi_ssid
|
|
password: !secret wifi_password
|
|
|
|
# Enable fallback hotspot (captive portal) in case wifi connection fails
|
|
#ap:
|
|
# ssid: "Cyb1 Fallback Hotspot"
|
|
# password: "l0Vs6bxErB2F"
|
|
|
|
#captive_portal:
|
|
|
|
# ============================================================
|
|
# ESPHome Display related setup
|
|
#
|
|
# Create a font to use, add and remove glyphs as needed.
|
|
font:
|
|
- file: 'fonts/Arimo-Regular.ttf'
|
|
id: arimo20
|
|
size: 20
|
|
glyphs: "!\"%()+=,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ abcdefghijklmnopqrstuvwxyzåäö"
|
|
|
|
# Create a Home Assistant blue color
|
|
color:
|
|
- id: ha_blue
|
|
hex: 51c0f2
|
|
|
|
# ============================================================
|
|
# Home Assistant related setup
|
|
#
|
|
light:
|
|
- platform: monochromatic
|
|
output: backlight_pwm
|
|
name: Display Backlight
|
|
id: backlight
|
|
restore_mode: ALWAYS_ON
|
|
#on_state:
|
|
# - lvgl.slider.update:
|
|
# id: backlight_slider
|
|
# value: !lambda return x;
|
|
|
|
|
|
# ============================================================
|
|
# Hardware related setup
|
|
#
|
|
# Setup SPI for the display. The ESP32-2432S028R uses separate SPI buses for display and touch
|
|
spi:
|
|
- id: tft
|
|
clk_pin: GPIO14
|
|
mosi_pin: GPIO13
|
|
miso_pin: GPIO12
|
|
- id: touch
|
|
clk_pin: GPIO25
|
|
mosi_pin: GPIO32
|
|
miso_pin: GPIO39
|
|
|
|
# Setup a pin to control the backlight
|
|
output:
|
|
- platform: ledc
|
|
pin: GPIO21
|
|
id: backlight_pwm
|
|
|
|
# Setup the ili9xxx platform
|
|
#
|
|
# Display is used as 240x320 by default so we rotate it to 90°
|
|
display:
|
|
- platform: ili9xxx
|
|
id: esp_display
|
|
model: ili9342
|
|
spi_id: tft
|
|
cs_pin: GPIO15
|
|
dc_pin: GPIO2
|
|
#invert_display: true (changed to below with ESPhome 2023.12.0)
|
|
invert_colors: true
|
|
|
|
|
|
# Set up the xpt2046 touch platform
|
|
touchscreen:
|
|
platform: xpt2046
|
|
spi_id: touch
|
|
cs_pin: GPIO33
|
|
interrupt_pin: GPIO36
|
|
update_interval: 50ms
|
|
threshold: 400
|
|
calibration:
|
|
x_max: 3860
|
|
x_min: 280
|
|
y_min: 340
|
|
y_max: 3860
|
|
transform:
|
|
swap_xy: true
|
|
mirror_x: true
|
|
mirror_y: true
|
|
lvgl:
|
|
buffer_size: 25%
|
|
pages:
|
|
- id: main_page
|
|
widgets:
|
|
- slider:
|
|
id: backlight_slider
|
|
x: 20
|
|
y: 50
|
|
width: 30
|
|
height: 100
|
|
pad_all: 8
|
|
min_value: 0
|
|
max_value: 255
|
|
on_release:
|
|
then:
|
|
- light.turn_on:
|
|
id: backlight
|
|
brightness: !lambda |-
|
|
return int(x) / 255.0;
|
|
|