Clivet, elfoenergy edge evo e Cloni!


***Citazione integrale rimossa: è sufficiente il link all'originale (la freccia qui sopra). nll***

Ciao.
Ho da pochissimo una Midea MHC-V5WD2N8-C
Sto provando ad interfacciarla con Home Assistant utilizzando un adattatore come il tuo per analizzare meglio il comportamento della macchina.
Il problema è che la mia ha il pannello di controllo interno collegato con 2 fili (midea H1/H2).
Da quanto leggo su https://github.com/Mosibi/Midea-heat-pump-ESPHome?tab=readme-ov-file il progetto funziona sulle macchine che hanno il controller con 5 fili (lo dice bene sul sito https://shop.svenar.nl/
La tua che tipo di controller ha? Hai utilizzato anche tu il progetto di Mosibi?
A me sembra che sul bus non arrivi nulla... o almeno così mi sembra avendo provato a mettere l'ESP32 solo in ascolto.
Cercando in rete sembra un'implementazione di modbus proprietaria Midea.
 
Ultima modifica da un moderatore:
Tra H1/H2 e un ESP va inserito un adattatore di livello TTL/RS485 altrimenti non ricevi nulla
Per il resto non rimane che provare.............................. danni non si fanno se non scrivi sui registri della PDC, per scrivere dei dati devi intervenire manualmente percio.............................


io uso questi da una vita e vanno molto bene

https://www.aliexpress.com/item/1005006160733111.html?spm=a2g0o.productlist.main.3 .1fafx6VEx6VEWy&algo_pvid=8b1e6a85-e3a6-48ac-9529-f382c732c0e8&algo_exp_id=8b1e6a85-e3a6-48ac-9529-f382c732c0e8-1&pdp_npi=4%40dis%21EUR%214.81%211.59%21%21%2135.9 8%2111.91%21%40211b6c1917343315653621182e9fc7%2112 000036055088006%21sea%21IT%21143107539%21X&curPage LogUid=EvDh1AgsYtc4&utparam-url=scene%3Asearch%7Cquery_from%3A
 
ho sbagliato il link da google photo...

IMG_20241211_185346.jpg
 

Allegati

  • IMG_20241211_185346.jpg
    IMG_20241211_185346.jpg
    165.8 KB · Visualizzazioni: 0
Effettivamente non sono uguali.....................
Modbus è un protocollo standard e se è presente senza diverse specifiche non dovrebbe dare problemi
 
Il controller che hai postato è sempre lo stesso, sono tutti uguali. Il collegamento a 5 cavi va alla macchina esterna al controller e, da come riporta il manuale, dovresti collegarli tutti e 5. Il collegamento al convertitore rs485/ttl lo devi fare sui contatti H1/H2.

Il protocollo di comunicazione tra unità esterna ed interna (quello che viaggia sui 5 cavi) è simile al modus ma ha una codifica diversa, questo segnale viaggia solo su due dei 5 cavi. Avevo trovato qualcosa a riguardo, mi sembra su GitHub.
 
Aggiorno la mia ricerca sulla possibilità di interfacciare il controller ad homeassistant via modbus.
Ho preso un convertitore RS485-ethernet per verificare che non fosse un problema del convertitore TTL/RS485. Il modello è questo.
Stesso risultato purtroppo... non ci sono pacchetti.
Andando a prendere il manuale aggiornato dal link riportato nel QR CODE nell'ultima pagina del manuale cartaceo ho notato che i contatti A+ e B- erano invertiti. Fatta l'inversione comunque non vengono letti pacchetti.
Nel manuale comunque ci sono delle incongruenze: una volta viene richiesto un cavo schermato a 5 fili, poi invece nella sezione a pagina 44 i cavi necessari diventano 2. Negli schemi viene riportato esplicitamente la connessione modbus ma non sembrano uscire pacchetti nè dai connettori in basso nè attaccando l'adattatore direttamente ai connettori A e B.

E' presente anche un connettore microUSB. Secondo voi, posso provare a collegare direttamente un PC? Si potrebbero provocare danni? Ci sono poi varie predisposizioni sul PCB ma non riesco a trovare ulteriori indicazioni in rete.

