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

I think I’ve found out why my Elelabs do not work
ther is no symlink between /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0 and /dev/ttyUSB0

it should look like this when I do ls -l /dev/serial/by-id
usb-1a86_USB2.0-Serial-if00-port0 -> ../../ttyUSB0
but i get only
usb-1a86_USB2.0-Serial-if00-port0
How could I create that symlink

Super excited to see the ZHA group support for Hue bulbs in 113. I pulled my color lights and strips back off of HUE for testing. I can report groups work great as expected, Report status of being on, color changes, etc. One thing I did notice, and not sure if its a bug. If I change color of bulbs individually, it reports correctly. If I then change the color or brightness of a group, the group updates, but the individual lights to not update their state/color/brightness.

In my case I have two light strips. For some scenes they are set to the same color and brightness, and I enjoy it when then both change at the same time. But in other scenes they set to different colors, levels. So the UI fails to update individual lights if they are set by the group.

Edit: I take that back. The brightness reports correctly either scenario (group or individual), but color does not report back to HA correctly when changed via a group. Both the group and the individual lights are wrong

Edit2: Final status. When setting color and brightness via zha.group of hue lights. The colors change, the brightness changes correctly. The brightness is reported correctly,but the color does not update in HA. The color does change on the lights though.

Finally with the update to HA 0.113.0 Elelabs is back
My config for the dimmer is this

{
  "node_descriptor": "<NodeDescriptor byte1=17 byte2=64 mac_capability_flags=142 manufacturer_code=4508 maximum_buffer_size=71 maximum_incoming_transfer_size=43 server_mask=10752 maximum_outgoing_transfer_size=43 descriptor_capability_field=0>",
  "endpoints": {
    "1": {
      "profile_id": 260,
      "device_type": "0x0104",
      "in_clusters": [
        "0x0000",
        "0x0002",
        "0x0003",
        "0x0004",
        "0x0005",
        "0x0006",
        "0x0008",
        "0x0702",
        "0x0b05",
        "0xff01"
      ],
      "out_clusters": [
        "0x0003",
        "0x0004",
        "0x0019"
      ]
    }
  },
  "manufacturer": "Sinope Technologies",
  "model": "DM2500ZB",
  "class": "zigpy.device.Device"
}

This is what I have for light switch. It is also seenas a switch, not a light

{
  "node_descriptor": "<Optional byte1=17 byte2=64 mac_capability_flags=142 manufacturer_code=4508 maximum_buffer_size=71 maximum_incoming_transfer_size=43 server_mask=10752 maximum_outgoing_transfer_size=43 descriptor_capability_field=0>",
  "endpoints": {
    "1": {
      "profile_id": 260,
      "device_type": "0x0103",
      "in_clusters": [
        "0x0000",
        "0x0002",
        "0x0003",
        "0x0004",
        "0x0005",
        "0x0006",
        "0x0702",
        "0x0b05",
        "0xff01"
      ],
      "out_clusters": [
        "0x0003",
        "0x0004",
        "0x0019"
      ]
    }
  },
  "manufacturer": "Sinope Technologies",
  "model": "SW2500ZB",
  "class": "zigpy.device.Device"
}

Where can we get all devices type

I was expecting better from Sinope. Device Types 0x0103 and 0x0104 from HA profile are for On/Off Switch and for Dimmer switch devices, which are supposed to be the remotes, as those device types are supposed to generate on/off and level control commands.
You would need to override device using configuration.yaml Search this thread, as this information was posted here a few times.

Ok thank you I’ll search for that

This is the behaviour I’m seeing too I’m sure this could be solved with software but not sure where to put a GitHub issue on this to.

Created a GitHub issue here:

2 Likes

What are the device type that should be used for Sinopé light and dimmer if it’s not 0x0103 and 0x0104. Should we use 0x0100 and 0x0101. I think that those are for just light bulb and dimmable light bulb. If so I can make a zhaquirks for those two

How do I locally test my zhaquirks for Sinopé light and dimmer. Should I just copy my file light.py to

/config/deps/lib/python3.7/site-packages/zhaquirks/sinope

I’m on Hassio

I haven’t tried like this. Usually was just getting Hass os SSH dev access and from there was getting a shell inside the HA container docker exec -ti homeassistant /bin/bash

Ok will try it. So if I change the device type via a zhaquirks I’ll probably need to remove my device and then reconnect it or can I just click on the reconfigure link.

Also device type 0x0101 and 0x0100 are the correct type for the light ?

yes, I think 0x0100 and 0x0101 are correct device types. You don’t need to to rejoin the device, but need to restart HA and check debug logs to see if quirk was matched. If it was matched, then quirk class will be present in “Zigbee Information” output from device panel

Once I restarted the HA server but in the log I get

