New Would-Be Driver Developer - Basic Info Requested

I'm a UK-based Hubitat user, and a few days ago took a punt and bought a Frient Zigbee motion sensor:

https://smile.amazon.co.uk/gp/product/B08WXSZ56Z/

I've had very limited success at getting this set up; it can be added as a new device, but no driver's automatically picked up and even after manually setting it to be a Generic Zigbee Motion Sensor (with and without temp) it doesn't seem to be interacting with the hub in any way. No response to Configure, no events, no log entries (everything's been turned on). The device's dome does flash when there's motion, suggesting it's active, but AFAICS nothing makes it through to the hub.

After a bit of Googling it looks like other people have hit similar problems with Frient devices. There doesn't seem to be a Smartthings-based starting point for the Frient motion sensor in the (presumably) same repository referred to in that earlier smoke detector post.

My day job is software development, and I've dabbled in Groovy apps on SmartThings so I'm happy to give driver creation a go, but am a little stymied on where to start. The native Hubitat drivers are suggesting no traffic from the sensor at all, and there's no obvious custom driver to switch to.

Any suggestions/links on how best to get going with this would be appreciated! (Or, failing that, if anyone can confirm that what I've found indicates a fundamental incompatibility between the sensor and HE, please let me know!)

In case it's of use, these are the Device Details generated when the sensor's first connected to the hub - these are currently the beginning and end of what I have to work with:

ID: 30DA
Manufacturer:
Product Name:
Model Number:
deviceTypeId: 210
manufacturer :
idAsInt : 34
inClusters :
endpointId : 22
profileId :
application :
outClusters :
initialized : false
model :
stage : 0
manufacturer :
idAsInt : 35
inClusters :
endpointId : 23
profileId :
application :
outClusters :
initialized : false
model :
stage : 0
manufacturer :
idAsInt : 38
inClusters :
endpointId : 26
profileId :
application :
outClusters :
initialized : false
model :
stage : 0
manufacturer :
idAsInt : 39
inClusters :
endpointId : 27
profileId :
application :
outClusters :
initialized : false
model :
stage : 0
manufacturer :
idAsInt : 40
inClusters :
endpointId : 28
profileId :
application :
outClusters :
initialized : false
model :
stage : 0
manufacturer :
idAsInt : 41
inClusters :
endpointId : 29
profileId :
application :
outClusters :
initialized : false
model :
stage : 0
manufacturer :
idAsInt : 1
inClusters : 0003,0005,0006
endpointId : 01
profileId : C0C9
application :
outClusters :
initialized : false
model :
stage : 1

It says it works with smarthings, so it should work with Hubitat out of the box. Sorry, not much help other than try some other motion drivers that are pre-loaded in the hubitat.

Thanks for the suggestions, but my understanding was that any device will only work for a hub if there's a driver available for it. With the Frient sensor that's - apparently - the case for Smartthings hubs, which have a built-in driver, but not Hubitat which will connect to the Frient but can't find any built-in drivers that match. (And none of the ones I've tried assigning manually work either. :frowning_face:)

The fact that the Frient works with Smartthings only means it can probably work Hubitat in principle, not that it will automatically do so out of the box. (AFAICS some devices, like the Ikea buttons, require Zigbee firmware functionality that Smartthings supports but Hubitat doesn't.)

There doesn't seem to be a Frient/Hubitat driver at present, but hopefully that is something I can come up with given a bit more head-scratching over the Zigbee Cluster Library basics. :crossed_fingers:

Seems to match the Frient MOSZB-141 but probably won't work as-is with Hubitat even after following https://community.hubitat.com/t/app-and-driver-porting-to-hubitat/

You'll likely need to figure out with a ZigBee Sniffer what each endpoint is doing, typically Frient devices use separate endpoints for each feature so you'll probably find motion (via IAS), temperature, battery, light, etc are spread across the reported endpoints so they will need configuring appropriately.

1 Like

I cleared out the firmware update capability, tiles, and changed the physicalgraph entries and was able to save it. This should give you a good starting point.

https://raw.githubusercontent.com/heidrickla/Hubitat/main/Drivers/smartsense-motion-sensor.groovy

Thanks @martyn and @lewis.heidrick - that's a very good place to start from.

While it's tempting to try to fathom out endpoint/feature relationships by trial and error (there aren't that many of each!) getting a Zigbee Sniffer will be the proper way to do it. Plus it'll give me a new gadget that could be useful in future too, and both of those have to be a good thing.

CC2531 ordered from Amazon, and flashing plus setup, followed by driver work, scheduled for this weekend...

An update on progress here (and request for further hints). As covered above, I ordered a CC2531 and - I think - successfully flashed it as instructed here to use the ZBOSS firmware.

Screenshot of flash progress below:

I then downloaded WireShark and the ZBOSS package itself onto my Windows 10 system and moved the CC2531 over. I've added the Trust Center link key to my WireShark config. ZBOSS appears to be detecting the sniffer (remove it and the device list isn't populated at all), and I can configure the page/channel (my HE is using channel 26):

ZBOSS

...but when I start it sniffing it fires up WireShark and detects nothing at all:

WireShark

With it sniffing I've tried sending Zigbee signals via buttons/outlet control and removing and reconnecting a Zigbee device, and nothing; not a single message displayed.

Any thoughts on what I might be missing? :confused:

Are you sure the device supports channel 26? Not all devices do.

Channel 26 is the devil. Especially if the device manufacturer put a low pass filter on it like they are supposed to, as it squashes the high side of the signal, making it worse than any other channel.

All that said, I've never used ZBOSS so can't comment there. I have CC2531 zigbee sniffer, but I didn't use ZBOSS.

I went the TI firmware/tool route as I don't use Windows for my sniffing. But this guide also references ZBOSS, so I would think it would work fine too, as the sniffer capable firmware is really the main thing you need.

(Also thanks to @JasonJoel who replied as I was typing this)

Hmmmm - I have to admit, I'm not sure...with no real justification I'd simply been assuming that all devices would cover the "standard" range of channels.

I'll try switching down to 11, although that'll have to wait until tomorrow morning - it's now past 7pm UK time, and even on Midsummer's Day other household members are likely to want to use lighting devices before I can be confident they'll be stable again after a channel change. :man_shrugging:

Switched HE to channel 11, but sadly still catching zero traffic.

I'm inclined to suspect the hardware; will try the CC2531 on a different PC (Windows 10 again), then if that doesn't work give it a go on a Linux system (Pi if possible, as I have one handy, otherwise will set up a VM).

Passing question - after initial power on/plugin the CC2531's green LED goes on for a few minutes, then goes out and stays out - is this as expected?

I had a similar problem with the Heimann sensor from Lidl.
First pairing got it connected to Hubitat, but no traffic or any other indication, other than the sensor itself. No amount of 'Configure' pressing or other drivers worked.

But setting the sensor to the correct device driver (Generic Zigbee Sensor (No temp)), and then re-adding it, the connection was established and has worked flawless since.