Device Profiles

API Endpoints

See the ECP LoRaWAN Device Driver help page for details on the API endpoints available for the device driver. The device profiles can be managed using /drivers/lorawan/device-profiles endpoints.

Create Placeholder Device Profiles through the API

Device profiles have many configuration variables that can be set. The total number of combinations is huge. See Chirpstack Device Profiles.

An endpoint is available to generate "placeholder" device profiles with only four input variables, for example:
{
  "specifications": "1.0.3,1.0.4",
  "regParamsRevisions": "A,B",
  "joinTypes": "ABP,OTAA",
  "classes": "A"
}
The endpoint itself:
POST /drivers/lorawan/device-profiles/generate

Only "specifications" is required. It is a comma separated list of LoRa specifications. In practice one would use just one (such as "1.0.3") or maybe two.

If "regParamsRevisions" (a comma separated list of LoRa region parameters) is left blank, then all available options will be generated.

If "joinTypes" (a comma separated list of LoRa join types, only options ABP and OTAA) is left blank, then all available options will be generated.

If "classes" (a comma separated list of LoRa classes; A, B, and C) is left blank, then class "A" will be generated. This class is always generated because all LoRa devices are class A.

The generated profiles have "auto-generated" names which are used to see if a profile was generated in the past. So, if a profile is renamed then a subsequent "generate" API call would create a new "default" profile. (The renamed one is left intact.)

The placeholder device profiles can be used without modifications, if necessary.

Auto-generate Placeholder Device Profiles

The driver can auto-generate device profiles at start-up. To do this, the following environment variables need to be set.

As used in the deployment manifest:
        - name: LORA_AUTO_GENERATE_DEVICE_PROFILES_SPECIFICATIONS
          value: ""
        - name: LORA_AUTO_GENERATE_DEVICE_PROFILES_REG_PARAMS_REVISIONS
          value: ""
        - name: LORA_AUTO_GENERATE_DEVICE_PROFILES_JOIN_TYPES
          value: ""
        - name: LORA_AUTO_GENERATE_DEVICE_PROFILES_CLASSES
          value: ""
Or in the K3s Helm CRD:
spec:
  set:
    aseLorawanDriver.lora.generateDeviceProfiles.specifications: ""
    aseLorawanDriver.lora.generateDeviceProfiles.regParamsRevisions: ""
    aseLorawanDriver.lora.generateDeviceProfiles.joinTypes: ""
    aseLorawanDriver.lora.generateDeviceProfiles.classes: ""

See previous section for an explanation of values to be used.