I cannot find any entities on my Hama Smart Radiator Thermostat!
No problem adding the device to zha. But no entities are visible in zha. According to Hama Smart Radiator Thermostat 00176592 Zigbee compatibility, the thermostat should work with zha and support battery, thermostat and temperature. So I guess I should get three entities.
Also gets an error code in the log: WARNING (MainThread) [zigpy.zcl] [0xc3df: 1: 0xef00] Unknown cluster-specific command 1.
Anyone have any idea what I’m doing wrong?
Did you get it to work?
Hi,
Yes, I followed MattWestb comments:
Added the file thermostat_88teujp.py.
And added:
# Termostat quirk
zha:
custom_quirks_path: /config/custom_zha_quirks/
in the configuration.yaml
Can you give a total noob a hint how to add the devices to zha? I have no idea what to choose while setting up, what serial path to choose or use…and i honestly find no information about it. If you could give me a some advice it would be much appreciated
Hello there!
I have problems setting up the Hama Smart Thermostats in Home Assitant as well.
My Home Assistant is set up on a raspberry pi 4 with a Conbee II USB dongle for zigbee support.
First I bought one thermostat just to test it and had no trouble setting it up through the Conbee II integration. All entities are there and I can use it as intended.
After some time testing I bought two more thermostats and I can pair them but they have no entities
I tried installing the custom quirk the same way as @mhogberg did, but after restarting HA all my zigbee devices become unresponsive and I am getting the following error log:
Logger: homeassistant.config_entries
Source: custom_zha_quirks/thermostat_88teujp.py:51
First occurred: 15:15:53 (1 occurrences)
Last logged: 15:15:53
Error setting up entry ConBee II for zha
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 372, in async_setup
result = await component.async_setup_entry(hass, self)
File "/usr/src/homeassistant/homeassistant/components/zha/__init__.py", line 100, in async_setup_entry
setup_quirks(config)
File "/usr/local/lib/python3.10/site-packages/zhaquirks/__init__.py", line 409, in setup
importer.find_module(modname).load_module(modname)
File "<frozen importlib._bootstrap_external>", line 548, in _check_name_wrapper
File "<frozen importlib._bootstrap_external>", line 1063, in load_module
File "<frozen importlib._bootstrap_external>", line 888, in load_module
File "<frozen importlib._bootstrap>", line 290, in _load_module_shim
File "<frozen importlib._bootstrap>", line 719, in _load
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/config/custom_zha_quirks/thermostat_88teujp.py", line 51, in <module>
class ManufacturerThermostatCluster(TuyaManufClusterAttributes):
File "/usr/local/lib/python3.10/site-packages/zigpy/zcl/__init__.py", line 84, in __init_subclass__
raise TypeError(
TypeError: `manufacturer_attributes` is deprecated. Copy the parent class's `attributes` dictionary and update it with your manufacturer-specific `attributes`. Make sure to specify that it is manufacturer-specific through the appropriate constructor or tuple!
The thermostats also have different signatures. This working one looks like this:
{
"node_descriptor": "NodeDescriptor(logical_type=<LogicalType.EndDevice: 2>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress: 128>, manufacturer_code=4098, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=True, *is_full_function_device=False, *is_mains_powered=False, *is_receiver_on_when_idle=False, *is_router=False, *is_security_capable=False)",
"endpoints": {
"1": {
"profile_id": 260,
"device_type": "0x0301",
"in_clusters": [
"0x0000",
"0x0001",
"0x0004",
"0x0005",
"0x0201",
"0xef00"
],
"out_clusters": [
"0x000a",
"0x0019"
]
}
},
"manufacturer": "_TZE200_yw7cahqs",
"model": "TS0601",
"class": "zhaquirks.tuya.ts0601_trv_sas.Thermostat_TZE200_c88teujp"
}
while the non-working ones look like this:
{
"node_descriptor": "NodeDescriptor(logical_type=<LogicalType.EndDevice: 2>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress: 128>, manufacturer_code=4417, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=True, *is_full_function_device=False, *is_mains_powered=False, *is_receiver_on_when_idle=False, *is_router=False, *is_security_capable=False)",
"endpoints": {
"1": {
"profile_id": 260,
"device_type": "0x0051",
"in_clusters": [
"0x0000",
"0x0004",
"0x0005",
"0xef00"
],
"out_clusters": [
"0x000a",
"0x0019"
]
}
},
"manufacturer": "_TZE200_h4cgnbzg",
"model": "TS0601",
"class": "zigpy.device.Device"
}
Is there any solution to this matter?
I also have problems with the Hama thermostats that I am currently using with Z2M.
Depending on the applicationVersion I get different manufacturerName and only in case of applicationVersion 67 and
manufacturerName:_TZE200_h4cgnbzg I get the heating state otherwise it is always null.
Modell: SEA801-Zigbee/SEA802-Zigbee - Hama 00176592
8x applicationVersion: 85 manufacturerName:_TZE200_yw7cahqs heating:null
1x applicationVersion: 73 manufacturerName:_TYST11_yw7cahqs heating:null
3x applicationVersion: 67 manufacturerName:_TZE200_h4cgnbzg heating: OFF
My current workaround is:
mqtt:
binary_sensor:
- name: "Thermostat Büro Heizung"
unique_id: "zigbee_thermostat-office_temp"
state_topic: "conbee2mqtt/thermostat-office"
availability_topic: "conbee2mqtt/thermostat-office/availability"
payload_on: "on"
payload_off: "off"
value_template: >
{% if value_json and value_json.local_temperature|float(0.00)<value_json.current_heating_setpoint|float(0.00) %}
on
{%else%}
off
{% endif %}
force_update: true
json_attributes_topic: "conbee2mqtt/thermostat-office"
Hama Smart Thermostat now works with conbee III incl. setting Temperature (in Phoscon and HA).
Integration via deCONZ - Home Assistant -