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

i was hoping to add the trust zyct-202 remote it tries to pair but the only entity i get is a switch and that does nothing. how would i go about seeing if this remote could have a quirk made

https://www.trust.com/en/product/71171-zigbee-remote-control-zyct-20

what device(s)

it works w/ husbzb-1 I don’t think our deconz lib supports it yet. It requires broadcast support.

buttons and remotes should only have events. Entities make no sense for trigger type devices and they are nearly impossible for integrations to keep in the correct state

I posted a link to the remote device in my post

Yeah I understand the reasoning. It’s just unfortunate that it’s an overall regression, it broke my automations and required an ugly workaround.

I guess not technically a “bug”, so it’s not in the bug tracker. I wouldn’t know where to begin to implement this functionality, but here’s the feature request for voting… So far it’s the other guy who created the thread and me, heh.

I just wanted to say thank you so much this worked for me perfectly!!

I’ve added one of my Xiaomi curtains to ZHA as a test, since they often lose connection to the Xiaomi Gateway.

They show up as three devices (two binary sensors for occupancy and open/closed, but these never change. And a switch that only works for 0% and 100% and stops working once you’ve manually changed the position to something in between).

I’ve created a template cover and discovered the necessary services and data for to open, close and set the cover to specific position, but I’m unable to get the current position in this entity. The attribute is the same as I use for the zha.set_zigbee_cluster_attribute, but there is nothing like a zha.get_zigbee_cluster_attribute command available, and none of the three devices contains a value for this. Did anyone solve this?

This is the full template cover I use now; the value_template is invalid and needs to be replaced with a position_template.
Updated code:

- platform: template
  covers:
    my_curtain:
      position_template: '{{ states("sensor.my_curtain_position") | int }}'
      open_cover:
        - service: zha.set_zigbee_cluster_attribute
          data:
            ieee: "00:15:8d:00:02:b0:80:5b"
            endpoint_id: 1
            cluster_id: 13 // Analogoutput
            cluster_type: "out"
            attribute: 85 // present_value
            value: 100
      close_cover:
        - service: zha.set_zigbee_cluster_attribute
          data:
            ieee: "00:15:8d:00:02:b0:80:5b"
            endpoint_id: 1
            cluster_id: 13
            cluster_type: "out"
            attribute: 85
            value: 0
      set_cover_position:
        - service: zha.set_zigbee_cluster_attribute
          data_template:
            ieee: "00:15:8d:00:02:b0:80:5b"
            endpoint_id: 1
            cluster_id: 13
            cluster_type: "out"
            attribute: 85
            value: "{{position}}"

// in sensor-section
- platform: sql
  db_url: sqlite:////config/zigbee.db
  scan_interval: 10
  queries:
    - name: my_curtain_position
      query: "SELECT value FROM attributes where ieee = '00:15:8d:00:02:b0:80:5b' and cluster = 13 and attrid = 85"
      column: "value"

I also saw @dmulcahey mention in an issue on Github last July that The cover domain will be added soon, maybe that will make this question obsolete, but I can’t find anything else regarding the status on that.

EDIT
Based on a post from @dargonos I’ve found a solution for getting the position by directly looking in the zigbee.db database. Not as elegant as the regular no-config Xiaomi curtains from before, so I’m still looking forward to the cover domain in ZHA, but for now this will do!

I haven’t started the work because the motors I got are 220v. I’ll get to this once I have motors that work in the US.

Thanks for the reply! Feel free to let me know if there is anything I can do or test for you to get this working.
Do you happen to know of any way to get the position value reading working for now?

Check the deconz or z2m forum for hints. I haven’t spent the time to figure it out yet

I’m trying to work with an Aqara/Xiaomi Sensors, ZHA, Nortek HUSBZB-1, hassio 0.98.5

I was able to pair and successfully use a Water Leak Sensor, Temp/Humidity Sensor and one of the original round Buttons (single button, single/double/triple/quad clicks) without any issues.

