Seleziona la lingua inglese per leggere la versione aggiornata di questo articolo!

Introduzione

un creDomBus31 pdc vmc

In questo articolo viene illustrato come gestire la pompa di calore e il sistema di ventilazione (HVAC) con il software open source Domoticz installato su un Rock PI S o Raspberry PI (ma qualsiasi altro hardware andrà bene), per utilizzare al meglio l'energia da fonti rinnovabili (in questo caso impianto fotovoltaico ) riducendo la bolletta elettrica .

Innanzitutto, un edificio intelligente non dovrebbe avere termostati per regolare la temperatura ambiente , perché di solito non sono intelligenti come un controller domotico. È preferibile avere un sensore di temperatura (e umidità) in alcune stanze e modificare la temperatura dell'acqua in uscita per ottenere il massimo comfort e il consumo energetico necessario .

Controllare un edificio con impianto radiante con pompa di calore e fotovoltaico sul tetto è un po' complesso, perché bisogna tenere conto di diversi elementi:

  • temperatura esterna minima e massima

  • temperature ambiente (e diff= differenza dal setpoint)

  • variazione di diff con il tempo (derivata di diff sul tempo)

  • potenza attuale dalla rete (se negativa, è disponibile una potenza extra dal solare fotovoltaico, ed è meglio utilizzarla aumentando la potenza della pompa di calore)

  • costo dell'elettricità, per aumentare i consumi quando l'energia elettrica è più economica e ridurre la potenza durante le ore di punta (solitamente dalle 7 alle 9 del mattino e dalle 18 alle 21 di sera) per contribuire alla stabilità della rete elettrica!

  • previsione dell'energia solare, quindi è possibile ridurre la potenza della pompa di calore al mattino o alla sera nel caso in cui ci sia abbastanza energia dal fotovoltaico per compensare il tempo di spegnimento della pompa di calore.

L'obiettivo è quello di ottenere una temperatura confortevole in tutte le stanze, magari riducendo la temperatura quando le stanze non vengono utilizzate e surriscaldando l'edificio durante l'inverno, quando è disponibile energia extra dal fotovoltaico: se il setpoint è 21°C ma è disponibile energia extra dal fotovoltaico, il setpoint può essere aumentato dinamicamente a 21,5 o 22°C, ad esempio.
Per questo motivo in alcune stanze si preferiscono i sensori di temperatura/umidità ai termostati manuali!

Questa è una scheda molto compatta, DomBusTH , che può essere utilizzata con Domoticz, Home Assistant, ..., con un sensore di temperatura e umidità , un sensore touch (che funge da pulsante multifunzione), LED rosso+verde+bianco (per le notifiche), 4 ingressi (sensori di allarme, pulsanti, ...) e 2 uscite (che possono essere collegate a un relè esterno, ad esempio per azionare una tapparella SU/GIÙ). Questa è solo una pubblicità per il nostro prodotto, ma è possibile utilizzare qualsiasi sensore di temperatura per questo scopo, ovviamente!

Domoticz supporta diversi linguaggi di scripting e in questo caso è stato scelto lo script LUA perché è molto chiaro e quindi facile da imparare, usare e personalizzare.

In GitHub https://github.com/CreasolTech/domoticz_lua_scripts è possibile trovare l'esempio script_time_heatpump_emmeti.lua per controllare EMMETI Mirai SMI EH1018DC tramite Modbus, impostando la temperatura dell'acqua in uscita e la potenza del compressore. Lo script è davvero complicato perché personalizzato per le esigenze di un edificio specifico, quindi si consiglia di iniziare con alcune semplici regole per realizzare un'automazione, quindi adattare e migliorare le regole per ottenere il comportamento desiderato.

