2

I'm stumped on this one - everything appears to be correctly configured and working properly...except that HomeAssistant can't discover any ZigBee devices. Adding the ConBee II appears to work just fine (recognized under the mapped address as below):

Screenshot of modal to add ConBee device

...but when I go to add a device, this spins until it times out after a few minutes:

screenshot of unsuccessful attempts to discover devices

This is a fresh install Raspbian, with the following docker-compose.yml (I've tried the commented out options, as well):

version: '3'
services:
  homeassistant:
    container_name: homeassistant
    # image: homeassistant/home-assistant:stable
    image: homeassistant/raspberrypi4-homeassistant:stable
    ports:
      - "8123:8123"
    volumes:
      - ./config:/config
      - /etc/localtime:/etc/localtime:ro
    devices:
      # - /dev/ttyACM0:/dev/ttyACM0
      - /dev/ttyACM0
    restart: unless-stopped
    # network_mode: host
    # privileged: true

This is the debug output from docker which writes immediately when I click on Add Device in the HomeAssistant configuration for ConBee:

homeassistant    | 2021-06-20 11:05:07 DEBUG (MainThread) [zigpy_deconz.zigbee.application] Sending Zigbee broadcast with tsn 1 under 2 request id, data: b'013c00'
homeassistant    | 2021-06-20 11:05:07 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_request (17, 2, 0, <DeconzAddressEndpoint address_mode=1 address=65532 endpoint=None>, 0, 54, 0, b'\x01<\x00', 2, 0)
homeassistant    | 2021-06-20 11:05:07 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x12130018001100020001fcff00003600000300013c000200
homeassistant    | 2021-06-20 11:05:07 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x121300090002002202
homeassistant    | 2021-06-20 11:05:07 DEBUG (MainThread) [zigpy_deconz.api] APS data request response: [2, <DeviceState.APSDE_DATA_REQUEST_SLOTS_AVAILABLE|2: 34>, 2]
homeassistant    | 2021-06-20 11:05:07 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x0e14000700aa00
homeassistant    | 2021-06-20 11:05:07 DEBUG (MainThread) [zigpy_deconz.api] Device state changed response: [<DeviceState.128|APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_INDICATION|2: 170>, 0]
homeassistant    | 2021-06-20 11:05:07 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_indication (1, 1)
homeassistant    | 2021-06-20 11:05:07 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x1714000800010001
homeassistant    | 2021-06-20 11:05:07 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x17140021001a002201fcff0102000000000036000300013c0000afdd873601001e
homeassistant    | 2021-06-20 11:05:07 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [26, <DeviceState.APSDE_DATA_REQUEST_SLOTS_AVAILABLE|2: 34>, <DeconzAddress address_mode=ADDRESS_MODE.GROUP address=0xfffc>, 1, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0000>, 0, 0, 54, b'\x01<\x00', 0, 175, 221, 135, 54, 1, 0, 30]
homeassistant    | 2021-06-20 11:05:07 DEBUG (MainThread) [zigpy.zdo] [0x0000:zdo] ZDO request ZDOCmd.Mgmt_Permit_Joining_req: [60, <Bool.false: 0>]
homeassistant    | 2021-06-20 11:05:07 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0000>, ep: 0, profile: 0x0000, cluster_id: 0x0036, data: b'013c00'
homeassistant    | 2021-06-20 11:05:07 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x0e15000700a600
homeassistant    | 2021-06-20 11:05:07 DEBUG (MainThread) [zigpy_deconz.api] Device state changed response: [<DeviceState.128|APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_CONFIRM|2: 166>, 0]
homeassistant    | 2021-06-20 11:05:07 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_confirm (0,)
homeassistant    | 2021-06-20 11:05:07 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x04150007000000
homeassistant    | 2021-06-20 11:05:07 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x04150012000b00220201fcff00e100000000
homeassistant    | 2021-06-20 11:05:07 DEBUG (MainThread) [zigpy_deconz.api] APS data confirm response for request with id 2: e1
homeassistant    | 2021-06-20 11:05:07 DEBUG (MainThread) [zigpy_deconz.api] Request id: 0x02 'aps_data_confirm' for <DeconzAddressEndpoint address_mode=ADDRESS_MODE.GROUP address=0xfffc endpoint=None>, status: 0xe1
homeassistant    | 2021-06-20 11:05:07 DEBUG (MainThread) [zigpy_deconz.zigbee.application] Error while sending 2 req id broadcast: TXStatus.MAC_CHANNEL_ACCESS_FAILURE
homeassistant    | 2021-06-20 11:05:07 DEBUG (MainThread) [zigpy_deconz.api] Command Command.write_parameter (2, <NetworkParameter.permit_join: 33>, b'<')
homeassistant    | 2021-06-20 11:05:07 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x0b160009000200213c
homeassistant    | 2021-06-20 11:05:07 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x0b16000800010021
homeassistant    | 2021-06-20 11:05:07 DEBUG (MainThread) [zigpy_deconz.api] Write parameter permit_join: SUCCESS

Things I've tried:

  1. Deleting the Integration in HomeAssistant and re-adding the device
  2. RMing the docker setup and starting fresh
  3. The commented out parameters in the docker-compose file
  4. Changing the zigbee channel to 24 (via ./config/configuration.yaml
  5. Pairing multiple different device types (I've tried both Leviton switches and Aqara door sensors, always in discoverable mode)
  6. Connecting the ConBee to a powered USB hub to rule out any USB3 or wifi interference (although the pi is a client on a 5GHz wifi network)
  7. Googling the MAC_CHANNEL_ACCESS_FAILURE error extensively, which appears to be a red herring
6
  • Have you tried with the deconz software? Are you correctly setting the devices in pairing mode? Are those able to join other zigbee networks?
    – jcaron
    Commented Jun 20, 2021 at 20:00
  • @jcaron I tried adding devices with deconz, and that did not work...I also tried a completely new (different) ConBee II with no success, so this really feels like a configuration issue.
    – Christian
    Commented Jun 22, 2021 at 23:44
  • Are you able to add those devices to other Zigbee networks, e.g. a Hue bridge? Are you sure your Luton switches are actually Zigbee? As I understand it most if not all of their switches use a different protocol. What model/reference are you using? I believe Aqara are all Zigbee, but some brands have Z-Wave in the US and Zigbee elsewhere for instance, so you should probably double check.
    – jcaron
    Commented Jun 23, 2021 at 11:09
  • I unfortunately don't have another Zigbee coordinator / bridge to test them, but I have 5 LEVITON (sorry, I always confuse Leviton and Lutron) switches and 2 Aqara devices...and none of them are picked up by the ConBee (yes, they're in pairing mode). All are zigbee certified -leviton.com/en/products/dg6hd-1bw and aqara.com/en/door_and_window_sensor.html
    – Christian
    Commented Jun 23, 2021 at 13:19
  • SOLVED. This was USB3.0 interference, which I really thought could not be the case since I tried putting the ConBee on a powered USB hub 3 ft away from the pi (and that didn't work, either). I had 2 fit-size USB 3.0 drives plugged directly into the pi USB3 ports, and apparently that completely prevented the ConBee from being able to pair with zigbee devices. Once I removed the USB drives, everything works perfectly now. @jcaron thanks for your help!
    – Christian
    Commented Jun 24, 2021 at 1:55

1 Answer 1

2

USB3.0 interference is real! I had 2 fit-size USB 3.0 drives plugged directly into the pi USB3 ports, with the ConBee II plugged in next to them in the USB 2.0 port, and that completely prevented the ConBee from being able to pair with zigbee devices. What's more surprising is that moving the ConBee to a powered USB hub (with 3+ feet of distance from the Pi) didn't make a difference - I still couldn't pair with any Zigbee devices. Also note that this is NOT a power issue - I'm using the official CanaKit 3.5a power supply.

As soon as I removed the two USB thumbdrives, the ConBee was able to pair with all 7 of my devices.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.