DPIclimate / DPIclimate/broker
Store URLs to get to service-specific device pages in physical and logical devices
- Dominant language
- Python
- Stars
- 3
- Forks
- 3
- Avg merge
- 3m
- Merged PRs (30d)
- 1
Description
Receivers and deliverers could add URL properties that allow a UI to easily link to the service-specific page for a device without having to know too much about external systems.
For physical devices this should be easy in some cases because receivers are quite specialised, eg TTN devices have an easily created URL. Many devices won't have an associated URL - YDOCs, other devices coming in via MQTT etc. Because physical devices represent a single 'thing' there won't be multiple URLs.
For logical devices, each destination may or may not have a URL, and the delivery services will need to be sure not to over-write each other's URLs. In this case it may be necessary for the delivery service to put the URL into the destination's properties, such as under the Ubidots key, and this will need to be put back in each time the Ubidots object is updated.
Another option is to have a new top-level object to hold these URLs, and have them keyed by the destination, eg:
```
{
"ubidots": {
Ubidots device properties here.
},
"thingsboard": {
ThingsBoard device properties here.
},
"deviceUrls": {
"ubidots": "https://..../devices/",
"thingsboard": "https://..."
}
}
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by tracing how receivers and deliverers represent physical and logical devices, including how destination properties are updated. Compare the proposed destination properties and top-level deviceUrls approaches, then define the URL ownership and preservation rules. Done means the representation and update behavior are agreed and documented by tests or examples.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 28/100