Software Updates
OTA software update management for devices — packaging, deployment, scheduling, and rollback.
Source: src/software-updates/
Permission: MANAGE_DEVICES
API Endpoints
| Method | Endpoint | Description |
|---|---|---|
POST | /software-updates | Create update package |
GET | /software-updates | List all updates |
GET | /software-updates/:id | Get update details |
PATCH | /software-updates/:id | Update package metadata |
DELETE | /software-updates/:id | Delete update package |
POST | /software-updates/:id/deploy | Deploy to devices |
POST | /software-updates/:id/rollback | Rollback deployment |
POST | /software-updates/:id/schedule | Schedule future deployment |
GET | /software-updates/:id/status | Get deployment status |
POST | /software-updates/upload | Upload update package file |
GET | /software-updates/stats | Deployment statistics |
GET | /software-updates/history | Update history |
Key Service Methods
SoftwareUpdatesService
| Method | Description |
|---|---|
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
Related Models
SoftwareUpdate— Package metadata, version, target devicesUpdateStatus— Per-device deployment status tracking
Related Modules
DevicesModule— Target device selectionMqttModule— Push updates to devices via MQTT