I am using Azure IoT Update, the MS Tutorial Simulator, and I can successfully send updates to my Linux device.
I am now expanding on learning the update process by adding additional compatibility information to both the manifest file and the du-config.json file.
When I add compatibility key/value pair into both the manifest and du-config file, the update isn’t recognised as valid against the group with my device in. When I remove the compatibility information from the du-config file, my group does match a different manifest without the additional compatibility information.
(I have two updates pending, one with the additional compatibility information in, one without)
How do I utilise additional compatibility information in Azure IoT Update?
Manifest File
Notice the “a”: “a”
{
"updateId": {
"provider": "Contoso",
"name": "Yocto-Image",
"version": "1.7"
},
"isDeployable": true,
"compatibility": [
{
"deviceModel": "Video",
"deviceManufacturer": "contoso",
"a": "a"
}
],
"instructions": {
"steps": [
{
"type": "inline",
"description": "Update the device image to version 0.8.0003.0",
"handler": "microsoft/swupdate:1",
"files": [
"adu-update-image-raspberrypi3.swu"
],
"handlerProperties": {
"installedCriteria": "0.8.0003.0"
}
}
]
},
"files": [
{
"filename": "adu-update-image-raspberrypi3.swu",
"sizeInBytes": 112739328,
"hashes": {
"sha256": "wPdNKUSmWTZkR6Pum9oR/EIzdn5AvON4dsXME+/gHVw="
}
}
],
"createdDateTime": "2022-02-02T06:56:51.2002204Z",
"manifestVersion": "4.0"
}
du config
{
"schemaVersion": "1.1",
"aduShellTrustedUsers": [
"adu",
"do"
],
"iotHubProtocol": "mqtt",
"compatPropertyNames": "manufacturer,model,a",
"manufacturer": "Contoso",
"model": "Video",
"agents": [
{
"name": "aduagent",
"runas": "adu",
"connectionSource": {
"connectionType": "string",
"connectionData": "HostName=xxx.azure-devices.net;DeviceId=xxx;SharedAccessKey=xxx="
},
"manufacturer": "Contoso",
"model": "Video",
"additionalDeviceProperties": {
"a": "a"
}
}
]
}
Device in Group showing the correct compatibility attributes
Update showing correct compatibility attributes