1 puntos por GN⁺ 2025-04-23 | 1 comentarios | Compartir por WhatsApp
  • Es un caso en el que se implementó el control de calefacción con Home Assistant en un departamento alquilado mediante la retransmisión de la señal inalámbrica del termostato existente, sin reemplazar dispositivos ni llamar a un electricista.
  • El termostato se comunicaba con la caldera en la banda de 868MHz y el protocolo estaba cifrado, pero un Replay Attack podía funcionar sin conocer el contenido de los paquetes.
  • El análisis con rtl_433 mostró que parecía un protocolo similar al de la familia Honeywell; el valor demand indicaba si la caldera estaba encendida o apagada, y la caldera enviaba una respuesta de confirmación.
  • La configuración final graba y reproduce señales con un clon de HackRF One y hackrf_transfer, y conecta un servidor web en Docker con command_line, average y generic_thermostat de Home Assistant.
  • Está en uso sin problemas desde principios de diciembre de 2024, pero transmitir en 868MHz puede ser ilegal según la normativa local, y usar un HackRF para un simple control de encendido/apagado es excesivo.

Por qué es difícil automatizar la calefacción en una vivienda alquilada

  • La caldera del departamento alquilado se controla con un único termostato inalámbrico instalado por el casero.
  • El termostato enciende y apaga la calefacción según la temperatura objetivo usando su sensor de temperatura integrado.
  • En el uso real había tres inconvenientes:
    • El sensor solo mide la temperatura de una habitación del departamento, por lo que la calefacción no queda uniforme en todos los ambientes.
    • Según la habitación donde esté el panel de control, resulta incómodo usarlo desde la cama o la sala.
    • Si no se apaga la calefacción antes de salir, se desperdicia energía costosa.
  • Ya se estaba automatizando la casa con Home Assistant, y la idea era controlar también la calefacción de la misma manera.
  • Había soluciones comerciales, pero probablemente requerían la colaboración del casero y la visita de un electricista, así que se optó por conservar el termostato existente.

Elegir un ataque de retransmisión en vez de interpretar el protocolo

  • El punto de partida fue que el termostato y la caldera se comunicaban mediante un protocolo inalámbrico.
  • Hacer ingeniería inversa del protocolo desde cero era demasiado complejo para el nivel de conocimientos de radio disponible.
  • El método elegido fue un Replay Attack.
    • Se copia la señal entre la caldera y el termostato.
    • Se vuelve a transmitir la señal copiada para que el atacante parezca ser el termostato.
    • Puede funcionar sin entender el contenido del protocolo.
  • Este método depende de tener suerte con la implementación del dispositivo.
    • Si la comunicación usa un contador incremental, puede ignorar señales antiguas e impedir ataques de retransmisión.
    • Este termostato no usaba ese mecanismo, por lo que la retransmisión era posible.

Confirmación de la banda de señal y primeras observaciones

  • Se encontró en línea la información exacta del modelo del termostato y, en el apartado RF Communication de la hoja de datos, se confirmó que usaba una banda cercana a 868MHz.
  • La hoja de datos indicaba Protocol: Encrypted, pero eso no era un gran problema para el método de retransmisión.
  • No había mucho material sobre clonación de señales en 868MHz.
    • Sí había mucho material relacionado con LoRa/Meshtastic.
    • Había muchos hilos de Reddit de gente intentando clonar dispositivos como ventiladores de techo o puertas de garaje, pero con pocas respuestas útiles.
    • Se consideró que, si hubiera sido 433MHz, habría muchas más herramientas de consumo disponibles.
  • Para ver la señal se usó Software-Defined Radio.
    • Se compró un RTL-SDR V4 económico.
    • Al presionar un botón del termostato en SDR++, apareció una señal en el waterfall.
  • Flipper Zero no era adecuado para esta situación.
    • Flipper Zero no es un SDR.
    • Su rango de frecuencias operativas es limitado, así que no podía usarse con este dispositivo.

