ZHA Zigbee Tested Devices...Please add your device results

Yes I have four of them, three have great signal quality and work really well. One the quality if lower and Whilst it stickS to the network it stops listening sometimes. Need to look at him it’s routing in the network

1 Like

Sounds good :blush: let me know if you need someone to test or get logs

Any chance of the ZHA network visualisation card for Lovelace getting fixed to do with Lovelace becoming unstable when using it? Would be a great feature to have.

Updates were recently pushed to it that fixed the crashing.

1 Like

Loaded it today David, much improved thank you :+1:

1 Like

I’m not sure if anyone has covered these devices off yet, but these are the ones I’ve been playing with:

  • Hue white dimmable bulbs
  • Hue 4 button remote
  • Tradfri white bulb with temperature
  • Tradfri white candle bulb
  • Tradfri 5 button remote
  • Floalt LED panel
  • Hive white bulb
  • Hive motion sensor
  • Hive door / window sensor
  • Aqara wireless switch (both 1 and 2 button)
  • Aqara wall switch, single firewire
  • Aqara smart button
  • Aqara temperature and humidity sensor

I can report that all of the above do work, although some need more coaxing than others. However, I did find one of the Aqara double gang switches (branded Tini Regner, bought on Amazon) wouldn’t work until I updated the dev quirks to version 0.0.43.

I’ve attempted to add the Hive water leak sensor to ZHA as well, but to no avail. I expect this is more to do with the hardware than anything in ZHA, as it doesn’t even detect as an unknown device. If anyone knows how to make these work, that would be great, but I can live without it.

It would be really nice if the zha-network-configuration-card was either in HACS or even better added as an add-on in the store. I’ve tried 2 or 3 times now to get it to work and have had no luck. It never can find the custom component. I’ve found z-wave graph to be very useful, and would love to get that same kind of information for my Zigbee network.

Have you actually downloaded and installed the custom component? There are 2 parts to this. If you’re only installing the card it will not work.

I have done both. The zha_map works from what I can see when call it and look at the logs. I probably have 3 or 4 hours dedicated exclusively to trying to get the card to work.

Trying to add a tradfri 5 button remote:


I’m using node red for my automation so I’m reading the zha_events there.
ZHA doesn’t seem to differentiate between left and right press.
Here are the mappings I found in node-red:

toggle: toggle

up: step_with_on_off
up_hold: move_with_on_off
down: step
down_hold: move
release_up/down: stop

left: press
left_hold: hold
right: press
right_hold: hold
release_left/right: release

Is there any way to rename these mapping to make a bit more sense? Also is there some way to differentiate between left and right click?
Or is there a better way to integrate zha in NR than listening to all events from “zha_events”

those mappings are the zcl command names. there are other arguments that you can use to determine which one it is.

1 Like

Hi, yeah I found more arguments which distinguish between the different directions.
I was just used to z2m where every button is one command.

@sillywalks - try the appdaemon app ControllerX. It will simplify your use of ZHA remotes 1000 fold…

1 Like

or just use device triggers in HA automations

1 Like

Added CC2531 and Hibro plug.
CC2531 - works
Hibro plug - somewhat works. Turns on and off, but the plug state is not kept.

I’ve got three Zigbee devices not working correctly in Home Assistant.
In Tuya Smart Life they worked just fine.

Two of them are battery powered “three button switches” (actually momentary push buttons).

grafik

Those two devices pair just fine to zha, but none of their buttons work.

