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