Managing cohorts
In order to deploy OTA updates to your devices, you'll need to assign them to a cohort. A cohort is a group of devices that should have the same set of packages, and receive the same firmware updates.
Typically, you'll need to create a cohort for each type of device in your project. For example, if your project contains both light switches and light bulbs, you should form one "Light Switch" cohort and one "Light Bulb" cohort, so that you can manage the firmware of the two types of devices separately. You may also want to create dedicated cohorts for devices that should receive the updates early, such as internal test devices or external beta testers.
Assigning devices to a cohort
There are three ways to assign a device to a cohort in the Golioth Web Console:
- In the cohort's page:
- Click the
Add Devices
button in the top right corner - Find the device you want to add to the cohort in the table
- Click the
Add
button next to your device in the table
- Click the
- In the Device Index:
- Select the devices you want to add using the checkboxes in the device list
- Click
Bulk Actions
in the top right corner - Select
Assign to cohort
- Select the right cohort and press
Assign
- In the Edit Device page:
- Click the
Edit
button in the top right corner - Select a cohort in the
cohort
dropdown in the form - Click
Save
- Click the
If your device is online and observing the OTA manifest, it will immediately receive a manifest update and start updating its packages to match the cohort's active deployment.
Removing devices from a cohort
You can remove a device from a cohort through the Device Index and the Edit
Device page using the same workflow as when you added them. You can also remove
the device from a cohort in the Devices tab of the cohort page by selecting the
device in the table and clicking Remove Device
in the top right corner.
When you remove a device from a cohort, it stops receiving updates about its deployments. Contrary to when you added a device to a cohort, removing it will not prompt an immediate manifest change event on the device.
If you have previously used the old releases concept to distribute OTA updates, devices that are removed from their cohorts will fall back to using releases as a basis for their manifest. You can avoid this by disabling rollout for all your old releases. See the migration documentation for more information.