I have a conbee II and have added a ZHA integration (the built in one) and recently I bought some chinese tuya smart radiator valves. When I added the to my network, I was surprised that so little controls were added with them:
Going through the device info, I see that there are A LOT of other options that should (and I want to) be able to tweak:
"user_given_name": "Living room radiator",
"device_reg_id": "b37e4b004752f8933dbb095e94f19fc7",
"area_id": "living_room",
"cluster_details": {
"1": {
"device_type": {
"name": "THERMOSTAT",
"id": 769
},
"profile_id": 260,
"in_clusters": {
"0x0000": {
"endpoint_attribute": "basic",
"attributes": {},
"unsupported_attributes": {}
},
"0x0004": {
"endpoint_attribute": "groups",
"attributes": {},
"unsupported_attributes": {}
},
"0x0005": {
"endpoint_attribute": "scenes",
"attributes": {},
"unsupported_attributes": {}
},
"0xef00": {
"endpoint_attribute": "tuya_manufacturer",
"attributes": {
"0x0107": {
"attribute_name": "child_lock",
"value": 0
},
"0x026d": {
"attribute_name": "valve_state",
"value": 100
},
"0x0202": {
"attribute_name": "target_temperature",
"value": 230
},
"0x0203": {
"attribute_name": "temperature",
"value": 205
},
"0x0404": {
"attribute_name": "mode",
"value": 2
},
"0x022c": {
"attribute_name": "temperature_calibration",
"value": -20
},
"0x0269": {
"attribute_name": "boost_duration_seconds",
"value": 300
},
"0x046a": {
"attribute_name": "valve_force_state",
"value": 0
},
"0x026b": {
"attribute_name": "comfort_mode_temperature",
"value": 20
},
"0x026c": {
"attribute_name": "eco_mode_temperature",
"value": 18
},
"0x016e": {
"attribute_name": "battery_low",
"value": 0
},
"0x046f": {
"attribute_name": "week_format",
"value": 2
},
"0x0272": {
"attribute_name": "away_mode_temperature",
"value": 15
},
"0x0174": {
"attribute_name": "auto_lock",
"value": 0
},
"0x0275": {
"attribute_name": "away_duration_days",
"value": 6
}
},
"unsupported_attributes": {}
},
"0x0201": {
"endpoint_attribute": "thermostat",
"attributes": {
"0x0000": {
"attribute_name": "local_temperature",
"value": 2050
},
"0x0002": {
"attribute_name": "occupancy",
"value": 1
},
"0x0010": {
"attribute_name": "local_temperature_calibration",
"value": -200
},
"0x0012": {
"attribute_name": "occupied_heating_setpoint",
"value": 2300
},
"0x0014": {
"attribute_name": "unoccupied_heating_setpoint",
"value": 1500
},
"0x001b": {
"attribute_name": "ctrl_sequence_of_oper",
"value": 2
},
"0x001c": {
"attribute_name": "system_mode",
"value": 4
},
"0x001e": {
"attribute_name": "running_mode",
"value": 4
},
"0x0025": {
"attribute_name": "programing_oper_mode",
"value": 0
},
"0x0029": {
"attribute_name": "running_state",
"value": 1
},
"0x4000": {
"attribute_name": "comfort_heating_setpoint",
"value": 2000
},
"0x4001": {
"attribute_name": "eco_heating_setpoint",
"value": 1800
},
"0x4002": {
"attribute_name": "operation_preset",
"value": 2
},
"0x4003": {
"attribute_name": "work_days",
"value": 2
},
"0x4004": {
"attribute_name": "valve_open_percentage",
"value": 100
},
"0x4005": {
"attribute_name": "boost_duration_seconds",
"value": 300
},
"0x4006": {
"attribute_name": "valve_force_state",
"value": 0
},
"0x4007": {
"attribute_name": "unoccupied_duration_days",
"value": 6
}
},
"unsupported_attributes": {
"0x0000": {
"attribute_name": "local_temperature"
},
"0x0002": {
"attribute_name": "occupancy"
},
"0x0003": {
"attribute_name": "abs_min_heat_setpoint_limit"
},
"0x0004": {
"attribute_name": "abs_max_heat_setpoint_limit"
},
"0x0005": {
"attribute_name": "abs_min_cool_setpoint_limit"
},
"0x0006": {
"attribute_name": "abs_max_cool_setpoint_limit"
},
"0x0029": {
"attribute_name": "running_state"
},
"0x0007": {
"attribute_name": "pi_cooling_demand"
},
"0x0008": {
"attribute_name": "pi_heating_demand"
},
"0x0011": {
"attribute_name": "occupied_cooling_setpoint"
},
"0x0012": {
"attribute_name": "occupied_heating_setpoint"
},
"0x0013": {
"attribute_name": "unoccupied_cooling_setpoint"
},
"0x0015": {
"attribute_name": "min_heat_setpoint_limit"
},
"0x0016": {
"attribute_name": "max_heat_setpoint_limit"
},
"0x0017": {
"attribute_name": "min_cool_setpoint_limit"
},
"0x0018": {
"attribute_name": "max_cool_setpoint_limit"
},
"0x0014": {
"attribute_name": "unoccupied_heating_setpoint"
},
"0x001e": {
"attribute_name": "running_mode"
}
}
},
"0x0204": {
"endpoint_attribute": "thermostat_ui",
"attributes": {
"0x0001": {
"attribute_name": "keypad_lockout",
"value": 0
},
"0x5000": {
"attribute_name": "auto_lock",
"value": 0
}
},
"unsupported_attributes": {}
},
"0x0006": {
"endpoint_attribute": "on_off",
"attributes": {},
"unsupported_attributes": {
"0x0000": {
"attribute_name": "on_off"
},
"0x4003": {
"attribute_name": "start_up_on_off"
}
}
},
"0x0001": {
"endpoint_attribute": "power",
"attributes": {
"0x0021": {
"attribute_name": "battery_percentage_remaining",
"value": 200
},
"0x0031": {
"attribute_name": "battery_size",
"value": 3
},
"0x0033": {
"attribute_name": "battery_quantity",
"value": 2
}
},
"unsupported_attributes": {
"0x0020": {
"attribute_name": "battery_voltage"
},
"0x0021": {
"attribute_name": "battery_percentage_remaining"
}
}
}
},
"out_clusters": {
"0x000a": {
"endpoint_attribute": "time",
"attributes": {},
"unsupported_attributes": {}
},
"0x0019": {
"endpoint_attribute": "ota",
"attributes": {},
"unsupported_attributes": {}
}
}
}
So my question: is there a way I can manipulate these or define my own controls in a certain way?
Disclaimer: After batling Zigbee2MQTT with lots of threads dormant for months and having to reset all my devices, I quit trying, so Z2M is currently not an option for me.