ESPHome 2026.9.0 trae dos breaking changes que no saltan hasta que compilas. Si tu configuración usa modbus_controller con register_count o force_new_range, o dejas que el timezone lo empuje Home Assistant sin declararlo en YAML, la próxima compilación puede reventar. Esto es lo que hay que cambiar, con el YAML de antes y el de después, verificado contra el changelog oficial a 25/09/2026.

1. modbus_controller: register_count y force_new_range desaparecen

El changelog oficial de ESPHome 2026.9.0 lo marca como breaking change: las opciones register_count y force_new_range del componente modbus_controller se retiran, y su lugar lo ocupa una sola opción booleana, reuse_previous_range.

Si tu config actual es algo así:

modbus_controller:
  - id: inversor_solax
    address: 0x01
    modbus_id: hub_rs485
    register_count: 16
    force_new_range: true
    update_interval: 30s

La migración directa es esta:

modbus_controller:
  - id: inversor_solax
    address: 0x01
    modbus_id: hub_rs485
    reuse_previous_range: true
    update_interval: 30s

Si tenías register_count: 0 o force_new_range: false, no hay un mapeo uno a uno: la opción nueva es una sola bandera. Busca el comportamiento que querías en la documentación del componente antes de copiar el valor por inercia.

2. timezone: se acabó el reemplazo de texto en cliente

El blog de release de ESPHome 2026.9.0 confirma que ya no se hace reemplazo de cadenas C++ para el timezone. Ahora, o defines timezone en el YAML, o dejas que Home Assistant envíe la estructura ya parseada. Para eso necesitas Home Assistant 2026.3.0 o posterior: los clientes más viejos se quedan con el timezone generado por codegen, no con el que envía HA.

Si al compilar la 2026.9.0 te llega un error de timezone, añade la zona a la raíz del YAML y vuelve a compilar:

esphome:
  name: nodo-rs485

wifi:
  ssid: "MiRed"
  password: "..."

timezone: Europe/Madrid

No inventes una zona horaria rara para solucionarlo: usa el valor IANA correcto de tu ubicación, el mismo que utilizarías en Home Assistant.

3. Cómo saber si tu config está afectada

Migración de configs afectadas en ESPHome 2026.9.0
Config anterior Cambio en 2026.9.0 Qué hacer
register_count: N y force_new_range: true Ambas opciones desaparecen Usa reuse_previous_range: true
Timezone empujado por Home Assistant 2026.3.0 o anterior Ya no hay reemplazo de cadena C++ generada Actualiza HA a ≥2026.3.0 o define timezone en YAML
Sin timezone declarado en YAML La zona depende de lo que envíe HA por API Define timezone explícito si el log avisa

4. Qué no hacer

No copietes register_count a ciegas dentro de reuse_previous_range como si fueran equivalentes: no lo son. Y no elimines la opción nueva para que compile de casualidad; si tu integración depende de reutilizar el rango anterior, dejarla fuera cambia el comportamiento, no lo arregla.

Última revisión: 25/09/2026