I was able to get my Aqara Cube to pair as a “lumi.sensor_cube”, and it’s showing me 3 sensors. One appears to be battery and one of the other ones seems to get a state_change update when I rotate it. The strange thing is that I’m getting no zha events from the darn thing. Is this normal? Looking at the zha quirks project I am sort of expecting to see rotation, flip, shake, slide, etc events and I’m just getting zilch.

I’m using the Developer Tools - Events - Subscribe Events, with both “zha_event” and just using “*”

I see events every now and then for a state_change on it’s battery, and a state_change on what appears to be some kind of rotate, although it doesn’t seem to correlate much with the observed amount of rotate (I’ll rotate the cube about 45 deg and it’ll report a change of about 70.)

I think there may be multiple versions of the cube with slight variations. Mine paired this way as well. I was able to modify the quirk to work but it’s not 100% as so.e of the events have the wrong orientation description (https://github.com/dmulcahey/zha-device-handlers/issues/148)

Unfortunately I don’t know much about how the quirks files work. I do know that if I go to Configuration -> ZH network management -> and click Add Device I seem to be able to see some debug traffic for the zigbee network. If I then pickup my cube and tap it with the logo up my desk twice, I get this:

[0x3c85:2:0x0012] ZCL request 0x000a: [[<Attribute attrid=85 value=<TypeValue type=uint16_t, value=512>>]]
[0x3c85:2:0x0012] Attribute report received: present_value=512

Which seems to correlate with this from the quirk file: “KNOCK_1_VALUE = 512 # aqara skyside”

But no zha_events are generated.

My Osram Smart Plug keep pushing errors in my log.
I got hundreds of errors and it seems like this causes sometimes a delay in my system!
Log example:

2019-09-17 18:55:56 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x1718000800010001
2019-09-17 18:55:56 DEBUG (MainThread) [zigpy_deconz.api] Request id: 0x03 'aps_data_confirm' for <DeconzAddressEndpoint address_mode=ADDRESS_MODE.NWK address=0x6c58 endpoint=3>, status: 0xe9
2019-09-17 18:55:56 WARNING (MainThread) [zigpy_deconz.zigbee.application] Error while sending frame: 0xe9
2019-09-17 18:55:56 DEBUG (MainThread) [zigpy_deconz.zigbee.application] Zigbee request with id 4, data: b'0004000b05'
2019-09-17 18:55:56 DEBUG (MainThread) [zigpy_deconz.api] Command aps_data_request (20, 4, 0, <DeconzAddressEndpoint address_mode=2 address=27736 endpoint=3>, 260, 2820, 1, b'\x00\x04\x00\x0b\x05', 2, 0)
2019-09-17 18:55:56 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x1219001b001400040002586c030401040b0105000004000b050200
2019-09-17 18:55:56 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' responnse from <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x6c58>, ep: 3, profile: 0x0104, cluster_id: 0x0006, data: b'1801010000001001'
2019-09-17 18:55:56 DEBUG (MainThread) [homeassistant.components.zha.core.channels] [0x6c58:3:0x0006]: initializing channel: from_cache: False
2019-09-17 18:55:56 DEBUG (MainThread) [homeassistant.components.zha.core.channels] [0x6c58:3:0x0006]: channel: 'async_initialize' stage succeeded
2019-09-17 18:55:56 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x17180026001f00220200000102586c03040100000800180201070000300100afffa3000102c5
2019-09-17 18:55:56 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [31, 34, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0000>, 1, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x6c58>, 3, 260, 0, b'\x18\x02\x01\x07\x00\x000\x01', 0, 175, 255, 163, 0, 1, 2, -59]
2019-09-17 18:55:56 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x121900090002002204
2019-09-17 18:55:56 DEBUG (MainThread) [zigpy_deconz.api] APS data request response: [2, 34, 4]
2019-09-17 18:55:56 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x0e1a000700a600
2019-09-17 18:55:56 DEBUG (MainThread) [zigpy_deconz.api] Device state changed response: [166, 0]
2019-09-17 18:55:56 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x0e1b000700ae00
2019-09-17 18:55:56 DEBUG (MainThread) [zigpy_deconz.api] Device state changed response: [174, 0]
2019-09-17 18:55:56 DEBUG (MainThread) [zigpy_deconz.api] Command aps_data_confirm (0,)
2019-09-17 18:55:56 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x041a0007000000
2019-09-17 18:55:56 DEBUG (MainThread) [zigpy_deconz.api] Command aps_data_indication (1, 1)
2019-09-17 18:55:56 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x171b000800010001
2019-09-17 18:55:56 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' responnse from <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x6c58>, ep: 3, profile: 0x0104, cluster_id: 0x0000, data: b'1802010700003001'
2019-09-17 18:55:56 DEBUG (MainThread) [homeassistant.components.zha.core.channels] [0x6c58:3:0x0000]: initializing channel: from_cache: False
2019-09-17 18:55:56 DEBUG (MainThread) [homeassistant.components.zha.core.channels] [0x6c58:3:0x0000]: channel: 'async_initialize' stage succeeded
2019-09-17 18:55:56 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x041a0013000c002a0402586c03010000000000
2019-09-17 18:55:56 DEBUG (MainThread) [zigpy_deconz.api] APS data confirm response for request with id 4: 00
2019-09-17 18:55:56 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x171b0027002000220200000102586c030401040b09001804010b050029900100afffa3000102c5
2019-09-17 18:55:56 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [32, 34, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0000>, 1, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x6c58>, 3, 260, 2820, b'\x18\x04\x01\x0b\x05\x00)\x90\x01', 0, 175, 255, 163, 0, 1, 2, -59]
2019-09-17 18:55:56 DEBUG (MainThread) [zigpy_deconz.api] Request id: 0x04 'aps_data_confirm' for <DeconzAddressEndpoint address_mode=ADDRESS_MODE.NWK address=0x6c58 endpoint=3>, status: 0x00
2019-09-17 18:55:56 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' responnse from <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x6c58>, ep: 3, profile: 0x0104, cluster_id: 0x0b04, data: b'1804010b0500299001'
2019-09-17 18:55:56 DEBUG (MainThread) [homeassistant.components.zha.core.channels] [0x6c58:3:0x0b04]: initializing channel: from_cache: False
2019-09-17 18:55:56 DEBUG (MainThread) [homeassistant.components.zha.core.channels] [0x6c58:3:0x0b04]: channel: 'async_initialize' stage succeeded
2019-09-17 18:55:56 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0x6c58](Plug 01): power source: Mains
2019-09-17 18:55:56 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0x6c58](Plug 01): completed initialization

