Zigbee - Motion Detector - Orvibo - Stuck on Detected

First time I tried to add the device to Home Assistant nothing showed up on the screen. Therefore I factory reset the device and pulled out my SmartThings hub to try it on there. It was found on the first try and worked flawlessly. Although I did not need to use the custom DHT, this was provided on the seller’s portal:

After successfully removing the device from SmartThings I was able to successfully add the motion detector to Home Assistant using the built in ZHA support. I am not sure what I did differently this time, I was simply happy it “worked”.

It “detects” movements and I can see the nwk, ieee, rssi and battery level statuses.

However here is where I am having trouble.

The device indicates that it is unavailable until a detects a motion
It will remain online for about 2 hours during which time it continues to indicate that motion is detected even if I hide it in a box.
When the device finally times out, it will become once again unavailable
And the cycle begins again.

Of note in the SmarThings DHT file linked above line 33 of the groovy code states the following

“These devices don’t report when motion stops, so it’s necessary to have a timer to report that motion has stopped. You can adjust how long this is below.”

My guess it is this behavior that is causing the problem. Although my code / driver / device handler writing skills are terrible, I am assuming it should be an easy fix. I simply am not sure where to start.

The only time it shows that the device is in the “Clear” status is right after joining the zigbee network. Otherwise it will get stuck at “Detected” until it becomes “Unavailable” some 2hours and 20 minutes later.

Please note that I have already added a few Zigbee devices to HA including the Livingsmart Door/Windows Contact Sensor model SM10ZW (also rebranded from Orvibo) and a Multi Temperature White LED ceiling light. All of them worked right out of the box.
My Setup
Home Assistant 0.93.2 using Hass.io installed on Proxmox using whiskerz007 script
ZWave & Zigbee connectivity: Nortek HUSBZB-1

configuration.yaml (relevant section)

zha:
  usb_path: /dev/ttyUSB1
  database_path: /config/zigbee.db

Manufacturer: ORVIBO
Model: SN10ZW-1CO (Livingsmart rebrand of Orvibo device)

Logs
Not sure what information is going to be relevant, but here is some information from the logs that I believe might be important.

Device 0x765d (00:15:xx:xx:xx:xx:xx:xx) left the network
Device 0x008e (00:15:xx:xx:xx:xx:xx:xx) joined the network
Device 00:15:xx:xx:xx:xx:xx:xx changed id (0x765d => 0x008e)
Canceling old initialize call
Failed ZDO request during device initialization: 
[0x008e] Requesting 'Node Descriptor'
[0x008e:zdo] ZDO request 0x0013: [142, 00:15:xx:xx:xx:xx:xx:xx, 128]
[0x008e] Node Descriptor: <NodeDescriptor byte1=2 byte2=64 mac_capability_flags=128 manufacturer_code=4151 maximum_buffer_size=127 maximum_incoming_transfer_size=100 server_mask=0 maximum_outgoing_transfer_size=100 descriptor_capability_field=0>
[0x008e] Discovering endpoints
[0x008e] Discovered endpoints: [1]
[0x008e:1] Discovering endpoint information
[0x008e:1] Discovered endpoint information: <SimpleDescriptor endpoint=1 profile=260 device_type=1026 device_version=1 input_clusters=[0, 3, 1280, 65535, 1] output_clusters=[0, 4, 3, 5, 1]>
[0x008e:1] Manufacturer: ORVIBO
[0x008e:1] Model: 895a2d80097f4ae2b2d40500d5e03dcc

ORVIBO 895a2d80097f4ae2b2d40500d5e03dcc: started configuration
node descriptor: [<Status.SUCCESS: 0>, 142, <NodeDescriptor byte1=2 byte2=64 mac_capability_flags=128 manufacturer_code=4151 maximum_buffer_size=127 maximum_incoming_transfer_size=100 server_mask=0 maximum_outgoing_transfer_size=100 descriptor_capability_field=0>]
ORVIBO 895a2d80097f4ae2b2d40500d5e03dcc: channel: zdo-ORVIBO 895a2d80097f4ae2b2d40500d5e03dcc_ZDO async_configure stage succeeded
0x008e:1:0x0000: finished channel configuration
0x008e:1:0x0500: started IASZoneChannel configuration
initializing channel: basic from_cache: False
ORVIBO 895a2d80097f4ae2b2d40500d5e03dcc: channel: basic-0x008e:1:0x0000 async_configure stage succeeded
0x008e:1:0x0500: bound  'ias_zone' cluster: Status.SUCCESS
0x008e:1:0x0500: wrote cie_addr: 00:0d:6f:00:12:00:b6:a4 to 'ias_zone' cluster: [<WriteAttributesStatusRecord status=Status.SUCCESS attrid=0>]
0x008e:1:0x0500: finished IASZoneChannel configuration
ORVIBO 895a2d80097f4ae2b2d40500d5e03dcc: channel: ias_zone-0x008e:1:0x0500 async_configure stage succeeded
Data remains after deserializing ZCL frame
[0x008e:1:0x0500] ZCL request 0x0101: []
Enroll requested
[0x008e:1:0x0500] No handler for cluster command 1
0x008e:1:0x0001: Failed to bind 'power' cluster: 
[0x008e:1:0x0500] ZCL request 0x0100: [1, 0, 0, 0]
Updated alarm state: 1
[0x008e:1:0x0500] No handler for cluster command 0
0x008e:1:0x0001: reporting 'battery_voltage' attr on 'power' cluster: 30/900/1: Result: '[[<ConfigureReportingResponseRecord status=140 direction=0 attrid=32>]]'

