OTA best practices
Stay organized with collections
Save and categorize content based on your preferences.
Test each OTA update
Before uploading an OTA image that updates all your devices in the field,
test the update on a limited in-house population:
- Set up a test PID.
- Generate a Device Attestation Certificate (DAC) for the VID/test PID
combination and submit it.
Set up two integrations, each with a unique PID:
- One integration is for internal testing, using the test PID and test DAC.
- The other is for production devices in the field, using the production PID
and VID, and production DAC.
Flash the test devices with a version of the firmware using the VID/test PID
combination.
Testers (re-)onboard their test devices to their Matter
test fabric.
Upload the OTA image to the test integration on the GHDC to test the rollout.
Confirm that the OTA update works and that the firmware update is working
properly.
Once you're ready to release the update to your Production users, change the
PID on the image and upload it to the Production integration on the GHDC.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2022-12-15 UTC.
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Missing the information I need"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Too complicated / too many steps"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Out of date"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Samples / code issue"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Other"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Easy to understand"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"Solved my problem"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Other"
}]
{
"lastModified": "Last updated 2022-12-15 UTC.",
"confidential": False
}