¡Seleccione el idioma inglés para leer la versión actualizada de este artículo!
Introducción

En este artículo se muestra cómo gestionar la bomba de calor y el sistema de ventilación (HVAC) con el software de código abierto Domoticz instalado en un Rock PI S o Raspberry PI (pero cualquier otro hardware debería funcionar), para utilizar la mayor cantidad de energía de fuentes renovables (sistema fotovoltaico en este caso) reduciendo la factura de la electricidad .
En primer lugar, un edificio inteligente no debería tener termostatos para regular la temperatura de la habitación , ya que normalmente no son tan inteligentes como un controlador domótico. Es preferible tener un sensor de temperatura (y humedad) en algunas habitaciones y modificar la temperatura del agua de salida para obtener el mejor confort y el consumo de energía necesario .
Controlar un edificio con sistema radiante con bomba de calor y fotovoltaica en el tejado es un poco complejo, porque hay que tener en cuenta varios elementos:
-
Temperatura mínima y máxima exterior
-
Temperaturas ambiente (y diff= diferencia con el punto de ajuste)
-
variación de diff con el tiempo (derivada de diff en el tiempo)
-
Energía actual de la red (si es negativa, hay algo de energía adicional disponible proveniente de la energía solar fotovoltaica y es mejor usarla para aumentar la potencia de la bomba de calor)
-
costo de la electricidad, aumentar el consumo cuando la energía eléctrica es más barata y reducir la potencia durante las horas pico (generalmente de 7 a 9 de la mañana y de 18 a 21 de la tarde) para contribuir a la estabilidad de la red eléctrica.
- Previsión de energía solar, por lo que es posible reducir la potencia de la bomba de calor por la mañana o por la noche en caso de que haya suficiente energía fotovoltaica para compensar el tiempo de apagado de la bomba de calor.
El objetivo es conseguir una temperatura confortable en todas las habitaciones, tal vez reduciendo la temperatura cuando las habitaciones no se utilizan y sobrecalentando el edificio durante el invierno, cuando hay disponible energía adicional procedente de energía fotovoltaica: si el punto de ajuste es de 21 °C pero hay disponible energía adicional procedente de energía fotovoltaica, el punto de ajuste se puede elevar dinámicamente a 21,5 o 22 °C, por ejemplo.
¡Por este motivo , en algunas habitaciones se prefieren los sensores de temperatura y humedad a los termostatos manuales!
Se trata de una placa muy compacta, DomBusTH , que se puede utilizar con Domoticz, Home Assistant, ..., con un sensor de temperatura y humedad , un sensor táctil (que actúa como pulsador multifunción), LED rojo+verde+blanco (para notificaciones), 4 entradas (sensores de alarma, pulsadores, ...) y 2 salidas (que se pueden conectar a un relé externo, por ejemplo, para subir o bajar una persiana). Esto es solo una recomendación de nuestro producto, pero es posible utilizar cualquier sensor de temperatura para este propósito, ¡por supuesto!
Domoticz admite varios lenguajes de script, y en este caso se eligió el script LUA porque es muy claro y fácil de aprender, usar y personalizar.
En GitHub https://github.com/CreasolTech/domoticz_lua_scripts se puede encontrar el ejemplo script_time_heatpump_emmeti.lua para controlar EMMETI Mirai SMI EH1018DC mediante Modbus, configurando la temperatura de salida del agua y la potencia del compresor. El script es realmente complicado porque está personalizado para las necesidades de un edificio específico, por lo que se sugiere comenzar con algunas reglas simples para realizar una automatización, luego adaptar y mejorar las reglas para obtener el comportamiento deseado.
¿Qué necesitas?
- una computadora de placa única (como Raspberry PI, Rock PI) o NUC u otra mini-PC , con al menos 1 puerto USB (que se puede expandir con un concentrador USB, si es necesario)
- Sistema operativo Linux + software Domoticz. También puedes encontrar la placa SD con sistema operativo + software ya instalado y lista para usar: consulta https://store.creasol.it/19-kit para ver algunos kits .
- Adaptador USB/RS485 económico para conectar la bomba de calor mediante RS485. Alternativamente, es posible utilizar un módulo WiFi-RJ45/RS485.
- Adaptador USB/RS485 económico, o módulo WiFi-RJ45/RS485, para conectar todos los módulos DomBus mediante bus RS485, si es necesario.
- sensores de temperatura
- Detalles específicos de los registros Modbus de su bomba de calor, algo de paciencia y algunas habilidades para realizar una automatización para controlar la bomba de calor .
¿Por qué Domoticz?
Se pueden utilizar otros sistemas como Home Assistant, Node-RED, OpenHAB,... La elección de Domoticz es buena porque es sencilla, estable y permite realizar automatizaciones complejas fácilmente programando en LUA. Otros sistemas de domótica no son tan versátiles, pero se pueden utilizar igualmente con algunas limitaciones.
Control de la bomba de calor mediante ModBus
La bomba de calor tiene una entrada para seleccionar media potencia o potencia máxima : se utiliza principalmente durante la noche para reducir el ruido, limitando la frecuencia del compresor y del ventilador al 50% aproximadamente (la frecuencia/potencia del compresor se puede seleccionar de 0 a 100%).
Como se puede reducir la frecuencia del compresor, es posible utilizar esta función para reducir la potencia de la bomba de calor.
![]()
La temperatura del agua es una buena solución para maximizar el confort de la casa, mientras que la frecuencia del compresor es perfecta para controlar la potencia de uso.
De forma predeterminada, la bomba de calor tiene un algoritmo para calcular la temperatura del agua de salida en función de la temperatura exterior actual y regular la frecuencia (potencia) del compresor proporcionalmente a la diferencia entre la temperatura calculada y la temperatura actual del agua.
La idea es implementar un mejor control de la temperatura del agua de salida basándose en :
- Diferencia entre el punto de ajuste de la habitación y la temperatura actual diffTemp
- derivada de diffTemp (es importante saber si la diferencia entre el punto de ajuste y la temperatura está disminuyendo o aumentando)
- Temperatura mínima exterior (máxima en verano)
- Potencia actual del sistema fotovoltaico (para mejorar el autoconsumo)
- Potencia máxima de la red eléctrica , para reducir el consumo de energía en las horas punta (a primera hora de la mañana y a última de la tarde): esto se utiliza únicamente para ayudar a la red eléctrica a evitar los picos de potencia y los altos precios de la energía.
- Previsión de energía fotovoltaica : si la potencia es lo suficientemente alta, es posible limitar la potencia durante la noche y las horas punta, aumentando la potencia durante el día. Si la energía fotovoltaica no es suficiente, es mejor mantener la bomba de calor a baja potencia durante las horas punta, pero mantenerla encendida.
El algoritmo de control se implementa, en un script LUA que calcula el valor correcto de la temperatura del agua de salida y la frecuencia (potencia) del compresor , enviando esos parámetros por Modbus (RS485) a la bomba de calor mediante el comando mbpoll o mediante un plugin para controlar la bomba de calor, si existe.
La bomba de calor RS485 se conecta al controlador domótico (RaspberryPI en este caso) mediante un adaptador RS485/USB; también se utiliza el módulo DomBus31 para controlar las entradas de la bomba de calor (encendido/apagado del termostato, temperatura de la bobina/radiación, calefacción/refrigeración y potencia máxima/media potencia).
En realidad, la bomba de calor siempre está configurada en "modo nocturno" y el script lua controla ambos.
- Temperatura del fluido de salida necesaria para tener el confort adecuado en la casa.
- Porcentaje de potencia del compresor , para regular la potencia.
Durante la noche, tanto la temperatura del fluido como la potencia se reducen para limitar el consumo de energía y el ruido del ventilador/compresor.
Durante el día, tanto la temperatura del fluido como la potencia aumentan (mayor temperatura => mayor eficiencia), con la excepción de las horas punta de la mañana y la tarde, donde es una buena práctica reducir los consumos para una mejor estabilidad de la red eléctrica, e incluso para ahorrar dinero.
En caso de que se produzca una producción extra de energía fotovoltaica (energía exportada a la red), se aumenta la temperatura y la potencia del fluido para consumir toda la energía fotovoltaica disponible. Además, las consignas de la habitación se incrementan automáticamente en caso de potencia extra de energía fotovoltaica, para reducir la potencia consumida por la tarde o por la noche.
Los archivos script_time_heatpump_emmeti.lua y config_heatpump_emmeti.lua están disponibles en Github https://github.com/CreasolTech/domoticz_lua_scripts
Previsión de costes de energía eléctrica y fotovoltaica
En la misma página de GitHub es posible encontrar script_time_entsoe.lua que calcula el precio y el costo de la electricidad hora por hora , el precio promedio de la electricidad , el pronóstico de energía solar hora por hora y el pronóstico de energía diaria total .
El precio de la electricidad se calcula para la zona seleccionada (por ejemplo, norte de Italia o Dinamarca2, ...) y el costo de energía por hora se calcula especificando 3 parámetros adicionales según su proveedor.
Para la previsión de energía solar, es posible especificar la orientación/declinación/kWp para uno o más sistemas, de modo que, al tener paneles solares colocados con diferentes orientaciones, es posible calcular la energía por hora para todas las cadenas. Desafortunadamente, esta API de previsión no administra los seguidores solares.