{
  "node_descriptor": "<Optional 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>",
  "endpoints": {
    "1": {
      "profile_id": 260,
      "device_type": "0x0000",
      "in_clusters": [
        "0x0000",
        "0x0001",
        "0x0006"
      ],
      "out_clusters": [
        "0x000a",
        "0x0019"
      ]
    },
    "2": {
      "profile_id": 260,
      "device_type": "0x0000",
      "in_clusters": [
        "0x0001",
        "0x0006"
      ],
      "out_clusters": []
    },
    "3": {
      "profile_id": 260,
      "device_type": "0x0000",
      "in_clusters": [
        "0x0001",
        "0x0006"
      ],
      "out_clusters": []
    }
  },
  "manufacturer": "_TZ3400_key8kk7r",
  "model": "TS0043",
  "class": "zigpy.device.Device"
}
{
  "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>",
  "endpoints": {
    "1": {
      "profile_id": 260,
      "device_type": "0x0000",
      "in_clusters": [
        "0x0000",
        "0x0001",
        "0x0006",
        "0x000a"
      ],
      "out_clusters": [
        "0x0019"
      ]
    },
    "2": {
      "profile_id": 260,
      "device_type": "0x0000",
      "in_clusters": [
        "0x0001",
        "0x0006"
      ],
      "out_clusters": []
    },
    "3": {
      "profile_id": 260,
      "device_type": "0x0000",
      "in_clusters": [
        "0x0001",
        "0x0006"
      ],
      "out_clusters": []
    }
  },
  "manufacturer": "_TZ3000_a7ouggvs",
  "model": "TS0043",
  "class": "zigpy.device.Device"
}

Both devices are paired.

If I toggle the switch in HA, it stays at it’s position.
If I press a button on a device, the LED lights up, but HA does not seem to get anything.

In the Zigbee Integration UI, after I pressed the “+”, then “Show Logs” and then push button 1 on both switches, I get the log:

