Hi,
I’m using ESP8266 with MAX485 to control GREE Versaty II. Everything is working fine with sensors, except Modbus Switch, Changing Modes (heat, cool, heat+hot water, cool+hot water, hot water only - which is Switch component as well).
Im stuck some now with Modbus Switch Integration. I’m trying to Power on and off the unit, and I can see all the sensors, and can turn it ON with Modbus when I set bitmask: 0xAA (which is command for turning On, as pdf document says from Gree), but for turning OFF I need other bitmask which is 0x55. Is there a way to achieve that?
Here is my configuration as well, and part of PDF which is describing commands:
ESPHome Config:
ap:
ssid: "Modbus-Gree Fallback Hotspot"
password: "sQeTy2wInuSJ"
captive_portal:
web_server:
port: 80
uart:
id: mod_bus
tx_pin: 12
rx_pin: 14
baud_rate: 9600
stop_bits: 1
modbus:
flow_control_pin: 13
send_wait_time: 200ms
id: modbus_versati2
modbus_controller:
- id: versati2
## the Modbus device addr
address: 0x1
modbus_id: modbus_versati2
setup_priority: -10
sensor:
- platform: modbus_controller
modbus_controller_id: versati2
id: outside_temp
name: "Outside Temp"
address: 0x002D
unit_of_measurement: "°C"
register_type: holding
value_type: U_WORD
accuracy_decimals: 2
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: versati2
id: heating_temp
name: "Outgoing Water Temp"
address: 0x0032
unit_of_measurement: "°C"
register_type: holding
value_type: U_WORD
accuracy_decimals: 2
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: versati2
id: boiler_temp
name: "Water Tank Temp"
address: 0x0035
unit_of_measurement: "°C"
register_type: holding
value_type: U_WORD
accuracy_decimals: 2
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: versati2
id: power_state
name: "State"
address: 0x01
register_type: holding
value_type: U_WORD
- platform: modbus_controller
modbus_controller_id: versati2
id: mode_hvac
name: "Mode"
address: 0x02
register_type: holding
value_type: U_WORD
- platform: modbus_controller
modbus_controller_id: versati2
id: boiler_setpoint
name: "Boiler Setpoint Temp"
address: 0x000D
unit_of_measurement: "°C"
register_type: holding
value_type: U_WORD
accuracy_decimals: 2
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: versati2
id: heting_setpoint
name: "Heating Setpoint Temp"
address: 0x000A
unit_of_measurement: "°C"
register_type: holding
value_type: U_WORD
accuracy_decimals: 2
filters:
- multiply: 0.1
switch:
- platform: modbus_controller
modbus_controller_id: versati2
id: turn_on_off
name: "On Off"
register_type: holding
address: 0x001
bitmask: 0xAA #"With bitmask: 0xAA Switch is working with correct possition, but it cannot turn off thermo pump for turning off 0x85 is needed"
This is a part of PDF document which Is describing commands:
Thank you in advance