ESPHome-modbus-heatpump-Gre.../README.md

120 lines
3.2 KiB
Markdown
Raw Normal View History

2023-03-02 18:14:22 +01:00
# ESPHome modbus - heatpump Gree Versati III
2023-03-02 18:10:40 +01:00
2023-03-02 18:16:06 +01:00
## Description:
2023-03-02 18:14:22 +01:00
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.
2023-03-02 18:10:40 +01:00
2023-03-02 18:16:06 +01:00
## Info:
2023-03-02 18:30:35 +01:00
- 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
2023-03-02 18:32:45 +01:00
- modbus datasheet: [Gree Versati III](https://github.com/peca2345/ESPHome-modbus-heatpump-Gree-Versati-III/blob/main/modbus-versati-iii-en.pdf)
2023-03-02 18:32:16 +01:00
- 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
2023-03-02 18:35:43 +01:00
- 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
2023-03-02 19:08:29 +01:00
- for ESP8266 use tx_pin: 13, rx_pin: 12, flow_control_pin: 14
2023-03-02 19:07:10 +01:00
## Lovelace:
![lovelace](https://github.com/peca2345/ESPHome-modbus-heatpump-Gree-Versati-III/blob/main/IMG/Lovelace.png?raw=true)
2023-03-02 18:16:30 +01:00
## Components:
2023-03-02 18:10:40 +01:00
- ESP8266 / ESP32
- RS485/TTL converter: [SHOP](https://www.laskakit.cz/prevodnik-ttl-na-rs-485--max485/)
2023-03-02 19:07:10 +01:00
2023-03-02 18:16:30 +01:00
## Schematic:
2023-03-02 18:14:22 +01:00
![Schema](https://github.com/peca2345/ESPHome-modbus-heatpump-Gree-Versati-III/blob/main/IMG/schematic.png?raw=true)
2023-03-02 19:07:10 +01:00
2023-03-02 18:16:30 +01:00
## ESPHome code:
2023-03-02 18:10:40 +01:00
```
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
2023-03-02 18:50:44 +01:00
name: "Gree_versati_tank_temp_set"
2023-03-02 18:10:40 +01:00
address: 13
unit_of_measurement: "°C"
value_type: S_WORD
entity_category: config
sensor:
- platform: modbus_controller
modbus_controller_id: versati3
2023-03-02 18:53:39 +01:00
name: "Gree_versati_tank_temp_target"
2023-03-02 18:10:40 +01:00
address: 13
unit_of_measurement: "°C"
register_type: holding
value_type: U_WORD
2023-03-02 18:53:39 +01:00
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
2023-03-02 18:10:40 +01:00
accuracy_decimals: 1
2023-03-02 18:53:39 +01:00
filters:
- multiply: 0.1
2023-03-02 18:58:54 +01:00
- 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
2023-03-02 18:10:40 +01:00
```
2023-03-02 19:07:10 +01:00