DPIclimate / DPIclimate/broker

Store URLs to get to service-specific device pages in physical and logical devices

Open
#12 0 comments 0 reactions 0 assignees View on GitHub
enhancement
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.