Pistas del protocolo e intentos fallidos de transmisión

  • Se usó rtl_433 para comprobar si el termostato usaba un protocolo conocido.
    • A pesar de su nombre, también funciona en otras frecuencias.
    • Es posible que no reconozca dispositivos más raros.
  • Como resultado, este termostato parecía usar el mismo protocolo que otros dispositivos Honeywell.
  • En la comunicación, la propiedad demand representa el estado de la caldera.
    • 1 significa caldera encendida.
    • 0 significa caldera apagada.
    • La caldera envía una respuesta de confirmación, aparentemente para que el termostato determine si está fuera de alcance.
  • Después se intentó crear y transmitir paquetes directamente, pero no funcionó.
    • Se intentó hacer ingeniería inversa manual de los paquetes y reconstruirlos con URH.
    • Se intentó transmitir con placas de microcontrolador económicas de 868MHz.
    • Las placas estaban pensadas para comunicarse entre sí, y avanzar más habría requerido manipular directamente los registros de radio.
    • Se concluyó que esa tarea quedaba fuera del nivel técnico disponible.

Grabar y reproducir la señal tal cual con HackRF

  • Finalmente se eligió usar HackRF para reproducir la señal tal cual, sin interpretar su contenido.
  • El RTL-SDR existente solo podía recibir, por lo que no servía para transmitir.
  • HackRF One suele costar más de 400 dólares, pero en AliExpress había clones de alrededor de 40 dólares.
    • Más tarde, la mayoría de los listados que se podían encontrar buscando “HackRF” en AliExpress desaparecieron.
    • Se pueden comprar clones nuevos en OpenSourceSDRLab, aunque ya no son tan baratos como antes.
    • Si se cuenta con presupuesto, conviene apoyar proyectos de hardware original como HackRF One de Great Scott Gadgets.
  • Con hackrf_transfer se grabaron por separado las señales de encendido y apagado.
# We set the frequency to 868.3Mhz and the sample rate to 2000000.
hackrf_transfer -r turn_off.raw -f 868300000 -s 2000000
hackrf_transfer -r turn_on.raw -f 868300000 -s 2000000
  • Reproduciendo las señales con la misma configuración, se pudo encender y apagar la caldera desde la CLI.
# We use -a to turn on the amplifier and -x to increase the gain a tad.
hackrf_transfer -t turn_off.raw -f 868300000 -s 2000000 -a 1 -x 23
hackrf_transfer -t turn_on.raw -f 868300000 -s 2000000 -a 1 -x 23
  • Después de ejecutar los comandos, se podía escuchar cómo se encendía y apagaba el relé físico dentro de la caldera.

Cómo se conectó con Home Assistant

  • Se conectó el HackRF a un hub USB con alimentación, y este al servidor de Home Assistant.
  • Se escribió un servidor web simple que ejecuta los comandos de transmisión dentro de un contenedor Docker.
  • En Home Assistant se usó Average Sensor Plugin y se conectaron las configuraciones command_line, average y generic_thermostat.
command_line:
- switch:
name: Boiler
command_on: "curl http://docker-vm:1111/api/on";
command_off: "curl http://docker-vm:1111/api/off";
sensor:
- platform: average
name: "Average Temperature"
entities:
- sensor.bedroom_thermostat_temperature
- sensor.kitchen_thermostat_temperature
climate:
- platform: generic_thermostat
name: Boiler Thermostat
heater: switch.boiler
target_sensor: sensor.average_temperature
  • Con esta configuración se creó un termostato que controla la caldera tomando como referencia la temperatura promedio de los sensores de temperatura del dormitorio y la cocina.
  • La implementación se parece más a una solución provisional.
    • Sería mejor escribir un plugin dedicado para Home Assistant.
    • Sería más limpio controlar la radio directamente en vez de invocar la CLI mediante shell.
    • Depender de curl para la calefacción resulta algo incómodo.

Resultados de uso real y limitaciones pendientes

  • Esta configuración se usa para controlar la calefacción del departamento desde principios de diciembre de 2024, y desde entonces no ha tenido problemas.
  • Poder ajustar la temperatura desde el teléfono es cómodo.
  • Algunos ejemplos de automatización son:
    • Bajar la temperatura mientras se duerme.
    • Subir la temperatura a la hora de despertarse por la mañana.
    • Apagar la calefacción al salir al centro.
    • Volver a encender la calefacción unas paradas antes de llegar a casa para que esté cálida al llegar.
  • Lo más lamentable es tener que usar continuamente una radio potente como HackRF para un simple interruptor de encendido/apagado de la caldera.
  • En vez de dedicar más tiempo a forzar una radio pequeña a encajar, se eligió usar un equipo excesivo pero que funcionara correctamente.

