TheThingsNetwork / lorawan-stack

The Things Stack, an Open Source LoRaWAN Network Server
https://www.thethingsindustries.com/stack/
Apache License 2.0
990 stars 309 forks source link

Implement MAC settings profiles #7380

Open halimi opened 1 week ago

halimi commented 1 week ago

Summary

Introduce end device MAC setting profiles that contain MAC settings that can be applied to multiple end devices.

Current Situation

Currently if you want to change the MAC settings for a batch of end devices then you need to do an individual call for each end device.

Why do we need this? Who uses it, and when?

To able to update easily a batch of end devices with the same MAC settings. It is useful if you have a big fleet of end devices.

Proposed Implementation

  1. Create a new API endpoint to create/read/update/delete MAC settings profile
  2. Modify the end device creation API to able to set a MAC settings profile ID to an end device
  3. Create a new API where you can set the MAC settings profile ID for batch of devices in the application
  4. Modify NS to use the MAC settings profile if it set
    • Nullify the original settings and use the settings from the profile
  5. Modify NS to save the settings from the profile to the end device settings when the profile is disassociated
  6. Create a new API endpoint to create MAC settings profile from an existing end device MAC settings

Contributing

Validation

Code of Conduct

KrishnaIyer commented 1 week ago

Supersedes https://github.com/TheThingsIndustries/product-management/issues/44