Hi,
I’ve this configuration:
- name: thermostat
type: tcp
host: 192.168.1.95
port: 502
delay: 1
timeout: 10
retries: 5
retry_on_empty: true
message_wait_milliseconds: 200
climates:
- name: "Thermostat"
slave: 5
address: 0
target_temp_register: 64
min_temp: 15
max_temp: 35
scan_interval: 60
temperature_unit: C
data_type: int16
scale: 0.1
offset: 0
precision: 1
hvac_mode_register:
address: 62
values:
state_auto: 4
state_cool: 1
state_heat: 0
state_fan_only: 2
state_dry: 3
hvac_onoff_register: 61
The reads are all ok, but when I try to on/off or change the state or target temp, I’ve this erros:
homeassistant.components.modbus.modbus] Pymodbus: thermostat: Exception Response(134, 6, IllegalFunction)
And additional setting, that I can’t know how to add it, is the fan speed and humidity. Do i have to add outside this module?
I use openhab too, and in openhab I’ve this:
Bridge modbus:tcp:thermostat [ host="192.168.1.95", port=502, id=5, connectTimeoutMillis=15000, connectMaxTries=3 ] {
Bridge poller readonly [ start=0, length=3, refresh=60000, type="holding" ] {
Thing data RoomTemp @ "Piso 1" [ readStart="0", readValueType="int16", readTransform="JS(divide10.js)" ]
Thing data FloorTemp @ "Piso 1" [ readStart="1", readValueType="int16" ]
Thing data Humdity @ "Piso 1" [ readStart="2", readValueType="int16" ]
}
Bridge poller readandwrite [ start=61, length=4, refresh=10000, type="holding" ] {
Thing data Status @ "Piso 1" [ readStart="61", readValueType="int16", writeStart="61", writeValueType="int16", writeType="holding", writeMultipleEvenWithSingleRegisterOrCoil="true"]
Thing data SystemMode @ "Piso 1" [ readStart="62", readValueType="int16", writeStart="62", writeValueType="int16", writeType="holding", writeMultipleEvenWithSingleRegisterOrCoil="true"]
Thing data FanSpeed @ "Piso 1" [ readStart="63", readValueType="int16", writeStart="63", writeValueType="int16", writeType="holding",writeMultipleEvenWithSingleRegisterOrCoil="true"]
Thing data SetTemp @ "Piso 1" [ readStart="64", readValueType="int16", writeStart="64", writeValueType="int16", writeType="holding", writeMultipleEvenWithSingleRegisterOrCoil="true", readTransform="JS(divide10.js)", writeTransform="JS(multiply10.js)" ]
}
}
And it works. Could some one give a help?
Best Regards,