2020-07-26 14:31:03 ERROR (MainThread) [zigpy.application] Couldn't start application
2020-07-26 14:31:03 DEBUG (bellows.thread_0) [bellows.uart] Closed serial connection
2020-07-26 14:31:03 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0 for zha
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 219, in async_setup
    result = await component.async_setup_entry(  # type: ignore
  File "/usr/src/homeassistant/homeassistant/components/zha/__init__.py", line 100, in async_setup_entry
    await zha_gateway.async_initialize()
  File "/usr/src/homeassistant/homeassistant/components/zha/core/gateway.py", line 146, in async_initialize
    self.application_controller = await app_controller_cls.new(
  File "/usr/local/lib/python3.8/site-packages/zigpy/application.py", line 65, in new
    await app.startup(auto_form)
  File "/usr/local/lib/python3.8/site-packages/bellows/zigbee/application.py", line 139, in startup
    await self.initialize()
  File "/usr/local/lib/python3.8/site-packages/bellows/zigbee/application.py", line 89, in initialize
    await self._cfg(t.EzspConfigId[config], value)
  File "/usr/local/lib/python3.8/site-packages/bellows/zigbee/application.py", line 231, in _cfg
    assert v[0] == t.EmberStatus.SUCCESS  # TODO: Better check
AssertionError

Don’t know if it is my patch or if I have another problem

After another HA restart it’s ok but my devices are still 0x0103 and 0x0104.
Do I just need to copy my light.py file into the …zhaquirks/sinope dir or I need to register it somewhere. I don’t think that the file it picked by zigpy.

in file

/config/deps/lib/python3.7/site-packages/zhaquirks/sinope/__pycache__

there is a file thermostat.cpython-37.pyc

Normally if my light.py quirk was working there were a file light.cpython-37.pyc in that dir also.

Do I need to add something else in my logger:

logger:
  default: warning
  logs:
    homeassistant.custom_components: debug
    custom_components.neviweb: debug
    custom_components.sinope: debug
    components.climate.sensibo: debug
    homeassistant.components.myq: debug
    homeassistant.components.mqtt: debug
    homeassistant.components.recorder: debug
    homeassistant.components.zha: debug
    bellows.ezsp: debug
    bellows.uart: debug
    zigpy.zdo: debug
    zigpy.application: debug

Still no go but I’ve found that if I restart the server, zha do not start. If I only restart HA there is no problem and zha is rrestarted.
Now for the quirks I have this in my logs for the Sinope light SW2500ZB

20-07-26 17:51:27 DEBUG (MainThread) [zigpy.endpoint] [0xdb8a:1] Manufacturer: Sinope Technologies
2020-07-26 17:51:27 DEBUG (MainThread) [zigpy.endpoint] [0xdb8a:1] Model: SW2500ZB
2020-07-26 17:51:27 DEBUG (MainThread) [zigpy.quirks.registry] Checking quirks for Sinope Technologies SW2500ZB (50:0b:91:40:00:01:cf:b5)
2020-07-26 17:51:27 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'bellows.zigbee.application.EZSPCoordinator'>
2020-07-26 17:51:27 DEBUG (MainThread) [zigpy.quirks.registry] Fail because device_type mismatch on at least one endpoint
2020-07-26 17:51:27 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.gledopto.soposhgu10.SoposhGU10'>
2020-07-26 17:51:27 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {11, 13} {1}
2020-07-26 17:51:27 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.lutron.lzl4bwhl01remote.LutronLZL4BWHL01Remote2'>
2020-07-26 17:51:27 DEBUG (MainThread) [zigpy.quirks.registry] Fail because profile_id mismatch on at least one endpoint
2020-07-26 17:51:27 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.netvox.z308e3ed.Z308E3ED'>
2020-07-26 17:51:27 DEBUG (MainThread) [zigpy.quirks.registry] Fail because device_type mismatch on at least one endpoint
2020-07-26 17:51:27 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.osram.a19twhite.A19TunableWhite'>
2020-07-26 17:51:27 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {3} {1}
2020-07-26 17:51:27 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.philips.rom001.PhilipsROM001'>
2020-07-26 17:51:27 DEBUG (MainThread) [zigpy.quirks.registry] Fail because device_type mismatch on at least one endpoint
2020-07-26 17:51:27 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.philips.rwl020.PhilipsRWL020'>
2020-07-26 17:51:27 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1, 2} {1}
2020-07-26 17:51:27 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.philips.rwl021.PhilipsRWL021'>
2020-07-26 17:51:27 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1, 2} {1}
2020-07-26 17:51:27 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.smartthings.multi.SmartthingsMultiPurposeSensor'>
2020-07-26 17:51:27 DEBUG (MainThread) [zigpy.quirks.registry] Fail because device_type mismatch on at least one endpoint
2020-07-26 17:51:27 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.smartthings.tag_v4.SmartThingsTagV4'>
2020-07-26 17:51:27 DEBUG (MainThread) [zigpy.quirks.registry] Fail because device_type mismatch on at least one endpoint
2020-07-26 17:51:27 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.xbee.xbee3_io.XBee3Sensor'>
2020-07-26 17:51:27 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {232, 230} {1}
2020-07-26 17:51:27 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.xbee.xbee_io.XBeeSensor'>
2020-07-26 17:51:27 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {232, 230} {1}
2020-07-26 17:51:27 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.xiaomi.mija.smoke.MijiaHoneywellSmokeDetectorSensor'>
2020-07-26 17:51:27 DEBUG (MainThread) [zigpy.quirks.registry] Fail because device_type mismatch on at least one endpoint

it look like my quirks is not loaded. I’ll continue to do my RTFM :grinning:

Hey man, just got this lock myself and am wondering if you ever got lock codes to work!

Is the Sonoff basiczbr3 working fine with ZHA?

Wow just realized I vanished from the forum when checking the WTH posts… been spending all of my time on discord. Is there anything pressing that needs attention?

I have a hunch on this one… I think it may have to do with how we poll the state. I’ll try to look into this soon.