Whenever you provision, edit a Blueprint, or create a Compliance Policy, you can apply custom settings to your devices (also known as Device Policy Controller parameters, or ‘DPC params’ for short).
DPC params can be applied during provisioning to a Template, Blueprint, or after provisioning via the API. When DPC params are added through a Template or Blueprint, every device linked to that Template or Blueprint will receive those parameters. As a best practice to avoid potential errors, test these parameters on a small Group of devices before applying the changes to a larger Group.
In this article:
- Applying DPC Params
- Boot on Power
- Disable the Power Button
- Install a File
- Power Off a Device
- Rename Esper Settings
- Apply Fallback Wi-Fi Access Points
Applying DPC Params
DPC params are essentially device commands. They tell the device to perform certain behaviors that are not yet part of the Templates or Blueprints workflow. Once fired to a device, a DPC param needs to be disabled explicitly for changes to take effect. For example, if you push a DPC param to change the Esper Setting’s app name, and then push another param that installs a file, the Esper Setting’s app name will remain the same until the next time you change it.
To apply DPC params, create a Template and go to the Settings tab. Enable JSON and paste the params in the JSON field. Parameters can only be applied during provisioning if applied this way.
Blueprints
Create a Blueprint and navigate to the Esper Settings section. Enable JSON and paste the params in the JSON field. Devices will receive the update when you are Done Editing the Blueprint, or when you apply the Blueprint to that device.
After Provisioning
After provisioning, devices can receive DPC parameters from the API. See our API Reference or our API documentation for more information.
API
POST https://{tenant_name}-api.esper.cloud/api/v0/enterprise/{enterprise_id}/command/
Body
{
"command_type": "DEVICE",
"command": "UPDATE_DEVICE_CONFIG",
"command_args": {
"custom_settings_config": {
"dpcParams": [
{
"key": "allowPowerOff",
"value": "false"
}
]
}
},
"devices": [
"{device_id}"
],
"groups": [
"{group_id}"
],
"device_type": "all"
}
Use the request Body above as a template to update the device’s DPC parameters. DPC parameters can also be separated by a comma in the dpcParams
array.
Boot on Power
Requirements: Most Samsung and Lenovo devices.
Whenever a device is plugged into a power source, it will turn on. If allowPowerOff
(Disable the Power Button) is also enabled, the device won’t be able to turn on except by being plugged into a power source.
{
"dpcParams": [
{
"key": "bootDeviceOnChargerDisabled",
"value": "false"
}
]
}
Disable the Power Button
Requirements: Most Samsung and Lenovo devices.
If bootDeviceOnChargerDisabled
(Boot on Power) is also enabled, the device won’t be able to turn on except by being plugged into a power source.
{
"dpcParams": [
{
"key": "allowPowerOff",
"value": "false"
}
]
}
Install a File
Requirements: Files must be uploaded in the tenant’s Content Management prior to using this DPC param.
Install a file on a device, either during provisioning (through a Template or Blueprint) or after provisioning (through a Blueprint or API). Separate multiple file paths by commas.
- Key: fileDownloads
- Value: {'The name of the file as it appears in the Content Management section of the Esper Console' : 'the file path it will be saved to in the device. You can install multiple files by separating the file and path by commas'}
The provided file path is a generic example. File paths vary from device to device. Read more about transferring to the correct file path.
{
"dpcParams": [
{
"key": "fileDownloads",
"value": "{\"example.json\": \"/storage/emulated/Download/\"}"
}
]
}
Power Off a Device
Requirements: Most Samsung, Lenovo, and Supervisor enabled devices.
Warnings:
- Esper won’t be able to reach devices that are powered off. Devices will need to be turned on manually to communicate with Esper once again.
- May disrupt provisioning if part of a Provisioning Template. Send an API or edit a Blueprint when using this param.
Power off devices. Intended for powering off a large number of devices intended for storage.
"dpcParams": [
{
"key": "powerOff",
"value": "true"
}
]
}
Rename Esper Settings
Rename the Esper Settings app.
{
"dpcParams": [
{
"key": "renameESettings",
"value": "Other Settings"
}
]
}
Before DPC param applied:
After DPC param applied:
Apply Fallback Wi-Fi Access Points
Apply fallback Wi-Fi access points to the device. The device will connect to these access points in the event it loses access to its primary network. Allow 10 - 15 minutes for the device to re-connect. This parameter also accepts Regex (as shown in the example). In many cases, providers append 5G to network names. Instead of manually entering a Wi-Fi network for each instance (5G and non-5G), use Regex to add all networks containing a matching string. Learn more about Regex or use this tool to check your Regex expressions.
To use this DPC param, edit the following information:
- hidden: true or false. Indicate if the network is hidden or not.
- wifiSsid: the name of the access point with optional Regex.
- wifiPassword: the password for the access points. The access points will need to have the same password if using Regex for the SSIDs.
- wifiPhase2Auth: Access point authentication or NONE.
- wifiSecurityType: Any of the following: WEP, WPA/WPA2, EAP or None.
{
"dpcParams": [
{
"key": "wifiRegex",
"value": "[{\"hidden\":false,\"wifiSsid\":\"([^*]*)UniqueSSID([^*]*)\",\"wifiPhase2Auth\":\"NONE\",\"wifiSecurityType\":\"WPA\",\"wifiPassword\":\"12345678\"}]"
}
]
}
Use DPC parameters to customize your device fleet interactions.