mirror of
https://github.com/peca2345/ESPHome-modbus-heatpump-Gree-Versati-III.git
synced 2024-11-25 12:15:12 +01:00
IMG | ||
modbus-versati-iii-en.pdf | ||
README.md |
ESPHome modbus - heatpump Gree Versati III
Description:
This manual describes how to connect the device to Home Assistant via Modbus protocol using ESP and RS485/TTL converter. In this case it is about connecting a Gree Versati III 10kw heat pump.
Info:
- use only shielded cable, otherwise the error "Modbus CRC Check Failed!" may appear in the log.
- put a 120 ohm resistor after the last connected device
- modbus datasheet: Gree Versati III
- you have to find out what the heatpump address is - default is 0x1
- you also need to find out the serial port speed - default 9600
- in ESPHome use the sensor class only for addresses that are read-only
- for addresses that are read/write use the "number" class (you can then change their values in lovelace)
- for each register you want to have in HA you have to create a separate sensor in ESPHome
- you can write the address to the sensor in decimal or hex
- for ESP8266 use tx_pin: 13, rx_pin: 12, flow_control_pin: 14
Lovelace:
Components:
- ESP8266 / ESP32
- RS485/TTL converter: SHOP
Schematic:
ESPHome code:
uart:
id: mod_bus
tx_pin: GPIO16
rx_pin: GPIO17
baud_rate: 9600
stop_bits: 2
modbus:
flow_control_pin: GPIO23
send_wait_time: 100ms
id: modbus_versati3
modbus_controller:
- id: versati3
## the Modbus device addr
address: 0x1
modbus_id: modbus_versati3
setup_priority: -10
update_interval: 15s
number:
- platform: modbus_controller
modbus_controller_id: versati3
name: "Gree_versati_tank_temp_set"
address: 13
unit_of_measurement: "°C"
value_type: S_WORD
entity_category: config
sensor:
- platform: modbus_controller
modbus_controller_id: versati3
name: "Gree_versati_tank_temp_target"
address: 13
unit_of_measurement: "°C"
register_type: holding
value_type: U_WORD
accuracy_decimals: 1
- platform: modbus_controller
modbus_controller_id: versati3
name: "Gree_versati_tank_temp"
address: 128
unit_of_measurement: "°C"
register_type: holding
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: versati3
name: "Gree_versati_outside_temp"
address: 118
unit_of_measurement: "°C"
register_type: holding
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: versati3
name: "Gree_versati_water_in_temp"
address: 127
unit_of_measurement: "°C"
register_type: holding
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: versati3
name: "Gree_versati_water_out_temp"
address: 125
unit_of_measurement: "°C"
register_type: holding
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1