Hi,
I have seen your dashboard. It is amasing! I have only one question regarding this topics.
What is the Word 142 and 143 (Setting and Running frequence), it is the iPWM signals of the inside pump?
Thanks,
Tamas
Hi,
I have seen your dashboard. It is amasing! I have only one question regarding this topics.
What is the Word 142 and 143 (Setting and Running frequence), it is the iPWM signals of the inside pump?
Thanks,
Tamas
I just installed gree versati 3 mono , can anyone explain a bit for the weather depend mode , ty .
Hi, it has been a couple of years since you posted about the Versatii 2 modubus protocol, but can you share the Gree protocol document? The register addresses in your code seem to exactly match my heat pump, but I would like to use other registers, higher that the ones in your screen shot, and also the bitmapped registers.
I have 3 Gree documents for the Versatii 2, but none match my machine.
I just installed gree versati 3 mono , can anyone explain a bit for the weather depend mode
The weather dependent mode varies the target temperature (water temperature or room temperature) depending on the outside temperature. The colder it is outside the higher the target temperature.
The parameters are set as endpoints on a straight line graph.
Hello, those who have esp or wemos connected, how did you solve the power supply? Using external brick or connected directly to heat pump mainboard ? Please share your ideas, in my case it’s hard to connect external power supply.
I have moved this display to another spot in the house so I can control the temp without going to the boiling room.
I have a 2 questions:
Since this display has only one modbus port, did you connect in parallel or did you use some other ports on the board? I believe it has another one with 2 pins?
Can you set temperature via Homeassistant like you can do it via display?
Thanks
could you please attach picture how did you connect the display of the HP and RS485?
Thanks
Display uses port 2, modbus is 1.
Can’t find it, could you mark on electric wiring diagram of Versati III ? Or a photo of the board. Or by “control unit” you meant a LCD display unit?
Much appreciated.
Thanks, Versati III doesn’t have separate +12VDC, but i can use power from panel.
Anyway, what do you have connected to your LOLIN in the 3rd and 4th picture?
I see TTL to RS485 converter and what is the other thing?
Oh, that is a different matter unrelated to the ESPHome project. It just receives 3V from the board. Apologies for the confusion.
My ESPHome setup is 12V from control panel with 12V to 5V step down, GPIO pins toTTL to RS485 connected to the BMS port.
Yes. You have to set “Water out temperature” through HA automation. Make sure you have it in your ESPHome project. Depending on the protocol version it may be at different addresses, in my case (modbus protocol 1.0) it is at 10.
On a related note, it is also fun to set up one’s own thermostat automation by using the heat pumps Outdoor temperature measurement, indoor temperature readings from other integrated thermostats and time of the day, so it does not run full noise in the middle of the night.
My prototype.
Ordered some boards , planning to put everything in single place.
@Akinkurtoglu could you share all the fancy automations you’ve done? I am interested with indoor temp sensors and thermostats.
Here’s an automation I created for controlling my heat pump dynamically based on outdoor and indoor temperatures. This setup:
• Adjusts the heating water temperature set point based on conditions.
• Enables “Quiet Mode” at night, unless the alarm system is armed away.
• Uses multiple temperature sensors to optimize heating efficiency.
alias: Heat Pump - Dynamic Temperature Control
description: >
Adjusts heat pump settings based on outdoor and indoor temperatures,
while toggling Quiet Mode based on time.
trigger:
# Automation triggers on sensor state changes
- entity_id:
- sensor.isi_pompasi_outdoor
- sensor.summerhouse_temperature
- sensor.summerhouse_living_room_temperature
- sensor.summerhouse_bedroom_temperature
trigger: state
conditions:
# Ensures heat pump is in "Heat" mode and turned "On"
- condition: device
device_id: 105c7549481f700207848fc1950f2de3
domain: select
entity_id: 51723ec3e82a2a952566cd767ebfb55f
type: selected_option
option: Heat
- condition: device
device_id: 105c7549481f700207848fc1950f2de3
domain: select
entity_id: b18977fe9a06e0f30b21211344ad1d0d
type: selected_option
option: "On"
actions:
# Adjusts the heating water set point dynamically
- target:
entity_id: number.isi_pompasi_heating_water_out_set_point
data:
value: >-
{% set current_hour = now().hour %}
{% set is_night_time = current_hour >= 21 or current_hour < 9 %}
{% if is_night_time %}
30
{% elif states('sensor.summerhouse_temperature') | float > 20 and
states('sensor.summerhouse_living_room_temperature') | float > 21 and
states('sensor.summerhouse_bedroom_temperature') | float > 20 %}
30
{% elif states('sensor.isi_pompasi_outdoor') | float <= 7 %}
42
{% elif states('sensor.isi_pompasi_outdoor') | float > 7 and
states('sensor.isi_pompasi_outdoor') | float <= 15 %}
38
{% else %}
34
{% endif %}
action: number.set_value
# Toggles Quiet Mode based on time and security status
- choose:
- conditions:
- condition: template
value_template: "{{ now().hour >= 21 or now().hour < 9 }}"
- condition: not
conditions:
- condition: device
device_id: e2af9cd0eed34025d273d99f54f0ba66
domain: alarm_control_panel
entity_id: e2b694dd35059a80c57605fee8040705
type: is_armed_away
sequence:
- type: turn_on
device_id: 105c7549481f700207848fc1950f2de3
entity_id: a8fa79dc5ca444195ace4633c9b426e8
domain: switch
- conditions:
- condition: template
value_template: "{{ now().hour >= 9 and now().hour < 21 }}"
sequence:
- type: turn_off
device_id: 105c7549481f700207848fc1950f2de3
entity_id: a8fa79dc5ca444195ace4633c9b426e8
domain: switch
mode: single
ah I missed the second connector
thank you a lot
Can you please tell me one more thing, I am struggling to find the right connector for the AB port, I see that you have posted the pictures of your prototype and I saw the connector?
No idea what’s the name, found one in the “random stuff” box, but as far as I remember, it was bought in a local electronics shop, it’s not something rare.
I Have the same problem, did you manage to fix this?
For those that have Bergen Heatpump (which is gree versati 3)
Here is the config that works
esphome:
name: "versati-esp"
esp32:
board: esp32dev
framework:
type: arduino
logger:
captive_portal:
api:
encryption:
key: "<somekey>"
ota:
- platform: esphome
id: my_ota
password: "<esphomepasswd>"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
manual_ip:
static_ip: 192.168.88.127 # Replace with your desired IP address
gateway: 192.168.88.1 # Replace with your router's IP address
subnet: 255.255.255.0
web_server:
port: 80
uart:
id: mod_bus
tx_pin: GPIO16
rx_pin: GPIO17
baud_rate: 9600
stop_bits: 1
modbus:
flow_control_pin: GPIO23
send_wait_time: 200ms
id: modbus_versati3
modbus_controller:
- id: versati3
## the Modbus device addr
address: 0x01
modbus_id: modbus_versati3
setup_priority: -10
update_interval: 15s
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"
- platform: template
id: versati_135_disinfection_status_text
name: "versati_135_disinfection_status"
number:
- platform: modbus_controller
modbus_controller_id: versati3
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
# Default:24°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
# Default:20°C
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_13_tank_target_temp_set"
address: 13
unit_of_measurement: "°C"
value_type: S_WORD
entity_category: config
step: 1
min_value: 40
max_value: 80
mode: slider
# last: 48°C
# Default:50°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
# Default:50°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
# Default:25°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
# Default:24°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
# Default:18°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: 46~60℃[High-temp]/ 46~55℃[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
# Default:40°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
# Default:40°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
# Default:25°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
# Default:27°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
# Default:22°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
# Default:15°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
# Default:7°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
# Default:5°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
# Default:10°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
# Default:5°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
# Default:2°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
# Default:3min
- 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
# Default:5min
- 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
# Default:1
- 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
# Default:1
- 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
# Default:1
- 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
# Default:16A
- 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:0~10 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
sensor:
- platform: modbus_controller
modbus_controller_id: versati3
id: versati_117_unit_status_number
name: versati_117_unit_status_number
address: 0x76
register_type: holding
value_type: S_WORD
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
unit_of_measurement: "°C"
register_type: holding
value_type: S_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_119_discharge_temp"
address: 119
unit_of_measurement: "°C"
register_type: holding
value_type: S_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_120_defrost_temp"
address: 120
unit_of_measurement: "°C"
register_type: holding
value_type: S_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_121_suction_temp"
address: 121
unit_of_measurement: "°C"
register_type: holding
value_type: S_WORD
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
value_type: S_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_123_economizer_out_temp"
address: 123
unit_of_measurement: "°C"
register_type: holding
value_type: S_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_124_discharge_pressure_temp"
address: 124
unit_of_measurement: "°C"
register_type: holding
value_type: S_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_125_water_out_PE_temp"
address: 125
unit_of_measurement: "°C"
register_type: holding
value_type: S_WORD
accuracy_decimals: 1
filters:
- 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
value_type: S_WORD
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
value_type: S_WORD
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
value_type: S_WORD
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
value_type: S_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_130_gas_pipe_temp"
address: 130
unit_of_measurement: "°C"
register_type: holding
value_type: S_WORD
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
value_type: S_WORD
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
value_type: S_WORD
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
value_type: S_WORD
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
value_type: S_WORD
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
value_type: S_WORD
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
value_type: S_WORD
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
value_type: S_WORD
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
value_type: S_WORD
- platform: modbus_controller
modbus_controller_id: versati3
name: "versati_143_running_frequency_status"
address: 143
unit_of_measurement: "Hz"
register_type: holding
value_type: S_WORD