Di che cosa hai bisogno?

  • un computer a scheda singola (come Raspberry PI, Rock PI) o NUC o un altro mini-PC , con almeno 1 porta USB (che può essere espansa con un hub USB, se necessario)
  • Sistema operativo Linux + software Domoticz. Puoi anche trovare la scheda SD con sistema operativo + software già installati e pronti all'uso: controlla https://store.creasol.it/19-kit per alcuni kit .
  • adattatore USB/RS485 economico per collegare la pompa di calore tramite RS485. In alternativa è possibile utilizzare un modulo WiFi-RJ45/RS485.
  • adattatore USB/RS485 economico, o modulo WiFi-RJ45/RS485, per collegare tutti i moduli DomBus tramite bus RS485, se necessario.
  • sensori di temperatura
  • specifiche per i registri Modbus della pompa di calore, un po' di pazienza e alcune competenze per realizzare un'automazione per il controllo della pompa di calore .

Perché Domoticz?

Puoi usare altri sistemi, come Home Assistant, Node-RED, OpenHAB, ... La scelta di Domoticz è buona perché è semplice, stabile e consente di realizzare facilmente automazioni complesse programmando in LUA. Altri sistemi di automazione domestica non sono così versatili, ma possono essere usati ugualmente con alcune limitazioni.

Controllo della pompa di calore tramite ModBus

La pompa di calore ha un ingresso per selezionare metà potenza o piena potenza : viene utilizzata principalmente durante la notte per ridurre il rumore, limitando la frequenza del compressore e della ventola a circa il 50% (la frequenza/potenza del compressore può essere selezionata da 0 a 100%).

Poiché è possibile ridurre la frequenza del compressore, è possibile utilizzare questa funzione per ridurre la potenza della pompa di calore.

Heat pump managed by a LUA script to overheat in case of extra power from photovoltaic

La temperatura dell'acqua è una buona soluzione per massimizzare il comfort della casa, mentre la frequenza del compressore è perfetta per controllare la potenza utilizzata.

Di default la pompa di calore ha un algoritmo per calcolare la temperatura dell'acqua in uscita in base alla temperatura esterna attuale e per regolare la frequenza (potenza) del compressore proporzionalmente alla differenza tra la temperatura calcolata e la temperatura attuale dell'acqua.

L'idea è quella di implementare un migliore controllo della temperatura dell'acqua in uscita basato su :

  1. differenza tra il setpoint della stanza e la temperatura attuale diffTemp
  2. derivata di diffTemp (è importante sapere se la differenza tra setpoint e temperatura sta diminuendo o aumentando!)
  3. temperatura esterna minima (massima in estate)
  4. potenza attuale dall'impianto fotovoltaico (per migliorare l'autoconsumo)
  5. potenza di picco della rete elettrica , per ridurre il consumo di energia nelle ore di punta (al mattino presto e nel tardo pomeriggio): questo serve solo ad aiutare la rete elettrica ad evitare picchi di potenza e prezzi elevati dell'energia
  6. previsione energia fotovoltaica : se sufficientemente alta, è possibile limitare la potenza durante la notte e le ore di punta, aumentando la potenza durante il giorno. Se l'energia da fotovoltaico sarà insufficiente, è meglio mantenere la pompa di calore a bassa potenza durante le ore di punta, ma tenerla accesa.

L'algoritmo di controllo è implementato in uno script LUA che calcola il valore corretto della temperatura dell'acqua in uscita e della frequenza del compressore (potenza) , inviando tali parametri tramite Modbus (RS485) alla pompa di calore utilizzando il comando mbpoll o tramite un plugin per il controllo della pompa di calore, se disponibile.

