Pokud chcete mít dohled nad Home Assistant vizuálně na malém zobrazovadle jako já protože informací není nikdy dost lze použít display
ILI9341 TFT. Jeho zvláštností je že má dotekovou vrstvu a její ovladač byl před nedávnem přidán do ESPhome.
A teď se to pokusíme trochu rozebrat:
Doporučuji použít desku ESP32 protože bude potřeba více pinů
ILI9341 pracuje klasicky na SPI:
Kód: Vybrat vše
spi:
clk_pin: 18
mosi_pin: 23
miso_pin: 19
Kód: Vybrat vše
display:
- platform: ili9341
model: TFT 2.4
cs_pin: 13
dc_pin: 27
led_pin: 32
reset_pin: 33
Kód: Vybrat vše
xpt2046:
id: touchscreen
cs_pin: 17
irq_pin: 16
dimension_x: 240
dimension_y: 320
on_state:
- lambda: |-
if (touched)
ESP_LOGI("cal", "x=%d, y=%d, x_raw=%d, y_raw=%d",
id(touchscreen).x,
id(touchscreen).y,
id(touchscreen).x_raw,
id(touchscreen).y_raw
);
Výsledek si zapište nebo zkopírujte, budete potřebovat surovou hodnotu raw .
A teď to pdstatné:
Kalibrují se souřadnice plochy doteku a to X a Y.
Souřadnice X je vždy levý horní roh pohledem na display a je horizontálně, souřadnice Y je vertikální.
Dostanete tento výsledek: Ve výpisu vyberte hodnoty raw: x min, x max, y min, y max a ty zadejte do konfigurace dotekové vrstvy.
Například:
Kód: Vybrat vše
xpt2046:
id: touchscreen
cs_pin: 17
irq_pin: 16
update_interval: 50ms
report_interval: 1s
threshold: 400
dimension_x: 240
dimension_y: 320
calibration_x_min: 279
calibration_x_max: 3824
calibration_y_min: 416
calibration_y_max: 3839
swap_x_y: False
on_state:
- lambda: |-
if (touched)
ESP_LOGI("cal", "x=%d, y=%d, x_raw=%d, y_raw=%d",
id(touchscreen).x,
id(touchscreen).y,
id(touchscreen).x_raw,
id(touchscreen).y_raw
);
Představte si to tak že je to obdélník s rozlišením 240x320, ale nechcete ho na výšku a tak ho otočíte o 90°a tím už nemáte osu x vlevo nahoře, ale vlevo dole nebo vpravo nahoře podle toho jak ho natočíte
Pokud ještě stíháte tok mých myšlenek tak můžeme pokračovat.
Pokud potřebujete prohodit osy x a y můžete použít:
Kód: Vybrat vše
swap_x_y: True
A pokud jste ještě neskočili z okna máte srovnané osy a chcete to dotáhnou do konce stačí vytvořit virtuální tlačítka a binární senzory u kterých zadáte souřadnice pro jednotlivá tlačítka, v HA vytvoříte nějakou automatizaci kterou budou ovládat virtuální doteková tlačítka a máte hotovo
Pokud to někdo dočetl až do konce a rozhodl se že bude bojovat, netuší jak vytvořit virtuální tlačítko, použít font, barvu a stvořit binární senzor virtuálního tlačítka neváhejte se ozvat protože to bude další příběh
Konečný výsledek který funguje a pro test zatím jen zvoleno on/off světlo na chodbě.