It sounds like the device doesn’t quite meet Zigbee standards. The appropriate place to handle this is in zhaquirks. Using that you can override any cluster, look at some of the other devices for ideas.

@rpress. Thanks for the link. I have posted the above information on the issue tracker. And will begin review the code of the other device handlers that are posted there.

Just received some of these as they’re half price on clearance at PrimeCables.ca

Same issue, though. Arg.

Hi @RyanEwen,
I picked up the devices from PrimeCable as well. I just saw that they lowered the price even more. Do you know for a fact that they are clearing out the devices, are they expecting to get more of them?

I still need to look at the device handlers at the github link mention above to see what can I do about them. But I have been traveling for work and have not had the time.

If I manage to find a solution, please update this thread and I will do the same.

Have a great day!

I don’t know unfortunately. Yesterday I noticed it said there were 22 door sensors left. Today it just says ‘in stock’.

My guess is that they’re getting rid of the ‘LivingWise’ branded stuff and will only sell the actual Orvibo stuff going forward.

I was going to try working around the issue by having an automation set the state to ‘off’ automatically a moment after motion is detected.

I’d rather contribute to zha-device-handlers/zhaquirks but I’m not sure if there’s an easy way to use that code without running everything from source. I’m running HA in docker. I’m a software developer but haven’t worked with python in a while (it was never my primary).

FWIW, I had intended to order the clearance-priced LivingWise contact sensors, motion sensors, and dimmers (all supported by SmartThings either natively as Orvibo devices or via additional device handlers) and then checked to see how well they are supported by Home Assistant via ZHA or by zigbee2mqtt. The answer made me hold off on the purchase.

I may buy some as a gift for a family member who currently uses a SmartThings Hub but for my own use it’s a wait-and-see situation.

I was planning on ordering a bunch of these sensors off of the PrimeCable clearance but held off and only ordered one just to make sure it would work. Sure enough, the motion sensing gets stuck when triggered. Hopefully the zhaquirks will receive one for the orvibo!

Has there been any luck with these yet? I understand that in SmartThings the sensors work and are picked up without custom handlers but using the SmartThings sensor option

Maybe we can use automation to reset the sensor once motion is detected.
I know it’s a bad way to do it but this can be a partial solution until developers release a formal quirk.
We are half way to utilize this sensor, Does anyone know if we can use the zha.issue_zigbee_cluster_command service to send such command?

Thanks.

Anyone have an update on these? I was about to place an order on primecables haha

I haven’t gotten around to looking at this. My sensors have just been sitting in a box :frowning:

I gave one of mine away to a friend with SmartThings to use…he didn’t use yet

Hi Guys,

Any news on this?
I see no progress on the Git page.
Anyone knows if the developer is going to work on this sensor?

Same problem with latest release… I think nobody interested.

For what its worth to anyone looking into this thread, I found that if I just switched the sensor to being a Zigbee Motion, it seemed to start working.

Hi Lord Kunguru,

That is some pretty great news, I will go fish it out of my box of unused things and give it a try.

Can you please provide additional details? For example for which version of Home Assistant did you test this on and where did you make the switch to Zigbee Motion sensor?

Is this what you added to your configuartion.yaml

zha:
  device_config:
    84:71:27:ff:fe:93:17:24-1:    # format: {ieee}-{endpoint_id} unique per device
      type: "motion"              # corrected device type

Thanks!

Hi Nickolaos,

I’m currently on Core-2021.4.5 and supervisor-2021.04.0. Nothing was really modified within HA at all. It was all upstream in Smartthings Samsung IDE page to modify them there to being the Zigbee Motion before it started working.

Once I added the device, I went into the IDE page, edited the device and set it to be Zigbee Motion Detector.

Latest update: It now natively works in Home Assistant using the native ZHA integration without having to make any changes.

  1. Motion is properly detected, and after approximately 1 minute, it shows the sensor is clear.
  2. It also detects battery, I will keep an eye to see if it does indeed properly track power level.
  3. It also “detects” a second sensor which is a virtual occupancy Boolean. Once motion is detected, it maintains the detected status for 10 minutes before it clears. Should another motion be detected before it clears, it will reset to “timer” back to 10 minutes.

Thank you for however created the necessary device handler.

1 Like