Hello,
(I didn't know where I should post, so feel free to merge with the relev…ant subject if there is one in particular, maybe in the discussions, I don't know.)
I bought a dozen of these TRV (on Amazon.fr, Qiumi brand) to install in my house : https://zigbee.blakadder.com/Beca_BRT-100.html
I chose them because I looked at the blackladder page and saw it was supported in ZHA (and Zigbee2MQTT)
In reality it's not the case for all parameters (battery, child lock, window detection)
I used custom_zha_quirk ts0601_trv.py (dated 2021-09-22) "ts0601_trv.MoesHY368_Type1new"
There are 3 entities :
- Thermostat (Temperature set and sensed in 1°C increments (0.5°C increments on the valve... even if 0.1°C would be more useful for the temperature sensor))
- on/off switch (I did play with it but don't understand what is it for)
- power (unkwnown value, maybe updated only when battery voltage is below 1.8V)
I didn't want to install Tuya app on my phone to check if these others parameters are supported, but if the user manual is correct, on the image shown, you can see :
- battery percentage
- countdown for the duration of boost heating
- the mode (Auto / Manual / TempHand(?) / Holidays)
- weekly programming
- ...
On the valve, you can also see if it's open or closed (just a LED, it's binary),
in reality I counted a minimum of 5 positions of the motor (maybe 0%, 25%, 50%, 75%, 100%),
this would be really cool if the position was published ! (even more if we could force a position)
Other settings exists in the documentation, you can change or check them in the valve menus :
- Temperature compensation (-9 to +9°C)
- Window open detection temperature drop / time
- Min setting temp (5°C to 15°C)
- Max setting temp (15°C to 35°C)
- Boost heating coutdown (100s to 900s)
- Dead zone (0.5°C to 5°C)
- Energy saving mode / temp
- Low temp protection (0°C to 5°C)
- Standby screen brightness
- Factory reset
- Version number
**Pairing log :**
```
[0x0000:zdo] ZDO request ZDOCmd.Mgmt_Permit_Joining_req: [60, <Bool.false: 0>]
[0xf01e] Delivery error for seq # 0x65, on endpoint id 0 cluster 0x0034: message send failure
Sending 'zdo_leave_req' failed: [0xf01e:0:0x0034]: Message send failure
Device 0xc7f4 (84:fd:27:ff:fe:a5:a9:fb) joined the network
[0xc7f4] Requesting 'Node Descriptor'
Tries remaining: 2
[0xc7f4] Extending timeout for 0x6a request
Device 0xc7f4 (84:fd:27:ff:fe:a5:a9:fb) joined the network
Skip initialization for existing device 84:fd:27:ff:fe:a5:a9:fb
Device 0xc7f4 (84:fd:27:ff:fe:a5:a9:fb) joined the network
Skip initialization for existing device 84:fd:27:ff:fe:a5:a9:fb
[0xc7f4:zdo] ZDO request ZDOCmd.Device_annce: [0xC7F4, 84:fd:27:ff:fe:a5:a9:fb, 128]
[0xc7f4] Node Descriptor: NodeDescriptor(byte1=2, byte2=64, mac_capability_flags=128, manufacturer_code=4098, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=0, *allocate_address=True, *complex_descriptor_available=False, *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, *is_valid=True, *logical_type=<LogicalType.EndDevice: 2>, *user_descriptor_available=False)
[0xc7f4] Discovering endpoints
Tries remaining: 3
[0xc7f4] Extending timeout for 0x6c request
[0xc7f4] Discovered endpoints: [1]
[0xc7f4:1] Discovering endpoint information
Tries remaining: 3
[0xc7f4] Extending timeout for 0x6e request
[0xc7f4:1] Discovered endpoint information: SizePrefixedSimpleDescriptor(endpoint=1, profile=260, device_type=81, device_version=1, input_clusters=[0, 4, 5, 61184], output_clusters=[25, 10])
Unknown cluster 61184
[0xc7f4] Extending timeout for 0x70 request
[0xc7f4:1:0x0000] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=112 command_id=Command.Read_Attributes_rsp>
[0xc7f4:1] Manufacturer: _TZE200_b6wax7g0
[0xc7f4:1] Model: TS0601
Checking quirks for _TZE200_b6wax7g0 TS0601 (84:fd:27:ff:fe:a5:a9:fb)
Considering <class 'ts0601_trv.MoesHY368_Type1new'>
Found custom device replacement for 84:fd:27:ff:fe:a5:a9:fb: <class 'ts0601_trv.MoesHY368_Type1new'>
device - 0xC7F4:84:fd:27:ff:fe:a5:a9:fb entering async_device_initialized - is_new_join: True
device - 0xC7F4:84:fd:27:ff:fe:a5:a9:fb has joined the ZHA zigbee network
[0xC7F4](TS0601): started configuration
[0xC7F4:ZDO](TS0601): 'async_configure' stage succeeded
[0xC7F4:1:0x0201]: bound 'thermostat' cluster: Status.SUCCESS
[0xC7F4:1:0x0201]: attr reporting for '{'local_temp': (30, 900, 25), 'occupied_cooling_setpoint': (30, 900, 25), 'occupied_heating_setpoint': (30, 900, 25), 'unoccupied_cooling_setpoint': (30, 900, 25)}' on 'thermostat': ConfigureReportingResponseRecord(status=0)
[0xC7F4:1:0x0201]: attr reporting for '{'unoccupied_heating_setpoint': (30, 900, 25), 'running_mode': (30, 900, 25), 'running_state': (30, 900, 5), 'system_mode': (30, 900, 25)}' on 'thermostat': ConfigureReportingResponseRecord(status=0)
[0xC7F4:1:0x0201]: attr reporting for '{'occupancy': (30, 900, 1), 'pi_cooling_demand': (30, 900, 5), 'pi_heating_demand': (30, 900, 5)}' on 'thermostat': ConfigureReportingResponseRecord(status=0)
[0xC7F4:1:0x0201]: finished channel configuration
[0xC7F4:1:0x0006]: bound 'on_off' cluster: Status.SUCCESS
[0xC7F4:1:0x0006]: reporting 'on_off' attr on 'on_off' cluster: 0/900/1: Result: '[ConfigureReportingResponseRecord(status=0)]'
[0xC7F4:1:0x0000]: finished channel configuration
[0xC7F4:1:0x0001]: bound 'power' cluster: Status.SUCCESS
[0xC7F4:1:0x0001]: reporting 'battery_voltage' attr on 'power' cluster: 3600/10800/1: Result: '[ConfigureReportingResponseRecord(status=0)]'
[0xC7F4:1:0x0019]: finished channel configuration
[0xC7F4:1:0x0201]: 'async_configure' stage succeeded
[0xC7F4:1:0x0006]: 'async_configure' stage failed: 'ConfigureReportingResponseRecord' object is not subscriptable
[0xC7F4:1:0x0000]: 'async_configure' stage succeeded
[0xC7F4:1:0x0001]: 'async_configure' stage failed: 'ConfigureReportingResponseRecord' object is not subscriptable
[0xC7F4:1:0x0019]: 'async_configure' stage succeeded
[0xC7F4](TS0601): completed configuration
[0xC7F4](TS0601): stored in registry: ZhaDeviceEntry(name='_TZE200_b6wax7g0 TS0601', ieee='84:fd:27:ff:fe:a5:a9:fb', last_seen=1635928619.9460387)
[0xC7F4](TS0601): started initialization
[0xC7F4:ZDO](TS0601): 'async_initialize' stage succeeded
[0xC7F4:1:0x0201]: initializing channel: from_cache: False
[0xC7F4:1:0x0201]: Attribute report 'MoesThermostatNew'[system_mode] = SystemMode.Heat
[0xC7F4:1:0x0201]: read attributes: Success: {}. Failed: {'abs_min_heat_setpoint_limit': <Status.UNSUPPORTED_ATTRIBUTE: 134>, 'abs_max_heat_setpoint_limit': <Status.UNSUPPORTED_ATTRIBUTE: 134>, 'abs_min_cool_setpoint_limit': <Status.UNSUPPORTED_ATTRIBUTE: 134>, 'abs_max_cool_setpoint_limit': <Status.UNSUPPORTED_ATTRIBUTE: 134>}
[0xC7F4:1:0x0201]: read attributes: Success: {}. Failed: {'max_cool_setpoint_limit': <Status.UNSUPPORTED_ATTRIBUTE: 134>, 'max_heat_setpoint_limit': <Status.UNSUPPORTED_ATTRIBUTE: 134>, 'min_cool_setpoint_limit': <Status.UNSUPPORTED_ATTRIBUTE: 134>, 'min_heat_setpoint_limit': <Status.UNSUPPORTED_ATTRIBUTE: 134>}
[0xC7F4:1:0x0201]: Attribute report 'MoesThermostatNew'[ctrl_seqe_of_oper] = ControlSequenceOfOperation.Heating_Only
[0xC7F4:1:0x0201]: read attributes: Success: {'ctrl_seqe_of_oper': <ControlSequenceOfOperation.Heating_Only: 2>}. Failed: {'local_temp': <Status.UNSUPPORTED_ATTRIBUTE: 134>, 'occupancy': <Status.UNSUPPORTED_ATTRIBUTE: 134>, 'occupied_cooling_setpoint': <Status.UNSUPPORTED_ATTRIBUTE: 134>}
[0xC7F4:1:0x0201]: read attributes: Success: {}. Failed: {'occupied_heating_setpoint': <Status.UNSUPPORTED_ATTRIBUTE: 134>, 'pi_cooling_demand': <Status.UNSUPPORTED_ATTRIBUTE: 134>, 'pi_heating_demand': <Status.UNSUPPORTED_ATTRIBUTE: 134>, 'running_mode': <Status.UNSUPPORTED_ATTRIBUTE: 134>}
[0xC7F4:1:0x0201]: Attribute report 'MoesThermostatNew'[system_mode] = SystemMode.Heat
[0xC7F4:1:0x0201]: read attributes: Success: {'system_mode': <SystemMode.Heat: 4>}. Failed: {'running_state': <Status.UNSUPPORTED_ATTRIBUTE: 134>, 'unoccupied_heating_setpoint': <Status.UNSUPPORTED_ATTRIBUTE: 134>, 'unoccupied_cooling_setpoint': <Status.UNSUPPORTED_ATTRIBUTE: 134>}
[0xC7F4:1:0x0201]: finished channel configuration
[0xC7F4:1:0x0006]: initializing channel: from_cache: False
[0xC7F4:1:0x0006]: finished channel configuration
[0xC7F4:1:0x0000]: initializing channel: from_cache: False
[0xC7F4:1:0x0000]: finished channel configuration
[0xC7F4:1:0x0001]: initializing channel: from_cache: False
[0xC7F4:1:0x0001]: finished channel configuration
[0xC7F4:1:0x0019]: initializing channel: from_cache: False
[0xC7F4:1:0x0019]: finished channel configuration
[0xC7F4:1:0x0201]: 'async_initialize' stage succeeded
[0xC7F4:1:0x0006]: 'async_initialize' stage succeeded
[0xC7F4:1:0x0000]: 'async_initialize' stage succeeded
[0xC7F4:1:0x0001]: 'async_initialize' stage succeeded
[0xC7F4:1:0x0019]: 'async_initialize' stage succeeded
[0xC7F4](TS0601): power source: Battery or Unknown
[0xC7F4](TS0601): completed initialization
[0xC7F4:1:0x0006]: attempting to update onoff state - from cache: True
[0xc7f4:zdo] ZDO request ZDOCmd.Node_Desc_req: [0x0000]
[0xc7f4:zdo] Unsupported ZDO request:ZDOCmd.Node_Desc_req
[0xc7f4:1:0x0000] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=38 command_id=Command.Report_Attributes>
[0xc7f4:1:0x0000] ZCL request 0x000a: [[Attribute(attrid=1, value=<TypeValue type=uint8_t, value=64>), Attribute(attrid=65506, value=<TypeValue type=uint8_t, value=31>), Attribute(attrid=65508, value=<TypeValue type=uint8_t, value=0>)]]
[0xc7f4:1:0x0000] Attribute report received: app_version=64, 65506=31, 65508=0
[0x6599:11:0x0000] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=40 command_id=Command.Report_Attributes>
[0x6599:11:0x0000] ZCL request 0x000a: [[Attribute(attrid=1, value=<TypeValue type=uint8_t, value=66>)]]
[0x6599:11:0x0000] Attribute report received: app_version=66
[0xc7f4:1:0x0000] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=39 command_id=Command.Report_Attributes>
[0xc7f4:1:0x0000] ZCL request 0x000a: [[Attribute(attrid=65503, value=<TypeValue type=CharacterString, value=5)T)U)>)]]
[0xc7f4:1:0x0000] Attribute report received: 65503=5)T)U)
[0xc7f4:1:0x000a] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=40 command_id=Command.Read_Attributes>
[0xc7f4:1:0x000a] ZCL request 0x0000: [[7]]
[0xc7f4:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=41 command_id=1>
[0xc7f4:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=155, command_id=1025, function=0, data=[1, 1])]
[0xc7f4:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=42 command_id=1>
[0xc7f4:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=156, command_id=514, function=0, data=[4, 0, 0, 0, 15])]
[0xC7F4:1:0x0201]: Attribute report 'MoesThermostatNew'[occupied_heating_setpoint] = 1500
climate.tze200_b6wax7g0_ts0601_fba9a5fe_thermostat: Attribute 'occupied_heating_setpoint' = 1500 update
[0xc7f4:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=43 command_id=1>
[0xc7f4:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=157, command_id=515, function=0, data=[4, 0, 0, 0, 180])]
[0xC7F4:1:0x0201]: Attribute report 'MoesThermostatNew'[local_temp] = 1800
climate.tze200_b6wax7g0_ts0601_fba9a5fe_thermostat: Attribute 'local_temp' = 1800 update
[0xc7f4:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=44 command_id=1>
[0xc7f4:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=158, command_id=260, function=0, data=[1, 0])]
[0xc7f4:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=45 command_id=1>
[0xc7f4:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=159, command_id=517, function=0, data=[4, 0, 0, 0, 0])]
[0xc7f4:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=46 command_id=1>
[0xc7f4:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=160, command_id=1031, function=0, data=[1, 1])]
[0xc7f4:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=47 command_id=1>
[0xc7f4:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=161, command_id=264, function=0, data=[1, 0])]
[0xc7f4:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=48 command_id=1>
[0xc7f4:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=162, command_id=1033, function=0, data=[1, 1])]
[0xc7f4:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=49 command_id=1>
[0xc7f4:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=163, command_id=269, function=0, data=[1, 0])]
[0xc7f4:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=50 command_id=1>
[0xc7f4:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=164, command_id=526, function=0, data=[4, 0, 0, 0, 58])]
[0xc7f4:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=51 command_id=1>
[0xc7f4:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=165, command_id=101, function=0, data=[36, 6, 0, 40, 11, 30, 42, 13, 30, 44, 17, 30, 46, 6, 0, 48, 12, 0, 46, 14, 30, 44, 17, 30, 42, 6, 0, 38, 12, 30, 40, 14, 30, 42, 18, 30, 40])]
[0xc7f4:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=52 command_id=1>
[0xc7f4:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=166, command_id=615, function=0, data=[4, 0, 0, 1, 44])]
[0xC7F4:1:0x0201]: Attribute report 'MoesThermostatNew'[max_heat_setpoint_limit] = 30000
climate.tze200_b6wax7g0_ts0601_fba9a5fe_thermostat: Attribute 'max_heat_setpoint_limit' = 30000 update
[0xc7f4:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=53 command_id=1>
[0xc7f4:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=167, command_id=616, function=0, data=[4, 0, 0, 0, 0])]
[0xc7f4:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=54 command_id=1>
[0xc7f4:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=168, command_id=617, function=0, data=[4, 0, 0, 0, 0])]
[0xC7F4:1:0x0201]: Attribute report 'MoesThermostatNew'[boost_duration_seconds] = 0
climate.tze200_b6wax7g0_ts0601_fba9a5fe_thermostat: Attribute 'boost_duration_seconds' = 0 update
[0xc7f4:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=55 command_id=1>
[0xc7f4:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=169, command_id=362, function=0, data=[1, 0])]
[0xc7f4:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=56 command_id=1>
[0xc7f4:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=170, command_id=619, function=0, data=[4, 0, 0, 0, 20])]
[0xC7F4:1:0x0201]: Attribute report 'MoesThermostatNew'[comfort_heating_setpoint] = 2000
climate.tze200_b6wax7g0_ts0601_fba9a5fe_thermostat: Attribute 'comfort_heating_setpoint' = 2000 update
[0xae6a:1:0x0000] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=97 command_id=Command.Report_Attributes>
[0xae6a:1:0x0000] ZCL request 0x000a: [[Attribute(attrid=1, value=<TypeValue type=uint8_t, value=69>)]]
[0xae6a:1:0x0000] Attribute report received: app_version=69
[0xc7f4:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=57 command_id=1>
[0xc7f4:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=171, command_id=620, function=0, data=[4, 0, 0, 0, 45])]
[0xC7F4:1:0x0201]: Attribute report 'MoesThermostatNew'[eco_heating_setpoint] = 4500
climate.tze200_b6wax7g0_ts0601_fba9a5fe_thermostat: Attribute 'eco_heating_setpoint' = 4500 update
[0xc7f4:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=58 command_id=1>
[0xc7f4:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=172, command_id=621, function=0, data=[4, 0, 0, 0, 5])]
[0xC7F4:1:0x0201]: Attribute report 'MoesThermostatNew'[valve_open_percentage] = 5
[0xC7F4:1:0x0201]: Attribute report 'MoesThermostatNew'[running_mode] = RunningMode.Heat
[0xC7F4:1:0x0201]: Attribute report 'MoesThermostatNew'[running_state] = RunningState.Heat_State_On
climate.tze200_b6wax7g0_ts0601_fba9a5fe_thermostat: Attribute 'valve_open_percentage' = 5 update
climate.tze200_b6wax7g0_ts0601_fba9a5fe_thermostat: Attribute 'running_mode' = RunningMode.Heat update
climate.tze200_b6wax7g0_ts0601_fba9a5fe_thermostat: Attribute 'running_state' = RunningState.Heat_State_On update
[0xc7f4:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=59 command_id=36>
[0xc7f4:1:0xef00] ZCL request 0x0024: [[0, 155]]
[0xc7f4:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=True is_reply=True disable_default_response=False> manufacturer=4098 tsn=135 command_id=Command.Default_Response>
[0x05a5:1:0x0000] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=35 command_id=Command.Report_Attributes>
[0x05a5:1:0x0000] ZCL request 0x000a: [[Attribute(attrid=1, value=<TypeValue type=uint8_t, value=69>)]]
[0x05a5:1:0x0000] Attribute report received: app_version=69
[0xc7f4:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=60 command_id=17>
[0xc7f4:1:0xef00] Unknown cluster-specific command 17
[0xc7f4:1:0xef00] ZCL request 0x0011: b'\x00\x9c@'
[0xc7f4:1:0xef00] No handler for cluster command 17
[0xc7f4:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=60 command_id=17>
[0xc7f4:1:0xef00] Unknown cluster-specific command 17
[0xc7f4:1:0xef00] ZCL request 0x0011: b'\x00\x9c@'
[0xc7f4:1:0xef00] No handler for cluster command 17
[0x8e5a:3:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=23 command_id=Command.Report_Attributes>
[0x8e5a:3:0x0006] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=Bool, value=Bool.false>)]]
[0x8e5a:3:0x0006] Attribute report received: on_off=0
[0xeb95:11:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=80 command_id=Command.Report_Attributes>
[0xeb95:11:0x0006] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=Bool, value=Bool.false>)]]
[0xeb95:11:0x0006] Attribute report received: on_off=0
[0xb2d6:1:0x0000] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=120 command_id=Command.Report_Attributes>
[0xb2d6:1:0x0000] ZCL request 0x000a: [[Attribute(attrid=1, value=<TypeValue type=uint8_t, value=69>)]]
[0xb2d6:1:0x0000] Attribute report received: app_version=69
[0xff60:11:0x0000] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=126 command_id=Command.Report_Attributes>
[0xff60:11:0x0000] ZCL request 0x000a: [[Attribute(attrid=1, value=<TypeValue type=uint8_t, value=66>)]]
[0xff60:11:0x0000] Attribute report received: app_version=66
```
**Device signature :**
```
{
"node_descriptor": "NodeDescriptor(byte1=2, byte2=64, mac_capability_flags=128, manufacturer_code=4098, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=0, *allocate_address=True, *complex_descriptor_available=False, *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, *is_valid=True, *logical_type=<LogicalType.EndDevice: 2>, *user_descriptor_available=False)",
"endpoints": {
"1": {
"profile_id": 260,
"device_type": "0x0301",
"in_clusters": [
"0x0000",
"0x0001",
"0x0004",
"0x0005",
"0x0006",
"0x0201",
"0x0204",
"0xef00"
],
"out_clusters": [
"0x000a",
"0x0019"
]
}
},
"manufacturer": "_TZE200_b6wax7g0",
"model": "TS0601",
"class": "ts0601_trv.MoesHY368_Type1new"
}
```
I don't kow zigbee, and don't know how I can help, but here is the information I can get.
I can test anything to get more information, or modified quirks ...
**I don't mind if it breaks temporarily my house heating (I have only two of these valves installed for now)**