La pompa di calore RS485 è collegata al controller domotico (in questo caso RaspberryPI) tramite un adattatore RS485/USB; inoltre, il modulo DomBus31 viene utilizzato per controllare gli ingressi della pompa di calore (termostato acceso/spento, temperatura serpentina/radiante, riscaldamento/raffreddamento e potenza piena/metà potenza.

In realtà, la pompa di calore è sempre configurata in "modalità notturna" e lo script lua controlla entrambi

  1. temperatura del fluido in uscita necessaria per avere il giusto comfort in casa
  2. percentuale di potenza del compressore , per regolare la potenza

Durante la notte, sia la temperatura del fluido che la potenza vengono ridotte per limitare il consumo di energia e il rumore del ventilatore/compressore.

Durante il giorno aumentano sia la temperatura del fluido che la potenza (maggiore temperatura => maggiore efficienza), ad eccezione delle ore di punta del mattino e della sera in cui è buona norma ridurre i consumi per una migliore stabilità della rete elettrica, e anche per risparmiare.

Se c'è una produzione extra da fotovoltaico (energia esportata alla rete), la temperatura del fluido e la potenza vengono aumentate per consumare tutta l'energia disponibile da fotovoltaico. Inoltre, i setpoint della stanza vengono automaticamente aumentati in caso di potenza extra da fotovoltaico, per ridurre la potenza consumata la sera o la notte.

I file script_time_heatpump_emmeti.lua e config_heatpump_emmeti.lua sono disponibili su Github https://github.com/CreasolTech/domoticz_lua_scripts

Previsioni sui costi dell'energia elettrica e dell'energia fotovoltaica

Nella stessa pagina GitHub è possibile trovare script_time_entsoe.lua che calcola il prezzo e il costo dell'elettricità ora per ora , il prezzo medio dell'elettricità , la previsione oraria dell'energia solare e la previsione giornaliera totale dell'energia .
Il prezzo dell'elettricità viene calcolato per la zona selezionata (ad esempio Nord Italia, Danimarca2, ...) e il costo orario dell'energia viene calcolato specificando 3 parametri aggiuntivi, a seconda del fornitore.
Per la previsione dell'energia solare, è possibile specificare orientamento/declinazione/kWp per uno o più sistemi, quindi avendo pannelli solari posizionati con orientamenti diversi è possibile calcolare l'energia oraria per tutte le stringhe. Sfortunatamente gli inseguitori solari non sono gestiti da questa API di previsione.

Lo script_time_entsoe.lua produce 4 variabili contenenti valori orari separati da punto e virgola:

  • prezzo orario + medio dell'elettricità oggi
  • prezzo orario + medio dell'elettricità domani
  • energia fotovoltaica oraria + totale oggi
  • energia fotovoltaica oraria + totale domani

Includendo gli script globalvariables.lua e globalfunctions.lua è possibile utilizzare le funzioni:

  • tonumber( getItemFromCSV(uservariables['entsoe_today'], ';', timeNow.hour) ) per ottenere il prezzo medio attuale dell'elettricità
  • tonumber( getItemFromCSV(uservariables['entsoe_today'], ';', 24) ) per ottenere il prezzo medio attuale dell'elettricità
  • tonumber( getItemFromCSV(uservariables['pv_today'], ';', 24) ) per ottenere l'energia totale prevista dal fotovoltaico, oggi
  • tonumber( getItemFromCSV(uservariables['pv_tomorrow'], ';', 24) ) per ottenere l'energia totale prevista dal fotovoltaico, domani

Con Domoticz è possibile scrivere automazioni complesse che tengono conto di tutti i parametri, consentendo di risparmiare denaro aumentando l'autoconsumo e riducendo il consumo di energia nelle ore di punta in cui il costo dell'elettricità è più alto. Inoltre, in questo modo è possibile migliorare la flessibilità energetica , aiutando la rete elettrica riducendo il consumo (o l'esportazione di energia) quando la sua disponibilità è bassa (durante le ore di punta).

Import energy in a house with optimized heat pump management

 

Smart heat pump control by Domoticz to minimize power consumption

Plugin Domoticz per la gestione della pompa di calore Emmeti Mirai SMI

Un plugin per Domoticz che gestisce le pompe di calore prodotte da Emmeti è disponibile su https://github.com/CreasolTech/domoticz-emmeti-mirai

Screenshot dei parametri principali della pompa di calore Emmeti Mirai SMI gestiti da Domoticz

Screenshot dei parametri principali della pompa di calore Emmeti Mirai SMI gestiti da Domoticz