As the number of deployed devices grow, I am looking to accomplish the following:
- Share a common codebase across all devices that deliver the same function - “a visitation counter”
- Standardize Webhooks using Ubidot’s Drive Types to properly group devices on the back-end
- Provide a select group of customer admins / development partners access to devices at the intersection of the device function and the customer set. “a visitation counter for NC State Parks”
Note: in my model, I retain device ownership of all devices in the fleet.
I am a bit torn on the best approach here as I see two ways to make this work:
Use multiple products to segment both function and customer set.
** Pros - segmentation of access and visibility - ability to point Webhook to Ubidots Device Type
** Cons - Difficult to share common codebase across multiple product groups as PRODUCT ID will be different for each. Proliferation of products can make finding devices harder (no search for Device ID across products for example).
Use a single product for all devices that share a function but use product groups to manage access:
** Pros - Much easier to maintain and publish a common code base. Easier to monitor fleet using Product fleet health tools and a common activity monitor. Device access/ visibility set by group.
** Cons - Must use a common Webhook (no way to tie Webhooks with common name to different groups). Device Type list must be bulk-uploaded to Ubidots - one time effort.
I am fully aware that I may be missing something that would change the pros and cons above - comments welcome. I would love to hear about the choices / experiences anyone else managing growth could share.