What problem does this solve?
Backing up Z2M (configuration + coordinator state) is a critical maintenance task — losing the coordinator backup means re-pairing every device. Z2M's web frontend exposes backup creation, but on mobile the user has to either SSH into the host or open the frontend in a browser. Shellbee should bring this into the app for power users who want to grab a backup before risky operations (firmware updates, hardware migrations, big config changes).
What would you like Shellbee to do?
Add a Backup section to Settings with one-tap backup creation and download.
Behavior:
- Create backup: button sends
bridge/request/backup over MQTT. Z2M responds on bridge/response/backup with {"data": "<base64-encoded zip>"}.
- Save the resulting file: write to a temp location, then present the iOS share sheet so the user can save to Files, iCloud Drive, Dropbox, AirDrop to Mac, etc. Filename convention:
shellbee-z2m-backup-YYYY-MM-DD-HHmmss.zip.
- Backup history (in-app): keep a list of recently created backups by timestamp + size in app storage, so the user can see "you last backed up 3 weeks ago." (No file content stored — just metadata. The actual file is whatever the user saved via the share sheet.)
- Pre-flight checks: warn if Z2M version is below the version that supports
bridge/request/backup (added in Z2M 1.x — check the MQTT API docs for exact version).
Out of scope (explicitly):
- Restore — Z2M doesn't expose a restore endpoint over MQTT. Restoring requires host-level access (replace
data/ directory on the Z2M host). Not safe to do from a mobile app and not supported by the Z2M API. Document this clearly in the UI: "To restore, see [Z2M docs link]."
- Cloud backup destinations (S3, Google Drive direct integration) — the iOS share sheet covers all the destinations a user might want, without Shellbee handling auth.
Does the Z2M web frontend already do this?
Yes — Shellbee should match the capability with a mobile-appropriate UX (single tap, share sheet, no separate downloads-folder paradigm).
Alternatives considered
- Auto-backup on a schedule — Z2M itself can be configured to do this. Shellbee triggering scheduled backups would duplicate the responsibility and require the app to be running. Skip.
- Background backup via BGTaskScheduler — adds complexity for marginal benefit; user-initiated is fine.
What problem does this solve?
Backing up Z2M (configuration + coordinator state) is a critical maintenance task — losing the coordinator backup means re-pairing every device. Z2M's web frontend exposes backup creation, but on mobile the user has to either SSH into the host or open the frontend in a browser. Shellbee should bring this into the app for power users who want to grab a backup before risky operations (firmware updates, hardware migrations, big config changes).
What would you like Shellbee to do?
Add a Backup section to Settings with one-tap backup creation and download.
Behavior:
bridge/request/backupover MQTT. Z2M responds onbridge/response/backupwith{"data": "<base64-encoded zip>"}.shellbee-z2m-backup-YYYY-MM-DD-HHmmss.zip.bridge/request/backup(added in Z2M 1.x — check the MQTT API docs for exact version).Out of scope (explicitly):
data/directory on the Z2M host). Not safe to do from a mobile app and not supported by the Z2M API. Document this clearly in the UI: "To restore, see [Z2M docs link]."Does the Z2M web frontend already do this?
Yes — Shellbee should match the capability with a mobile-appropriate UX (single tap, share sheet, no separate downloads-folder paradigm).
Alternatives considered