Skip to main content

Software Updates

OTA software update management for devices — packaging, deployment, scheduling, and rollback.

Source: src/software-updates/
Permission: MANAGE_DEVICES

API Endpoints​

MethodEndpointDescription
POST/software-updatesCreate update package
GET/software-updatesList all updates
GET/software-updates/:idGet update details
PATCH/software-updates/:idUpdate package metadata
DELETE/software-updates/:idDelete update package
POST/software-updates/:id/deployDeploy to devices
POST/software-updates/:id/rollbackRollback deployment
POST/software-updates/:id/scheduleSchedule future deployment
GET/software-updates/:id/statusGet deployment status
POST/software-updates/uploadUpload update package file
GET/software-updates/statsDeployment statistics
GET/software-updates/historyUpdate history

Key Service Methods​

SoftwareUpdatesService​

MethodDescription
savePackage()Store update package metadata
create()Create new update entry
deployUpdate(id)Push update to target devices
rollbackDeployment(id)Revert to previous version
scheduleUpdate(id, date)Schedule future deployment
getDeploymentStatus(id)Check rollout progress

Deployment Flow​

Upload Package → Create Entry → Deploy/Schedule
│
┌───────────────┼───────────────┐
▼ ▼ ▼
Deploy Now Schedule Later Rollback
│ │
▼ ▼
MQTT Push Cron Trigger
to Devices at Scheduled Time
  • SoftwareUpdate — Package metadata, version, target devices
  • UpdateStatus — Per-device deployment status tracking
  • DevicesModule — Target device selection
  • MqttModule — Push updates to devices via MQTT