Bongioanni Heat Pump + Modbus + Home assistant 2, il seguito
Allora, cosa dice la nostra pompa di calore? purtroppo parla con un linguaggio tutto suo, serve quindi una tabella di conversione, ad ogni indirizzo corrisponde un valore reale. Sul manuale Unitec 2 è presente un QR code che ci dovrebbe portare a questa importante risorsa, ma... nulla, pagina internet non disponibile. Ho contattato l'assistenza tecnica della Bongioanni che mi ha risposto che questi dati non sono disponibili. Credo che oltre a mettere l'adesivo sulla pompa di calore Midea non facciano molto altro. Cerca e ricerca in internet, ho trovato un manuale Clivet di un'altra pompa Midea ritargata, e i dati necessari ci sono, almeno quelli che servono a me.
Di seguito qualche foto dei registri necessari:
Quindi adesso la teoria ci dice che possiamo interrogare la pompa di calore in questo modo: indirizzo slave (11) e indirizzo del dato richiesto (per esempio 107, temperatura sonda esterna).
Per provare realmente, scarichiamo il programma tester dal sito di schneider Tester
Non serve installazione possiamo lanciarlo subito:
come da foto, settiamo su TCP/IP, mettiamo l'indirizzo IP, slave (11), starting register su 105 (se vogliamo vedere il 107), Read e a fianco degli indirizzi dobbiamo leggere il valore del sensore in decimale. scegliete qualche parametro facilmente identificabile per le prove, come temperatura aria o nr. di giri della ventola.
Se fin qui funziona tutto , è possibile implementare la lettura su Home assistant.
Il Modbus è già compreso nel pacchetto, ma non ha un'interfaccia grafica, occorre digitare direttamente i comandi in Yaml.
modbus:
- type: tcp
name: pdc
host: 192.168.1.170
port: 502
questo attiva il Modbus, l'indirizzo è quello di EW11, la porta anche. tcp è il protocollo usato, pdc è il nome amichevole.
dopo si elencano i sensori che si vuole leggere
sensors:
- name: "PDC_Outdoor_Temperature"
address: 107
slave: 11
scan_interval: 60
unit_of_measurement: °C
- name: "PDC_Frequenza_Compress"
address: 100
slave: 11
scan_interval: 60
- name: "PDC_Fan_Speed"
address: 102
slave: 11
scan_interval: 60
Questi sono solo alcuni esempi, naturalmente gli address sono dati dal documento Clivet, i name gli inventiamo noi ma con valenza mnemonica altrimenti non ci si capisce più niente, scan_interval è il tempo di interrogazione, il mio sistema regge fino a 3 secondi ma si sovraccarica la rete. Ho messo 60 sec. perchè i dati non cambiano così repentinamente.
Buon divertimento!