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!

La pompa di calore Unitec 2 di Bongioanni viene fornita con un controller murale molto completo, che supporta via wifi un'app di gestione alquanto scarna e soprattutto affidandosi a server cinesi di dubbia affidabilità. Qui si vuole illustrare il collegamento in rete locale ad un server Home assistant, il che significa piena disponibilità dei dati in tempo reale e quindi la possibilità di realizzare le più svariate automazioni.

La pompa di calore supporta nativamente il protocollo Modbus, uno standard industriale su interfaccia 485. Io ho voluto collegare via wifi la pompa di calore ad home assistant, quindi.....

Materiale necessario: 1 wifi serial server, cioè un convertitore da RS485 a wifi, individuato su Aliexpress EW11A0 Kit 4,

un alimentatore switching a basso consumo da barra din 220V -> 12 vcc tipo questo MZMW DR-15,

Assemblare il tutto nella scatola di comando della pompa di calore/caldaia, con un risultato simile a questo

Collegamenti: ovviamente il positivo e negativo dell'alimentatore sui corrispettivi del EW11, le connessioni del 485 A+ e B- sui corrispettivi H2 e H1 all'interno del display

Vista la brevità dei collegamenti non serve il cavo schermato, neanche twistato. Conviene annotare anche l'indirizzo del selettore,che stabilisce l'indirizzo slave. Per esempio nel mio esemplare era stato settato su 11.

Adesso si può alimentare l'EW11 e procedere con i settaggi. A questo indirizzo ew11 ho trovato molta documentazione su questa interfaccia, principalmente si tratta di impostare un indirizzo IP statico (no dhcp), settare i parametri di configurazione della seriale 485 (9600 baud, 8 bit, 1 stop, nessuna parità), qualche dato sull'interfaccia modbus (porta 502).

In ogni caso, ecco qui di seguito alcuni screenshot delle schermate di configurazione di EW11

Per chi è pigro, ecco il file di configurazione completo:

<!--SYS Config-->
<SYS key='User' value='admin'>
<SYS key='Password' value='admin'>
<SYS key='DHCP' value='Disable'>
<SYS key='Ip Address' value='192.168.1.170'>
<SYS key='GateWay' value='192.168.1.251'>
<SYS key='Mask' value='255.255.255.0'>
<SYS key='Host Name' value='EW11'>
<SYS key='DNS' value='223.5.5.5'>
<SYS key='Telnet' value='Disable'>
<SYS key='Telnet Port' value='23'>
<SYS key='Echo' value='Enable'>
<SYS key='Web' value='Enable'>
<SYS key='Web Port' value='80'>
<SYS key='Ipv6' value='Disable'>
<SYS key='Ipv6 address' value=''>
<SYS key='Ipv6 DHCP' value='Disable'>
<SYS key='NTP' value='Disable'>
<SYS key='NTP Server' value=''>
<SYS key='NTP Port' value='0'>
<SYS key='NTP GMT' value='8'>
<SYS key='Customer ID' value='EW11'>
<SYS key='Config Version' value='0'>
<SYS key='NetworkMode' value='Router'>
<SYS key='WiFiMode' value='STA'>
<SYS key='WiFiAPSSID' value='EW11_F956'>
<SYS key='WiFiAPKey' value=''>
<SYS key='WiFiSTASSID' value='YYYYYYYYY-XXXXXXX'>
<SYS key='WiFiSTAKey' value='XXXXXXXXXXXX'>
<SYS key='WiFiAPCH' value='0'>
<SYS key='WiFiHideSSID' value='0'>
<SYS key='WiFiRoamingEn' value='0'>
<SYS key='ScanRSSIThreshold' value='0'>
<SYS key='ConnectRSSIThreshold' value='0'>
<SYS key='LanIpAddress' value='10.10.100.254'>
<SYS key='LanMarsk' value='255.255.255.0'>
<SYS key='LanDhcpEn' value='Disable'>
<SYS key='EthernetMode' value='WAN'>
<SYS key='Longitude' value='0.000000'>
<SYS key='Latitude' value='0.000000'>
<SYS key='SmartConfig' value='SmartLink'>
<SYS key='ModbusTime' value='0'>

<!--UART Config-->
<UART key='Baudrate' value='9600'>
<UART key='Databits' value='8'>
<UART key='Stopbits' value='1'>
<UART key='Parity' value='NONE'>
<UART key='FlowCtrl' value='Half-Duplex'>
<UART key='Software FlowCtrl' value='Disable'>
<UART key='Xon' value='11'>
<UART key='Xoff' value='13'>
<UART key='Protocol' value='Modbus'>
<UART key='Frame Length' value='16'>
<UART key='Frame Time' value='100'>
<UART key='Tag Enable' value='Disable'>
<UART key='Tag Head' value='00'>
<UART key='Tag Tail' value='00'>
<UART key='Buffer Size' value='512'>
<UART key='gapTime Size' value='50'>
<UART key='cliGetin' value='1'>
<UART key='serialStr' value='+++'>
<UART key='waitTime' value='300'>

<!--SOCK Config-->
<SOCK name='netp' key='Name' value='netp'>
<SOCK name='netp' key='Protocol' value='TCP-SERVER'>
<SOCK name='netp' key='Server Addr' value='0.0.0.0'>
<SOCK name='netp' key='Remote Port' value='0'>
<SOCK name='netp' key='Local Port' value='502'>
<SOCK name='netp' key='Buffer Size' value='512'>
<SOCK name='netp' key='KeepAlive' value='60'>
<SOCK name='netp' key='Timeout' value='0'>
<SOCK name='netp' key='Security' value='NONE'>
<SOCK name='netp' key='Connect Mode' value='Always'>
<SOCK name='netp' key='VcomEn' value='0'>
<SOCK name='netp' key='Rout' value='uart'>
<SOCK name='netp' key='maxAccept' value='3'>

A questo punto, il dispositivo dovrebbe essere in grado di comunicare: ma cosa e come? Adesso entriamo un po nel dettaglio.....

Test on the finished roof....

Good about external aspect, leakage and rumor

Not so good about fixing... too tricky and not so nice to look at.....

So, it is good, but not good enough. If you do not have a roof at all, contact me: this is better than rain in your car. Does its job, and also enter in coupè trunk.