These are addresses I have found variously on the internet for other Gree Versati. I just don’t understand the modbus addresses at all. I’ll try 0x76 and let you know.
Can you share your configuration in ESPHome and exactly what converter you are using?
I have done the integration as dslava suggested and I have ordered a
usb to RS485 to see how it will go. Also I have ordered one esp32 and one esp8266 to try make the connection wirelessly aftewards.I have no Idea if that will work. I’ll keep you updated with all the procedures I will try.
Very Happy this is getting closer to be done. The UI of that machine is really crappy. Putting it in HA will help save a lot of $$ in consumption and overall have custom automations.
Error in log:
[13:55:28][D][modbus_controller:032]: Modbus command to device=1 register=0x76 countdown=0 no response received - removed from send queue
I have completed the integration thanks to @dslava.
It’s connected via a usb on RPI4 and RS485 on the Touch controller’s modbus with a 2 euro adaptor.
What is not included in his code and it is essential for me, is to control the temperature (as I am doing via the touch panel) using the unit’s room temperature sensor and not an external thermostat.
“Room temperature setpoint” needed to be added in automations.yaml for been able to select the desired temperature.
in automations.yaml
- id: Update_gree_modbus_value
alias: Update gree modbus value
mode: queued
max: 20
variables:
sensor_id: sensor.{{trigger.to_state.object_id}}
trigger:
- platform: state
entity_id:
- input_number.gree_leaving_water_setpoint_temperature
- input_number.gree_leaving_water_upper_setpoint_temperature
- input_number.gree_leaving_water_lower_setpoint_temperature
- input_number.gree_room_setpoint_temperature #added this to be able to set temperature with internal room temp sensor
- input_number.gree_ambient_upper_setpoint_temperature
- input_number.gree_ambient_lower_setpoint_temperature
- input_number.gree_delta_t_heat_setpoint_temperature
- input_number.gree_hotwater_tank_setpoint_temperature
- input_number.gree_delta_t_hot_water_setpoint_temperature
- input_number.gree_disinfection_setpoint_temperature
- input_select.gree_optional_e_heater
condition: []
action:
- service: modbus.write_register
data_template:
hub: versati3_hub
unit: 1
address: '{{ state_attr(sensor_id, ''address'' ) }}
'
value: "{% if 'input_select' in trigger.to_state.entity_id %} \n {{ state_attr(trigger.to_state.entity_id,
'options').index(trigger.to_state.state) + 1 }}\n{% else %}\n {{ (trigger.to_state.state
| int) if (trigger.to_state.state | int >= 0) else (65536 + trigger.to_state.state
| int) }}\n{% endif %}"
Then a sensor to be able to verify that my value has been properly sent. (maybe that can be checked otherwise) but I am a bit lost. I did that as well and everything works good.
Again in automation.yaml
- id: Handle_gree_setpoint_temperature_change
alias: Handle gree setpoint temperature change
trigger:
- platform: state
entity_id:
- sensor.gree_leaving_water_setpoint_temperature
- sensor.gree_leaving_water_upper_setpoint_temperature
- sensor.gree_leaving_water_lower_setpoint_temperature
- sensor.gree_room_setpoint_temperature #Just to verify the set temperature value
- sensor.gree_ambient_upper_setpoint_temperature
- sensor.gree_ambient_lower_setpoint_temperature
- sensor.gree_delta_t_heat_setpoint_temperature
- sensor.gree_hotwater_tank_setpoint_temperature
- sensor.gree_delta_t_hot_water_setpoint_temperature
- sensor.gree_disinfection_setpoint_temperature
- sensor.gree_room_sensor_setpoint_temperature
condition: []
action:
- condition: template
value_template: '{{ is_number(trigger.to_state.state) and (trigger.to_state.state
| float > -50 and trigger.to_state.state | float < 100) }}'
- service: input_number.set_value
data:
entity_id: input_number.{{trigger.to_state.object_id}}
value: '{{trigger.to_state.state}}'
mode: queued
max: 20
Also make sure that the “Gree Room Setpoint Temperature” is not # in the configuration.yaml in sensors: add
I am trying to integrate a Gree Versati III device through requests. I have several parameters but not all, I am mostly interested in the ones of Status View. Do you know if there is any relationship in the naming with the table of definitions and addresses of Modbus?
The naming is based as in the table. What exactly are you trying to do? I have fixed the status view in my configuration as Engusz said in sensor templates. It creates an entity with the actual status Off heat, hot water, cool.
I am trying to create a Homebridge plugin, but there is no documentation for requests. However there is more documentation on the parameters using Modbus, so I’m wondering if there is a relationship in terms of naming, or a translation table (for example, gree_hotwater_tank_setpoint_temperature is called WatBoxTemSet).
Well it is working pretty fine for me too.
The reasion why I’d like to use the versati II with HA is to have a place where I can log if there is any issue or error. And with the Word addresses I think I can go further but the Byte and bit part is a little bit harder does someone have a tutorial? thank you!!
Dudes… Are you aware that Gree have a lots ot thermo pumps with coding Versati II and Versati III? Are you aware that every coding of new Thermopump are different? And can you Please read a documents about every pump Please!!! No one here a wizard, and I’ll give you Ana starting point of using it… So please stop using tags on me, I’m not specialist of Gree - I’m just a a simple man that use my fucking model of this Thermopump… I’ve my model of use and I give it to you, so… Try to made this model good sorry but I have a live here - cheers
Hello! Thank you for good instructions.
Can you plese give me help for final step: And finally, in order to modify my settings (temperature and optional_e_heater dropdown selection) in ui-lovelace.yaml I use numberbox-card controls (GitHub - htmltiger/numberbox-card: Replace input_number sliders with plus and minus buttons 9)?
I installed numberbox card.js, but where i can put file ui-lovelace.yaml (I cannot find in conf folder)?
Dont you have issue with modbus config after update to more recent HA version (2023.11.2). For example: count: 1 cannot be combined with data_type: int16
I read that something has changed with modbus on homeasssistant and since I updated from an old version (I think mine was like from may) I did jump few versions and bumped into this issue. I was wondering if anyone else has this issue.
Checking the info, looks like count cannot be used with numeric values and those are calculated automatically. So removing count should do the trick.
Update:
If anyone bumps into the issue, just remove all occurences of count in your modbus configuration.yaml file