Advertencia legal sobre transmisiones inalámbricas y comentarios del blog

  • Para transmitir señales inalámbricas, es indispensable revisar la normativa local.
  • La banda de 868MHz usada en el artículo es ilegal para transmitir sin licencia en Estados Unidos.
  • Desde el 16 de marzo de 2025, con la plena entrada en vigor de la Online Safety Act del Reino Unido, aumentó la carga de operar contenido entre usuarios, como comentarios de un blog.
  • Aunque es poco probable que el regulador Ofcom fiscalice blogs personales, el riesgo de una multa de 18 millones de libras por infracción llevó a eliminar la sección de comentarios.
  • También se presentan una explicación legal relacionada sobre el impacto de la ley en blogs autogestionados y una discusión sobre el internet de aficionados.

1 comentarios

 
GN⁺ 2025-04-23
Opiniones de Hacker News
  • Si el objetivo es ahorrar energía o costos, un sistema capaz de dejar una casa fresca agradablemente cálida en 20 minutos es justamente algo que no conviene.
    En cambio, es mejor operar con una temperatura de circulación del agua de calefacción mucho más baja, reduciendo las pérdidas en espacios no calefaccionados y calentando toda la habitación de forma más pareja. Si es una caldera de condensación, basta con bajar la temperatura objetivo de salida.
    Si además se suma compensación por temperatura exterior (weather compensation), se puede ajustar la temperatura de salida según la temperatura de afuera, para que el sistema funcione apenas lo suficiente como para que el edificio recupere la temperatura objetivo.
    Cuando quedó bien ajustado, el termostato funcionaba como un límite superior y pedía calefacción 22 a 24 horas al día, pero sin sobrecalentar. Normalmente, la temperatura de salida era de unos 110 °F en días templados y unos 135 °F en clima bajo cero; frente a los 160 °F fijos de salida del invierno anterior, el consumo de gas bajó entre 8% y 15%, y era mucho más confortable. Eso sí, este enfoque tiene tiempos de recuperación largos, así que no se lleva bien con grandes ajustes de ahorro; hace falta un control más inteligente que normalmente funcione con precisión a baja temperatura y use agua más caliente solo durante los tramos de recuperación.

    • Eso depende mucho de cómo esté distribuida la calefacción dentro de la casa. Qué es más eficiente depende de dónde se introduce el calor en la casa, qué nivel de aislamiento hay, etc.
      El calor se mueve linealmente desde los lugares calientes hacia los fríos según la diferencia de temperatura. En teoría, si la temperatura de las tuberías fuera igual a la interior, todo el calor transferido terminaría escapando por fuera de la envolvente; cuanto más calientes estén las tuberías, mejor es esa proporción. Esto aplica sin importar qué porcentaje de las tuberías esté dentro de la envolvente.
      Dicho eso, si se calefacciona siguiendo las paredes exteriores, por ejemplo debajo de las ventanas, se calienta la pared exterior a una temperatura más alta que la del termostato interior, aumentando la pérdida hacia afuera. En cambio, la calefacción radiante evita en gran medida este efecto.
    • Estoy de acuerdo. Encender y apagar es la peor forma de calefaccionar. Si se mira ISO 7730, una parte importante del confort viene de que las paredes no estén frías: https://de.wikipedia.org/wiki/ISO_7730
      Es decir, en una casa razonablemente aislada, mantener una temperatura baja y constante de alrededor de 20 °C es lo mejor en términos de confort, y además permite bajar la temperatura del agua de calefacción, lo que mejora la eficiencia de una bomba de calor o una caldera.
    • Leí que siempre es más eficiente apagar la calefacción cuando uno no está en casa y volver a encenderla al regresar. Me pregunto si la razón para dejarla encendida 22 a 24 horas en este caso es que tarda mucho en recuperar la temperatura deseada y, en la práctica, habría que pasar frío durante un buen rato.
    • No conozco bien los sistemas basados en agua, así que no estoy seguro de si aplica, pero en las bombas de calor se demostró que esa afirmación es falsa.
      Al comparar dejar una temperatura fija con subirla, bajarla o apagarla al salir y volverla a ajustar antes de regresar, casi no hubo diferencia, y el consumo eléctrico fue similar.
      Ojalá tuviera el enlace, pero también probaron situaciones de recalentamiento donde la eficiencia cae. Eso incluía la “calefacción de emergencia”.
    • Lo de “no conviene un sistema que pase de fresco a cálido en 20 minutos” depende del caso. Como se explicó en otro comentario, algunas habitaciones usan calefacción por piso y radiadores a la vez; si la temperatura objetivo difiere de la actual en más de 1 °C, se activan ambos, y si no, solo se usa la calefacción por piso.
  • Excelente hack.
    Creo que un método más fácil sería poner un módulo Peltier de calefacción/refrigeración debajo del termostato y controlarlo de forma remota, para tomar control de la temperatura que percibe el termostato.
    El enlace al modelo exacto de termostato no funciona, así que no sé qué tan adecuado sería este enfoque para ese diseño, pero los termostatos que he usado normalmente van montados en la pared, y no era tan difícil ponerles una fuente de calor o frío debajo. Solo hay que evitar que el lado caliente y el lado frío afecten al termostato al mismo tiempo, y eso es simplemente un problema de ubicación.

    • Gran idea. Es irónico que un dispositivo tan ineficiente tenga un uso tan eficiente.
    • El mejor sistema de control para ese tipo de calderas es uno que controle la curva de calefacción, fijando la temperatura del agua de calefacción según la temperatura exterior. Si se apunta a la temperatura de agua de calefacción más baja posible, la respuesta del sistema se vuelve bastante lenta. Después, basta con ajustar el caudal de agua hacia cada habitación para corregir las diferencias de temperatura. Eso sí, es un proceso de optimización manual a largo plazo y toma 1 o 2 años completarlo.
  • Parece que la caja de herramientas realmente condiciona el espacio de soluciones. Como leí este artículo sin saber nada de RF, enseguida se me ocurrió otro ataque que encaja mejor con mis herramientas. ¿No se podría meter el termostato en una caja y controlar mecánicamente la temperatura de esa caja?

    • Quité el termistor dentro del controlador de pared y cableé en su lugar un potenciómetro digital. Logra el mismo efecto sin calentar ni enfriar físicamente el sensor.
    • ¿O no bastaría con conectar un ESP32 a la placa de control de la caldera para cerrar el circuito de contacto seco?
    • Suena como un enfoque razonable, pero el problema es enfriar la caja. Para encender la calefacción, el sensor de temperatura tiene que leer un valor bajo.
      Aun así, si se puede acceder al interior del termostato, no parece difícil reemplazar el sensor de temperatura por un circuito que lo haga leer valores muy altos o muy bajos cuando haga falta.
    • Exacto. De hecho, se puede hacer así. Busca CoolBot. Hace exactamente esto calentando el termostato existente.
    • Si tienes acceso físico a la caldera combi, otra opción es quitar el receptor y cambiarlo por un termostato para caldera combi compatible con Home Assistant.
      Incluso si es tu primera vez, probablemente sea un trabajo de 30 minutos, y con un poco de cinta de doble cara se puede revertir fácilmente. Es algo familiar para cualquier británico que haya construido una Tracy Island. El riesgo de descarga eléctrica es real, pero se puede reducir por completo apagando la alimentación de la caldera.
      Aun así, es un hack entretenido y está bien implementado.
  • Me pregunto cuál sería la forma ideal de un termostato universal.
    El termostato de nuestro departamento tiene una “función” que hoy viene en muchos productos de EE. UU.: te hace configurar cuatro momentos ordenados —despertar, salir, volver a casa y dormir— y la temperatura deseada para cada tramo. Casi no conozco hogares donde todos se levanten, salgan, vuelvan y se duerman todos los días a la misma hora.
    Yo trabajo desde casa, así que simplemente quiero fijar una temperatura y mantenerla indefinidamente, pero este sistema me obliga a ingresar la temperatura deseada cuatro veces y revisar los cuatro tramos.
    Al final, creo que sería mejor un termostato más programable que pueda configurarse para comportarse como un termostato antiguo de perilla.

    • Sigo pensando que una perilla es lo mejor. Sobre todo en viviendas modernas, al menos en Europa, parece existir la idea de que conviene dejar el termostato siempre a la misma temperatura. La teoría es que calentar por la mañana una casa que se enfrió consume más energía que mantener una temperatura estable.
      La configuración ideal sería instalar válvulas termostáticas inteligentes en todos los radiadores de la casa, para bajarlas manualmente cuando no estés en una habitación o para que se ajusten detectando automáticamente actividad o ventanas abiertas. Eso sí: no debería ser solo el termostato principal de la sala el que encienda la caldera; cada válvula debería tener autoridad para encender la caldera central cuando lo necesite.
    • Uso Ecobee y me gusta. Por defecto tiene Home, Away y Sleep, pero puedes agregar tantos o tan pocos como quieras. Puedes cambiar la temperatura manualmente y también decidir cuánto tiempo se mantiene ese ajuste manual: hasta que lo canceles, o hasta el próximo cambio programado.
      Como de noche me gusta que esté más fresco, lo configuré para que la temperatura cambie cerca de mi hora habitual de dormir, y vuelve automáticamente aunque haya ajustado la temperatura durante el día. Justamente uso un termostato inteligente porque no quiero tener que acordarme de volver a cambiarlo. Si salgo de casa, lo detecta y cambia a Away; cuando estoy de vacaciones, puedo configurarlo para que solo mantenga la casa segura y no confortable, y luego hacerlo volver más o menos a la hora en que aterriza mi vuelo.
      Si tu horario no es absurdamente aleatorio, o si no quieres siempre la misma temperatura estés dormido, despierto o fuera de casa, basta con cargar un horario básico y ajustar manualmente cuando haga falta. Si te levantas una hora antes, lo cambias tú; si te levantas a la hora, ni siquiera tienes que preocuparte.
    • Sinceramente, el método de antes es mejor. El nuestro también es programable, pero no lo programamos y lo dejamos siempre en la temperatura que queremos. Si un día frío se siente un poco fresco, lo subimos 1 grado; si hay buen sol y todos sienten calor, lo bajamos 1 grado.
    • ¿No permiten ya casi eso estos termostatos? Tengo un termostato Honeywell nuevo y básicamente hace lo mismo que hacía el anterior de hace 20 años, con apenas algunas mejoras de comodidad en la UI. Tiene momentos de despertar/salir/volver/dormir para cada día de la semana y, opcionalmente, también se puede agregar un segundo par salir/volver. Además hay una opción para sobrescribir el programa del día con holiday, que funciona como un octavo día programable que puedes activar en cualquier momento.
      La forma de uso que quieres también es posible: dejas el programa estándar en 15 °C y, cuando lo necesites, activas holiday configurado a la temperatura deseada. Si lo haces volver a 15 °C a una hora razonable de la noche, no se queda encendido indefinidamente aunque te olvides.
    • La solución obvia es poner despertar a las 8:00, salir a las 8:01, volver a casa a las 8:02 y dormir a las 8:03. Luego configuras la temperatura de dormir en la que quieres y dejas las demás en valores razonablemente cercanos; o, si no alternas automáticamente entre calefacción y refrigeración, durante esos 3 minutos las configuras en valores estacionales que no hagan nada. Por ejemplo, en verano la temperatura más alta posible y en invierno la más baja posible.
  • Flipper Zero es excelente, y si instalas firmware personalizado puede encargarse de toda la parte de hacking e investigación.
    El producto original viene de fábrica con un firmware comprensiblemente bastante restringido. Supongo que es para reducir las críticas que recibe la empresa. Pero instalar algo como Flipper Unleashed es muy fácil, y con eso eliminas esas restricciones y obtienes muchas funciones adicionales.
    Tener una herramienta que podría usarse para cometer delitos no necesariamente es un delito en sí mismo. Pero hay que tener cuidado con lo que haces, y según el país puede que personas de traje llamen a tu puerta.
    En lo personal, quería reproducir las señales de 433 MHz “cifradas” de mis propios dispositivos, como un portón eléctrico, puertas enrollables y persianas enrollables, pero estaba deshabilitado cuando la configuración regional del Flipper era Australia.

    • Estoy 1000% de acuerdo con “tener una herramienta que podría usarse para cometer delitos no necesariamente es un delito en sí mismo”, pero, como alguien que tuvo problemas menores en el pasado, hay que tener cuidado con esa idea. Siempre hay que asumir que una autoridad que hace preguntas puede construir la narrativa que quiera, que esa narrativa será aceptada y que mi razonamiento puede terminar usándose en mi contra.
      La exploración técnica y la curiosidad siempre son recomendables, pero incluso con el ejemplo del Flipper Zero hay cosas que conviene tener presentes sin importar la jurisdicción. Si no piensas usarlo, no lo lleves encima. Lee toda la documentación antes de practicar y practica de forma discreta. Aplica la actitud de “no dejar rastro” que se aprende en actividades al aire libre. Presta atención a cómo tu presencia y tus acciones afectan el entorno y el objetivo, y a cómo podrían ser interpretadas por observadores externos; toma medidas para reducir sospechas.
      Estos principios se aplican a muchos dispositivos, desde teléfonos desechables hasta clonadores baratos de tarjetas RFID de Temu.
      Los principiantes, en especial, suelen dejarse llevar por el entusiasmo y querer saltar directamente a la etapa de verse como hackers de TV y videojuegos. Hay una razón por la que esos personajes son ficticios. Al final, haya sido inofensiva o no la acción, lo que importa es cómo la percibe la autoridad que hace las preguntas.
  • Si quieres decodificarlo, probablemente no sea tan difícil. Cuando hice esto hace tiempo también intenté implementar la parte de transmisión, pero me mudé y no pude terminarlo.
    https://blog.habets.se/2017/04/Decoding-FSK.html

  • Yo lo haría calentando o enfriando el termostato en sí, en vez de meterme con la señal inalámbrica. Le pones una cajita encima y controlas la temperatura dentro de la caja con algo como un pequeño módulo Peltier. Si quieres encender la calefacción, enfrías el interior de la caja; si quieres detenerla, lo calientas.
    Aunque quizás este método me parece mucho más fácil porque hago controladores térmicos como hobby.

  • Si el autor original llega a leer esto, probablemente habría gastado menos dinero y se habría ahorrado dolores de cabeza si simplemente hubiera cambiado el termostato por uno compatible con la caldera. El simple hecho de que haya encontrado una señal de Honeywell en un proyecto open source al azar y que funcionara muestra que el mercado de calderas está bastante abierto a la competencia.
    Suerte con las futuras personalizaciones del departamento.

    • Creo que te perdiste la parte donde explicó que el departamento era alquilado y no podía modificar nada.
  • Gran proyecto.
    Cualquier calefactor a gas natural (CH4) relativamente moderno debería tener funcionalidad de termostato modulante mediante protocolos como OpenTherm/eBus. Combinado con un termostato que tenga sensor de temperatura exterior, aumenta la eficiencia del sistema en algunos puntos porcentuales y ayuda a compensar el costo del termostato y la instalación. Al final queda un sistema de calefacción moderno más eficiente.
    Lo mismo debería aplicarse a los sistemas de bomba de calor.

    • OpenTherm es una buena idea, pero incluso las instalaciones nuevas no siempre vienen cableadas para eso. Cuando instalé un termostato inteligente nuevo, vi que la instalación existente estaba cableada como S Plan, y los pocos cables entre la ubicación de la caldera y la de las válvulas ya estaban todos ocupados. Si no está preparado de antemano, el trabajo se vuelve mucho más grande.
  • Me mudé a un departamento nuevo, mejor dicho a una casa, y necesitaba una renovación completa. No tenía aislamiento moderno, pero calculé que por ahora la rentabilidad de invertir en aislamiento no cerraba. Al ser una casa pareada de varios pisos, quería una calefacción lo más cómoda y económica posible.
    En particular, quería temperaturas estables y regulables por separado en dormitorios y sala, calefacción por piso radiante en algunas habitaciones, radiadores en otras, y en otras una combinación de piso radiante + radiadores porque en olas de frío el piso radiante por sí solo podía no alcanzar.
    Pensé que, pagando, alguien podría configurar el sistema de control. ¿No debería ser algo sencillo?
    Estaba completamente equivocado. Después de pasar horas entendiendo las configuraciones recomendadas por los “expertos”, encontré casos límite que generaban desperdicio o incomodidad: overshoot o undershoot de temperatura innecesarios e inevitables, por ejemplo. Lo hablé varias veces con Honeywell, Tado, Siemens y otros, pero todos tenían defectos graves.
    Eso frenó un poco la renovación, pero la plomería ya estaba preparada y al menos quería ver si las tuberías y las bombas funcionaban. Así que conecté las bombas y válvulas a enchufes inteligentes controlados por Zigbee para comprobar si encendían. Funcionó bien, y de ahí seguí con la idea.
    Ahora tengo sensores de temperatura Zigbee de 20 dólares repartidos por toda la casa, enchufes inteligentes y relés de 30 dólares que accionan válvulas, bombas y la caldera, y Home Assistant controla todo. Todo funciona perfectamente, e implementé funciones imposibles con sistemas comerciales. Por ejemplo, en una habitación que tiene piso radiante y radiador, cuando la diferencia con la temperatura objetivo es grande, enciendo ambos para calentar rápido; cuando se acerca al objetivo, apago el radiador para que el piso radiante quede como principal. Es más cómodo y también más eficiente energéticamente que el radiador. Las habitaciones con radiadores quedan dentro de ±0.4 °C respecto del objetivo, y las de piso radiante dentro de ±0.1 °C.

    • El mundo de los sistemas de calefacción con control automático/remoto y el mundo de los timbres son, en la práctica, una enorme estafa. Es más bien una actualización de rubros que ya antes tenían bastante de estafa. Casi lloré cuando pagué una fortuna por dispositivos Tado; incluso los tontos dispositivos bTicino costaban cientos de euros y en realidad no son más que un sensor, una pequeña LCD y un sistema de menús diseñado en el infierno. Con los timbres basados en IP pasa lo mismo. Doorbird es básicamente una webcam con una carcasa metálica decente y software pésimo, pero cuesta cientos de euros; y los sistemas analógicos con fibra óptica compiten a precios casi iguales o incluso más altos.
    • Los sistemas comerciales no están optimizados únicamente para la eficiencia. Están hechos para que un instalador, con medio día de capacitación y unas cuantas multiplicaciones y sumas, pueda configurar parámetros que den un resultado aceptable y razonablemente cercano al óptimo bajo condiciones de equipo especificadas. Además, la siguiente persona tiene que poder entenderlo.
      Por eso casi siempre están algo sobredimensionados y son ineficientes, para cubrir lo que los modelos simples no capturan.
      Esto no pasa solo con la calefacción: ocurre en la mayor parte de la ingeniería, y los objetos completamente optimizados son bastante raros.
    • Te garantizo que tu cálculo de rentabilidad del aislamiento está mal. Probablemente subestimaste mucho el costo del combustible o de la electricidad.
      En vez de pensar “toda la industria de HVAC/calefacción es tonta y no sabe hacer bien esto”, conviene revisar si tus supuestos o criterios podrían estar equivocados.
      Por ejemplo, en los sistemas modernos de HVAC o calefacción, el undershoot y el overshoot no generan desperdicio ni incomodidad. Un overshoot de 1–2 °F no significa que el espacio calefaccionado pierda notablemente más calor que si estuviera perfectamente clavado en el setpoint. Tampoco querrías un sistema de respuesta instantánea. Si abrís la puerta para recibir un paquete, firmás y la cerrás, el aire dentro de la habitación se enfría bastante.
      ¿Debería encenderse la calefacción en ese momento?
      En tu casa parece que sí se encendería, pero la respuesta correcta es no. El aire se vuelve a calentar rápidamente con todos los objetos que estaban a temperatura ambiente. Solo la superficie suma miles de pies cuadrados.
    • En los termostatos comunes, la histéresis de temperatura es inevitable, pero puede reducirse con un controlador PID. La mayoría de los sistemas comerciales de automatización de edificios usan controladores PID de forma amplia.
      Las opciones residenciales como Honeywell, JCI, Siemens, Trane y Carrier parecen enfocarse más en aplicaciones generales, mientras que los sistemas BAS comerciales, aunque usen sensores y controladores genéricos, se parecen más a diseños a medida para un edificio específico. Como referencia, trabajé en proyectos de automatización de edificios con las cinco empresas mencionadas.
    • Para un futuro comprador será una pesadilla de operar.
      Algunas personas tienen la mala suerte de comprar una casa cuya configuración de caldera fue diseñada por un ingeniero mecánico, con la sala de calderas llena de válvulas y manómetros como si fueran a operar el motor del Titanic.
      Hoy parece que los nuevos pecadores en este campo son los programadores.