- El sistema de control para aire acondicionado por ductos Advantage Air e-zone, instalado en 2019, quedó sin posibilidad de encender o apagar la calefacción cuando falló una tablet Android montada en la pared
- El punto de falla no era la unidad de aire acondicionado Daikin ni la caja de control del ático, sino una tablet Android alimentada por POE; desde el punto de vista del usuario, básicamente se había roto el interruptor de encendido/apagado
- Tras vencer la garantía, Advantage Air no vendía solo la tablet y al principio indicó reemplazar el sistema de control por $1245; la cotización oficial subió a $1697 al incluir también sensores inalámbricos de temperatura
- El usuario desarmó la tablet existente, revisó el cableado de los conectores USB y POE ocultos, conectó los conectores a una Samsung Galaxy Tab 4 y parcheó la verificación del modelo del dispositivo de la app para ejecutar e-Zone
- La investigación mostró que la principal barrera para que tablets más nuevas funcionaran con el sistema de control antiguo parecía ser una restricción de software más que de hardware, y luego se creó un repositorio para documentar hardware, protocolo y API
Lo que falló no fue el aire acondicionado, sino la tablet de pared
- En 2019, la familia instaló un gran sistema de aire acondicionado por ductos de ciclo reversible, es decir, una bomba de calor, al construir su casa nueva
- Como estaba incluido en el paquete completo de construcción, no se sabe el precio exacto, pero se estima en alrededor de $10k-$12k según cotizaciones para viviendas de tamaño similar
- El sistema se divide en dos partes
- El equipo real de climatización es un aire acondicionado Daikin
- En el ático hay una caja de control Advantage Air que abre y cierra las ventilas de cada zona
- Una tablet Android con alimentación POE en la pared de la sala funcionaba como interfaz de Advantage Air e-zone
- Con e-zone se podían controlar la temperatura de varias zonas, el ángulo de apertura de las ventilas y la velocidad del ventilador, además de permitir control remoto mediante una app móvil
La tablet de control se detuvo 6 meses después de vencer la garantía
- El domingo 18 de agosto de 2024, apareció en la tablet el mensaje “Sorry Google services has stopped”
- Después de eso, la app e-zone se cerró y ya no volvió a ejecutarse; tras reiniciar, quedó atrapada en una pantalla de carga ANDROID interminable
- Se intentaron varios métodos, como borrar ajustes y particiones desde el modo de recuperación, pero no se logró revivirla
- El dispositivo no tenía una interfaz USB visible, así que no se podía conectar directamente a una computadora, y “system integrity check” devolvía varios errores
El soporte oficial exigía reemplazar todo el sistema en vez de la tablet
- El equipo de soporte de Advantage Air confirmó que el periodo de garantía había terminado y explicó que, si la tablet había muerto, hacía falta un nuevo sistema de control de $1245
- Aunque se reclamó que bastaba con reemplazar una tablet barata, el soporte respondió en el sentido de que la tecnología había seguido avanzando y el sistema no era compatible
- Los componentes que en ese momento seguían funcionando normalmente permanecían intactos
- La unidad de aire acondicionado
- La caja de control
- Lo único roto era la tablet Android
- Más tarde, la cotización oficial incluyó no solo la tablet y el sistema de control, sino también el reemplazo de sensores inalámbricos de temperatura, y el total llegó a $1697
- El usuario vio un caso de uso de un modelo de tablet moderno en un sistema antiguo y concluyó que podía resolverse solo con la tablet
Desarme de la tablet existente y rastreo del conector POE
- Al quitar la tablet de la pared y desarmarla, la conexión POE no parecía estándar y enviaba 12V y 2V por los pines centrales
- Dentro había un puerto USB oculto, pero al principio la computadora no lo reconocía en ningún modo: fastboot, recovery ni adb sideload
- Al retirar la placa principal y seguir el cableado adicional del conector POE, encontró 3 cables conectados a las líneas USB de 5V y datos
- Tras cortar las líneas de datos, la tablet empezó a aparecer en
fastboot devices - Luego intentó desbloquear el bootloader con
mtktool, pero falló enstage2, y concluyó que ya había dedicado demasiado tiempo a intentar revivir la tablet original
La clave era más el adaptador POE y la verificación de la app que hardware dedicado
- Lo único especial a nivel de hardware en la tablet original era el adaptador POE
- Sustituía la batería y suministraba alimentación permanente
- También actuaba como dispositivo USB
- Intentó conectar el conector POE a un enchufe USB-A para detectarlo desde una computadora, pero falló
- Al considerar que ese dispositivo funcionaba como host y solo podía conectarse a una tablet o teléfono, empezó a buscar un dispositivo Android
- Encontró una Samsung Galaxy Tab 4 que había recibido en 2015, la cargó y, al conectar el conector que había soldado directamente, empezó a ver posibilidades de funcionamiento
Parcheo de la app Android para evitar la restricción de dispositivo
- La tablet e-zone original ejecutaba Android 6.0, mientras que la Samsung Galaxy Tab 4 tenía Android 5.0
- Consiguió e instaló las apps necesarias desde el sitio web de Advantage Air y apkpure
- App AAService
- App de interfaz Ezone
- Al principio aparecían errores como “Not on AA Hardware”, por lo que concluyó que hacía falta parchear la app Android
- Tomando como referencia un artículo sobre ingeniería inversa de apps Android, desensambló el APK con
apktooly lo volvió a compilar - Tras revisar el APK en una forma cercana a Java con el descompilador web JAXE, hizo la modificación real en el código smali
La app se ejecutó con solo cambiar la verificación del nombre del modelo
- En
onResume()de la app AAService había una condición que comprobaba si el dispositivo era hardware de Advantage Air; si fallaba, mostraba “Not on AA Hardware” y se cerraba - La lógica de verificación comparaba
Build.MODELcon varios nombres de modelo- Ej.:
"eZone","e-zone","PIC7KS-EZ","PIC7KS6","PIC7KS6-EZ"
- Ej.:
- Al revisar la etiqueta dentro de la carcasa de la tablet original, por el código parecía que hacía falta
PIC7KS6-EZ, con el identificador-EZ - En el código smali, cambió la parte que devolvía el valor original de
Build.MODELpara que devolviera la cadena"PIC7KS6-EZ" - Tras recompilar con
apktool b, firmó el APK no firmado conkeytoolyjarsigner
Modificación de la app de servicio y la app de UI del mismo modo
- Al instalar por primera vez apareció el error
INSTALL_FAILED_DUPLICATE_PERMISSION- Ocurría porque la app AAService y la app eZone solicitaban el mismo permiso, pero estaban firmadas con claves distintas
- Para continuar, eliminó la app eZone
- La app AAService parcheada se ejecutó y mostró la notificación “System connected”
- Luego encontró el mismo código de verificación de dispositivo en la app de UI eZone y lo modificó del mismo modo
- Tras modificar
smali/com/air/advantage/w1/k.smali, recompilar e instalar, Samsung Galaxy Tab 4 ejecutó e-Zone correctamente - Desde que abandonó la recuperación de la tablet original hasta hacerlo funcionar en la nueva tablet pasaron algunas horas
Conclusiones pendientes sobre costo y compatibilidad
- Al día siguiente, el instalador del aire acondicionado avisó que podía comprar una tablet vieja que encontró en la parte trasera de una van por $400
- Aunque ese precio también era caro, considera que probablemente lo habría aceptado si Advantage Air hubiera ofrecido esa opción desde el principio
- Esta reparación requiere tener el conector POE original, así que no ayuda a quienes no tienen hardware de Advantage Air
- Si esta falla de tablet es un problema común, puede resolverse con un poco de soldadura y una tablet nueva
- La barrera que impide que tablets más nuevas funcionen con sistemas de control antiguos parece ser una decisión de software, no el hardware
Información adicional reunida después de HN
- En la discusión de Hacker News, gstar, que vive en la misma ciudad, estaba tratando el mismo problema y comentó que el sistema usa RS422
- gstar añadió que, si se rootea la tablet y se cambia
build.MODELa"MyAir5", también funciona en tablets de terceros - Algunos participantes de HN empezaron a reunir recursos para documentar información sobre hardware, protocolo y API
- Repositorio relacionado: aa_interop
1 comentarios
Opiniones de Hacker News
Dios, estoy en Perth, tuve el mismo sistema y el mismo problema, lo resolví casi de la misma manera y estaba escribiendo al respecto.
Este sistema usa RS422, y el binario
aaservicetrae una clave AES codificada en base64.Estaba pensando en crear una implementación de controlador open source basada en ESP32; es una coincidencia realmente extraña.
build.MODELaMyAir5.Básicamente funciona hablándole a la API de la tablet Android, así que no sirve de nada si la tablet muere, pero permite encender y apagar toda la unidad según la temperatura promedio de las zonas, abrir o cerrar ventilas según si el dispositivo del dueño de la habitación está en línea y la temperatura de las zonas cercanas, o enviar las temperaturas de zona a influxdb.
La única intención posible es dificultar más la interoperabilidad; si hubieran querido seguridad, no habrían usado una clave AES hardcodeada.
Todavía no se ha descompuesto, pero la posibilidad me preocupa, así que empecé a documentar el protocolo de comunicación e incluso a diseñar un Pi HAT que se comunique con la placa de control principal.
Algún día también debería escribir sobre eso.
Podría ser que escriba todos los días una cantidad similar de logs en flash barata hasta llegar al límite.
Este fabricante debería sentir vergüenza.
Me gusta que haya revivido un blog abandonado durante 10 años solo para escribir este post.
La ira y el rencor son motivadores poderosos.
Tuve que actualizar todo, y el sitio viejo ni siquiera tenía SSL.
Pero estaba tan molesto que quería que otras personas supieran cómo arreglarlo.
Si no tienes ya una fuerte influencia en redes sociales o no conoces personalmente a alguien que la tenga, es difícil; incluso en HN hay que tener suerte, publicarlo en el momento adecuado y esperar no caer en una ola de reportes.
El año pasado instalé aire acondicionado en casa.
Elegí adrede una unidad controlada por control remoto IR, no un producto con funciones inteligentes propietarias, y resolví la parte smart conectando un blaster IR barato de AliExpress a Home Assistant.
Para el dashboard de la habitación pegué una tablet Lenovo barata a la pared, para controlar las luces y el aire acondicionado sin usar el teléfono; historias de terror como esta me hacen estar aún más seguro de mi decisión.
Sin un mecanismo de retroalimentación, me pregunto cómo resuelven cuando el estado del equipo y el estado en Home Assistant se desincronizan.
El módulo Wi-Fi cuesta extra, pero al leer las reseñas de la app la impresión general era: “funciona más o menos, pero es casi inútil”.
Hice un transmisor IR con ESP32 y le puse Tasmota IR; el soporte para Daikin es muy bueno y, aunque no puede recibir, es 100% estable, así que no parece hacer falta.
Lennox también usa este tipo de sistema propietario, pero vi terminales de control de estilo antiguo en la placa de control y, gracias a un accidente durante la instalación de un piso nuevo en el que el instalador cortó el cable viejo, tenía metido un cable de termostato de 5 hilos en vez de los 4 originales.
Conecté un termostato de 50 dólares y se encendieron la alimentación y el ventilador, pero el condensador del A/C no reaccionó; el repuesto oficial costaba más de 700 dólares y la actualización, 800.
Encontré a alguien en OfferUp que vendía el modelo actualizado por 400 dólares, y al principio daba una vibra de “es robado, no preguntes mucho”, pero al final lo compré.
Llegué a casa, lo conecté, el ventilador encendía pero el aire acondicionado no; por si acaso revisé la alimentación del intercambiador de calor de afuera y resultó que la habían desconectado por seguridad y luego la habían vuelto a enchufar, pero no había quedado bien asentada.
Al volver a conectarla firmemente, saltaron chispas y revivió; quizá el de 50 dólares habría sido suficiente, pero como ya había gastado el dinero, no tenía sentido recablear todo.
Si este sistema vuelve a morir, me voy a cambiar a minisplits sin ductos.
Comprar a propósito solo dispositivos tontos y hacerlos inteligentes a mi manera.
Toda la industria del “aire acondicionado inteligente” necesita desaparecer tras ser golpeada por un asteroide enorme
Hay una demanda real clara de los equipos modernos de velocidad variable, pero los fabricantes lo arruinan encerrándote en sus propios ecosistemas con protocolos propietarios
TRANE en EE. UU. también es parecido, y es todavía más irritante porque las bombas de velocidad variable resuelven los problemas de ciclos cortos y sistemas sobredimensionados
Así también sería posible hacer cosas como adaptar los sistemas a una generación intermitente de energías renovables
Cuando a estos componentes pesados se les agrega una unidad de control extra, si fallan son carísimos; en mi caso la unidad de control estaba bien, pero se murió solo el motor del ventilador
Me dijeron que no vendían solo el motor, sino únicamente el conjunto por 900 dólares, y que si yo lo instalaba se anulaba la garantía
Me dijeron que, si hubiera sido Trane, ni siquiera podrían venderme ese conjunto; mi equipo era Goodman
Una estafa total
En los equipos simples, todos los proveedores de refacciones tienen repuestos baratos en stock y son fáciles de reparar
En cambio, si tienes que encontrar un motor de velocidad variable raro o una placa de control que Lennox o Trane dejó de fabricar justo cuando se te descompuso el equipo, buena suerte
Algunos equipos quieren 2 sensores de temperatura, otros quieren 3, y hay sistemas que usan las características y la ubicación de los sensores como modelo físico para hacer un control sofisticado, así que incluso un sistema común puede tener unos 5 a 15 puntos de datos
Documentar el protocolo estaría bien, pero en la práctica lo usaría muy poca gente, y para que un estándar funcione haría falta algo como Bluetooth, con perfiles basados en escenarios como HFP, A2DP y SPP, además de atributos genéricos opcionales tipo GATT
Pero, como se ve con Bluetooth LE, si todos ponen su propia implementación propietaria encima de GATT, al final vuelves al mismo problema
Algunos sistemas intentan comportarse de forma “inteligente” y usan protocolos como 24V C/W/Y1/Y2 como ruta alternativa compatible con el estándar; no pierden por completo toda la inteligencia, pero el equipo tiene que inferir la información a partir de estimaciones físicas
Por ejemplo, si solo usas un termostato de encendido/apagado, no puede saber directamente la diferencia respecto de la temperatura configurada, así que tiene que estimarla observando varios ciclos
Una solución realista podría ser extender la antigua interfaz de 24V
Por ejemplo, pasar la política real de control al termostato y usar una señal de 0 a 10V donde 5V sea apagado, 0V sea enfriamiento máximo y 10V sea calefacción máxima
Así podrías elegir libremente la configuración de sensores de temperatura, pero las instalaciones que requieren varias zonas o varios termostatos se complican
Será muy difícil que la industria se ponga de acuerdo en una solución así
Qualcomm Quick Charge 2.0 era un protocolo muy simple parecido a esto y prácticamente autodescriptivo, así que casi no necesitaba gestión de versiones; pero al cambiar los requisitos, pasamos por 3.0 y 4.0, y al llegar a USB-C y USB PD terminaron apareciendo una API de protocolo de datos con todas las capas OSI y hasta extensiones por fabricante
Aunque no sea un estándar, también se podría definir un protocolo complejo que exponga una API del sistema, pero los fabricantes no tienen incentivos para hacerlo, y grandes empresas como Control4, Lutron y Crestron podrían crear productos integrados
Pero entonces el cliente no podría elegir libremente el termostato, habría que lidiar con N fabricantes de equipos y N fabricantes de termostatos, no escalaría y acabarías en un infierno de dependencias
En edificios más grandes, BACnet parece la solución más cercana a un estándar
Parece usar un modelo de perfiles basados en escenarios al estilo Bluetooth, pero tiene la gran desventaja de requerir cierta configuración manual para enviar los datos a donde se necesitan, y es difícil creer que los instaladores a escala doméstica estén preparados para manejarlo
En el sentido moderno, el “termostato” es casi un órgano vestigial: en la práctica no es más que una interfaz de usuario y un termómetro
Incluso dejando de lado el deseo de control mediante apps open source, es difícil definir qué hace el termostato y qué hace el sistema, y si el dispositivo pegado a la pared realmente merece llamarse “termostato” reemplazable
Un amigo que trabaja integrando automatización residencial me dijo que a muchos clientes no les gusta la estética del termostato básico
En casos así entiendo la necesidad de personalización, pero la implementación real parece difícil
Qué coincidencia tan curiosa eso de que “por alguna razón, las tablets de todos mueren más o menos al mismo tiempo”
¿Y que ese momento sea fuera del período de garantía también será pura coincidencia, no?
Probablemente estén basadas en eMMC y escribiendo archivos de log todo el tiempo
Mi fundamento es que ya van cuatro dispositivos Android que se me mueren exactamente de esa forma
Es muy posible que simplemente jodan a mucha gente hasta que aparezca una demanda colectiva o el procedimiento equivalente en ese país, y que al final apenas les den una palmadita en la muñeca por no respetar las reclamaciones de garantía
Tenía una TV Philips 4K LED que compré en una oferta de abril de 2021; tenía varios síntomas raros, pero nada fatal
Pero en la segunda semana de enero de este año, de repente la pantalla se llenó de franjas verticales; un momento estaba bien y al siguiente estaba descompuesta
Por suerte, en Noruega normalmente hay una garantía de 5 años, y se considera que una TV debería durar al menos 5 años
La llevé a la tienda y había otras dos TVs del mismo modelo; por las notas pegadas, ambas habían fallado con el mismo síntoma que la mía y también habían sido compradas alrededor de marzo-abril de 2021
No queda otra que pensar que fue alguna falla de componente común
Lamentablemente, si alguien del fabricante se entera de esto, su primer pensamiento no será “¿cómo hacemos que sea más fácil de usar para el cliente?”
Probablemente será “¿cómo bloqueamos este método alternativo?”, y al final es muy probable que terminen con hardware y software más restrictivos y raros
Probablemente solo el 1% de los clientes pueda hacer este tipo de “hackeo”, y mientras reemplazar la tablet sea más barato que comprar un aire acondicionado nuevo de otra empresa, al fabricante le va bien
Casi todo está yendo en esa dirección
Todavía recuerdo la época del jailbreak del iPhone y el juego del gato y el ratón con Apple
.soy usar Android JNIHaciéndolo complicado y escondiendo el string del modelo de la tablet por todo el código, podrían bloquearlo lo suficiente como para irritar bastante a quien descompile el archivo
.soQue una app que corre en una tablet Android común muestre el error not on AA hardware debería ser delito
En ese caso tiene sentido que exista un modo de falla claro
Si alguien está dispuesto a sacar el cautín para conectar una tablet nueva, seguramente puede sortear esto sin problema
Es el momento en que lo inteligente se vuelve tonto
Esto me preocupa un poco con Nest y otros dispositivos inteligentes, pero incluso con aires acondicionados comunes, unos cuantos problemas muy simples pueden costar cientos de dólares
Hace unas semanas se detuvo el ventilador soplador de mi aire acondicionado y el compresor seguía funcionando
Subí a revisar y resultó que el capacitor estaba dañado, así que le tomé una foto, compré el repuesto, tardé unos 15 minutos en cambiarlo y creo que me ahorré al menos 400 dólares
En el desierto, una falla del aire acondicionado es una emergencia, así que te cobran acorde
Reparar electrodomésticos también es bastante divertido
Hay reglas proteccionistas bastante rotas sobre lo que puedes y no puedes hacer en tu propia casa
En la práctica no siempre están vigilando, así que por lo general está bien, pero es tan absurdo que incluso cambiar una llave de agua o una luminaria existente es ilegal
Cuando los gobiernos estatales revisan las reglas de vez en cuando, llegan los gremios a argumentar que son normas para protegerte y evitar que te estafen “maestros chasquilla” sin licencia
Por esta captura regulatoria, legalmente necesitas completar un aprendizaje de 4 años para cambiar un enchufe, y otro aprendizaje distinto para hacer plomería básica
El trabajo de este blog también probablemente sea ilegal en sentido estricto
Por ejemplo, los cables de datos solo puede instalarlos un electricista con certificación específica en datos
Puedes enchufar un cable Ethernet a tu computadora por tu cuenta, pero si compras una canaleta plástica para pegarla a la pared y pasar el cable por dentro, estás en infracción y te pueden multar por miles de dólares
Todo por pegar un tubo plástico en la pared de tu propia casa
Lo bueno es que no solo exponen controles simples, sino también todos los sensores y códigos internos
Lo que realmente necesitamos es que las leyes de derecho a reparar obliguen a publicar estos estándares de control
Nadie debería tener que hacer ingeniería inversa, y si lanzas un producto al mercado deberías entregar la especificación completa de sus interfaces de software y datos
Creo que así, en pocos años, todos los electrodomésticos nuevos soportarían un estándar común de puerto serial e incluirían tablas de códigos en el manual
Irónicamente, la proliferación de productos inteligentes Tuya casi nos llevó a esa situación, pero ellos dedican esfuerzos absurdos a impedir que uno toque el microcontrolador Wi-Fi
[1] https://github.com/absalom-muc/MHI-AC-Ctrl
Todos cuestan menos de 20 dólares
Lo hice yo mismo, me tomó menos de 15 minutos y es casi imposible arruinarlo
Aunque estés dispuesto a pagar cientos de dólares para que venga alguien, como mínimo pasarás unas horas sin aire acondicionado, y según la temporada eso puede ser bastante doloroso
Era de mediados de los 80, vieja pero excelente, y como era grande podía secar unas tres frazadas en menos de una hora
Dejó de calentar y resultó que el problema eran los solenoides que controlan el flujo de gas natural
Como era de la época en que los productos se fabricaban para poder repararse, la desarmé rápido, cambié dos solenoides de 8 dólares que compré en Amazon y volvió a la vida
Se rompió una pequeña perilla de plástico dentro de un molino de muelas Capresso; la arreglé con una arandela de 10 centavos y pegamento, funcionó bien durante años y desde afuera no se notaba nada
Qué desperdicio
Si esta empresa gana dinero desechando en masa hardware perfectamente funcional cada pocos años, también es algo “excelente” para el medioambiente
El artículo en sí es entretenido y da gusto ver que les devuelvan el golpe así, pero esta práctica realmente enfurece
La tablet ezone original usaba Android 6.0 y esta Samsung tenía 5.0, pero pensé que no habría problema; lo que faltaba eran las apps necesarias
La app de ezone estaba tanto en el sitio web de Advantage Air como en el sitio de apkpure, y me enteré de apkpure al ver un comentario que decía que se lo había indicado un técnico de soporte de AA
Mandar a los clientes a un sitio de redistribución de APK de terceros de identidad incierta: la realidad supera a la sátira
No he visto reportes de que en Apkpure la firma no coincidiera, aunque por supuesto es posible
Lo más importante es cuál es la ruta real de amenaza
No es un teléfono personal, así que basta con no conectar la tablet al Wi-Fi
¿Qué van a hacer, subir la temperatura en secreto un grado?
No sé para qué ponen esas advertencias si van a hacer que sus propios mecánicos las ignoren
Es una forma ingeniosa de evitar costos de ancho de banda
Como dijo el comentario hermano, los archivos están firmados