¡Buenas noches, Jean!
Buenas noticias sobre tu tema de febrero: ESPHome ha integrado Zigbee nativamente desde la versión 2026.5. Esto cambia mucho las cosas para tu caso, porque ya no necesitas escribir C con el ESP-Zigbee-SDK de Espressif. Describes tu sensor en YAML y ESPHome gestiona la pila Zigbee.
La documentación está aquí: Zigbee Component - ESPHome - Smart Home Made Simple
Concretamente para tu sensor de distancia:
Material: prioriza el ESP32-H2. No tiene WiFi, pero la documentación de ESPHome señala explícitamente que es más fiable que el C6 en Zigbee (hay informes de tarjetas C6 que solo funcionan al lado del coordinador). El C5 y el C6 también son compatibles.
Sensor: todo lo que ya existe como componente de ESPHome funciona. JSN-SR04T o A02YYUW si es en ambiente húmedo, VL53L0X en tiempo de vuelo si estás en distancias cortas.
Configuración: añades un bloque zigbee: y tu sensor: clásico. Los sensores se exponen en el clúster « analog input » con la unidad de medida, por lo que tu distancia se envía directamente a Zigbee2MQTT sin necesidad de escribir un conversor personalizado.
Dos restricciones a conocer:
- Se necesita Zigbee2MQTT en versión 2.8.0 como mínimo (está bien por el lado de Gladys)
- Cada vez que modifiques la configuración (añadir o eliminar una entidad, cambiar el nombre), debes retirar el dispositivo de la red, reaparearlo y relanzar la entrevista en Z2M. De lo contrario, tendrás comportamientos inconsistentes, o incluso bucles de arranque.
El punto que sigue siendo difícil es la autonomía en batería: en ESP32 hay que pasar por el modo de suspensión profunda con reasociación Zigbee al despertar, y las tarjetas de desarrollo consumen mucho más que los módulos desnudos. Si la autonomía es realmente crítica, ESPHome también soporta los nRF52, que están mejor posicionados en ese aspecto.
Si prefieres hacer desarrollo a bajo nivel, la referencia sigue siendo el ESP-Zigbee-SDK: GitHub - espressif/esp-zigbee-sdk: Espressif Zigbee SDK · GitHub
En Gladys: una vez que el dispositivo esté emparejado en Z2M, debería aparecer en la integración Zigbee2MQTT como cualquier otro sensor. Estos dispositivos genéricos no siempre están perfectamente tipados, por lo que si el valor no se muestra correctamente, publica el payload MQTT aquí y lo reviso para ver qué hay que ajustar.