Provo ad allegare altre foto...
 

Allegati

  • photo85441.jpg
    photo85441.jpg
    1.2 MB · Visualizzazioni: 0
  • photo85442.jpg
    photo85442.jpg
    187.4 KB · Visualizzazioni: 0
  • photo85443.jpg
    photo85443.jpg
    169.6 KB · Visualizzazioni: 0
  • photo85444.jpg
    photo85444.jpg
    171.9 KB · Visualizzazioni: 0
Qualcosa hanno cambiato, il collegamento modbus però è rimasto lo stesso e devi farlo si connettori H1 H2. Il problema potrebbe essere solo l'indirizzo dello slave. Io ho passato settimane a fare funzionare il collegamento, alla fine ho scoperto che la PDC era impostata sull'indirizzo 16 ed io le prove le facevo su 1. La scheda della tua macchina è diversa dalla mia, vedo che ci sono anche degli switch per impostarla master o slave e non riesco a darti indicazioni precise. Forse quella di rrrmori53è simile e lui può aiutarti meglio.
 
No anche la mia ha scheda differente seppur le stesse caratteristiche compreso master/slave e collegamento parallelo fino a 16 unita
Lui sulla scheda della macchina ha solo 2 fili per il controllo remoto e io 5,
 
Allora mi sono letto un po' meglio il manuale che hai postato, gli switch di cui parlavo riguardano il collegamento in cascata di più unita e non dovrebbero interessarci. Stesso discorso per il collegamento dell'unita esterna con il controller interno. I contatti che ci interessano sono H1 ed H2, ti consiglio di iniziare a collegarti direttamente con il computer utilizzando un adattatore usb/rs485. Ti scarichi questo programma ed esegui una scansione degli indirizzi, è quello che ho utilizzato per scoprire che la mia era impostata di default sull'indirizzo 16.
 
Esatto, questo selettore guardando sul manuale linkato da firo non l'ho trovato. Ma se fa una scansione con quel programma dovrebbe trovare il giusto indirizzo.
 
... se fa una scansione con quel programma dovrebbe trovare il giusto indirizzo.

Grazie per il suggerimento e per l'indicazione del programma da utilizzare per effettuarla.
Ho provato a fare una scansione sia utilizzando la virtual COM generata sul mio PC dal software VirCom, sia configurando la connessione ModBUS TCP col software che hai suggerito.
Per ora tutti gli indirizzi danno TIMEOUT.
Ho provato anche a verificare e modificare l'indirizzo HMI da menu "FOR SERVICEMAN-17.HMI ecc.ecc.". Di default era su 1, ho provato a 3 e a 16.
Neanche in questo modo la scansione ha avuto esito positivo.
Ho ordinato un adattatore USB RS485 per non avere altro tra PC e controllo. Appena arriverà farò la prova di connessione diretta.
 
Ultima modifica da un moderatore:
Ci sono novità...
Impostando l'indirizzo HMI dal menù di servizio da 1 a 16 e riavviando l'adattatore RS485-TCP/IP il programma ha trovato lo slave (la PDC)
Clicca sull'immagine per ingrandirla.  Nome: image.png  Visite: 0  Dimensione: 36.1 KB  ID: 2296879
Dei task a disposizione ha funzionato solo quello "Read Holding registers starting at 40001..."
Clicca sull'immagine per ingrandirla.  Nome: image.png  Visite: 0  Dimensione: 114.4 KB  ID: 2296881
I valori dei registri corrispondono a quelli del manuale che è linkato a pag. 51 (con QR code) del manuale principale
Clicca sull'immagine per ingrandirla.  Nome: image.png  Visite: 0  Dimensione: 820.3 KB  ID: 2296883
Adesso devo trovare il modo di farli "digerire" ad Home Assistant.
Con l'adattatore RS485/TTL collegato all'ESP32 (link alla pagina di Mosibi su GitHub), ho modificato l'indirizzo dello slave da 1 a 16, ed ho provato a collegarlo al bus ma vedo solo messaggi di CRC error.
Ho notato che gli indirizzi dei sensori nel codice sono mappati come (ad esempio) 100, mentre il software "CAS Modbus scanner" me li fa vedere come (ad esempio) 40101.