[0x5e25:1:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=38 command_id=253>
[0x5e25:1:0x0006] Unknown cluster-specific command 253
[0x5e25:1:0x0006] ZCL request 0x00fd: b'\x00'
[0x5e25:1:0x0006] No handler for cluster command 253
[0x5e25:1:0x0006]: received '253' command with b'\x00' args on cluster_id '6' tsn '38'
[0x8a9a:1:0x0001] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=63 command_id=Command.Report_Attributes>
[0x8a9a:1:0x0001] ZCL request 0x000a: [[<Attribute attrid=33 value=<TypeValue type=uint8_t, value=200>>]]
[0x8a9a:1:0x0001] Attribute report received: battery_percentage_remaining=200
[0x5e25:1:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=38 command_id=253>
[0x5e25:1:0x0006] Unknown cluster-specific command 253
[0x5e25:1:0x0006] ZCL request 0x00fd: b'\x00'
[0x5e25:1:0x0006] No handler for cluster command 253
[0x5e25:1:0x0006]: received '253' command with b'\x00' args on cluster_id '6' tsn '38'
[0x8a9a:1:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=64 command_id=253>
[0x8a9a:1:0x0006] Unknown cluster-specific command 253
[0x8a9a:1:0x0006] ZCL request 0x00fd: b'\x00'
[0x8a9a:1:0x0006] No handler for cluster command 253
[0x8a9a:1:0x0006]: received '253' command with b'\x00' args on cluster_id '6' tsn '64'
[0x8a9a:1:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=64 command_id=253>
[0x8a9a:1:0x0006] Unknown cluster-specific command 253
[0x8a9a:1:0x0006] ZCL request 0x00fd: b'\x00'
[0x8a9a:1:0x0006] No handler for cluster command 253
[0x8a9a:1:0x0006]: received '253' command with b'\x00' args on cluster_id '6' tsn '64'

Am I doing or expecting something in the wrong way here?

I’ll write about that third device in the next post because it’s mains powered and partly works.

I’ve got a mains powered “three button wall switch” that partly works.
It worked fine in Tuya Smart Life.
If I press any button on the physical switch, the state is reflected in HA.
If I toggle a switch in HA, only relay 1 (the left one) get’s toggled. Relays for buttons 2 and 3 are not switchable by HA.
grafik

{
  "node_descriptor": "<NodeDescriptor byte1=1 byte2=64 mac_capability_flags=142 manufacturer_code=0 maximum_buffer_size=82 maximum_incoming_transfer_size=82 server_mask=11264 maximum_outgoing_transfer_size=82 descriptor_capability_field=0>",
  "endpoints": {
    "1": {
      "profile_id": 260,
      "device_type": "0x0100",
      "in_clusters": [
        "0x0000",
        "0x0003",
        "0x0004",
        "0x0005",
        "0x0006"
      ],
      "out_clusters": [
        "0x0019"
      ]
    },
    "2": {
      "profile_id": 260,
      "device_type": "0x0100",
      "in_clusters": [
        "0x0000",
        "0x0003",
        "0x0004",
        "0x0005",
        "0x0006"
      ],
      "out_clusters": [
        "0x0019"
      ]
    },
    "3": {
      "profile_id": 260,
      "device_type": "0x0100",
      "in_clusters": [
        "0x0000",
        "0x0003",
        "0x0004",
        "0x0005",
        "0x0006"
      ],
      "out_clusters": [
        "0x0019"
      ]
    }
  },
  "manufacturer": "_TYZB01_b8cr31hp",
  "model": "TS0003",
  "class": "zigpy.device.Device"
}

…btw:
All my other 60 Zigbee devices work perfectly fine with HA.
You guys did a fantastic job! :smiley:

If I toggle a switch in HA, only relay 1 (the left one) get’s toggled. Relays for buttons 2 and 3 are not switchable by HA.

CC2531/zigpy-cc???

IMO Tuya is leaping ahead of xiaomi on “how not to interpret zigbee standards”
For that “device_type: 0x0000” and the actual physical devices, the “on_off” cluster should be on the “out_clusters” side and the device should generate events. This needs a quirk, but with that pace anything from Tuya would need a quirk, meh.

1 Like

CC2531/zigpy-cc???

Yes.

This needs a quirk

How can I help?

Yeah, there’s a problem with zigpy-cc. you could try switching to https://github.com/zha-ng/zigpy-znp but currently no user friendly way to do the switch.
You could try copying the zha folder from core/homeassistant/components/zha at dev · home-assistant/core · GitHub as a zha folder into /config/custom_components and then applying the following changes:

diff --git a/homeassistant/components/zha/core/const.py b/homeassistant/components/zha/core/const.py
index 63652f58f3..9248fa12eb 100644
--- a/homeassistant/components/zha/core/const.py
+++ b/homeassistant/components/zha/core/const.py
@@ -9,6 +9,7 @@ import zigpy_cc.zigbee.application
 import zigpy_deconz.zigbee.application
 import zigpy_xbee.zigbee.application
 import zigpy_zigate.zigbee.application
+import zigpy_znp.zigbee.application
 
 from homeassistant.components.binary_sensor import DOMAIN as BINARY_SENSOR
 from homeassistant.components.climate import DOMAIN as CLIMATE
@@ -177,6 +178,10 @@ class RadioType(enum.Enum):
         "deCONZ = dresden elektronik deCONZ protocol: ConBee I/II, RaspBee I/II",
         zigpy_deconz.zigbee.application.ControllerApplication,
     )
+    znp = (
+        "TI_ZNP = Texas Instruments Z-Stack ZNP protocol: CC253x, CC26x2, CC13x2",
+        zigpy_znp.zigbee.application.ControllerApplication,
+    )
     ti_cc = (
         "TI_CC = Texas Instruments Z-Stack ZNP protocol: CC253x, CC26x2, CC13x2",
         zigpy_cc.zigbee.application.ControllerApplication,
diff --git a/homeassistant/components/zha/manifest.json b/homeassistant/components/zha/manifest.json
index bb5da313a5..bbe4b7e023 100644
--- a/homeassistant/components/zha/manifest.json
+++ b/homeassistant/components/zha/manifest.json
@@ -7,6 +7,7 @@
     "bellows==0.18.1",
     "pyserial==3.4",
     "zha-quirks==0.0.43",
+    "git+https://github.com/zha-ng/zigpy-znp@dev#zigpy-znp==0.1.0",
     "zigpy-cc==0.5.1",
     "zigpy-deconz==0.9.2",
     "zigpy==0.22.2",

and then you either have to remove the integration and configure it manually again but this time choosing ZNP radio — This would kill zha entities customizations, or you could edit .storage/core.config_entries and change the radio type to znp

FWIW - so far I’ve had pretty good luck with tuya based contact, temp/humidity, leak sensors and a valve controller. all work out of the box with no quirks. I also have a tuya based MOES power socket that works as well, but has clusters for power monitoring but doesn’t really support them, so you just need to disable the entities it creates. can’t speak to buttons/switches.