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>]]'