os11k
(Jurijs I)
December 16, 2023, 4:44pm
1
This is my current climate configuration:
climates:
- name: vtr200b_temp
address: 207
slave: 1
offset: 0
max_temp: 11
min_temp: 1
temp_step: 1
target_temp_register: 206
Problem with it is that I need to write 1-11 values to 206 modbus address what is 13-22 degrees respectively, but 207 address return temperature with scale.
Here is a printscreen to illustrate a problem:
If I will add scale to my climate configuration, it will change 200 to 20, but will try to set temperature to value outside 1-11. Additionally would be nice to have target temperature not 9, but 20.
At the end this is what I would like to achieve:
Any suggestions or ideas would be greatly appreciated! Thank you!
os11k
(Jurijs I)
December 17, 2023, 9:28am
2
I ended up with input_number like this:
input_number:
vtr200b_temperature:
name: Temperature
min: 11
max: 22
step: 1
mode: slider
unit_of_measurement: °C
icon: mdi:thermometer
script:
write_temperature:
sequence:
- service: modbus.write_register
data_template:
hub: vtr200b
unit: 1
address: 206
value: "{{ states('input_number.vtr200b_temperature') | int - 11}}"
- service: script.turn_on
entity_id: script.write_nvm
write_nvm:
sequence:
- delay: "00:00:02"
- service: modbus.write_register
data_template:
hub: vtr200b
unit: 1
address: 548
value: 165
automation:
- alias: "Temp slider set"
trigger:
platform: state
entity_id: sensor.vtr200b_reg_hc_temp_sp
action:
service: input_number.set_value
target:
entity_id: input_number.vtr200b_temperature
data:
value: "{{ states('sensor.vtr200b_reg_hc_temp_sp') | int }}"
- alias: "Temp slider moved"
trigger:
platform: state
entity_id: input_number.vtr200b_temperature
action:
service: script.turn_on
entity_id: script.write_temperature
Probably best solution would be to use generic_thermostat, but I did’t get how to remove on/off buttons and heat mode from there…