Continuando con la serie de tutoriales (abajo tenéis el listado de los mismos) hoy vamos a ver como hacer uso de un interruptor de Home Assistant con una pantalla Nextion. Además de poder encenderla o apagarla, podremos cambiar el icono para ver su estado, tanto si se ha activado desde la propia pantalla como desde Home Assistant.
En el anterior tutorial, por si no lo vistéis, nos trajimos los datos de un sensor de Home Assistant a la pantalla Nextion. De esta forma podemos ver en la pantalla los datos que nos interesen de una forma sencilla.
Para aquellos que estáis siguiendo los tutoriales, os incluyo el código para que lo podáis ver y copiar y usarlo en vuestros proyectos. Como la idea es seguir aprendiendo cosas sobre estas pantallas, seguiré haciendo todos los tutoriales y, como final de la serie de tutoriales, quisiera hacer un interfaz que la gente pueda reaprovechar. No obstante, no puedo asegurar cuando estará terminado.
De momento, ya llevo algunas ideas futuras a hacer antes de poder colocarlo en su lugar.
Compra
Si no tenéis ninguno de los dispositivos, podéis mirar para comprar, tanto la pantalla como el ESP32:
Vídeo del tutorial para controlar un interruptor en Home Assistant desde una pantalla Nextion
Código de ESPHome
Para aquellos que quieran utilizar el código que muestro en el vídeo, aquí lo tenéis:
esphome: name: tutorialesnextion platform: ESP32 board: esp-wrover-kit wifi: ssid: "TEST" password: "test1234567890" # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Tutorialesnextion" password: "FN9cPFmEC7sg" captive_portal: # Enable logging logger: baud_rate: 0 # Enable Home Assistant API api: ota: uart: rx_pin: GPIO16 tx_pin: GPIO17 baud_rate: 9600 sensor: - platform: homeassistant entity_id: sensor.0x00158d0001f521ff_temperature id: temperatura1 binary_sensor: - platform: homeassistant id: wcedu22 entity_id: switch.luz_wcedu - platform: nextion page_id: 0 component_id: 3 id: luz1 on_press: then: - homeassistant.service: service: switch.toggle data: entity_id: switch.luz_wcedu globals: - id: first_page # First page of the display? type: bool restore_value: no - id: display_on # Is display on? type: bool restore_value: no display: - platform: nextion id: tft22 update_interval: 5s lambda: |- if (id(wcedu22).state) { it.send_command_printf("luz1.pic=2"); } else { it.send_command_printf("luz1.pic=1"); } it.set_component_text_printf("temperatura","%.1f",id(temperatura1).state);
En el vídeo explico las partes, pero, no obstante,
Listado de tutoriales de Nextion y Home Assistant
Habéis sido muchos los que habéis pedido que los tutoriales incluyan la forma de localizar otros tutoriales del mismo tipo, por lo que he pensado que podría ayudar hacer una tabla como esta:
Número | Tutorial |
---|---|
1 | Primeros pasos con la pantalla Nextion |
2 | Incluimos un sensor de Home Assistant en la pantalla |
3 | Controlamos un interruptor |
Seguiré ampliándola conforme vaya publicando nuevos tutoriales para que de un vistazo podáis ver todos los que hay y podáis seguir el hilo de los mismos.