Utilizzando invece l'adattatore RS485/TCP, configurato in Homeassistant, non sembra leggere correttamente... anche se l'ultima icona a destra delle entità collegate all'integrazione MODBUS prima era un punto esclamativo rosso ed adesso l'icona mi dice "non gestibile"
Ho utilizzato questo codice direttamente in configuration.yaml (attenzione: incollando il testo è sparita l'identazione)
Codice:
modbus:
name: waveshare1
type: rtuovertcp
host: 192.168.188.188
port: 502
#sensor modbus: !include mod-bus_sensor/modbus_sensor.yaml
sensors:
- name: WP Power On Off
slave: 16
address: 40001
data_type: uint16
input_type: holding
- name: WP Function Setting
slave: 16
address: 40006
scan_interval: 5
data_type: uint16
input_type: holding
- name: WP Curve Selection
slave: 16
address: 40007
data_type: uint16
input_type: holding
- name: Forced Water Heating
slave: 16
address: 40008
data_type: int16
input_type: holding
- name: Forced TBH
slave: 16
address: 40009
data_type: int16
input_type: holding
- name: Forced IBH1
slave: 16
address: 40010
data_type: int16
input_type: holding
- name: t_SG_MAX
slave: 16
address: 40011
data_type: int16
input_type: holding
- name: T1S
unit_of_measurement: °C
device_class: temperature
state_class: measurement
slave: 16
address: 40012
data_type: int16
input_type: holding
- name: Compressor Frequency
unit_of_measurement: Hz
device_class: frequency
state_class: measurement
slave: 16
address: 40101
data_type: int16
input_type: holding
- name: Operating Mode
slave: 16
address: 40102
data_type: int16
input_type: holding
- name: Fan Speed
unit_of_measurement: RpM
state_class: measurement
slave: 16
address: 40103
data_type: int16
input_type: holding
- name: TW_in
unit_of_measurement: °C
device_class: temperature
state_class: measurement
slave: 16
address: 40105
data_type: int16
input_type: holding
- name: TW_out
unit_of_measurement: °C
device_class: temperature
state_class: measurement
slave: 16
address: 40106
data_type: int16
input_type: holding
- name: T3 Temperature
unit_of_measurement: °C
device_class: temperature
state_class: measurement
slave: 16
address: 40107
data_type: int16
input_type: holding
- name: T4 Temperature
unit_of_measurement: °C
device_class: temperature
state_class: measurement
slave: 16
address: 40108
data_type: int16
input_type: holding
- name: Tp
unit_of_measurement: °C
device_class: temperature
state_class: measurement
slave: 16
address: 40109
data_type: int16
input_type: holding
- name: Th
unit_of_measurement: °C
device_class: temperature
state_class: measurement
slave: 16
address: 40110
data_type: int16
input_type: holding
- name: T1 Temperature
unit_of_measurement: °C
device_class: temperature
state_class: measurement
slave: 16
address: 40111
data_type: int16
input_type: holding
- name: T2 Temperature
unit_of_measurement: °C
device_class: temperature
state_class: measurement
slave: 16
address: 40113
data_type: int16
input_type: holding
- name: T2B Temperature
unit_of_measurement: °C
device_class: temperature
state_class: measurement
slave: 16
address: 40114
data_type: int16
input_type: holding
- name: T5 Temperature
unit_of_measurement: °C
device_class: temperature
state_class: measurement
slave: 16
address: 40115
data_type: int16
input_type: holding
- name: Compressor High Pressure
unit_of_measurement: kPa
device_class: pressure
state_class: measurement
slave: 16
address: 40117
data_type: int16
input_type: holding
- name: Compressor Low Pressure
unit_of_measurement: kPa
device_class: pressure
state_class: measurement
slave: 16
address: 40118
data_type: int16
input_type: holding
- name: WP Current
unit_of_measurement: A
device_class: current
state_class: measurement
slave: 16
address: 40119
data_type: int16
input_type: holding
- name: WP Voltage
unit_of_measurement: V
device_class: voltage
state_class: measurement
slave: 16
address: 40120
data_type: int16
input_type: holding
- name: Compressor Operating Time
unit_of_measurement: h
device_class: duration
state_class: measurement
slave: 16
address: 40123
data_type: int16
input_type: holding
- name: Current Fault
slave: 16
address: 40125
data_type: int16
input_type: holding
- name: WP Bit Status 1
slave: 16
address: 40129
scan_interval: 5
data_type: uint16
input_type: holding
- name: WP Load Output
slave: 16
address: 40130
scan_interval: 5
data_type: uint16
input_type: holding
- name: WP Target Frecuency
unit_of_measurement: Hz
device_class: frequency
state_class: measurement
slave: 16
address: 40133
scan_interval: 5
data_type: uint16
input_type: holding
- name: WP T1S Calc
unit_of_measurement: °C
slave: 16
address: 40137
data_type: int16
input_type: holding
- name: WP Water Flow*100
unit_of_measurement: m3/h
slave: 16
address: 40139
data_type: int16
input_type: holding
- name: WP Electricity Consumption
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
slave: 16
address: 40144
data_type: int32
input_type: holding
- name: WP Power Output
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
slave: 16
address: 40146
data_type: int32
input_type: holding
- name: WP Parameter Settings 1
slave: 16
address: 40211
scan_interval: 5
data_type: uint16
input_type: holding
- name: WP Parameter Settings 2
slave: 16
address: 40212
scan_interval: 5
data_type: uint16
input_type: holding
- name: WP IBH1 Power
slave: 16
address: 40251
scan_interval: 5
data_type: uint16
input_type: holding
- name: WP IBH2 Power
slave: 16
address: 40252
scan_interval: 5
data_type: uint16
input_type: holding
- name: WP TBH Power
slave: 16
address: 40253
scan_interval: 5
data_type: uint16
input_type: holding

Clicca sull'immagine per ingrandirla.  Nome: image.png  Visite: 0  Dimensione: 107.0 KB  ID: 2296885

Provo a fare ulteriori tentativi.
Non so questo mio intervento va fuori thread...
 

Allegati

  • image.png
    image.png
    36.1 KB · Visualizzazioni: 0
  • image.png
    image.png
    114.4 KB · Visualizzazioni: 0
  • image.png
    image.png
    820.3 KB · Visualizzazioni: 0
  • image.png
    image.png
    107 KB · Visualizzazioni: 0
Ultima modifica:
Bene, qualcosa si muove. Ora io non ricordo bene come avevo configurato quando usavo l'adattatore rtu/tcp ma di sicuro nella configurazione di home assistant avevo impostato type: tcp. Lo slave mi sembra che non serve con la connessione tcp, scusa ma vado a memoria.

Se vuoi riprovare ad utilizzare l'esp32 con l'adattatore ti consiglio di iniziare ad inserire solo pochi sensori per verificare il corretto collegamento con la pdc. Ti copio una parte del codice che ho utilizzato io, vedi se legge qualcosa, lo slave è impostato sul 16 ma è scritto in esadecimale (0x10). Questo lo devi caricare sull'esp32 utilizzando ESPHome Compiler.

Codice:
substitutions:
devicename: heatpump
description: Heatpump
entity_prefix: Heatpump

esphome:
name: "${devicename}"
comment: "${description}"
friendly_name: "${description}"

esp32:
board: esp32dev
framework:
type: arduino

# Enable logging
logger:
level: DEBUG
baud_rate: 0

# Enable Home Assistant API
api:
encryption:
key: "5QdE+vB8Iaefbfj0v9f3BpchcljfYT+XOkNKGYzNTvQ="

ota:
- platform: esphome
password: "a62383cc2af51400bb8d42df62c2688e"

wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
manual_ip:
static_ip: 192.168.1.13
gateway: 192.168.1.1
subnet: 255.255.255.0
dns1: 192.168.1.1

# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Heatpump Fallback Hotspot"
password: "heatpump"

captive_portal:

uart:
id: mod_bus
tx_pin: 17
rx_pin: 16
baud_rate: 9600
stop_bits: 1
parity: NONE

modbus:
id: modbus1
uart_id: mod_bus

modbus_controller:
- id: "${devicename}"
address: 0x10 ## address of the ModBUS slave device on the bus
modbus_id: modbus1
setup_priority: -10
update_interval: 10s

sensor:
# Registro 100 - Frequenza compressore
- platform: modbus_controller
modbus_controller_id: "${devicename}"
name: "Frequenza compressore"
id: frequenza_compressore
register_type: holding
address: 100
value_type: U_WORD
unit_of_measurement: Hz
 
Dopo mille tentativi con l'ESP32 ho provato a cambiare l'adattatore (ne avevo presi 5 su AMAZON).
Era rotto il primo che avevo utilizzato, maledetto a lui!!!
Dopo averlo testato col codice di Felix80 (grazieee) ho flashato con quello "adattato" dal canale GitHub di Mosibi ed ha funzionato tutto a prima botta!
Ora ho la soddisfazione di poter monitorare la PDC senza stare in piedi davanti al controller remoto.
Volevo darvi qualche dato, magari appena avrò più dati posto qualche grafico.

Per ora estremamente soddisfatto. La PDC funziona benissimo con COP sempre sopra a 6.
Adesso, T esterna 7°C, mandata impostata a 30 (per farla un po' correre), misurata 31, ritorno 26, portata 1,12m3/h, il COP è 6,63
Sono in zona C (salento). Impianto radiante con PDC in diretta, senza testine o altro sui collettori
 
Perfetto, puoi ringraziare condividendo le tue esperienze con questa macchina. Questo modello quanto riesce a modulare a minimo?
 
Ecco qualche grafico di oggi... non sono ancora riuscito a configurare grafana per cui posto i grafici di assorbimento, temperatura esterna e COP.
Adesso che ho il monitoraggio mi sono accorto di uno strano andamento periodico del COP, comunque stabile sopra 6,5:

image.png
image.png

image.png
La macchina ha un assorbimento al minimo di circa 430W dopo un picco di circa 1kW (visto anche 1,3 nei giorni scorsi). Lo spegnimento alle 13 ha visto un picco di 1,16kW appena prima dell'arresto del compressore.
Non ho termostati. Impostata temperatura di mandata a 27. Spenta verso le 19 perchè a casa si lamentavano del caldo. Finora, 2 settimane che ho montato la macchina, mandavo a 25 o 26 ma non ha fatto freddo.
Secondo la documentazione MIDEA ci sarebbe un registro su modbus (148) per leggere la potenza istantanea erogata dalla macchina (ed è uno dei parametri che vedo dal controller remoto). Non è tra quelli inseriti nel codice di Mosibi. Ho provato ad inserirlo modificando il codice, ma il log di esphome mi dice che non è disponibile...
Che vi sembra dei valori? La macchina (Midea MHC-V5WD2N8-C) è data per 5kW ma arriva a 6,5kW in riscaldamento a +7
 

Allegati

  • image.png
    image.png
    90.4 KB · Visualizzazioni: 0
  • image.png
    image.png
    57.7 KB · Visualizzazioni: 0
  • image.png
    image.png
    57.7 KB · Visualizzazioni: 0
  • image.png
    image.png
    45.6 KB · Visualizzazioni: 0

ULTIMI MESSAGGI

Sezioni in Evidenza

Fotovoltaico Aspetti Tecnici, Bancari e Legislazione Isolamento, insuflaggi e Cappotti Tecniche e materiali per l'efficienza termica Riscaldamento e Raffrescamento Soluzioni a Legna, Pellet e Pompe di Calore Ossidroelettrico La nuova fonte di energia dall'infrarosso

Tags + Popolari

Stai usando un browser non aggiornato. Potresti non visualizzare correttamente questo o altri siti web.
Dovreste aggiornare o usare un browser alternativo.

Indietro
Top Bottom