I have quite a few danfoss ally thermostats which I am happy with. I know it exposes some attributes which are not visible in home assistant e.g. “load”
I can read this attrribute to an input number using zha toolkit
service: zha_toolkit.execute
data:
command: attr_read
ieee: climate.spise_thermostat
cluster: 513
attribute: 16458
state_id: input_number.load_spise
allow_create: false
However when I look in the “quirk” for danfoss ally (zha-device-handlers/thermostat.py at 5272b4c3e180f1c0c43c2a412c8428c12549e772 · zigpy/zha-device-handlers · GitHub) the following is defined
attributes = Thermostat.attributes.copy()
attributes.update(
{
0x4000: ("etrv_open_windows_detection", t.enum8, True),
0x4003: ("external_open_windows_detected", t.Bool, True),
0x4010: ("exercise_day_of_week", t.enum8, True),
0x4011: ("exercise_trigger_time", t.uint16_t, True),
0x4012: ("mounting_mode_active", t.Bool, True),
0x4013: ("mounting_mode_control", t.Bool, True),
0x4014: ("orientation", t.Bool, True),
0x4015: ("external_measured_room_sensor", t.int16s, True),
0x4016: ("radiator_covered", t.Bool, True),
0x4020: ("control_algorithm_scale_factor", t.uint8_t, True),
0x4030: ("heat_available", t.Bool, True),
0x4031: ("heat_supply_request", t.Bool, True),
0x4032: ("load_balancing_enable", t.Bool, True),
0x4040: ("load_radiator_room_mean", t.uint16_t, True),
0x404A: ("load_estimate_radiator", t.uint16_t, True),
0x404B: ("regulation_setPoint_offset", t.int8s, True),
0x404C: ("adaptation_run_control", t.enum8, True),
0x404D: ("adaptation_run_status", t.bitmap8, True),
0x404E: ("adaptation_run_settings", t.bitmap8, True),
0x404F: ("preheat_status", t.Bool, True),
0x4050: ("preheat_time", t.uint32_t, True),
0x4051: ("window_open_feature_on_off", t.Bool, True),
0xFFFD: ("cluster_revision", t.uint16_t, True),
}
)
Why are these not available when opening the device? In other words what is needed in order for these to be shown in device?