Pompa di calore Daikin HPSU Compact hack: la motivazione, unita ad un Raspberry Pi, è alla base di tutto quello che facciamo per raggiungere un obiettivo. Scopri come ho usare Raspberry Pi, la scheda PiCAN2 e Python per gestire tramite CAN-Bus la pompa di calore aria acqua Daikin HPSU Compact o la più recente Daikin Altherma 3 ECH2O.
Perché questo progetto
Come sapete (vedi Defrost Daikin: una scelta consapevole ?) non sono ancora riuscito a capire perché la mia pompa di calore ha una frequenza di sbrinamento elevata apparentemente indipendentemente dalle condizioni ambientali esterne e non in linea con la documentazione che ho reperito.
E’ quindi venuto il momento di “aprire” la mia pompa di calore aria acqua Daikin HPSU Compact al fine di disporre dei dati di funzionamento, normalmente visibili sul display a bordo macchina, utilizzabili per un monitoraggio ed analisi avanzata.
⚠ Questa attività non e’ supportata dal prodotto e potreste comunque danneggiarlo facendo operazioni sbagliate (invalidando pure la garanzia). Deve essere fatta da persone esperte nel campo elettronico/informatico.
Questo progetto si basa sull’idea e sul lavoro di zanac (https://github.com/zanac/pyHPSU) a cui sto contribuendo. Altri contributori sono i benvenuti !
La documentazione di prodotto della pompa di calore aria acqua Daikin HPSU Compact è limitata, non nasce per essere un sistema aperto, ma si evince chiaramente che viene utilizzato il bus standard CAN-Bus (Controller Area Network) per collegare le varie periferiche (come il RoCon U1 o RoCon M1).
Ho anche verificato i manuali della unità interne delle più recenti Daikin Altherma 3 R ECH2O (EHSX) e Daikin Altherma 3 H MT & HT ECH2O (ETSX): in entrambi i casi è ancora assolutamente presente il collegamento di dispositivi RoCon opzionali utilizzano il CAN-Bus. Per approfondire puoi anche leggere la mia recensione pompa di calore Daikin Altherma 3.
Se pensi di aver trovato un approccio troppo complesso, scopri una soluzione più semplice ma che ti consente comunque di ottimizzare al massimo il funzionamento del riscaldamento sulla pompa di calore aria acqua Daikin Altherma 3 ECH2O e Daikin HPSU Compact leggi il mio articolo Curva climatica inversa Daikin Altherma 3 ECH2O e HPSU Compact.
Componenti per hack pompa di calore Daikin Altherma 3 ECH2O e HPSU Compact
I componenti utilizzati per il progetto sono i sequenti:
- Raspberry Pi 3 Model B come piattaforma di elaborazione dei dati
- PiCAN2 CAN-Bus Board for Raspberry Pi 2/3 come scheda di interfaccia per integrare il CAN-Bus col Raspberry Pi
Nel caso vogliate utilizzare il più recente Raspberry Pi 4 esiste la corrispondente nuova versione di scheda PiCAN3.
Vediamo ora le operazioni necessarie per disporre del sistema base funzionante, seguendo la guida originale di riferimento: PiCAN2 USER GUIDE V1.2
Collegamento Raspberry Pi e PiCAN2 con pompa di calore Daikin Altherma 3 ECH2O e HPSU Compact
Prima di installare la scheda PiCAN2, assicurarsi che il Raspberry Pi sia spento. Allineare con cura il connettore a 40 pin del Raspberry Pi ed il connettore delle scheda fermandolo con le viti.
Il collegamento del Raspberry Pi con PiCAN2 al CAN-Bus della pompa di calore Daikin HPSU Compact, o alla Daikin Altherma 3 ECH2O, può essere fatto utilizzando il connettore con i morsetti (non sono nemmeno richieste operazioni preliminari come nel caso del connettore DB9)
Lato pompa di calore Daikin HPSU Compact possiamo invece utilizzare il connettore a 4 fili J13 della scheda RoCon BM1 progettato per il collegamento di comandi remoti addizionali come i RoCon U1 e RoCon M1:
Ho utilizzato la seguente color convention per il cavo di collegamento:
Daikin HPSU Compact J13 | Cavetto | Morsetti PiCAN2 |
---|---|---|
CAN-H | Verde | CAN_H (Pin 1) |
CAN-L | Bianco | CAN_L (Pin 2) |
CAN-GND | Marrone | GND (Pin 3) |
Montando la scheda PiCAN2 sul Raspberry Pi si ottiene un sistema molto professionale:
Utilizzando il case dedicato il risultato e’ davvero eccellente:
Nel caso vogliate provare a collegarvi al CAN-Bus di una Daikin Altherma 3 R ECH2O (EHSX)o Daikin Altherma 3 H MT & HT ECH2O (ETSX), sul manuale di collegamento è presente il collegamento a 4 fili del connettore J13 sulla scheda
Anche in questo caso le periferiche previste per il collegamento CAN-Bus sono il sempreverde termostato ambiente modulante Daikin RoCon U1 (EHS157034) ed il relativo modulo di miscelazione RoCon M1 (EHS157068).
Anche questo schema, tratto sempre dal manuale della Daikin Altherma 3 R ECH2O (EHSX) o della Daikin Altherma 3 H MT & HT ECH2O (ETSX), mi sembra di averlo già visto:
Anche il nome dei piedini del connettore J13 sulla scheda RoCon BM2C non è cambiato rispetto alla vecchia scheda RoCon BM1. Per quanto lo abbia provato personalmente, procederei davvero serenamente nel provare a collegare Raspberry Pi via CAN-Bus anche con la pompa di calore Daikin Altherma 3 ECH2O (EHSX e EHSX).
Installazione e configurazione Raspberry Pi
Passiamo ora alla parte software dove la prima operazione consiste nell’installazione del sistema operativo.
Per farlo basta utilizzare sul proprio PC il tool Raspberry Pi Imager che consente di preparare e scrivere sulla SD Card l’immagine di Raspberry Pi OS inclusiva delle configurazioni della rete WiFi e dell’accesso SSH.
Per approfondire potete leggere la mia guida completa su come installare Rasperry Pi OS per la domotica.
Installazione e configurazione PiCAN2
Lanciate il tool di configurazione di Raspberry Pi:
sudo raspi-config
Ed all’interno di Interface Options abilitate il caricamento automatico di SPI:
Ora aggiungete gli overlays alla configurazione:
sudo nano /boot/config.txt
Aggiungendo le seguenti tre righe alla fine del file:
dtparam=spi=on
dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25
dtoverlay=spi-bcm2835-overlay
Fate re-boot e potrete poi tirare finalmente su l’interfaccia can0:
sudo /sbin/ip link set can0 up type can bitrate 20000
Per verificare che l’interfaccia sia attiva utilizzate il comando seguente:
ip addr show dev can0
Nel cui output, se è tutto a posto, troverete qualcosa di simile a questo:
4: can0: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state UP group default qlen 10
link/can
Per evitare di doverlo fare a mano ogni volta, è necessario configurare il sistema in modo che l’interfaccia can0 venga attività ad ogni boot. Per farlo dovete creare il file seguente:
/etc/network/interfaces.d/can0
Con il seguente contenuto:
auto can0
iface can0 inet manual
pre-up /sbin/ip link set $IFACE type can bitrate 20000 triple-sampling on
up /sbin/ifconfig $IFACE up
down /sbin/ifconfig $IFACE down
Riavviate il vostro Raspberry Pi per verificare che l’automatismo funzioni.
Installazione Python-CAN
Per cominciare ad utilizzare praticamente il sistema è necessario installare qualche ulteriore software di base.
Se non fosse presente effettuate l’installazione di Python 3:
sudo apt update
sudo apt install python3
Se non fosse presente installate pip per Python 3:
sudo apt-get install python3-pip
Ora installate Python-CAN, un insieme di librerie Python per potersi interfacciare con sistemi basati su CAN bus:
sudo pip3 install python-can
Test Raspberry Pi + PiCAN2
Potete finalmente verificare che il sistema vede i dati che passano sul CAN-Bus della pompa di calore Daikin HPSU Compact mediante questo comando:
python3 /usr/local/bin/can_logger.py -c can0 -v -i socketcan
Ed ecco i dati:
Connected to SocketcanBus: socketcan channel 'can0'
Can Logger (Started on 2021-11-29 11:13:03.853493)
Timestamp: 1638180834.179508 ID: 010a S DLC: 7 31 00 fa c0 b4 00 00 Channel: can0
Timestamp: 1638180834.186376 ID: 0180 S DLC: 7 22 0a fa c0 b4 00 22 Channel: can0
Timestamp: 1638180843.342823 ID: 0180 S DLC: 7 20 0a 61 01 00 00 00 Channel: can0
Timestamp: 1638180848.352119 ID: 0180 S DLC: 7 20 0a 52 00 00 00 00 Channel: can0
Timestamp: 1638180873.374238 ID: 0180 S DLC: 7 20 0a 5d 01 00 00 00 Channel: can0
Se siete arrivati indenni fino a questo punto vuol già dire che siete bravissimi e vale assolutamente la pena di continuare!
Alla prossima puntata per cominciare a vedere come utilizzare il sistema per pubblicare i dati in cloud Daikin HPSU Compact hack: seconda parte.
Leggi tutti i miei articoli su Raspberry Pi:
Ultimo aggiornamento Amazon Affiliate 2024-09-20 at 18:20
Salve, complimenti per la guida.
Ho una domanda, se il connettore j13 fosse occupato dal RoCon M1 (EHS157068), come potrei procedere?
Grazie
Ciao Alessio,
essendo dispositivi CAN-Bus dovrebbe essere sufficiente collegare in parallelo ai medesimi morsetti del bus.
Salve, spero possa aiutarmi, ho ancora una ultima domanda…
Il connettore J13 della hpsu compact e naturalmente abilitato al segnale CAN o bisogna configurare in qualche modo la centrale? a me sembra che lei abbia un modulo esterno rocon abilitato per cui è certo che c’è un segnale CAN, in caso contrario?
La domanda si pone perchè sono riuscito a sniffare il traffico ‘a banco’ ma non sul bus reale e sto cominciando a perdere le speranze.
ringrazio anticipatamente
Ciao Salvatore,
il CAN Bus è il “cuore” della Daikin HPSU Compact con cui i vari moduli comunicano tra di loro quindi è assolutamente attivo dalla fabbrica.
Non ho alcun modulo esterno RoCon collegato.
Cosa vuol dire che lo sniff sul banco funziona?
Assicurati che i collegamenti siano stati effettuati correttamente.
Ringrazio moltissimo per la risposta, ho verificato che sul bus della hpsu c’è traffico, ho utilizzato una interfaccia elm, tutto regolare. il mio simulatore a banco non utilizza lo stesso protocollo can di hpsu e non rilevava traffico. Il dubbio sul bus e quindi la domanda, mi era venuto perchè non potevo verificare in altro modo ma poi ho risolto… ora ancora di più. grazie ancora.
ciao, io non sono molto esperto, è possibile comprarlo già fatto? Andrea,grazie
Ciao Andrea,
purtroppo non è stato ingegnerizzato. Trovi le guide di massima in questi articoli.
Ciao ho una Daikin Altherma 3 hht con interfaccia LAN adapter BRP069A62 che consente il controllo remoto da app, io però vorrei utilizzarla anche per lo Smart grid come la scheda apparentemente gemella BRP069A61 che è uguale a quella da me posseduta ma senza connettori a scorrimento. Secondo te è possibile entrare nel sistema e abilitare la 62 per lo Smart grid?
Ciao Maurizio,
ho dato un’occhiata al manuale. Quasi sicuramente i due modelli differiranno esclusivamente per qualche componente non montato sul PCB del dispositivo.
Volendo potresti aprirlo e vedere com’è fatto.
Puoi sicuramente collegarlo all’unità interna ed utilizzarlo senza fare danni.
Ovviamente mi atterrei alla raccomandazione presente sul manuale: “Per evitare danni e/o lesioni, NON eseguire alcun collegamento con i componenti X1A e X2A sull’adattatore LAN BRP069A62”
Hi,
First of all congratulation for you blog, It is increadble. Great job!
I have a rotex HPSU 508 and + PV system, now I am monitoring with emoncms and workgs great, but only receiving default values from rotex HPSU.
I like to obtain sames values that you are calculating wit your emoncms install, cop, electric power, and all other that you are calculating, but I can’t find how to calculate and also seems that some of them are only in some modes of hpsu508, but I don’t know how do you do this
Can you give details or formulas used to calculate, I’m interested to generate simialr dashboard that you are using
Thanks
Ciao klxout,
please check here where you can find formulas: http://emoncms.org/ChabrosMaina/E
Hi,
Thanks,I have tried but I’m not really sure source of some vakues 1.162, eletric power external an internal unit, can you send an small scheme or esport of source of this vakues that you are getting from emoncms, for example an export of emoncms farmulas
Thanks for your great blog
Ciao,
complimenti, ottima guida! Ti chiedo una info, speriamo tu possa rispondermi dato che in rete non ho trovato nulla, hai idea se per attivare la funzione Smart Grid è sufficiente cortocircuitare il relativo piedino nel connettore J8 o serve qualche interfaccia particolare? Io ho soltanto bisogno di attivare questa funzione quando ho un surplus di produzione fotovoltaica, il contatto è un semplice relè che si chiude quando supero i 4kw di produzione.
Grazie
Eugenio
Ciao Eugenio,
hai letto questo articolo su Autoconsumo fotovoltaico + monitoraggio fotovoltaico ?
Ciao!
è proprio il dispositivo Elios4you che voglio utilizzare, ecco perché ti chiedevo se basta un contatto pulito, io mi occupo di domotica su protocollo KNX, faccio veramente tanta fatica a trovare questo tipo di risposte dai termotecnici con cui collaboro…Ora però ho il problema di verificare se la funzione Smart Grid è stata attivata nella pompa di calore, per fare ciò mi chiede l’accesso al menù esperto del Rocon+ HP con un codice che io non posseggo
Ciao Eugenio,
nell’articolo citato ho spiegato come ho fatto. Quando si attiva si vede nel display.
Si, ma nella PDC che ho io, il nuovo modello (Altherma 3 Compact) per settera la funzione SG1 o SG2 devi entrare nel menù in modalità esperto, serve un codice a 4 cifre che hanno gli installatori
Hello,
Thanks for your tutorial.
I’m trying to do it with a RS485 CAN Hat.
I think it is almost good but I have no response when testing the can communication with
python3 /usr/local/bin/can_logger.py -c can0 -v -i socketcan
I got
Connected to SocketcanBus: socketcan channel ‘can0’
Can Logger (Started on 2019-09-10 23:41:40.554164)
and nothing after…
I have some doubts for the wiring because on my can module the pin are written wth letters HLBA. I understand H = CAN-H, L=CAN-L but were should I wire the ground? I tried B=ground from the rotex or ground connected to one of the GPIO. It is the same result.
I understand that my pi does not receive anything from the can bus
Hello Damien,
I tried to take a look to RS485 CAN Hat Wiki Page. Not able to sort out the answer. Maybe you can drop an email to their support.
Hi,
I am about to buy the PiCAN with GPS (http://skpang.co.uk/catalog/pican-with-gps-gyro-accelerometer-canbus-for-raspberry-pi-3-p-1521:2d5ee509828fbd68c970df0a9d922029.html
) slightly different from yours, do you think I will be able to connect it to a motorbike without any problem? The difference between the PiCAN you are using and mine is that yours has the MCP2551 CAN transceiver which I don’t know if it will affect the communication between the motorbike/car and the raspberry.
Thanks.
Ciao Francesco,
the two products use both Microchip MCP2515 CAN controller.
About your motorbike: you have only to try. First in the garage and not driving !
Hi, is it possible to “SET” values, like temperature of WW or mode, over can-bus?
Hi Julian,
yes you can.
Hi
Very good article.
Clear and precise this is great job.
I would like to hack my pompa di calore like you did.
Mine is DAIKIN EKHBRD016ADY1 + ERSQ016AY1 with wired remote control BRC1D52.
The wired remote control is connected with a 2 wires cable.
The voltage on this line is 16v
Do you think, it can be a CAN bus perhaps customized ?
Thanks for your help
Hi Marc, thanks ! Especially considering that the article is written in Italian.
Your Daikin could be “opened” if it is using a CAN Bus. Check in the heat pump manual if you can find any reference to CAN Bus.