We need to store static data with devices quite often. Our only option to do this currently is via tags. Unfortunately tags aren’t really up for the task of storing more complex data, and are themselves unable to be tagged. Thus I’m requesting storable semi-static device properties very similar to the way attributes are structured:
- statically typed (string, number, bool, JSON)
- taggable with key/value pairs
Here’s the example:
In a completely different workflow, I have drivers I write for many of our devices. These drivers are defined in JSON and offer the instructions to various edge workflows on how to get data from a given device make/model. Currently I define these drivers in the globals of a Driver edge workflow, then assign that workflow to a device via tags (by the flowId). Much simpler would be to allow me to just store the JSON with the device itself. Tags on the JSON property would be very valuable too.
Perhaps this problem is best solved by creating server-side attributes and client-side attributes (ala thingsboard). Server-side attributes give us a place to statically define the attribute value instead of receiving it via via MQTT or otherwise. They should also be perpetual…and may not even need to be stored as time-series. Client-side attributes operate just like the current attributes do.
Hopefully this makes sense and I’m happy to meet with anyone to discuss the use cases further.