Intermittent Zigbee Weirdness

Hi All,

Long-time user/reader, first-time poster.

Brief history: I’ve been running Zigbee networks for almost 7 years, at first via Hue bridges, then via deCONZ with a ConBee II, and now I have recently migrated to ZHA. I’m running HA as a Container, version 2023.3.3, Frontend 20230309. This is on a Pi 4B with 8GB RAM.

I’ve found some intermittent weirdness since migrating from deCONZ to ZHA. When I trigger a scene via a button / HA automation, some of the devices don’t turn on (or off), but HA does not reflect this. For example, if the scene turns a bunch of lights off, sometimes one or two lights stays on, but HA reflects the light as off. Triggering the scene subsequent times NEVER corrects it because HA thinks its work is done. I have do actually turn the device ON in HA to be able to turn it back off (in this case the light always does the right thing)

Here are the simple automations for a button in my office. Press once to turn everything on. Hold to turn everything off:

- id: '1678675362902'
  alias: Office Button Single Press
  description: ''
  trigger:
  - device_id: 73f0627b8ebfdf65cffd5766bce35ea5
    domain: zha
    platform: device
    type: remote_button_short_press
    subtype: turn_on
  condition: []
  action:
  - service: scene.turn_on
    target:
      entity_id: scene.working
    metadata: {}
  mode: single
- id: '1678675529152'
  alias: Office Button Long Press
  description: ''
  trigger:
  - device_id: 73f0627b8ebfdf65cffd5766bce35ea5
    domain: zha
    platform: device
    type: remote_button_long_press
    subtype: dim_up
  condition: []
  action:
  - service: scene.turn_on
    target:
      entity_id: scene.office_off
    metadata: {}
  mode: single

Here are those two scenes:

- id: '1678543939414'
  name: Office Off
  entities:
    light.hue_go:
      min_color_temp_kelvin: 2000
      max_color_temp_kelvin: 6535
      min_mireds: 153
      max_mireds: 500
      effect_list:
      - colorloop
      supported_color_modes:
      - color_temp
      - xy
      off_with_transition: false
      off_brightness: 254
      icon: mdi:light-flood-up
      friendly_name: Hue Go
      supported_features: 44
      state: 'off'
    light.display_cabinets_north:
      supported_color_modes:
      - brightness
      off_with_transition: false
      off_brightness: 254
      icon: mdi:light-recessed
      friendly_name: Display Cabinets North
      supported_features: 40
      state: 'off'
    light.display_cabinets_south:
      supported_color_modes:
      - brightness
      off_with_transition: false
      off_brightness: 254
      icon: mdi:light-recessed
      friendly_name: Display Cabinets South
      supported_features: 40
      state: 'off'
    light.display_cabinets_west:
      supported_color_modes:
      - brightness
      off_with_transition: false
      off_brightness: 254
      icon: mdi:light-recessed
      friendly_name: Display Cabinets West
      supported_features: 40
      state: 'off'
    light.office_lamp:
      min_color_temp_kelvin: 2000
      max_color_temp_kelvin: 6535
      min_mireds: 153
      max_mireds: 500
      effect_list:
      - colorloop
      supported_color_modes:
      - color_temp
      - xy
      off_with_transition: false
      off_brightness: 254
      icon: mdi:lamp
      friendly_name: Office Lamp
      supported_features: 44
      state: 'off'
    light.office_light:
      min_color_temp_kelvin: 2000
      max_color_temp_kelvin: 6535
      min_mireds: 153
      max_mireds: 500
      effect_list:
      - colorloop
      supported_color_modes:
      - color_temp
      - xy
      off_with_transition: false
      off_brightness: 254
      icon: mdi:ceiling-light
      friendly_name: Office Light
      supported_features: 44
      state: 'off'
  metadata: {}
