question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[Device Support Request] Hive (Computime) SLR2 and SLT2 Thermostats

See original GitHub issue

Is your feature request related to a problem? Please describe.

The Hive SLR2 receiver half works. I have two thermostat entities, one which is for Central Heating, one which is for Hot Water.

The Central Heating one allows me to set between Off/Heat and does work.

The Hot Water one allows for: Off,Cool,Heat and Heat/Cool which is obviously not correct.

Additionally the SLT2 (which seems to only be in the network to send it’s special commands to the SLR2) allows for a “Boost” on the Hot Water, none of the Off/Cool/Heat or Heat/Cool options make this happen.

Also – using the SLT2 unit both heating and hot water have “Auto” options between being Off or “Manual” in CH case or “Boost” in HW case. It seems that “Cool” in HASS makes the HW go to Auto - there is no way to get Auto enabled for CH from HASS (Auto mode makes the device respect schedules programmed on the SLT2 - so it is not necessarily required that this works.)

The SLT2’s battery appears to always show as 0%

Describe the solution you’d like Proper functionality of both thermostat entities. Battery percentage working for SLT2

Device signature - this can be acquired by removing the device from ZHA and pairing it again from the add devices screen. Be sure to add the entire content of the log panel after pairing the device to a code block below this line.

[0x0000:zdo] ZDO request ZDOCmd.Mgmt_Permit_Joining_req: [60, <Bool.false: 0>]
[0x0000](EZSP): started initialization
[0x0000:ZDO](EZSP): 'async_initialize' stage succeeded
[0x0000](EZSP): power source: Mains
[0x0000](EZSP): completed initialization
New device 0x8f7d (00:1e:5e:09:02:07:03:82) joined the network
[0x8f7d] Scheduling initialization
Device 0x8f7d (00:1e:5e:09:02:07:03:82) joined the network
[0x8f7d] Scheduling initialization
[0x8f7d] Canceling old initialize call
Tries remaining: 3
[0x8f7d] Requesting 'Node Descriptor'
Tries remaining: 2
[0x8f7d] Extending timeout for 0x67 request
Device 0x8f7d (00:1e:5e:09:02:07:03:82) joined the network
[0x8f7d] Scheduling initialization
[0x8f7d] Canceling old initialize call
Received frame on uninitialized device <Device model=None manuf=None nwk=0x8F7D ieee=00:1e:5e:09:02:07:03:82 is_initialized=False> from ep 0 to ep 0, cluster 19: b'\x81}\x8f\x82\x03\x07\x02\t^\x1e\x00\x8e'
[0x8f7d:zdo] ZDO request ZDOCmd.Device_annce: [0x8F7D, 00:1e:5e:09:02:07:03:82, 142]
Tries remaining: 3
[0x8f7d] Requesting 'Node Descriptor'
Tries remaining: 2
[0x8f7d] Extending timeout for 0x69 request
Received frame on uninitialized device <Device model=None manuf=None nwk=0x8F7D ieee=00:1e:5e:09:02:07:03:82 is_initialized=False> from ep 5 to ep 1, cluster 10: b'\x00\x00\x00\x01\x00'
[0x8f7d] Received ZCL while uninitialized on endpoint id 5, cluster 0x000a id, hdr: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=0 command_id=Command.Read_Attributes>, payload: b'\x01\x00'
[0x8f7d] Uninitialized device command 'Command.Read_Attributes' args: [[1]]
Received frame on uninitialized device <Device model=None manuf=None nwk=0x8F7D ieee=00:1e:5e:09:02:07:03:82 is_initialized=False> from ep 0 to ep 0, cluster 32770: b'i\x00}\x8f\x01@\x8e9\x10R\xff\x00\x00\x00\xff\x00\x00'
[0x8f7d] Got Node Descriptor: NodeDescriptor(logical_type=<LogicalType.Router: 1>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress|RxOnWhenIdle|MainsPowered|FullFunctionDevice: 142>, manufacturer_code=4153, maximum_buffer_size=82, maximum_incoming_transfer_size=255, server_mask=0, maximum_outgoing_transfer_size=255, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=False, *is_full_function_device=True, *is_mains_powered=True, *is_receiver_on_when_idle=True, *is_router=True, *is_security_capable=False)
[0x8f7d] Discovering endpoints
Tries remaining: 3
Received frame on uninitialized device <Device model=None manuf=None nwk=0x8F7D ieee=00:1e:5e:09:02:07:03:82 is_initialized=False> from ep 0 to ep 0, cluster 32773: b'k\x00}\x8f\x04\x05\x06\x07\x08'
[0x8f7d] Discovered endpoints: [5, 6, 7, 8]
[0x8f7d] Initializing endpoints [<Endpoint id=5 in=[] out=[] status=<Status.NEW: 0>>, <Endpoint id=6 in=[] out=[] status=<Status.NEW: 0>>, <Endpoint id=7 in=[] out=[] status=<Status.NEW: 0>>, <Endpoint id=8 in=[] out=[] status=<Status.NEW: 0>>]
[0x8f7d:5] Discovering endpoint information
Tries remaining: 3
Received frame on uninitialized device <Device model=None manuf=None nwk=0x8F7D ieee=00:1e:5e:09:02:07:03:82 is_initialized=False> from ep 0 to ep 0, cluster 32772: b'm\x00}\x8f\x1a\x05\x04\x01\x01\x03\x01\x06\x00\x00\x03\x00\t\x00\n\x00\x01\x02\x00\xfd\x03\n\x00\x02\x04\x19\x00'
[0x8f7d:5] Discovered endpoint information: SizePrefixedSimpleDescriptor(endpoint=5, profile=260, device_type=769, device_version=1, input_clusters=[0, 3, 9, 10, 513, 64768], output_clusters=[10, 1026, 25])
[0x8f7d:6] Discovering endpoint information
Tries remaining: 3
Received frame on uninitialized device <Device model=None manuf=None nwk=0x8F7D ieee=00:1e:5e:09:02:07:03:82 is_initialized=False> from ep 0 to ep 0, cluster 32772: b'o\x00}\x8f\n\x06\x04\x01\x01\x03\x01\x01\x01\x02\x00'
[0x8f7d:6] Discovered endpoint information: SizePrefixedSimpleDescriptor(endpoint=6, profile=260, device_type=769, device_version=1, input_clusters=[513], output_clusters=[])
[0x8f7d:7] Discovering endpoint information
Tries remaining: 3
Received frame on uninitialized device <Device model=None manuf=None nwk=0x8F7D ieee=00:1e:5e:09:02:07:03:82 is_initialized=False> from ep 0 to ep 0, cluster 32772: b'q\x00}\x8f\n\x07\x04\x01\x01\x03\x01\x01\x02\x04\x00'
[0x8f7d:7] Discovered endpoint information: SizePrefixedSimpleDescriptor(endpoint=7, profile=260, device_type=769, device_version=1, input_clusters=[1026], output_clusters=[])
[0x8f7d:8] Discovering endpoint information
Tries remaining: 3
Received frame on uninitialized device <Device model=None manuf=None nwk=0x8F7D ieee=00:1e:5e:09:02:07:03:82 is_initialized=False> from ep 0 to ep 0, cluster 32772: b's\x00}\x8f\n\x08\x04\x01\x01\x03\x01\x01\x02\x04\x00'
[0x8f7d:8] Discovered endpoint information: SizePrefixedSimpleDescriptor(endpoint=8, profile=260, device_type=769, device_version=1, input_clusters=[1026], output_clusters=[])
[0xfd80:1:0x0020] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=40 command_id=0>
[0xfd80:1:0x0020] ZCL request 0x0000: []
[0xfd80:1:0x0020] No handler for cluster command 0
[0xFD80:1:0x0020]: Received 40 tsn command 'checkin': []
[0xfd80] Extending timeout for 0x28 request
[0x8f7d:5:0x0000] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=117 command_id=Command.Read_Attributes_rsp>
[0x8f7d] Read model 'SLR2' and manufacturer 'Computime' from <Endpoint id=5 in=[basic:0x0000, identify:0x0003, alarms:0x0009, time:0x000A, thermostat:0x0201, manufacturer_specific:0xFD00] out=[time:0x000A, temperature:0x0402, ota:0x0019] status=<Status.ZDO_INIT: 1>>
[0x8f7d] Discovered basic device information for <Device model='SLR2' manuf='Computime' nwk=0x8F7D ieee=00:1e:5e:09:02:07:03:82 is_initialized=True>
Device is initialized <Device model='SLR2' manuf='Computime' nwk=0x8F7D ieee=00:1e:5e:09:02:07:03:82 is_initialized=True>
Checking quirks for Computime SLR2 (00:1e:5e:09:02:07:03:82)
Considering <class 'zhaquirks.xbee.xbee_io.XBeeSensor'>
Fail because endpoint list mismatch: {232, 230} {8, 5, 6, 7}
Considering <class 'zhaquirks.xbee.xbee3_io.XBee3Sensor'>
Fail because endpoint list mismatch: {232, 230} {8, 5, 6, 7}
Considering <class 'zhaquirks.smartthings.tag_v4.SmartThingsTagV4'>
Fail because endpoint list mismatch: {1} {8, 5, 6, 7}
Considering <class 'zhaquirks.smartthings.multi.SmartthingsMultiPurposeSensor'>
Fail because endpoint list mismatch: {1} {8, 5, 6, 7}
Considering <class 'zhaquirks.netvox.z308e3ed.Z308E3ED'>
Fail because endpoint list mismatch: {1} {8, 5, 6, 7}
Considering <class 'zhaquirks.gledopto.soposhgu10.SoposhGU10'>
Fail because endpoint list mismatch: {11, 13} {8, 5, 6, 7}
Considering <class 'bellows.zigbee.application.EZSPCoordinator'>
Fail because endpoint list mismatch: {1} {8, 5, 6, 7}
device - 0x8F7D:00:1e:5e:09:02:07:03:82 entering async_device_initialized - is_new_join: True
device - 0x8F7D:00:1e:5e:09:02:07:03:82 has joined the ZHA zigbee network
[0x8F7D](SLR2): started configuration
[0x8F7D:ZDO](SLR2): 'async_configure' stage succeeded
[0x8F7D:5:0x0000]: finished channel configuration
[0x8F7D:5:0x0019]: finished channel configuration
Error handling '_save_attribute' event with (00:1e:5e:09:02:07:03:82, 5, 0, 4, 'Computime') params: FOREIGN KEY constraint failed
Error handling '_save_attribute' event with (00:1e:5e:09:02:07:03:82, 5, 0, 5, 'SLR2') params: FOREIGN KEY constraint failed
[0x8F7D:5:0x0201]: bound 'thermostat' cluster: Status.SUCCESS
[0x8F7D:5:0xfd00]: bound 'manufacturer_specific' cluster: Status.SUCCESS
[0x8F7D:5:0xfd00]: finished channel configuration
[0x8f7d:5:0x0201] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=126 command_id=Command.Configure_Reporting_rsp>
[0x8F7D:5:0x0201]: 'async_configure' stage failed: 'ConfigureReportingResponse' object has no attribute 'status'
[0x8F7D:5:0xfd00]: 'async_configure' stage succeeded
[0x8F7D:5:0x0000]: 'async_configure' stage succeeded
[0x8F7D:5:0x0019]: 'async_configure' stage succeeded
[0x8F7D:6:0x0201]: bound 'thermostat' cluster: Status.SUCCESS
[0x8F7D:8:0x0402]: bound 'temperature' cluster: Status.SUCCESS
[0x8f7d:6:0x0201] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=132 command_id=Command.Configure_Reporting_rsp>
[0x8F7D:6:0x0201]: 'async_configure' stage failed: 'ConfigureReportingResponse' object has no attribute 'status'
[0x8f7d:8:0x0402] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=134 command_id=Command.Configure_Reporting_rsp>
[0x8F7D:8:0x0402]: 'async_configure' stage failed: 'ConfigureReportingResponse' object has no attribute 'status'
[0xfd80:1:0x0020] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=40 command_id=Command.Default_Response>
[0xFD80:1:0x0020]: executed 'checkin_response' command with args: '(True, 8)' kwargs: '{'tsn': 40}' result: [0, <Status.SUCCESS: 0>]
[0xfd80] Extending timeout for 0x88 request
[0xfd80:1:0x0020] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=136 command_id=Command.Default_Response>
[0xfd80:1:0x0020] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=136 command_id=Command.Default_Response>
[0xfd80] Invalid state on future for 0x88 seq -- probably duplicate response
[0xFD80:1:0x0020]: executed 'fast_poll_stop' command with args: '()' kwargs: '{}' result: [1, <Status.SUCCESS: 0>]
[0x8f7d:5:0x000a] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=4 command_id=Command.Read_Attributes>
[0x8f7d:5:0x000a] ZCL request 0x0000: [[1]]
[0x8f7d] Invalid state on future for 0x80 seq -- probably duplicate response
[0x8F7D:7:0x0402]: bound 'temperature' cluster: Status.SUCCESS
[0x8f7d:7:0x0402] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=139 command_id=Command.Configure_Reporting_rsp>
[0x8F7D:7:0x0402]: 'async_configure' stage failed: 'ConfigureReportingResponse' object has no attribute 'status'
[0x8F7D](SLR2): completed configuration
[0x8F7D](SLR2): stored in registry: ZhaDeviceEntry(name='Computime SLR2', ieee='00:1e:5e:09:02:07:03:82', last_seen=1634898502.7364454)
[0x8f7d:5:0x0003] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=141 command_id=Command.Default_Response>
[0x8F7D:5:0x0003]: executed 'trigger_effect' command with args: '(2, 0)' kwargs: '{}' result: [64, <Status.UNSUP_CLUSTER_COMMAND: 129>]
[0x8F7D](SLR2): started initialization
[0x8F7D:ZDO](SLR2): 'async_initialize' stage succeeded
[0x8F7D:5:0x0201]: initializing channel: from_cache: False
[0x8F7D:5:0xfd00]: initializing channel: from_cache: False
[0x8F7D:5:0xfd00]: finished channel configuration
[0x8F7D:5:0x0000]: initializing channel: from_cache: False
[0x8F7D:5:0x0000]: finished channel configuration
[0x8F7D:5:0x0019]: initializing channel: from_cache: False
[0x8F7D:5:0x0019]: finished channel configuration
[0x8F7D:6:0x0201]: initializing channel: from_cache: False
[0x8F7D:7:0x0402]: initializing channel: from_cache: False
[0x8f7d:5:0x0201] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=143 command_id=Command.Read_Attributes_rsp>
[0x8F7D:5:0x0201]: Attribute report 'Thermostat'[max_heat_setpoint_limit] = 3200
[0x8F7D:5:0x0201]: Attribute report 'Thermostat'[min_heat_setpoint_limit] = 500
[0x8f7d:6:0x0201] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=145 command_id=Command.Read_Attributes_rsp>
[0x8F7D:6:0x0201]: Attribute report 'Thermostat'[max_heat_setpoint_limit] = 3000
[0x8F7D:6:0x0201]: Attribute report 'Thermostat'[min_heat_setpoint_limit] = 1500
[0x8f7d:7:0x0402] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=147 command_id=Command.Read_Attributes_rsp>
[0x8F7D:7:0x0402]: finished channel configuration
[0x8F7D:8:0x0402]: initializing channel: from_cache: False
[0x8F7D:7:0x0402]: 'async_initialize' stage succeeded
[0x8f7d:5:0x0201] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=149 command_id=Command.Read_Attributes_rsp>
[0x8F7D:5:0x0201]: Attribute report 'Thermostat'[ctrl_seqe_of_oper] = ControlSequenceOfOperation.Heating_Only
[0x8F7D:5:0x0201]: Attribute report 'Thermostat'[local_temp] = 777
[0x8F7D:5:0x0201]: Attribute report 'Thermostat'[occupied_cooling_setpoint] = 0
[0x8F7D:5:0x0201]: Attribute report 'Thermostat'[occupied_heating_setpoint] = 100
[0x8F7D:5:0x0201]: Attribute report 'Thermostat'[running_state] = RunningState.Idle
[0x8F7D:5:0x0201]: Attribute report 'Thermostat'[system_mode] = SystemMode.Off
[0x8f7d:6:0x0201] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=151 command_id=Command.Read_Attributes_rsp>
[0x8F7D:6:0x0201]: Attribute report 'Thermostat'[ctrl_seqe_of_oper] = ControlSequenceOfOperation.Cooling_and_Heating
[0x8F7D:6:0x0201]: Attribute report 'Thermostat'[local_temp] = 0
[0x8F7D:6:0x0201]: Attribute report 'Thermostat'[occupied_cooling_setpoint] = 2600
[0x8F7D:6:0x0201]: Attribute report 'Thermostat'[occupied_heating_setpoint] = 3200
[0x8F7D:6:0x0201]: Attribute report 'Thermostat'[running_state] = RunningState.Idle
[0x8F7D:6:0x0201]: Attribute report 'Thermostat'[system_mode] = SystemMode.Off
[0x8f7d:8:0x0402] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=153 command_id=Command.Read_Attributes_rsp>
[0x8F7D:8:0x0402]: finished channel configuration
[0x8F7D:8:0x0402]: 'async_initialize' stage succeeded
[0x8f7d:5:0x0201] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=155 command_id=Command.Read_Attributes_rsp>
[0x8f7d:6:0x0201] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=157 command_id=Command.Read_Attributes_rsp>
[0x8F7D:5:0x0201]: Attribute report 'Thermostat'[ctrl_seqe_of_oper] = ControlSequenceOfOperation.Heating_Only
[0x8F7D:5:0x0201]: Attribute report 'Thermostat'[local_temp] = 777
[0x8F7D:5:0x0201]: Attribute report 'Thermostat'[occupied_cooling_setpoint] = 0
[0x8F7D:5:0x0201]: Attribute report 'Thermostat'[occupied_heating_setpoint] = 100
[0x8F7D:5:0x0201]: Attribute report 'Thermostat'[running_state] = RunningState.Idle
[0x8F7D:5:0x0201]: Attribute report 'Thermostat'[system_mode] = SystemMode.Off
[0x8F7D:6:0x0201]: Attribute report 'Thermostat'[ctrl_seqe_of_oper] = ControlSequenceOfOperation.Cooling_and_Heating
[0x8F7D:6:0x0201]: Attribute report 'Thermostat'[local_temp] = 0
[0x8F7D:6:0x0201]: Attribute report 'Thermostat'[occupied_cooling_setpoint] = 2600
[0x8F7D:6:0x0201]: Attribute report 'Thermostat'[occupied_heating_setpoint] = 3200
[0x8F7D:6:0x0201]: Attribute report 'Thermostat'[running_state] = RunningState.Idle
[0x8F7D:6:0x0201]: Attribute report 'Thermostat'[system_mode] = SystemMode.Off
[0x8f7d:5:0x0201] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=159 command_id=Command.Read_Attributes_rsp>
[0x8F7D:5:0x0201]: Attribute report 'Thermostat'[ctrl_seqe_of_oper] = ControlSequenceOfOperation.Heating_Only
[0x8F7D:5:0x0201]: Attribute report 'Thermostat'[local_temp] = 777
[0x8F7D:5:0x0201]: Attribute report 'Thermostat'[occupied_cooling_setpoint] = 0
[0x8F7D:5:0x0201]: Attribute report 'Thermostat'[occupied_heating_setpoint] = 100
[0x8F7D:5:0x0201]: Attribute report 'Thermostat'[running_state] = RunningState.Idle
[0x8F7D:5:0x0201]: Attribute report 'Thermostat'[system_mode] = SystemMode.Off
[0x8F7D:5:0x0201]: finished channel configuration
[0x8F7D:5:0x0201]: 'async_initialize' stage succeeded
[0x8F7D:5:0xfd00]: 'async_initialize' stage succeeded
[0x8F7D:5:0x0000]: 'async_initialize' stage succeeded
[0x8F7D:5:0x0019]: 'async_initialize' stage succeeded
[0x8f7d:6:0x0201] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=161 command_id=Command.Read_Attributes_rsp>
[0x8F7D:6:0x0201]: Attribute report 'Thermostat'[ctrl_seqe_of_oper] = ControlSequenceOfOperation.Cooling_and_Heating
[0x8F7D:6:0x0201]: Attribute report 'Thermostat'[local_temp] = 0
[0x8F7D:6:0x0201]: Attribute report 'Thermostat'[occupied_cooling_setpoint] = 2600
[0x8F7D:6:0x0201]: Attribute report 'Thermostat'[occupied_heating_setpoint] = 3200
[0x8F7D:6:0x0201]: Attribute report 'Thermostat'[running_state] = RunningState.Idle
[0x8F7D:6:0x0201]: Attribute report 'Thermostat'[system_mode] = SystemMode.Off
[0x8F7D:6:0x0201]: finished channel configuration
[0x8F7D:6:0x0201]: 'async_initialize' stage succeeded
[0x8F7D](SLR2): power source: Mains
[0x8F7D](SLR2): completed initialization
[0x5a81:1:0x0008] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=163 command_id=Command.Default_Response>
[0x5A81:1:0x0008]: executed 'move_to_level_with_on_off' command with args: '(254, 300.0)' kwargs: '{}' result: [4, <Status.SUCCESS: 0>]
[0x5a81:1:0x0300] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=165 command_id=Command.Default_Response>
[0x5A81:1:0x0300]: executed 'move_to_color_temp' command with args: '(250, 300.0)' kwargs: '{}' result: [10, <Status.SUCCESS: 0>]
light.bens_light: turned on: {'move_to_level_with_on_off': [4, <Status.SUCCESS: 0>], 'move_to_color_temp': [10, <Status.SUCCESS: 0>]}
[0xd606:1:0x0300] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=54 command_id=Command.Report_Attributes>
[0xd606:1:0x0300] ZCL request 0x000a: [[Attribute(attrid=3, value=<TypeValue type=uint16_t, value=45874>), Attribute(attrid=4, value=<TypeValue type=uint16_t, value=19660>)]]
[0xd606:1:0x0300] Attribute report received: current_x=45874, current_y=19660
[0x8f7d:5:0x000a] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=6 command_id=Command.Read_Attributes>
[0x8f7d:5:0x000a] ZCL request 0x0000: [[7]]
[0xd606: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=55 command_id=Command.Report_Attributes>
[0xd606:1:0x0000] ZCL request 0x000a: [[Attribute(attrid=1, value=<TypeValue type=uint8_t, value=80>)]]
[0xd606:1:0x0000] Attribute report received: app_version=80

Additional context These features do work in Zigbee2MQTT per user reports and their device page for it, I suspect it is of little help, but they might have useful information in their converters. SLT2: https://github.com/Koenkk/zigbee-herdsman-converters/blob/master/devices/hive.js#L441 SLR2: https://github.com/Koenkk/zigbee-herdsman-converters/blob/master/devices/hive.js#L325

If any additional debug logs are required please let me know.

Issue Analytics

  • State:open
  • Created 2 years ago
  • Comments:14 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
peterguy04commented, Sep 13, 2022

DId you all get EP6 reacting correctly from HA just using the Off/Heat? it doesn’t seem to work for me without setting system mode to heat and then i have to do set point hold on manually, EP5 works fine.

i sniffed the hive SLR2 for deconz support a few years back , here’s the combinations of what needed to be done for each function. i didn’t think they all had to be sent at once, but they do all need to be set i know that.

cluster 0201

for "on - manual"

attribute 0x001C > 0x04 = "heat"
attribute 0x0023 > 0x01 = "Setpoint Hold On"

For "off"

attribute 0x001C > 0x00 = "off"
attribute 0x0023 > 0x00 = "Setpoint Hold Off"

For "boost"

attribute 0x001C > 0x05 = "Emergency heating"
attribute 0x0023 > 0x01 = "Setpoint Hold On"
attribute 0x0024 > 0x3C = 60

Endpoint 5
cluster 0201

for "on - manual"

attribute 0x001C > 0x04 = "heat"
attribute 0x0023 > 0x01 = "Setpoint Hold On"
attribute 0x0012 > 1150

For "off"

attribute 0x001C > 0x00 = "off"
attribute 0x0023 > 0x00 = "Setpoint Hold Off"
attribute 0x0012 > 0

For "boost"

attribute 0x001C > 0x05 = "Emergency heating"
attribute 0x0023 > 0x01 = "Setpoint Hold On"
attribute 0x0024 > 0x3C = 60
attribute 0x0012 > 2400
1reaction
TheDevFreakcommented, Jun 11, 2022

@modem158

@TheDevFreak Did you ever commit your quirk to get the battery percentage working? I have just added my Hive thermostat via zigbee as the web integration is dead in the water because of authentication problems.

No, it’s not particularly reliable but if you want to use it and have a custom quirk directory setup (https://www.home-assistant.io/integrations/zha/#custom_quirks_path) you can grab it from here: https://gist.github.com/TheDevFreak/5ca50e574be92e8da89fb457f8cb7f76

Also, while I’m here can anyone tell me how to do the “ctrl_seqe_of_oper” on endpoint 6 action? My Hive only supports Heating and Hot water as i’m in the UK with a combi boiler.

Thanks ahead of time for any input.

  • Go to the SLR2 device in hass, choose manage clusters (under the 3 dots menu under device info)
  • Clusters dropdown choose the Thermostat one with endpoint id: 6
  • Choose the ctrl_sequence_of_oper
  • Type 2 in the value and click set zigbee attribute
  • Double check by clicking get zigbee attribute and it should show ControlSequenceOfOperation.Heating_Only in the value box.

You may want to repeat the last 4 steps from above for endpoint id: 5, but first check what the value is first with the get zigbee attribute – on mine it’s ControlSequenceOfOpeartion.Heating_Only

Read more comments on GitHub >

github_iconTop Results From Across the Web

How To - pair up the devices Hive 2 Thermostat, Receiver and ...
Hive V3 Thermostat Installation In 10 Mins - Combi Boiler Wiring | Vaillant EcoTec Pro · Pairing Hive Thermostat and Receiver in Standalone...
Read more >
Hive's abandoned smart home devices will cease ... - The Verge
Hive, the smart home company best known for its smart thermostats, is officially getting out of the home security market globally.
Read more >
Computime Helps ODM Client in Winning Dual Design ...
For Centrica Hive's Mini Thermostat, it comes with a connected mobile Hive app which allows a remote, single interface control of temperature ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found