No sé si lo he comentado en algún otro post, pero en este hogar somos militantes de la religión de Home Assistant. Nuestra historia comenzó en 2017 cuando empecé mis travesuras con una poco potente pero terriblemente versátil Raspberry Pi 3B+ (por cierto, la compañía de la frambuesa estuvo recientemente de aniversario y justo ayer celebraron el Pi Day) y sólo me permitía prender y apagar algún foco inteligente.
Era yo un niño con juguete nuevo jugando todo el día con un triste foco. Qué felicidad.
Varios años después y con bastante más experiencia pude conseguir un Home Assistant Yellow, basado también en hardware de Raspberry Pi pero que prometía ofrecer la mejor experiencia por un precio reducido, a la vez que ayudaba directamente a mantener el proyecto libre para todos, ya que era diseñado y distribuido por la misma Nabu Casa, empresa creada a partir de Home Assistant y lo he estado usando desde entonces sin mayores problemas, es estable, eficiente y, por lo general, se puede decir que simplemente funciona, así que ha sido una buena inversión.

El hardware es correcto pero nada demasiado potente, el corazón del sistema es un Compute Module 4, que es básicamente una Raspberry Pi 4B+ pero sin puertos y con memoria eMMC incluida (dato no menor), que es como una tarjeta MicroSD que viene soldada de fábrica en la propia placa, sólo que un poco más confiable y, a veces, rápida. Es, además, más que adecuado para el uso que le doy en el día a día a mi instancia de HA: un par de decenas de sensores por aquí, unos cuantos focos por allá, algunas automatizaciones y poco más, es raro ver que el uso de mi CM4 supere el 10% de su capacidad en cuanto a CPU.
Como dije, ha estado trabajando bastante bien durante los últimos dos años, así que poca queja.
Sin embargo, hace unos días tuve la oportunidad de conseguir un Compute Module 5 al precio sugerido por la propia Raspberry Pi y no pude resistir las ganas de comprarlo. Lo único malo es que comprar un módulo con el chip eMMC incluido se me iba un poco de presupuesto, así que realicé una búsqueda rápida en Google para ver si aún así funcionaría bien en mi Yellow y todo parecía ser buenas noticias, así que procedí.
) Compute Module 4 y Compute Module 5](https://cdn.inobtenio.com/img/posts/home-assistant-yellow-cm5-upgrade/cm4_vs_cm5_hu_dd1b04e52bfa8075.webp)
Los dos módulos tienen el mismo footprint físico, así que, en teoría, este debería ser un reemplazo de quitar y poner. En teoría.
Hice un backup de configuración y otro de sistema por si acaso y los transferí a una computadora externa. Todo estaba listo para el upgrade.
Primer obstáculo: El CM5 no me vino con thermal pads, así que al retirar el CM4 tuve que reemplazar el pad del procesador por un poco de pasta térmica que compré hace años para cuando tenga que realizar ensamblajes más tradicionales de computadoras de escritorio.

Una vez realizado el cambio de hardware, simplemente volví a conectar el Yellow re ensamblado a la red y esperé verlo revivir después de un par de minutos.
5 minutos después sabía que había cometido alguna torpeza.
Resulta, según algunos foros y la guía oficial de actualización de CM4 a CM5 de Home Assistant Yellow que el CM5 tiene una secuencia de inicio un poco distinta a la del modelo anterior; además, y como mencioné líneas arriba, es de vital importancia que el CM5 no posea un chip eMMC. No estoy 100% seguro de no haber usado nunca ese chip en el caso del CM4 cuando armé por primera vez mi Yellow, pero aún habiéndolo querido evitar es posible que el módulo esté configurado para sí o sí usar esa memoria interna para almacenar algunas cosas, memoria que no estaría presente en el nuevo módulo.
Felizmente tenía la guía y los backups. La idea era usar el disco NVMe como única fuente de almacenamiento, para eso había que borrar absolutamente todo lo que había ahí con anterioridad, instalar Home Assistant OS nuevamente y luego hacer una restauración a partir de las copias de respaldo que había obtenido minutos atrás.
Obviamente, es una simplificación ligeramente obscena del proceso que tuve que llevar a cabo, pero los detalles se explican bastante mejor en la guía enlazada un par de párrafos arriba.
No fue tan fácil, tuve que buscar entre mis cachivaches una fuente de alimentación de 12V para poder encender el Yellow e instalar lo necesario mientras lo tenía conectado a mi computadora de escritorio, en donde tenía los backups y también un par de herramientas (mencionadas en la guía) vitales para el proceso. Lamentablemente, no tengo acceso a un cable Ethernet con capacidad PoE en mi escritorio.
Ahora que lo pienso, hubiera sido más fácil usar una laptop y llevarla hacia donde normalmente reside mi Yellow, así no hubiera tenido que buscar una fuente alternativa de alimentación.
Menos mal este artículo no se trata de mi capacidad intelectual en momentos oportunos.
Home Assistant tiene un asistente de restauración de copias de seguridad bastante simple pero amigable, así que no fue nada difícil restablecer el sistema tal cual como lo dejé antes de la actualización.
Hubo un par de cositas por corregir, como el coordinador Bluetooth que, al parecer, había cambiado de dirección MAC y algo bastante similar con el coordinador Zigbee, así que ni mi sensor de temperatura ni mis Philips Hue funcionaron apenas terminado el proceso, pero la solución fue bastante simple: en el caso del Bluetooth, el “nuevo” coordinador estaba listo para ser adoptado, sólo lo acepté y eliminé el anterior, nada más que hacer; en el caso de la antena Zigbee, más de lo mismo, aceptar el nuevo ID y dejar que los handshakes necesarios se realicen por sí mismos.
Ya, pero ¿eres o no eres… mejor que el CM4?
Sí, sí, claro que lo es. También es claro que no era necesario hacer el cambio, pero como entusiasta de este tipo de trivialidades, juguete nuevo es juguete nuevo.
Hice unas pequeñas pruebas tanto en el CM4 como en el CM5 para ver qué tan más rápido era el nuevo modelo:
CM4:
| proceso | tiempo |
|---|---|
| Generación de copia de seguridad | 2:34 |
| Reinicio de HA | 2:05 |
| Reinicio del sistema | 3:29 |
CM5:
| proceso | tiempo |
|---|---|
| Generación de copia de seguridad | 0:48 |
| Reinicio de HA | 1:04 |
| Reinicio del sistema | 2:19 |
No son las pruebas más adecuadas científicamente hablando pero ver mejoras de hasta casi el 69% (nice) en tareas del día a día es bastante significativo.
Obviamente, todo ese poder no es gratuito y la capacidad extra de procesamiento se tiene que pagar de alguna manera.
No me preocupé de tomar muestras del comportamiento térmico de los dos distintos módulos pero asumiré que es relativamente similar, aunque es cierto que el Yellow se siente un poquito más toasty al contacto, aunque nada preocupante. La temperatura promedio del CM5 con el uso que le doy a diario empleando el disipador de fábrica es de aproximadamente 69 °C, no extremadamente saludable pero nada demasiado preocupante tampoco. Quizás si consigo un thermal pad adecuado el disipador pueda hacer un mejor contacto y reducir un poco esa temperatura, pero por ahora es un número decente.
De lo que sí me preocupé fue del consumo energético. Con la ayuda de mi USW-24-PoE pude verificar que, efectivamente, la quinta versión del módulo consume más energía que la cuarta, nada sorpresivo, pero nada como tener los datos en la mano:


Como se ve en los gráficos, la diferencia promedio en consumo es de 1W después de la actualización. ¿es eso mucho o poco? Bueno, para tener una idea un poco más clara, es más o menos lo que un teléfono inteligente moderno usa mientras se navega por la web, o, de nuevo más o menos, lo que consume la linterna de dicho teléfono al máximo.
Quizás en términos monetarios se entienda un poco mejor: el mayor consumo del CM5 frente al CM4 representaría al año, teniendo en cuenta el precio actual de la electricidad en mi ciudad, un gasto de aproximadamente un dólar y medio más. O sea, casi nada.
Es una pena que Home Assistant haya descontinuado el, en mi opinión, mejor producto que pusieron en el mercado en todos estos años, aunque confío firmemente en su compromiso de seguir ofreciendo soporte para él. Si bien ahora existe Green, que parece bastante bueno también, creo que la capacidad, flexibilidad y características de Yellow lo hacen claramente superior aunque un poco más costoso.
Si tienen la oportunidad de conseguir un Yellow, incluso de segunda mano, no podría yo recomendar más su compra, más aún si lo van a emparejar con una pequeña bestia como el CM5. Esa cajita tendrá todo lo que necesitan de un sistema de domótica por los siguientes 5 años como mínimo.
Si un módulo de 75 dólares es muy caro, incluso con un CM4 de unos 50 dólares se puede tener una experiencia más que decente.
Ah, y Happy International Pi Day. 😀