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

1146 lines
28 KiB
Markdown
Raw Permalink 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:12:05 +01:00
- you can write the address to the sensor in decimal or hex
2023-03-02 19:07:10 +01:00
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:32:21 +01:00
## Schematic ESP32:
2023-03-02 19:23:46 +01:00
![Schema](https://github.com/peca2345/ESPHome-modbus-heatpump-Gree-Versati-III/blob/main/IMG/schematic2.png?raw=true)
2023-03-02 18:14:22 +01:00
2023-03-02 19:32:21 +01:00
## Schematic ESP8266 - Wemos D1 mini:
![Schema](https://github.com/peca2345/ESPHome-modbus-heatpump-Gree-Versati-III/blob/main/IMG/schematic_wemos.png?raw=true)
2023-03-02 19:07:10 +01:00
2023-03-04 19:16:38 +01:00
## Lovelace:
![lovelace](https://github.com/peca2345/ESPHome-modbus-heatpump-Gree-Versati-III/blob/main/IMG/lovelace3.png?raw=true)
2023-03-02 18:16:30 +01:00
## ESPHome code:
2023-03-02 18:10:40 +01:00
```
2023-03-04 19:08:45 +01:00
esphome:
name: versati-modbus-esp32
esp32:
board: esp32dev
framework:
type: arduino
logger:
captive_portal:
api:
encryption:
key: "1k0OjFSddafHxtX4c5YzpeTwmWfc4X9aqgsVKzS2ntI="
ota:
password: "af492f27651e0694487dedbdb60e136e"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
web_server:
port: 80
2023-03-02 18:10:40 +01:00
uart:
id: mod_bus
2023-03-04 19:08:45 +01:00
tx_pin: GPIO16
rx_pin: GPIO17
2023-03-02 18:10:40 +01:00
baud_rate: 9600
2023-03-04 19:08:45 +01:00
stop_bits: 1
2023-03-02 18:10:40 +01:00
modbus:
2023-03-04 19:08:45 +01:00
flow_control_pin: GPIO23
2023-03-02 18:10:40 +01:00
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
2023-03-04 19:08:45 +01:00
text_sensor:
- platform: template
id: versati_117_unit_status_text
name: "versati_117_unit_status"
- platform: template
id: versati_132_thermostat_status_text
name: "versati_132_thermostat_status"
2023-03-02 18:10:40 +01:00
2023-03-04 19:08:45 +01:00
- platform: template
id: versati_135_disinfection_status_text
name: "versati_135_disinfection_status"
2023-03-02 18:10:40 +01:00
number:
- platform: modbus_controller
modbus_controller_id: versati3
2023-03-04 19:08:45 +01:00
name: "versati_2_mode_set"
id: versati_2_mode_set
address: 2
value_type: S_WORD
entity_category: config
min_value: 1
max_value: 5
step: 1
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_3_optional_E_heater_set"
address: 3
value_type: S_WORD
entity_category: config
step: 1
min_value: 1
max_value: 3
mode: slider
# last: 2
# 1:1 set/
# 2:2 sets/
# 3: Off
# Default: 1 set
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_4_disinfection_temp_set"
address: 4
unit_of_measurement: "°C"
value_type: S_WORD
entity_category: config
step: 1
min_value: 40
max_value: 70
mode: slider
# last: 60℃
# Default: 70℃
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_5_floor_debug_segments_set"
address: 5
value_type: S_WORD
entity_category: config
step: 1
min_value: 1
max_value: 10
mode: slider
# Default : 1 section
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_6_floor_debug_period_1_set"
address: 6
unit_of_measurement: "°C"
value_type: S_WORD
entity_category: config
step: 1
min_value: 25
max_value: 35
mode: slider
# Default: 25℃
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_7_delta_of_segment_temp_set"
address: 7
unit_of_measurement: "°C"
value_type: S_WORD
entity_category: config
step: 1
min_value: 2
max_value: 10
mode: slider
# Default: 5℃
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_8_segment_time_set"
address: 8
unit_of_measurement: "h"
value_type: S_WORD
entity_category: config
step: 1
min_value: 12
max_value: 72
mode: slider
# Default: 0 Hour
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_9_WOT_cool_temp_set"
address: 9
unit_of_measurement: "°C"
value_type: S_WORD
entity_category: config
step: 1
min_value: 7
max_value: 25
mode: slider
# Default: 18℃
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_10_WOT_heat_temp_set"
address: 10
unit_of_measurement: "°C"
value_type: S_WORD
entity_category: config
step: 1
min_value: 20
max_value: 60
mode: slider
# last: 46℃
# Actual value:
# 20~60℃ [High-temp] / 20~55℃[low-temp]
# Default
# 45℃[High-temp]/45℃[Low-temp]
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_11_RT_cool_temp_set"
address: 11
unit_of_measurement: "°C"
value_type: S_WORD
entity_category: config
step: 1
min_value: 18
max_value: 30
mode: slider
# Default24°C
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_12_RT_heat_temp_set"
address: 12
unit_of_measurement: "°C"
value_type: S_WORD
entity_category: config
step: 1
min_value: 18
max_value: 30
mode: slider
# Default20°C
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_13_tank_target_temp_set"
2023-03-02 18:10:40 +01:00
address: 13
unit_of_measurement: "°C"
value_type: S_WORD
entity_category: config
2023-03-04 19:08:45 +01:00
step: 1
min_value: 40
max_value: 80
mode: slider
# last: 48°C
# Default50°C
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_14_eheater_temp_set"
address: 14
unit_of_measurement: "°C"
value_type: S_WORD
entity_category: config
step: 1
min_value: -20
max_value: 18
mode: slider
# last: -7°C
# Default-15°C
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_15_other_switch_on_temp_set"
address: 15
unit_of_measurement: "°C"
value_type: S_WORD
entity_category: config
step: 1
min_value: -20
max_value: 18
mode: slider
# last: -20°C
# Default-20°C
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_16_HP_max_temp_set"
address: 16
unit_of_measurement: "°C"
value_type: S_WORD
entity_category: config
step: 1
min_value: 40
max_value: 55
mode: slider
# last: 50°C
# Default50°C
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_17_upper_AT_heat_temp_set"
address: 17
unit_of_measurement: "°C"
value_type: S_WORD
entity_category: config
step: 1
min_value: 10
max_value: 37
mode: slider
# last: 12°C
# Default25°C
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_18_lower_AT_heat_temp_set"
address: 18
unit_of_measurement: "°C"
value_type: S_WORD
entity_category: config
step: 1
min_value: -20
max_value: 9
mode: slider
# last: -12°C
# Default-20°C
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_19_upper_RT_heat_temp_set"
address: 19
unit_of_measurement: "°C"
value_type: S_WORD
entity_category: config
step: 1
min_value: 22
max_value: 30
mode: slider
# last: 24°C
# Default24°C
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_20_lower_RT_heat_temp_set"
address: 20
unit_of_measurement: "°C"
value_type: S_WORD
entity_category: config
step: 1
min_value: 18
max_value: 21
mode: slider
# last: 18°C
# Default18°C
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_21_upper_WT_heat_temp_set"
address: 21
unit_of_measurement: "°C"
value_type: S_WORD
entity_category: config
step: 1
min_value: 46
max_value: 60
mode: slider
# last: 43°C
# Actual value: 4660℃[High-temp]/ 4655℃[Low-temp]
# 55℃[High-temp]/55℃[Low-temp]
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_22_lower_WT_heat_temp_set"
address: 22
unit_of_measurement: "°C"
value_type: S_WORD
entity_category: config
step: 1
min_value: 20
max_value: 45
mode: slider
# last: 33°C
# Default40°C
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_23_upper_AT_cool_temp_set"
address: 23
unit_of_measurement: "°C"
value_type: S_WORD
entity_category: config
step: 1
min_value: 26
max_value: 48
mode: slider
# last: 40°C
# Default40°C
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_24_lower_AT_cool_temp_set"
address: 24
unit_of_measurement: "°C"
value_type: S_WORD
entity_category: config
step: 1
min_value: 10
max_value: 25
mode: slider
# last: 25°C
# Default25°C
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_25_upper_RT_cool_temp_set"
address: 25
unit_of_measurement: "°C"
value_type: S_WORD
entity_category: config
step: 1
min_value: 24
max_value: 30
mode: slider
# last: 27°C
# Default27°C
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_26_lower_RT_cool_temp_set"
address: 26
unit_of_measurement: "°C"
value_type: S_WORD
entity_category: config
step: 1
min_value: 18
max_value: 23
mode: slider
# last: 22°C
# Default22°C
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_27_upper_WT_cool_temp_set"
address: 27
unit_of_measurement: "°C"
value_type: S_WORD
entity_category: config
step: 1
min_value: 15
max_value: 25
mode: slider
# last: 15°C
# Default15°C
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_28_lower_WT_cool_temp_set"
address: 28
unit_of_measurement: "°C"
value_type: S_WORD
entity_category: config
step: 1
min_value: 7
max_value: 14
mode: slider
# last: 7°C
# Default7°C
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_29_delta_cool_temp_set"
address: 29
unit_of_measurement: "°C"
value_type: S_WORD
entity_category: config
step: 1
min_value: 2
max_value: 10
mode: slider
# last: 5°C
# Default5°C
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_30_delta_heat_temp_set"
address: 30
unit_of_measurement: "°C"
value_type: S_WORD
entity_category: config
step: 1
min_value: 2
max_value: 10
mode: slider
# last: 10°C
# Default10°C
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_31_delta_hot_water_temp_set"
address: 31
unit_of_measurement: "°C"
value_type: S_WORD
entity_category: config
step: 1
min_value: 2
max_value: 8
mode: slider
# last: 5°C
# Default5°C
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_32_delta_room_temp_set"
address: 32
unit_of_measurement: "°C"
value_type: S_WORD
entity_category: config
step: 1
min_value: 1
max_value: 5
mode: slider
# last: 2°C
# Default2°C
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_33_cool_run_time_set"
address: 33
unit_of_measurement: "min"
value_type: S_WORD
entity_category: config
step: 1
min_value: 1
max_value: 10
mode: slider
# last: 3min
# Default3min
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_34_heat_run_time_set"
address: 34
unit_of_measurement: "min"
value_type: S_WORD
entity_category: config
step: 1
min_value: 1
max_value: 10
mode: slider
# last: 5min
# Default5min
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_35_other_thermal_logic_set"
address: 35
value_type: S_WORD
entity_category: config
step: 1
min_value: 1
max_value: 3
mode: slider
# last: 0
# Default1
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_36_tank_heater_set"
address: 36
value_type: S_WORD
entity_category: config
step: 1
min_value: 1
max_value: 2
mode: slider
# last: 1
# Default1
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_37_optional_E_heater_logic_set"
address: 37
value_type: S_WORD
entity_category: config
step: 1
min_value: 1
max_value: 2
mode: slider
# last: 2
# Default1
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_38_current_limit_value_set"
address: 38
unit_of_measurement: "A"
value_type: S_WORD
entity_category: config
step: 1
min_value: 0
max_value: 50
mode: slider
# last: 16A
# Default16A
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_39_thermostat_mode_set"
address: 39
value_type: S_WORD
entity_category: config
step: 1
min_value: 0
max_value: 2
mode: slider
# last: 2
# 0: Without/
# 1: Air /
# 2: Air+hot water
# Default: 0-Without
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_40_force_mode_set"
address: 40
value_type: S_WORD
entity_category: config
step: 1
min_value: 1
max_value: 3
mode: slider
# last: 3
# 1: Force-cool/
# 2: Force-heat /
# 3: Off
# Default: 3 - Off
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_41_air_removal_set"
address: 41
value_type: S_WORD
entity_category: config
step: 1
min_value: 1
max_value: 3
mode: slider
# last: 3
# 1: Air /
# 2: Water tank/
# 3: Off
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_42_on85_off170_set"
address: 42
value_type: S_WORD
entity_category: config
step: 85
min_value: 85
max_value: 170
mode: slider
# last: 85
# 0xAA:On = 85
# 0x55:Off = 170
# Default: Off=170
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_43_power_limit_set"
address: 43
unit_of_measurement: "kW"
value_type: S_WORD
entity_category: config
step: 1
min_value: 0
max_value: 10
mode: slider
# last: 42
# Actual value:010 Kw
# Default :3 Kw
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_44_error_reset_1=clear"
address: 44
value_type: S_WORD
entity_category: config
step: 1
min_value: 0
max_value: 1
# 0: Does not clear fault
# 1: Clear fault
2023-03-02 18:10:40 +01:00
sensor:
- platform: modbus_controller
modbus_controller_id: versati3
2023-03-04 19:08:45 +01:00
id: versati_117_unit_status_number
name: versati_117_unit_status_number
address: 117
register_type: holding
2024-01-09 06:42:29 +01:00
value_type: S_WORD
2023-03-04 19:08:45 +01:00
on_value:
then:
- lambda: |-
int state = id(versati_117_unit_status_number).state;
std::string text;
if (state == 1) {
text = "COOL";
} else if (state == 2) {
text = "HEAT";
} else if (state == 6) {
text = "HOT WATER";
} else if (state == 8) {
text = "OFF";
} else {
text = "UNKNOWN";
}
id(versati_117_unit_status_text).publish_state(text);
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_118_outdoor_temp"
address: 118
2023-03-02 18:10:40 +01:00
unit_of_measurement: "°C"
register_type: holding
2024-01-09 06:42:29 +01:00
value_type: S_WORD
2023-03-04 19:08:45 +01:00
accuracy_decimals: 1
filters:
- multiply: 0.1
2023-03-02 18:53:39 +01:00
- platform: modbus_controller
modbus_controller_id: versati3
2023-03-04 19:08:45 +01:00
name: "versati_119_discharge_temp"
address: 119
2023-03-02 18:53:39 +01:00
unit_of_measurement: "°C"
register_type: holding
2024-01-09 06:42:29 +01:00
value_type: S_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-04 19:08:45 +01:00
2023-03-02 18:58:54 +01:00
- platform: modbus_controller
modbus_controller_id: versati3
2023-03-04 19:08:45 +01:00
name: "versati_120_defrost_temp"
address: 120
2023-03-02 18:58:54 +01:00
unit_of_measurement: "°C"
register_type: holding
2024-01-09 06:42:29 +01:00
value_type: S_WORD
2023-03-02 18:58:54 +01:00
accuracy_decimals: 1
filters:
2023-03-04 19:08:45 +01:00
- multiply: 0.1
2023-03-02 18:58:54 +01:00
- platform: modbus_controller
modbus_controller_id: versati3
2023-03-04 19:08:45 +01:00
name: "versati_121_suction_temp"
address: 121
unit_of_measurement: "°C"
register_type: holding
2024-01-09 06:42:29 +01:00
value_type: S_WORD
2023-03-04 19:08:45 +01:00
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_122_economizer_in_temp"
address: 122
unit_of_measurement: "°C"
register_type: holding
2024-01-09 06:42:29 +01:00
value_type: S_WORD
2023-03-04 19:08:45 +01:00
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_123_economizer_out_temp"
address: 123
2023-03-02 18:58:54 +01:00
unit_of_measurement: "°C"
register_type: holding
2024-01-09 06:42:29 +01:00
value_type: S_WORD
2023-03-02 18:58:54 +01:00
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: versati3
2023-03-04 19:08:45 +01:00
name: "versati_124_discharge_pressure_temp"
address: 124
unit_of_measurement: "°C"
register_type: holding
2024-01-09 06:42:29 +01:00
value_type: S_WORD
2023-03-04 19:08:45 +01:00
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_125_water_out_PE_temp"
2023-03-02 18:58:54 +01:00
address: 125
unit_of_measurement: "°C"
register_type: holding
2024-01-09 06:42:29 +01:00
value_type: S_WORD
2023-03-02 18:58:54 +01:00
accuracy_decimals: 1
filters:
2023-03-04 19:08:45 +01:00
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_126_optional_water_sensor_temp"
address: 126
unit_of_measurement: "°C"
register_type: holding
2024-01-09 06:42:29 +01:00
value_type: S_WORD
2023-03-04 19:08:45 +01:00
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_127_water_in_PE_temp"
address: 127
unit_of_measurement: "°C"
register_type: holding
2024-01-09 06:42:29 +01:00
value_type: S_WORD
2023-03-04 19:08:45 +01:00
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_128_tank_control_temp"
address: 128
unit_of_measurement: "°C"
register_type: holding
2024-01-09 06:42:29 +01:00
value_type: S_WORD
2023-03-04 19:08:45 +01:00
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_129_remote_room_temp"
address: 129
unit_of_measurement: "°C"
register_type: holding
2024-01-09 06:42:29 +01:00
value_type: S_WORD
2023-03-04 19:08:45 +01:00
accuracy_decimals: 1
filters:
2023-03-02 18:58:54 +01:00
- multiply: 0.1
2023-03-04 19:08:45 +01:00
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_130_gas_pipe_temp"
address: 130
unit_of_measurement: "°C"
register_type: holding
2024-01-09 06:42:29 +01:00
value_type: S_WORD
2023-03-04 19:08:45 +01:00
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_131_liquid_pipe_temp"
address: 131
unit_of_measurement: "°C"
register_type: holding
2024-01-09 06:42:29 +01:00
value_type: S_WORD
2023-03-04 19:08:45 +01:00
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: versati3
id: "versati_132_thermostat_status_number"
name: versati_132_thermostat_status_number
address: 132
register_type: holding
2024-01-09 06:42:29 +01:00
value_type: S_WORD
2023-03-04 19:08:45 +01:00
accuracy_decimals: 1
on_value:
then:
- lambda: |-
int state = id(versati_132_thermostat_status_number).state;
std::string text;
if (state == 1) {
text = "COOL";
} else if (state == 2) {
text = "HEAT";
} else if (state == 3) {
text = "OFF";
} else {
text = "UNKNOWN";
}
id(versati_132_thermostat_status_text).publish_state(text);
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_133_floor_debug"
address: 133
unit_of_measurement: "°C"
register_type: holding
2024-01-09 06:42:29 +01:00
value_type: S_WORD
2023-03-04 19:08:45 +01:00
accuracy_decimals: 1
filters:
- multiply: 0.001
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_134_debug_time"
address: 134
unit_of_measurement: "h"
register_type: holding
2024-01-09 06:42:29 +01:00
value_type: S_WORD
2023-03-04 19:08:45 +01:00
accuracy_decimals: 1
- platform: modbus_controller
modbus_controller_id: versati3
id: "versati_135_disinfection_status_number"
name: "versati_135_disinfection_status_number"
address: 135
register_type: holding
2024-01-09 06:42:29 +01:00
value_type: S_WORD
2023-03-04 19:08:45 +01:00
accuracy_decimals: 1
on_value:
then:
- lambda: |-
int state = id(versati_135_disinfection_status_number).state;
std::string text;
if (state == 1) {
text = "Running";
} else if (state == 2) {
text = "Done";
} else if (state == 3) {
text = "Failed";
} else if (state == 0) {
text = "OFF";
} else {
text = "UNKNOWN";
}
id(versati_135_disinfection_status_text).publish_state(text);
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_136_error_time_for_floor_debug"
address: 136
unit_of_measurement: "s"
register_type: holding
2024-01-09 06:42:29 +01:00
value_type: S_WORD
2023-03-04 19:08:45 +01:00
accuracy_decimals: 1
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_137_weather_depend_temp"
address: 137
unit_of_measurement: "°C"
register_type: holding
2024-01-09 06:42:29 +01:00
value_type: S_WORD
2023-03-04 19:08:45 +01:00
accuracy_decimals: 1
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_142_setting_fruequency_status"
address: 142
unit_of_measurement: "Hz"
register_type: holding
2024-01-09 06:42:29 +01:00
value_type: S_WORD
2023-03-04 19:08:45 +01:00
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_143_running_frequency_status"
address: 143
unit_of_measurement: "Hz"
register_type: holding
2024-01-09 06:42:29 +01:00
value_type: S_WORD
2023-03-02 18:10:40 +01:00
```
2023-03-02 19:07:10 +01:00
2023-03-04 19:08:45 +01:00
## Lovelace config:
```
type: entities
entities:
- entity: number.versati_3_optional_e_heater_set
name: Optional E-heater
- entity: number.versati_5_floor_debug_segments_set
name: Floor debug segments
- entity: number.versati_6_floor_debug_period_1_set
name: Floor debug period 1
- entity: number.versati_7_delta_of_segment_temp_set
name: Δ Segment
- entity: number.versati_8_segment_time_set
name: Segment time
- entity: number.versati_13_tank_target_temp_set
name: Tank target
- entity: number.versati_14_eheater_temp_set
name: E-Heater
- entity: number.versati_15_other_switch_on_temp_set
name: Other switch on
- entity: number.versati_33_cool_run_time_set
name: Cool run time
- entity: number.versati_35_other_thermal_logic_set
name: Other thermal logic segment
- entity: number.versati_36_tank_heater_set
name: Tank heater
- entity: number.versati_37_optional_e_heater_logic_set
name: Optional E-Heater logic
- entity: number.versati_40_force_mode_set
name: Force mode
- entity: number.versati_41_air_removal_set
name: Air removal
type: entities
entities:
- entity: sensor.versati_118_outdoor_temp
name: Outdoor temp
- entity: sensor.versati_119_discharge_temp
name: Discharge temp
- entity: sensor.versati_120_defrost_temp
name: Defrost temp
- entity: sensor.versati_121_suction_temp
name: Suction temp
- entity: sensor.versati_122_economizer_in_temp
name: Economizer IN temp
- entity: sensor.versati_123_economizer_out_temp
name: Economizer OUT temp
- entity: sensor.versati_124_discharge_pressure_temp
name: Discharge pressure temp
- entity: sensor.versati_126_optional_water_sensor_temp
name: Optional water sensor temp
- entity: sensor.versati_128_tank_control_temp
name: Tank control temp
- entity: sensor.versati_129_remote_room_temp
name: Remote room temp
- entity: sensor.versati_131_liquid_pipe_temp
name: Liquid pipe temp
- entity: sensor.versati_132_thermostat_status_2
name: Thermostat status
- entity: sensor.versati_132_thermostat_status_number
name: Thermostat status number
- entity: sensor.versati_133_floor_debug
name: Floor debug temp
- entity: sensor.versati_134_debug_time
name: Debug time
- entity: sensor.versati_136_error_time_for_floor_debug
name: Error time for floor debug
- entity: sensor.versati_137_weather_depend_temp
name: Weather depend temp
- entity: sensor.versati_142_setting_fruequency_status
name: Setting frequency
- entity: sensor.versati_143_running_frequency_status
name: Running frequency
2023-03-02 19:07:10 +01:00
2023-03-04 19:08:45 +01:00
type: entities
entities:
- entity: number.versati_17_upper_at_heat_temp_set
name: AT upper heat
- entity: number.versati_18_lower_at_heat_temp_set
name: AT lower heat
- entity: number.versati_19_upper_rt_heat_temp_set
name: RT upper heat
- entity: number.versati_20_lower_rt_heat_temp_set
name: RT lower heat
- entity: number.versati_21_upper_wt_heat_temp_set
name: WT upper heat
- entity: number.versati_22_lower_wt_heat_temp_set
name: WT lower heat
- entity: number.versati_23_upper_at_cool_temp_set
name: AT upper cool
- entity: number.versati_24_lower_at_cool_temp_set
name: AT lower cool
- entity: number.versati_25_upper_rt_cool_temp_set
name: RT upper cool
- entity: number.versati_26_lower_rt_cool_temp_set
name: RT lower cool
- entity: number.versati_27_upper_wt_cool_temp_set
name: WT upper cool
- entity: number.versati_28_lower_wt_cool_temp_set
name: WT lower cool
- entity: number.versati_29_delta_cool_temp_set
name: Δ Cool
- entity: number.versati_30_delta_heat_temp_set
name: Δ Heat
- entity: number.versati_31_delta_hot_water_temp_set
name: Δ Hot water
- entity: number.versati_32_delta_room_temp_set
name: Δ Room
- entity: number.versati_10_wot_heat_temp_set
name: WOT heat
- entity: number.versati_9_wot_cool_temp_set
name: WOT Cool
- entity: number.versati_12_rt_heat_temp_set
name: RT heat
- entity: number.versati_11_rt_cool_temp_set
name: RT Cool
type: entities
entities:
- entity: sensor.versati_135_disinfection_status_2
name: Disinfection status
- entity: sensor.versati_117_unit_status_2
name: Unit status
- entity: number.versati_42_on85_off170_set
name: ON (85) / OFF (170)
- entity: number.versati_39_thermostat_mode_set
name: Thermostat mode
- entity: sensor.versati_127_water_in_pe_temp
name: Water IN temp
- entity: sensor.versati_125_water_out_pe_temp
name: Water OUT PE temp
- entity: number.versati_4_disinfection_temp_set
name: Disinfection
- entity: number.versati_13_tank_target_temp_set
name: Tank target
- entity: number.versati_16_hp_max_temp_set
name: HP max
- entity: number.versati_33_cool_run_time_set
name: Cool run time
- entity: number.versati_34_heat_run_time_set
name: Heat run time
- entity: number.versati_36_tank_heater_set
name: Tank heater
- entity: number.versati_43_power_limit_set
name: Power limit
- entity: number.versati_38_current_limit_value_set
name: Current limit
- entity: number.versati_44_error_reset_1_clear
name: Error (1=clear)
```