Home Assistant #48: Comenzamos la integración con las pantallas Nextion

Home Assistant #48: Comenzamos la integración con las pantallas Nextion

Hoy quería comenzar con uno de los tutoriales que más ganas tenía, el usar la pantalla Nextion que recibí para poder usarla en Home Assistant. Este es el primero de varios tutoriales, en los que paso a paso os enseñaré lo que voy aprendiendo con las pantallas para que podamos montar un interfaz atractivo para nuestro sistema.

Es cierto que Home Assistant permite usar un móvil o una tablet, pero, desde hace tiempo, quería poder usar una de estas pantallas para poder crear mi propio interfaz. Hasta el momento todo lo que he visto con ellas, me encantan.

Este tutorial está más pensado para que lo veáis en el vídeo de Youtube para haceros una idea y después os dejaré los recursos y código que voy usando. En los siguientes, será algo parecido, os enseño en vídeo cómo hacerlo y cómo funciona y os dejaré el código listo para que lo reutilicéis.

Vídeo del tutorial para usar las pantallas Nextion con ESPHome y Home Assistant

Para los que queréis empezar a jugar, os voy a dejar el código que habéis visto en pantalla, en el se trae los datos de un pequeño sensor y usa un switch.

Compra

Si no tenéis ninguno de los dispositivos, podéis mirar para comprar, tanto la pantalla como el ESP32:

Nextion Editor

Antes de nada, para poder trabajar con el editor de Nextion, necesitaréis bajarlo de aquí. Si estáis en Windows no tendréis problemas, si estáis en Linux, podéis usar Playonlinux para instalar la 0.53, aunque, pude llegar a instalar la 0.58. Si os interesa, pedidlo en los comentarios y busco el script que usé.

ESPHome

He usado un ESP32 para poder trabajar, aunque, se puede usar un ESP8266. Este es el código que he usado y que llevo para poder ver un valor de un sensor y manejar un interruptor:

esphome:
  name: nextionesp32
  platform: ESP32
  board: esp-wrover-kit

wifi:
  ssid: "WIFI"
  password: "clave"


  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Nextion32 Fallback Hotspot"
    password: ""

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 él, tendréis que cambiar algunas cosas como son:

  • Datos de la WiFi
  • sensor.0x00158d0001f521ff_temperature : Este es un sensor de mi sistema, usad otro del vuestro
  • switch.luz_wcedu: es un interruptor de mi sistema, cambiadlo por algo vuestro
  • Los IDs y nombres de vuestra pantalla Nextion

Una vez que cambiéis lo que hay que personalizar, debería poder funcionar. Si no os va, ya sabéis, podéis preguntar por los comentarios o en Telegram.

La entrada Home Assistant #48: Comenzamos la integración con las pantallas Nextion se publicó primero en Domótica en Casa.

Eduardo Ruiz

Informático de vocación, apasionado de la tecnología y blogger desde hace mucho tiempo, escribo de lo que me entretiene y disfruto con ello. Si deseas seguirme, usa el rss del blog o en mi perfil de .