- id: '1678597002418'
  name: Working
  entities:
    light.display_cabinets_north:
      supported_color_modes:
      - brightness
      color_mode: brightness
      brightness: 254
      off_with_transition: false
      off_brightness:
      icon: mdi:light-recessed
      friendly_name: Display Cabinets North
      supported_features: 40
      state: 'on'
    light.display_cabinets_west:
      supported_color_modes:
      - brightness
      color_mode: brightness
      brightness: 254
      off_with_transition: false
      off_brightness:
      icon: mdi:light-recessed
      friendly_name: Display Cabinets West
      supported_features: 40
      state: 'on'
    light.hue_go:
      min_color_temp_kelvin: 2000
      max_color_temp_kelvin: 6535
      min_mireds: 153
      max_mireds: 500
      effect_list:
      - colorloop
      supported_color_modes:
      - color_temp
      - xy
      color_mode: xy
      brightness: 178
      hs_color:
      - 21.852
      - 63.529
      rgb_color:
      - 255
      - 152
      - 93
      xy_color:
      - 0.54
      - 0.367
      off_with_transition: false
      off_brightness:
      icon: mdi:light-flood-up
      friendly_name: Hue Go
      supported_features: 44
      state: 'on'
    light.display_cabinets_south:
      supported_color_modes:
      - brightness
      color_mode: brightness
      brightness: 254
      off_with_transition: false
      off_brightness:
      icon: mdi:light-recessed
      friendly_name: Display Cabinets South
      supported_features: 40
      state: 'on'
    light.office_lamp:
      min_color_temp_kelvin: 2000
      max_color_temp_kelvin: 6535
      min_mireds: 153
      max_mireds: 500
      effect_list:
      - colorloop
      supported_color_modes:
      - color_temp
      - xy
      off_with_transition: false
      off_brightness:
      icon: mdi:lamp
      friendly_name: Office Lamp
      supported_features: 44
      color_mode: xy
      brightness: 254
      hs_color:
      - 38.54
      - 53.725
      rgb_color:
      - 255
      - 206
      - 118
      xy_color:
      - 0.46
      - 0.411
      state: 'on'
  metadata: {}

Has anyone else seen this, or something like it?

I have logging active:

logger:
  default: warn
  logs:  
    homeassistant.components.zha: warn

But I don’t see any entries when this happens.

I don’t think it’s my ZigBee network, as I never experienced this when running deCONZ.

Could it be HA’s compatibility with the ConBee II? I think compatibility is only recently out of beta? HA’s confidence that the signal was sent and the device is properly on/off (when it isn’t) leads me to believe that the problem is somewhere between the ConBee and the light. Would switching to a SkyConnect (or other coordinator) solve this? I’m really hoping this is the case, as that’s a quick and easy solution.

Could it be ZHA? Am I better off plugging back in deCONZ via Interation? Or switching to a Z2M or something else? I’d really prefer not to, as one of the main reasons I left deCONZ was lesser device support vs. ZHA.

While I’d like to consider myself a home automation veteran, I’m still very much an HA beginner. While I have been using HA for a long time, it’s really just been as a glorified bridge to HomeKit. I’m only just starting to migrate the brain out of HomeKit into HA. As such, could it be the way I’ve constructed my scenes or automatons? I used the GUI to make those scenes, and I certainly don’t think I need to have all of those attributes in there, especially for the ‘Office Off’ scene, do I?

I haven’t used deCONZ but I had a similar problem with Zigbee2MQTT.
Before deciding on what to use I installed ZHA and Z2M to try them out.
Few weeks later as my network grew I was getting more and more “weird shit” randomly happening.
Then one time while rebooting home assistant, I noticed it said “starting ZHA”
Basically ZHA and Z2M were having a fight over the zigbee coordinator every time I rebooted and it was random which one would start first. That left a bunch of duplicate /similar devices that caused heaps of random stuff to happen depending on who won the race to the coordinator at start up, who created the entity, who understands the attributes of it etc…

ZHA must have snuck back in when restoring a backup to fix something.

I deleted ZHA and it all works fine now.

So basically just check you don’t have two different services trying to do the same thing. :blush:

Thanks, but I don’t think it’s anything that serious, and I have checked. I’ve ordered a SkyConnect just to rule out whether or not it is the ConBee II.

No problem, I know you’ve ordered a coordinator, but for anyone else reading, these are fantastic, and you can put it in the most logical place in your house as you’re not tied to usb

ATHOM Zigbee 3.0 Gateway Zigbee2MQTT CC2652P ESP32 Works With Home Assistant
https://a.aliexpress.com/_mPvAsrM

I’ve been running it for a month or so, very happy.

I actually just ordered a spare so I can quick swap the first one out if it ever dies.

I think that’s one thing people don’t think about - how much it would be a pain in the ass if your coordinator dies, 90% of your smart home stops and you have to wait a month for another to arrive.
Good $50 insurance policy haha