stormboy / node-zbee

A NodeJS module for communicating with Zigbee devices using an XBee.
GNU Lesser General Public License v3.0
17 stars 2 forks source link

support for CEL MeshConnect EM357 USB Stick with TheThingSystem #6

Open Jerrill opened 9 years ago

Jerrill commented 9 years ago

reference: http://meshconnect.cel.com/products/usb-sticks/em357-usb-lr

I see that this project is currently in the process of working on integration into thethingsystem (TTS). I have a specific desire to use the referenced hardware as a ZigBee gateway and I wanted to get an informed opinion of whether this is the right project to fork and modify for support. Or perhaps support can be extended to other devices as they come up without a fork? Perhaps this is a better question for TTS? Thank you in advance for your patience as I wrap my head around these projects. Let me know your expert opinion! Thanks!

stormboy commented 9 years ago

Hi Jerrill. I am not familiar with the functionality of that stick or what the protocol between it and the host, though I imagine this project could be adapted to work with it. A search shows that different aspects of the serial protocol are covered in:

What I envisage for this project is a multi-layer library: Device <-> Zigbee Model (ZDO, ZCL) <-> High-level API The EM357 might be folded in as a configurable device "driver", while existing support for an XBee dongle is adjusted to be merely another "driver".

With regards to interfacing with TTS, there is certainly work to do to try interface the models of Zigbee devices with TTS. Zigbee's models are flexible, there is a slight mismatch in concepts between the two, and I feel that picking a narrow range of standard clusters is probably the way to go to getting some basic devices working with TTS.

This project certainly gets you off the ground in modelling Zigbee concepts using a readily available dongle. Code for discovery and binding are there, as are sending/parsing ZCL messages, though there is work to do on a higher-level API to make this easier for a developer. I think there is a better way to abstract the ZCL with a simpler API and this better/easier integration with something like TTS.

It would be great for this project to have fresh eyes on it, for broader dongle support and for better abstractions of Zigbee's Applications, Devices and ZDO/ZCL.