In questo articolo vedremo come realizzare un display LCD su Home Assistant usando ESPHome, per visualizzare quello che vogliamo dal nostro HUB Domotico casaligo, per maggiore informazione e dettagli vi rimando alla guida ufficiale di ESPHome. Vediamo cosa ci occorre:
QUI SOTTO VI LASCIO I LINK ACQUISTO
- Mini D1
- NodeMCU Amica V2 ESP8266 ESP-12F
- LCD 2×16 IC2
- LCD 4×20 IC22
- Breadboard con fili di collegamento
Prima d’iniziare ad assemblare il tutto dobbiamo sapere che i display lcd hanno un indirizzo di comunicazione quello di default (0x27). Vedi foto. Questo si può variare facendo delle piccole saldature, nel nostro caso non ce ne sarà bisogno. In questo collegamento tra il Mini D1 e LCD usiamo la comunicazione I2C.
Dopo esserci procurato il tutto, facciamo i collegamenti tra il Mini D1 e LCD come da foto.
Dopo aver fatto tutti i collegamenti , ci rechiamo su Home Assistant e apriamo un nuovo progetto su ESPHome, Carichiamo il codice che serve per la visualizzazione delle informazioni sul display. qui sotto vi metto il codice di esempio, fate copia e incolla .Vi dovreste trovare in questa situazione.
Codice per visualizzare un testo.
i2c:
sda: D2
scl: D1
scan: true
display:
- platform: lcd_pcf8574
dimensions: 16x2
address: 0x27
lambda: |-
it.print("CANALE YOUTUBE PENDOLAS");
Se invece ci serve visualizzare più contenuti con molte pagine, qui sotto vi lascio un codice di esempio che si può personalizzare a nostro piacere.
i2c:
sda: D2
scl: D1
scan: False
## data e ora ##
time:
- platform: sntp
id: my_time
## consumi elettrici ##
sensor:
- platform: homeassistant
id: wattora
entity_id: sensor.potenza_attiva_prelevata_istantanea
internal: true
display:
- platform: lcd_pcf8574
dimensions: 16x2
address: 0x27
id: lcd
update_interval: 5s
lambda: |-
static int current_page_num = 1;
int number_of_pages = 3;
switch (current_page_num) {
case 1:
it.strftime(5, 0,"%H:%M", id(my_time).now());
it.strftime(3, 1,"%d.%m.%Y", id(my_time).now());
break;
case 2:
it.printf(1, 0, "CONSUMI ISTANT.");
it.printf(4, 1, "%4.1f Wh", id(wattora).state);
break;
}
current_page_num += 1;
if (current_page_num > number_of_pages) {
current_page_num = 1;
}
In questo esempio vi mostrerò alcuni dati estrapolati da vari sensori, utilizzando display lcd 4×20 DATA,ORA, TEMPERATURA E UMIDITA’ E Wh CONSUMATI ISTANTANEAMENTE.
QUI SOTTO VI LASCIO I LINK ACQUISTI
- Mini D1
- NodeMCU Amica V2 ESP8266 ESP-12F
- LCD 2×16 IC2
- LCD 4×20 IC22
- Breadboard con fili di collegamento
i2c:
sda: D2
scl: D1
scan: True
time:
- platform: sntp
id: my_time
sensor:
- platform: homeassistant
id: temperatura
entity_id: sensor.temperatura_paullo_temperatura
internal: true
- platform: homeassistant
id: umidita
entity_id: sensor.temperatura_paullo_umidita
internal: true
- platform: homeassistant
id: wattora
entity_id: sensor.potenza_attiva_prelevata_istantanea
internal: true
display:
- platform: lcd_pcf8574
dimensions: 20x4
address: 0x27
lambda: |-
it.strftime(0, 0,"%H:%M - %d.%m.%Y", id(my_time).now());
it.printf(0, 1, "TEMP. ESTERNA : %4.1f", id(temperatura).state);
it.printf(0, 2, "UMID. ESTERNA : %4.1f", id(umidita).state);
it.printf(0, 3, "Wh ISTANT. : %4.1f", id(wattora).state);