[Device Support Request] Busch-Jaeger Zigbee Light Link control devices (especially 6737)
Busch Jaeger Productsite Already supported at Z2M: https://www.zigbee2mqtt.io/devices/6735_6736_6737.html And deconz
Is your feature request related to a problem? Please describe. My device (6737-XX) recognizes as RM01 I am able to switch it it also shows a brigthness slider but the connected module is only a switch
Describe the solution you'd like
- [x] switchable
- [x] dimmable (I guess that is working but I only have the relais for testing)
- [ ] switch state should report back
- [ ] button actions should report back
- [ ] buttons should be selectable at the automations wizard
- [ ] distinguish whether a relay module or a dimmer module is connected
Device signature
{
"node_descriptor": "NodeDescriptor(byte1=17, byte2=64, mac_capability_flags=142, manufacturer_code=4398, maximum_buffer_size=89, maximum_incoming_transfer_size=61, server_mask=0, maximum_outgoing_transfer_size=61, descriptor_capability_field=0)",
"endpoints": {
"10": {
"profile_id": 49246,
"device_type": "0x0810",
"in_clusters": [
"0x0000",
"0x1000"
],
"out_clusters": [
"0x0003",
"0x0004",
"0x0005",
"0x0006",
"0x0008",
"0x0019",
"0x0300",
"0x1000"
]
},
"11": {
"profile_id": 49246,
"device_type": "0x0810",
"in_clusters": [
"0x0000",
"0x1000"
],
"out_clusters": [
"0x0003",
"0x0004",
"0x0005",
"0x0006",
"0x0008",
"0x0300",
"0x1000"
]
},
"12": {
"profile_id": 49246,
"device_type": "0x0810",
"in_clusters": [
"0x0000",
"0x1000"
],
"out_clusters": [
"0x0003",
"0x0004",
"0x0005",
"0x0006",
"0x0008",
"0x0300",
"0x1000"
]
},
"13": {
"profile_id": 49246,
"device_type": "0x0810",
"in_clusters": [
"0x0000",
"0x1000"
],
"out_clusters": [
"0x0003",
"0x0004",
"0x0005",
"0x0006",
"0x0008",
"0x0300",
"0x1000"
]
},
"18": {
"profile_id": 49246,
"device_type": "0x0000",
"in_clusters": [
"0x0000",
"0x0003",
"0x0004",
"0x0005",
"0x0006",
"0x0008"
],
"out_clusters": []
}
},
"manufacturer": "Busch-Jaeger",
"model": "RM01",
"class": "zigpy.device.Device"
}
Device signature and pairing log at my dev VM
Additional context I am not shure but it could be that Z2M pools the state of the switch because if I use the device buttons it recognizes the change 5s later
There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.
Comment for the bot 😉
Unfortunately your Device Link broke?! Productsite I recently switched from deconz to ZHA within Home-Assistant, because of latency problems. It's quite a little pain changing all devices and my 6735-84 ZigBee Light Link control element especially. When I switch on the light on the Buttons i get no change of state in the app. Is that your problem too? I would really appreciate a better support with ZHA. Is there any way i can contribute?
Then you is pairing the device is ZHA pulling one ZLL group from it and adding it in the Zigbee groups (Old IKEA remotes is using ZLL and ZHA is getting the random group they is using the pairing the device) ?
Also little logs then pairing and the device signature can being good if the devs like to looking on this case (they dont if all info is missing) ;-))
Not really getting what you want to say with your first sentence. Should I pair the device in a different way or configure it with cluster settings?
Here is the cluster signature:
{
"node_descriptor": "NodeDescriptor(logical_type=<LogicalType.Router: 1>, complex_descriptor_available=0, user_descriptor_available=1, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress|RxOnWhenIdle|MainsPowered|FullFunctionDevice: 142>, manufacturer_code=4398, maximum_buffer_size=89, maximum_incoming_transfer_size=61, server_mask=0, maximum_outgoing_transfer_size=61, 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)",
"endpoints": {
"10": {
"profile_id": 49246,
"device_type": "0x0810",
"in_clusters": [
"0x0000",
"0x1000"
],
"out_clusters": [
"0x0003",
"0x0004",
"0x0005",
"0x0006",
"0x0008",
"0x0019",
"0x0300",
"0x1000"
]
},
"18": {
"profile_id": 49246,
"device_type": "0x0100",
"in_clusters": [
"0x0000",
"0x0003",
"0x0004",
"0x0005",
"0x0006",
"0x0008"
],
"out_clusters": []
}
},
"manufacturer": "Busch-Jaeger",
"model": "RM01",
"class": "zigpy.device.Device"
}
Also tried to reconnect the device, but I am not sure if the device is doing anything right now. Normally I have to press both buttons to get it into programming mode. After blinking alternately the LEDs will be illuminated. Stop pressing the rocker and briefly press both sides of it again. Unfortunately can't reproduce this anymore. Hope I didn't broke that thing?!
No matter what, here ist the log output while trying to connect:
[0x0000:zdo] ZDO request ZDOCmd.Mgmt_Permit_Joining_req: [60, <Bool.false: 0>]
[0x7577:2:0x0400] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=71 command_id=Command.Report_Attributes>
[0x7577:2:0x0400] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=uint16_t, value=10552>)]]
[0x7577:2:0x0400] Attribute report received: measured_value=10552
[0xc0c3:2:0x0406] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=171 command_id=Command.Report_Attributes>
[0xc0c3:2:0x0406] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=bitmap8, value=bitmap8.1>)]]
[0xc0c3:2:0x0406] Attribute report received: occupancy=1
[0xc0c3:2:0x0400] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=172 command_id=Command.Report_Attributes>
[0xc0c3:2:0x0400] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=uint16_t, value=7325>)]]
[0xc0c3:2:0x0400] Attribute report received: measured_value=7325
[0xBED8:1:0x0b04]: async_update
[0xbed8:1:0x0b04] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=79 command_id=Command.Read_Attributes_rsp>
[0xc0c3:2:0x0406] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=173 command_id=Command.Report_Attributes>
[0xc0c3:2:0x0406] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=bitmap8, value=bitmap8.0>)]]
[0xc0c3:2:0x0406] Attribute report received: occupancy=0
[0xc0c3:2:0x0406] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=175 command_id=Command.Report_Attributes>
[0xc0c3:2:0x0406] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=bitmap8, value=bitmap8.1>)]]
[0xc0c3:2:0x0406] Attribute report received: occupancy=1
[0xc0c3:2:0x0400] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=176 command_id=Command.Report_Attributes>
[0xc0c3:2:0x0400] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=uint16_t, value=5986>)]]
[0xc0c3:2:0x0400] Attribute report received: measured_value=5986
[0xc0c3:2:0x0406] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=177 command_id=Command.Report_Attributes>
[0xc0c3:2:0x0406] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=bitmap8, value=bitmap8.0>)]]
[0xc0c3:2:0x0406] Attribute report received: occupancy=0
[0xBED8:1:0x0b04]: async_update
[0xbed8:1:0x0b04] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=84 command_id=Command.Read_Attributes_rsp>
[0x134a: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=34 command_id=Command.Report_Attributes>
[0x134a:1:0x0008] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=uint8_t, value=254>)]]
[0x134a:1:0x0008] Attribute report received: current_level=254
[0x134A:1:0x0008]: received attribute: 0 update with value: 254
[0x134a:1:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=33 command_id=Command.Report_Attributes>
[0x134a:1:0x0006] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=Bool, value=Bool.false>)]]
[0x134a:1:0x0006] Attribute report received: on_off=0
[0xc0c3:2:0x0402] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=178 command_id=Command.Report_Attributes>
[0xc0c3:2:0x0402] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=int16s, value=1912>)]]
[0xc0c3:2:0x0402] Attribute report received: measured_value=1912
[0xc0c3:2:0x0400] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=179 command_id=Command.Report_Attributes>
[0xc0c3:2:0x0400] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=uint16_t, value=7905>)]]
[0xc0c3:2:0x0400] Attribute report received: measured_value=7905
[0xBED8:1:0x0b04]: async_update
[0xbed8:1:0x0b04] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=90 command_id=Command.Read_Attributes_rsp>
[0xc0c3:2:0x0406] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=180 command_id=Command.Report_Attributes>
[0xc0c3:2:0x0406] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=bitmap8, value=bitmap8.1>)]]
[0xc0c3:2:0x0406] Attribute report received: occupancy=1
[0xc0c3:2:0x0400] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=181 command_id=Command.Report_Attributes>
[0xc0c3:2:0x0400] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=uint16_t, value=6334>)]]
[0xc0c3:2:0x0400] Attribute report received: measured_value=6334
[0xc0c3:2:0x0406] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=182 command_id=Command.Report_Attributes>
[0xc0c3:2:0x0406] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=bitmap8, value=bitmap8.0>)]]
[0xc0c3:2:0x0406] Attribute report received: occupancy=0
[0xc0c3:2:0x0406] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=183 command_id=Command.Report_Attributes>
[0xc0c3:2:0x0406] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=bitmap8, value=bitmap8.1>)]]
[0xc0c3:2:0x0406] Attribute report received: occupancy=1
[0xBED8:1:0x0b04]: async_update
[0xbed8:1:0x0b04] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=96 command_id=Command.Read_Attributes_rsp>
[0xc0c3:2:0x0406] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=184 command_id=Command.Report_Attributes>
[0xc0c3:2:0x0406] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=bitmap8, value=bitmap8.0>)]]
[0xc0c3:2:0x0406] Attribute report received: occupancy=0
Can you pleas putting ``` before and after the code block and deleting the ` before and after it so its being one code block and easier looking in and not losing its formatting.
Now its possible reading nicely :-))
But only attribute reports from your sensors in the log.
What i was saying is that Zigbee light swishes can configuring one light group then there is being reseted and joined one network. ZHA can reading this group then its pairing the device and adding it as one group with one strange name and the switch is sending all commands to that group. They is looking like that:
Group Information
Name: No name group 0x9CED
Group Id: 0x9ced
Some light switches is not doing it at all and other is making it wrong or using the same group for all switches of the same model so it not working with more switches.
If you is having one light group like this you shall putting you lights in it and the switch is controlling them and the status of the group is the status of the lights in the group (switches dont have any status they is only sending commands)
I am not sure if you know this 6735-84 (84 is just the color code) device. It is sitting on a 6715 U device in the wall outlet. I don't know exactly but i think the rocker of 6735 is controlling the light of 6715 directly? Or is it in one zigbee group you described? Maybe i have to get the light controller (6715) and the rocker of the switch (6735) into one group to see a state change in my Home-Assistant App? Unfortunately I can only see and connect the rocker into my network. The light is an entity of that switch device.
Got my switch working again and made a new connection to my zigbee network. This is the log dump:
[0x0000:zdo] ZDO request ZDOCmd.Mgmt_Permit_Joining_req: [60, <Bool.false: 0>]
[0xa3c5:2:0x0406] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=138 command_id=Command.Report_Attributes>
[0xa3c5:2:0x0406] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=bitmap8, value=bitmap8.1>)]]
[0xa3c5:2:0x0406] Attribute report received: occupancy=1
[0xa3c5:2:0x0400] 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.Report_Attributes>
[0xa3c5:2:0x0400] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=uint16_t, value=5337>)]]
[0xa3c5:2:0x0400] Attribute report received: measured_value=5337
[0xBED8:1:0x0b04]: async_update
[0xbed8:1:0x0b04] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=229 command_id=Command.Read_Attributes_rsp>
[0xa3c5:2:0x0406] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=140 command_id=Command.Report_Attributes>
[0xa3c5:2:0x0406] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=bitmap8, value=bitmap8.0>)]]
[0xa3c5:2:0x0406] Attribute report received: occupancy=0
[0x3e82:zdo] ZDO request ZDOCmd.IEEE_addr_rsp: [<Status.SUCCESS: 0>, ec:1b:bd:ff:fe:93:ed:67, 0x3E82, None, None, []]
[0x3e82:zdo] Unsupported ZDO request:ZDOCmd.IEEE_addr_rsp
[0x3e82:zdo] ZDO request ZDOCmd.IEEE_addr_rsp: [<Status.SUCCESS: 0>, ec:1b:bd:ff:fe:93:ed:67, 0x3E82, None, None, []]
[0x3e82:zdo] Unsupported ZDO request:ZDOCmd.IEEE_addr_rsp
[0x7577:2:0x0406] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=73 command_id=Command.Report_Attributes>
[0x7577:2:0x0406] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=bitmap8, value=bitmap8.1>)]]
[0x7577:2:0x0406] Attribute report received: occupancy=1
[0x7577:2:0x0400] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=74 command_id=Command.Report_Attributes>
[0x7577:2:0x0400] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=uint16_t, value=12464>)]]
[0x7577:2:0x0400] Attribute report received: measured_value=12464
Device 0x6384 (d8:5d:ef:11:a1:00:46:30) joined the network
Device d8:5d:ef:11:a1:00:46:30 changed id (0x6384 => 0x6384)
[0x6384] Skipping initialization, device is fully initialized
Device is initialized <Device model='RM01' manuf='Busch-Jaeger' nwk=0x6384 ieee=d8:5d:ef:11:a1:00:46:30 is_initialized=True>
Checking quirks for Busch-Jaeger RM01 (d8:5d:ef:11:a1:00:46:30)
Considering <class 'zhaquirks.xbee.xbee_io.XBeeSensor'>
Fail because endpoint list mismatch: {232, 230} {18, 10}
Considering <class 'zhaquirks.xbee.xbee3_io.XBee3Sensor'>
Fail because endpoint list mismatch: {232, 230} {18, 10}
Considering <class 'zhaquirks.smartthings.tag_v4.SmartThingsTagV4'>
Fail because endpoint list mismatch: {1} {18, 10}
Considering <class 'zhaquirks.smartthings.multi.SmartthingsMultiPurposeSensor'>
Fail because endpoint list mismatch: {1} {18, 10}
Considering <class 'zhaquirks.netvox.z308e3ed.Z308E3ED'>
Fail because endpoint list mismatch: {1} {18, 10}
Considering <class 'zhaquirks.gledopto.soposhgu10.SoposhGU10'>
Fail because endpoint list mismatch: {11, 13} {18, 10}
Considering <class 'bellows.zigbee.application.EZSPCoordinator'>
Fail because endpoint list mismatch: {1} {18, 10}
[0x6384:zdo] ZDO request ZDOCmd.Device_annce: [0x6384, d8:5d:ef:11:a1:00:46:30, 142]
device - 25476:d8:5d:ef:11:a1:00:46:30 entering async_device_initialized - is_new_join: False
device - 25476:d8:5d:ef:11:a1:00:46:30 has been reset and re-added or its nwk address changed
skipping discovery for previously discovered device - 25476:d8:5d:ef:11:a1:00:46:30
[25476](RM01): started configuration
[25476:ZDO](RM01): 'async_configure' stage succeeded
[25476:10:0x0000]: finished channel configuration
[0x6384] Delivery error for seq # 0xec, on endpoint id 0 cluster 0x0021: message send failure
[25476:10:0x0008]: Failed to bind 'level' cluster: [0x6384:0:0x0021]: Message send failure
[25476:10:0x0008]: finished channel configuration
[25476:10:0x0019]: finished channel configuration
[0x6384] Delivery error for seq # 0xee, on endpoint id 0 cluster 0x0021: message send failure
[25476:10:0x0006]: Failed to bind 'on_off' cluster: [0x6384:0:0x0021]: Message send failure
[25476:10:0x0006]: finished channel configuration
Device d8:5d:ef:11:a1:00:46:30 already exists. Updating it.
[0x6384] Delivery error for seq # 0xf0, on endpoint id 0 cluster 0x0021: message send failure
[25476:10:0x0005]: Failed to bind 'scenes' cluster: [0x6384:0:0x0021]: Message send failure
[25476:10:0x0005]: finished channel configuration
[0x6384] Delivery error for seq # 0xf2, on endpoint id 0 cluster 0x0021: message send failure
[25476:10:0x0300]: Failed to bind 'light_color' cluster: [0x6384:0:0x0021]: Message send failure
[25476:10:0x0300]: finished channel configuration
[0x6384] Delivery error for seq # 0xf4, on endpoint id 0 cluster 0x0021: message send failure
[25476:18:0x0006]: Failed to bind 'on_off' cluster: [0x6384:0:0x0021]: Message send failure
[0x6384] Delivery error for seq # 0xf6, on endpoint id 0 cluster 0x0021: message send failure
[25476:18:0x0008]: Failed to bind 'level' cluster: [0x6384:0:0x0021]: Message send failure
[0x6384] Delivery error for seq # 0xf8, on endpoint id 18 cluster 0x0006: message send failure
[25476:18:0x0006]: failed to set reporting on 'on_off' cluster for: [0x6384:18:0x0006]: Message send failure
[25476:18:0x0006]: finished channel configuration
[25476:18:0x0000]: finished channel configuration
[0x6384] Delivery error for seq # 0xfa, on endpoint id 18 cluster 0x0008: message send failure
[25476:18:0x0008]: failed to set reporting on 'level' cluster for: [0x6384:18:0x0008]: Message send failure
[25476:18:0x0008]: finished channel configuration
[25476:18:0x0006]: 'async_configure' stage succeeded
[25476:18:0x0008]: 'async_configure' stage succeeded
[25476:18:0x0000]: 'async_configure' stage succeeded
[0x6384:10:0x1000] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=234 command_id=65>
[25476:10:0x0000]: 'async_configure' stage succeeded
[25476:10:0x1000]: 'async_configure' stage succeeded
[25476:10:0x0008]: 'async_configure' stage succeeded
[25476:10:0x0006]: 'async_configure' stage succeeded
[25476:10:0x0019]: 'async_configure' stage succeeded
[25476:10:0x0005]: 'async_configure' stage succeeded
[25476:10:0x0300]: 'async_configure' stage succeeded
[25476](RM01): completed configuration
[25476](RM01): stored in registry: ZhaDeviceEntry(name='Busch-Jaeger RM01', ieee='d8:5d:ef:11:a1:00:46:30', last_seen=1633856543.023593)
[0x6384:18:0x0003] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=252 command_id=Command.Default_Response>
[25476:18:0x0003]: executed 'trigger_effect' command with args: '(2, 0)' kwargs: '{}' result: [64, <Status.SUCCESS: 0>]
[25476](RM01): started initialization
[25476:ZDO](RM01): 'async_initialize' stage succeeded
[25476:10:0x0000]: initializing channel: from_cache: False
[25476:10:0x0000]: finished channel configuration
[25476:10:0x1000]: initializing channel: from_cache: False
[25476:10:0x1000]: finished channel configuration
[25476:10:0x0008]: initializing channel: from_cache: False
[25476:10:0x0008]: finished channel configuration
[25476:10:0x0006]: initializing channel: from_cache: False
[25476:10:0x0006]: finished channel configuration
[25476:10:0x0019]: initializing channel: from_cache: False
[25476:10:0x0019]: finished channel configuration
[25476:10:0x0005]: initializing channel: from_cache: False
[25476:10:0x0005]: finished channel configuration
[25476:10:0x0300]: initializing channel: from_cache: False
[25476:10:0x0300]: finished channel configuration
[25476:18:0x0006]: initializing channel: from_cache: False
[25476:18:0x0008]: initializing channel: from_cache: False
[25476:18:0x0000]: initializing channel: from_cache: False
[25476:18:0x0000]: finished channel configuration
[25476:10:0x0000]: 'async_initialize' stage succeeded
[25476:10:0x1000]: 'async_initialize' stage succeeded
[25476:10:0x0008]: 'async_initialize' stage succeeded
[25476:10:0x0006]: 'async_initialize' stage succeeded
[25476:10:0x0019]: 'async_initialize' stage succeeded
[25476:10:0x0005]: 'async_initialize' stage succeeded
[25476:10:0x0300]: 'async_initialize' stage succeeded
[0x6384:18:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=254 command_id=Command.Read_Attributes_rsp>
[25476:18:0x0006]: finished channel configuration
[0x6384:18:0x0008] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=0 command_id=Command.Read_Attributes_rsp>
[25476:18:0x0008]: received attribute: 0 update with value: 254
[25476:18:0x0008]: finished channel configuration
[25476:18:0x0006]: 'async_initialize' stage succeeded
[25476:18:0x0008]: 'async_initialize' stage succeeded
[25476:18:0x0000]: 'async_initialize' stage succeeded
[25476](RM01): power source: Mains
[25476](RM01): completed initialization
[0xdbce:2:0x0406] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=66 command_id=Command.Report_Attributes>
[0xdbce:2:0x0406] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=bitmap8, value=bitmap8.1>)]]
[0xdbce:2:0x0406] Attribute report received: occupancy=1
[0xdbce:2:0x0400] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=67 command_id=Command.Report_Attributes>
[0xdbce:2:0x0400] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=uint16_t, value=18117>)]]
[0xdbce:2:0x0400] Attribute report received: measured_value=18117
[0x7577:2:0x0406] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=75 command_id=Command.Report_Attributes>
[0x7577:2:0x0406] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=bitmap8, value=bitmap8.0>)]]
[0x7577:2:0x0406] Attribute report received: occupancy=0
[0xBED8:1:0x0b04]: async_update
[0xbed8:1:0x0b04] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=5 command_id=Command.Read_Attributes_rsp>
[0x7577:2:0x0400] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=76 command_id=Command.Report_Attributes>
[0x7577:2:0x0400] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=uint16_t, value=12354>)]]
[0x7577:2:0x0400] Attribute report received: measured_value=12354
[0xdbce:2:0x0400] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=68 command_id=Command.Report_Attributes>
[0xdbce:2:0x0400] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=uint16_t, value=18095>)]]
[0xdbce:2:0x0400] Attribute report received: measured_value=18095
[0x6384:zdo] ZDO request ZDOCmd.Match_Desc_req: [0xFFFD, 49246, [6], []]
[0x6384:zdo] ZDO request ZDOCmd.Match_Desc_req: [0xFFFD, 260, [6], []]
[0x7577:2:0x0406] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=77 command_id=Command.Report_Attributes>
[0x7577:2:0x0406] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=bitmap8, value=bitmap8.1>)]]
[0x7577:2:0x0406] Attribute report received: occupancy=1
[0x6384:zdo] ZDO request ZDOCmd.Match_Desc_req: [0xFFFD, 260, [25], []]
[0xBED8:1:0x0b04]: async_update
[0xbed8:1:0x0b04] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=13 command_id=Command.Read_Attributes_rsp>
[0x7577:2:0x0400] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=78 command_id=Command.Report_Attributes>
[0x7577:2:0x0400] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=uint16_t, value=11287>)]]
[0x7577:2:0x0400] Attribute report received: measured_value=11287
In ZHA is light switches is one relay that is switching on / off (perhaps dimming) one light (or somthing else) and you is getting one light entry in ZHA.
The "controller" (some saying remote) that is switching the light on/off is normally controlling the relay direct and do not getting and entry in ZHA if its main powered (if battery you is getting one battery entry).
It can being that the controller is not sending and commands to other devices and only working local or its also sending the commands (on/of dim up/down) for steering light to one group that is random after reset (then ZHA is reading it and adding it in groups) or if its possible group that is added to the device with zigbee commands (if the device is supporting it).
Now to your device its have 2 endpoints: EP 10 = "device_type": "0x0810", = COLOR_SCENE_CONTROLLER And out cluster "0x0004", is the group cluster.
EP 18 = "device_type": = "0x0100", DIMMABLE_LIGHT And in cluster "0x0004", is the group cluster.
So you can adding groups to the light part on EP 10 on in cluster 0x0004 (is normally being made in the group panele in ZHA).
The controller part is EP 18 with in group cluster 0x0004 you is normally binding the controller to one group so the controller is sending all light commands to groups. Normal you need binding (made from the device card manage cluster) on/off (0x0006) and light level cluster (0x0008) and also group cluster (0x0004) (option color cluster 0x0300) to one group you have making and adding light to it.
The work flow is making one group if not having one and adding lights to the group.
Binding the controller to the group (out cluster on EP 10) so it sending commands to the lights in the group.
ZHA is getting the status from the light is reporting there status to the coordinator.
The controller is only sending the commands to the group and the coordinator can catching them then listening to the group and you can see them in events log under zha_evens and using them in automatons.
The binding is making the light and controller is working autonomous also then the coordinator / host system is not online.
Edit: I have not seen and light link group in your log then the device was already configurated and ZHA was using the saved data from it and not reading all new.
Hey, thanks for your long post. I did try to do your work flow but didn't got any further. I do have some groups in the ZHA Configuration Tab. One is called 'Default Lightlink Group', so I added the deconz stick and the devices to it. I also made a new group for each switch in combination with deconz.
In the device configuration i tried to bind the EP 10 clusters to the group and also made a 'device reconfiguration'
But still no state change in the frontend while triggering with the rocker.
I do get a change of state when asking an cluster attribute.
What am I missing?
@ornago Regarding the incorrect report to ZHA that the switch is a dimmable light I found a solution. https://www.home-assistant.io/integrations/zha#modifying-the-device-type
And yes my one relais (bathroom vent) does not report the state back...
Thanks for your information, I'm not sure if the naming is wrong. The endpoint 10 is the rocker or you could call it a switch. It's naming is 'COLOR_SCENE_CONTROLLER'. There is nothing with color changing but the rest fits. And then there is the endpoint 18 'DIMMABLE_LIGHT' which is the electronical device dimming my light bulb. Can't say if a naming would help, but please tell me if it does.
I am also desperately needing ZHA support to the Busch 673x family. How can I support?
There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.
.
Hi,
thanks for creating the ticket. I'm facing the same issue with my Busch-Jaeger 6737, which allows me to control the associated light but I cannot assign automations or trigger events to the remaining 6 buttons.
It would be great if somebody could post a solution.
Thanks, Stephan
2 years later........... after leaving deconz for Z2M and not happy with the result of Z2M, i wanted to switch to ZHA but unfortunately the switch RB01 is not supported (yes the top rocker works but the bottom one does not) is there anybody how got this Busch-Jaeger stuff working in ZHA ?
Still no support for this switches?
Hi, how can I help make this device work with ZHA? I have got an updated 6737/01-8 on firmware 1.2 that works on all 8 buttons with deconz. I can post the DDF file here - will it help?
Hi, I am having the same problem: can control the relais with HA via ZHA over the new SkyConnect stick (but status is not reported back) but have no access to the lower rockers. Has anyone found a solution to control this device via ZHA?
I've stumbled upon this because I'm thinking about trying out HA (currently using openHAB), but wanted to make sure that my BJ dimmers/relays work before even giving it a try. So maybe I can shed some light on some of the issues described here.
@gclever but status is not reported back
Unfortunately the device completely ignores whatever reporting configuration you set and does not report changes of the relay/dimmer state. It only reports like once an hour.
I've mitigated this issue by setting a polling period of 60 seconds, so you have to rely on polling to get state updates in reasonable time.
Is it possible to configure the polling interval in HA?
@gclever but have no access to the lower rockers
The binding table of these devices has only room for four entries (I only have the 2-rocker variants, maybe the other devices have more).
If the endpoints are not consolidated properly the rockers won't work. You might end up with a binding table that's missing one of the endpoints:
> bindtable D85DEF11A1003142
Binding table for node 37485 [D85DEF11A1003142]
Src Address | Dest Address | Group | Mode | Cluster
D85DEF11A1003142/18 | 0022A300002921FD/1 | | Address | 0006:ON_OFF
D85DEF11A1003142/10 | 0022A300002921FD/1 | | Address | 0008:LEVEL_CONTROL
D85DEF11A1003142/10 | 0022A300002921FD/1 | | Address | 0006:ON_OFF
D85DEF11A1003142/18 | 0022A300002921FD/1 | | Address | 0008:LEVEL_CONTROL
Here it's missing the endpoint for the 2nd rocker, which would be 11:
node D85DEF11A1003142
IEEE Address : D85DEF11A1003142
Network Address : 37485
Node Descriptor : NodeDescriptor [apsFlags=0, bufferSize=89, complexDescriptorAvailable=false, manufacturerCode=4398, logicalType=ROUTER, serverCapabilities=[], incomingTransferSize=61, outgoingTransferSize=61, userDescriptorAvailable=true, frequencyBands=[FREQ_2400_MHZ], macCapabilities=[MAINS_POWER, RECEIVER_ON_WHEN_IDLE, FULL_FUNCTION_DEVICE], extendedEndpointListAvailable=false, extendedSimpleDescriptorListAvailable=false, stackCompliance=0]
Power Descriptor : RECEIVER_ON_IDLE, [DISPOSABLE_BATTERY, MAINS, RECHARGABLE_BATTERY], MAINS, FULL
Associations : []
Endpoints :
10 : Profile C05E ZIGBEE_LIGHT_LINK
: Device Type 0000 ON_OFF_SWITCH
-> BASIC
-> TOUCHLINK
<- TOUCHLINK
<- COLOR_CONTROL
<- IDENTIFY
<- GROUPS
<- SCENES
<- ON_OFF
<- LEVEL_CONTROL
<- OTA_UPGRADE
11 : Profile C05E ZIGBEE_LIGHT_LINK
: Device Type 0000 ON_OFF_SWITCH
-> BASIC
-> TOUCHLINK
<- TOUCHLINK
<- COLOR_CONTROL
<- IDENTIFY
<- GROUPS
<- SCENES
<- ON_OFF
<- LEVEL_CONTROL
18 : Profile C05E ZIGBEE_LIGHT_LINK
: Device Type 0000 ON_OFF_SWITCH
-> BASIC
-> IDENTIFY
-> GROUPS
-> SCENES
-> ON_OFF
-> LEVEL_CONTROL
So you have to manually unbind endpoint 10 (which is obsolete) and bind endpoint 11 to make it work.
I obviously have no idea if that's the problem here, but it might be worth checking out.
I also have the same issue. I moved from an old Rasbee / Deconz setup to Home Assistant Yellow and the integrated Zigbee module with ZHA. I didn't realize that my Busch & Jaeger switches would stop working. Any help in getting these switches working in ZHA would be greatly appreciated!
I also had the problem of getting the Busch-Jaeger 2gang working with ZHA (which was working perfectly before with Deconz). I fiddled around with a quirk I found for another switch. And after some back and forth, I finally managed to get the switch working with ZHA. Using the quirk appended to this message, I can join the device and get events for all four buttons. Probably the quirk can be adapted to the 4gang version quite easily. Since I had not worked with quirks before and had no time to dig deeper into the topic, my implementation might be mediocre. But I hope it might be a good starting point for someone who knows how to do it properly (or someone who desperately needs support for the switch).
from zigpy.profiles import zha, zll
from zigpy.quirks import CustomDevice
from zigpy.zcl.clusters.general import Basic, OnOff, Identify, Ota, LevelControl, PowerConfiguration, Time, Groups, Scenes
from zigpy.zcl.clusters.lighting import Color
from zigpy.zcl.clusters.lightlink import LightLink
from zhaquirks.const import (
MODEL,
BUTTON_1,
BUTTON_2,
BUTTON_3,
BUTTON_4,
ARGS,
COMMAND,
DEVICE_TYPE,
ENDPOINT_ID,
ENDPOINTS,
INPUT_CLUSTERS,
CLUSTER_ID,
LONG_PRESS,
LONG_RELEASE,
MODELS_INFO,
OUTPUT_CLUSTERS,
PROFILE_ID,
SHORT_PRESS,
COMMAND_ON,
COMMAND_OFF,
COMMAND_STEP,
COMMAND_MOVE,
COMMAND_STOP,
COMMAND_STEP_ON_OFF
)
class BJRB01ButtonTriggers:
"""Busch-Jaeger RB01 4-button triggers."""
device_automation_triggers = {
(SHORT_PRESS, BUTTON_1): {COMMAND: COMMAND_OFF, CLUSTER_ID: 6, ENDPOINT_ID: 10, ARGS: []},
(SHORT_PRESS, BUTTON_2): {COMMAND: COMMAND_ON, CLUSTER_ID: 6, ENDPOINT_ID: 10, ARGS: []},
(SHORT_PRESS, BUTTON_3): {COMMAND: COMMAND_OFF, CLUSTER_ID: 6, ENDPOINT_ID: 11, ARGS: []},
(SHORT_PRESS, BUTTON_4): {COMMAND: COMMAND_ON, CLUSTER_ID: 6, ENDPOINT_ID: 11, ARGS: []},
(LONG_PRESS, BUTTON_2): {
COMMAND: COMMAND_STEP_ON_OFF,
CLUSTER_ID: 8,
ENDPOINT_ID: 10,
ARGS: [0, 254, 50],
},
(LONG_RELEASE, BUTTON_2): {COMMAND: COMMAND_STOP, CLUSTER_ID: 8, ENDPOINT_ID: 10, ARGS: []},
}
class BJRB01Remote(CustomDevice, BJRB01ButtonTriggers):
"""Busch-Jaeger 4-button remote device."""
signature = {
MODELS_INFO: [("Busch-Jaeger", "RB01")],
ENDPOINTS: {
10: {
PROFILE_ID: zll.PROFILE_ID,
DEVICE_TYPE: zll.DeviceType.COLOR_SCENE_CONTROLLER,
INPUT_CLUSTERS: [
Basic.cluster_id,
LightLink.cluster_id,
],
OUTPUT_CLUSTERS: [
Identify.cluster_id,
Groups.cluster_id,
Scenes.cluster_id,
OnOff.cluster_id,
LevelControl.cluster_id,
Ota.cluster_id,
Color.cluster_id,
LightLink.cluster_id,
],
},
11: {
PROFILE_ID: zll.PROFILE_ID,
DEVICE_TYPE: zll.DeviceType.COLOR_SCENE_CONTROLLER,
INPUT_CLUSTERS: [
Basic.cluster_id,
LightLink.cluster_id,
],
OUTPUT_CLUSTERS: [
Identify.cluster_id,
Groups.cluster_id,
Scenes.cluster_id,
OnOff.cluster_id,
LevelControl.cluster_id,
Color.cluster_id,
LightLink.cluster_id,
],
},
},
}
replacement = {
ENDPOINTS: {
10: {
PROFILE_ID: zll.PROFILE_ID,
DEVICE_TYPE: zll.DeviceType.CONTROLLER,
INPUT_CLUSTERS: [
Basic.cluster_id,
LightLink.cluster_id,
],
OUTPUT_CLUSTERS: [
Identify.cluster_id,
Groups.cluster_id,
Scenes.cluster_id,
OnOff.cluster_id,
LevelControl.cluster_id,
Ota.cluster_id,
Color.cluster_id,
LightLink.cluster_id,
],
},
11: {
PROFILE_ID: zll.PROFILE_ID,
DEVICE_TYPE: zll.DeviceType.CONTROLLER,
INPUT_CLUSTERS: [
Basic.cluster_id,
LightLink.cluster_id,
],
OUTPUT_CLUSTERS: [
Identify.cluster_id,
Groups.cluster_id,
Scenes.cluster_id,
OnOff.cluster_id,
LevelControl.cluster_id,
Color.cluster_id,
LightLink.cluster_id,
],
},
},
}
I have same switch's which are working, but I use Zigbee2mqtt, also large networks cause the devices to become unreliable so I am running 3 networks at the moment. I think max number of devices is limited to around 20
As I want to switch from Zigbee2MQTT, I'll post a comment to keep this issue alive...
device_automation_triggers = { (SHORT_PRESS, BUTTON_1): {COMMAND: COMMAND_OFF, CLUSTER_ID: 6, ENDPOINT_ID: 10, ARGS: []}, (SHORT_PRESS, BUTTON_2): {COMMAND: COMMAND_ON, CLUSTER_ID: 6, ENDPOINT_ID: 10, ARGS: []}, (SHORT_PRESS, BUTTON_3): {COMMAND: COMMAND_OFF, CLUSTER_ID: 6, ENDPOINT_ID: 11, ARGS: []}, (SHORT_PRESS, BUTTON_4): {COMMAND: COMMAND_ON, CLUSTER_ID: 6, ENDPOINT_ID: 11, ARGS: []}, (LONG_PRESS, BUTTON_2): { COMMAND: COMMAND_STEP_ON_OFF, CLUSTER_ID: 8, ENDPOINT_ID: 10, ARGS: [0, 254, 50], }, (LONG_RELEASE, BUTTON_2): {COMMAND: COMMAND_STOP, CLUSTER_ID: 8, ENDPOINT_ID: 10, ARGS: []}, }
Is there any reason why the long press actions are only defined for button 2?
Look if its sending light level command from EP 11 and if yes you can adding it like its done for EP 10.
Use zha_event for listening to events and you can see all commands its sending.
For my better understanding (as I said, I don't use ZHA yet, but Zigbee2MQTT, but I got lots of this Busch Jäger Switches in my flat and the missing support is a deal breaker in my intention to switch over):
Do I need a working quirk like the one above to get the switches working, or is listening to zha_event always possible?
Also interested in this and have the 8 butten version in the so called "RM01" variant. Tried the above snippet with the other model signature but can't get the quirks stuff working. The debug log says it "Loaded custom quirks" and I also get the pycache folder but I still can't get my head around why it does not work. The zigbee info on the device says nothing about a loaded quirk as I have seen on other github issues. Probably I'm missing something obvious.
Same here! Please, please add Busch Jaeger Support for Wall switches e.g. RB01 and RM01 | RB01. Thank u so much!!!