Home » Pompa di calore » Daikin HPSU Compact » Hack » Hack Daikin Altherma 3 ECH2O e HPSU Compact: CAN-Bus, Raspberry Pi e Python

Hack Daikin Altherma 3 ECH2O e HPSU Compact: CAN-Bus, Raspberry Pi e Python

Rotex HPSU Compact hack con Raspberry Pi e PiCAN2: prima parte

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
Raspberry Pi e PiCAN2
  • PiCAN2 CAN-Bus Board for Raspberry Pi 2/3 come scheda di interfaccia per integrare il CAN-Bus col Raspberry Pi
Raspberry Pi e PiCAN2

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.

Raspberry Pi e PiCAN2

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)

Raspberry Pi e PiCAN2

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:

Connettore CAN-Bus pompa di calore Daikin HPSU Compact
Connettore CAN-Bus pompa di calore Daikin HPSU Compact

Ho utilizzato la seguente color convention per il cavo di collegamento:

Daikin HPSU Compact J13CavettoMorsetti PiCAN2
CAN-HVerdeCAN_H (Pin 1)
CAN-LBiancoCAN_L (Pin 2)
CAN-GNDMarroneGND (Pin 3)
Raspberry Pi e PiCAN2
Raspberry Pi e PiCAN2

Montando la scheda PiCAN2 sul Raspberry Pi si ottiene un sistema molto professionale:

Raspberry Pi e PiCAN2

Utilizzando il case dedicato il risultato e’ davvero eccellente:

Raspberry Pi e PiCAN2

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

Connettore CAN-Bus pompa di calore Daikin Altherma 3 ECH2O
Connettore CAN-Bus pompa di calore Daikin Altherma 3 ECH2O

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:

Connettore CAN-Bus pompa di calore Daikin Altherma 3 ECH2O
Connettore CAN-Bus pompa di calore Daikin Altherma 3 ECH2O

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.

Come installare Raspberry Pi OS

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 2021-12-06 at 17:40

18 commenti su “Hack Daikin Altherma 3 ECH2O e HPSU Compact: CAN-Bus, Raspberry Pi e Python”

  1. 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?

    1. 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”

  2. 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

      1. 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

    1. 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

        1. 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

            1. 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

          1. 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

          2. 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.

          3. Marc Monlouis

            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

            1. 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.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.