Hopefully this will be fixed soon, working with the dev. even when you match the quirk the events aren’t accurate so it needs a little fixing.

just out of curiosity, if you do a knock with the Aqara logo facing you and right side up do you get a 517 or 514? for the Attribute received?

@tube0013 with the logo facing me, and letters go left to right (not rotated) I get a

[0x3c85:2:0x0012] ZCL request 0x000a: [[<Attribute attrid=85 value=<TypeValue type=uint16_t, value=517>>]]
[0x3c85:2:0x0012] Attribute report received: present_value=517

If I rotate the cube so the logo is facing me, but upside down I get 514.

Ok, that is the same that my cube does. It is slightly different than what the current quirk is set up for, there apparently is a Aqara model and a Miji Model but both say Aqara!

You can see the chart I created today in the github issue i linked above. this should get worked out soon.

1 Like

Wouldn’t surprise me in the least if it was a simple matter of a pick & place machine on one production line putting the cube one way or another when inserting the innards or getting printed. For a lot of users it really wouldn’t matter which side was considered “up” so long as on their cube it was consistent. I know I wouldn’t have really cared, so long as I actually got events that I could tie an automation to :slight_smile:

How did you do this?

I’m using zha and doing zha_event and start listening. I am not getting any response.

I added the device handlers quirks to my home assistant and did

zha:
  database_path: /local/www/device_handlers

any help would be appreciated!