El script_time_entsoe.lua produce 4 variables que contienen valores horarios separados por punto y coma:
- Precio de electricidad por hora + precio promedio hoy
- Precio de electricidad por hora + precio medio mañana
- Energía fotovoltaica por hora + total hoy
- Energía fotovoltaica por hora + total mañana
Al incluir los scripts globalvariables.lua y globalfunctions.lua es posible utilizar las funciones:
- tonumber( getItemFromCSV(uservariables['entsoe_today'], ';', timeNow.hour) ) para obtener el precio promedio actual de la electricidad
- tonumber( getItemFromCSV(uservariables['entsoe_today'], ';', 24) ) para obtener el precio promedio actual de la electricidad
- tonumber( getItemFromCSV(uservariables['pv_today'], ';', 24) ) para obtener la energía total pronosticada de la energía fotovoltaica, hoy
- tonumber( getItemFromCSV(uservariables['pv_tomorrow'], ';', 24) ) para obtener la energía total pronosticada de la energía fotovoltaica para mañana

Con Domoticz es posible escribir automatizaciones complejas que tengan en cuenta todos los parámetros, permitiendo ahorrar dinero aumentando el autoconsumo y reduciendo el consumo energético en las horas punta donde el coste de la electricidad es más elevado. Además, de esta forma es posible mejorar la flexibilidad energética , ayudando a la red eléctrica a reducir el consumo (o exportación de energía) cuando su disponibilidad es baja (durante las horas punta).


Plugin Domoticz para gestionar la bomba de calor SMI de Emmeti Mirai
Un complemento para Domoticz que administra bombas de calor creado por Emmeti está disponible en https://github.com/CreasolTech/domoticz-emmeti-mirai

