Hi everyone ![]()
Iโm excited to share my Homey app for TrueNAS. If you run a TrueNAS SCALE server at home โ for backups, photos, media or virtual machines โ this app brings it into Homey as ordinary devices.
What is this app?
Your NAS sits in a cupboard and asks for nothing, which is exactly why a full pool or an overheating drive tends to go unnoticed until it is too late. TrueNAS Manager puts the state of your storage right next to your lights and sensors, and lets your NAS take part in the automations your home already runs.
Everything happens over your own network. The app speaks JSON-RPC directly to TrueNAS โ no cloud, no account, no data leaving the house.
Install from the Homey App Store
Test Version:
Supported devices (8 drivers)
| Driver | Description |
|---|---|
| TrueNAS System | The server itself โ processor, memory, network, alerts, updates |
| Storage Pool | One device per pool, including the boot pool |
| Dataset | Usage, quota and compression per dataset |
| Disk | Temperature, capacity, model and pool assignment |
| Service | SMB, NFS, SSH, iSCSI and the rest |
| App | Docker apps with version and update state |
| Virtual Machine | Status, memory and virtual CPUs |
| Backup Task | Cloud sync, replication and periodic snapshot tasks |
You add the system first and enter the address and API key once. Everything else is discovered from there and picked from a list โ the key is never entered twice.
What can it read?
TrueNAS System
Processor usage (%) and temperature (ยฐC)
Load averages over 1, 5 and 15 minutes
Memory usage (%), used and free (GB)
ZFS ARC size (GB)
Network throughput received and sent (Mbit/s)
Uptime, TrueNAS version and hardware details
Active alert count and the most severe alert text, with an alarm flag from a level you choose
Update status โ up to date, update available with version, download progress, or check failed
Storage Pool
Pool status and a health alarm on anything but healthy
Used, free and total space (TB) plus usage (%)
Scrub state and live scrub progress (%)
Dataset
Used and free space (GB), usage (%)
Quota and compression ratio
Pool, mount point and encryption state
Disk
Temperature (ยฐC) with a configurable alarm threshold
Capacity (TB), model, serial and the pool it belongs to
Service
Running state and whether the service starts on boot
App
Running state, installed version and container count
Catalog update available โ a newer version in the TrueNAS catalog
Container image update available โ tracked separately by TrueNAS, so either can be pending on its own
Web address of the appโs own interface
Virtual Machine
Status, assigned memory (MB) and virtual CPUs
Backup Task
State, live progress and last run time
An alarm when the last run failed, errored or was aborted
What can it control?
Services โ start, stop, restart, and reload. Reload re-reads the configuration without dropping existing connections, which a restart would.
Apps โ start, stop, redeploy, and install a pending update. The update action picks the right path automatically: a catalog upgrade if one is available, otherwise a fresh pull of the container images.
Virtual machines โ start, stop and restart. Stopping can be graceful or forced, and starting can allow memory overcommit.
Pools โ start and stop a scrub. The boot pool uses its own method, which only starts.
Datasets โ create a snapshot, named after a prefix and a timestamp so it sorts chronologically and never collides with your periodic snapshot tasks.
Backup tasks โ run now, and abort a running cloud sync.
The NAS itself โ check for updates, install a pending update, reboot and shut down. Installing without a reboot puts the update into a new boot environment, so the new version becomes active at the next restart. Install at midday, restart at night.
Flow Cards
15 Triggers
| Card | Description |
|---|---|
| An alert was raised | System โ tokens: level, message, category |
| A system update became available | System โ token: version |
| Pool status changed | Pool โ tokens: status, previous status |
| Pool became unhealthy | Pool โ tokens: status, detail |
| Free space dropped below | Pool โ threshold argument, tokens: free % and TB |
| Scrub started / Scrub finished | Pool โ token: errors |
| Disk temperature rose above | Disk โ threshold argument |
| App status changed | App โ tokens: status, previous status, web address |
| An app update became available | App โ token: version |
| A container image update became available | App |
| Virtual machine status changed | VM |
| A task finished | Task โ tokens: task, result, type |
| A task failed | Task โ fires only on a failed, errored or aborted run |
| Free space dropped below | Dataset โ threshold argument |
Threshold triggers fire once when the value crosses the line, not on every reading past it โ so a hot disk or a filling pool does not flood your timeline.
15 Conditions
Pool is healthy ยท free space below ยท scrub running ยท disk temperature above ยท CPU usage above ยท alert of a given level exists ยท system update available ยท service running ยท app running ยท app update available ยท container image update available ยท VM running ยท task running ยท last run failed ยท dataset free space below
21 Actions
Every control listed above, as a Flow action.
Dashboard Widget
A NAS Overview widget puts storage, processor, memory and network throughput on your Homey dashboard, with a usage bar per pool and a list of your apps.
Bars turn amber and then red as a pool fills up, degraded pools are flagged and a running scrub is marked. Apps show a status dot, and any app with a pending update carries an update badge โ tapping it installs the update right there. Apps waiting for an update are listed first so they stay visible even when the list is cut off.
Thresholds, which sections are shown and how many apps to list are all configurable.
Setup
Requirements:
- TrueNAS SCALE 25.04 (Fangtooth) or newer โ the app uses the JSON-RPC API, which older releases do not offer
- Homey Pro with firmware 12.3.0 or newer
- An API key from Credentials โ API Keys in the TrueNAS web interface
- Homey and TrueNAS on the same local network
Installation:
- Install the app from the Homey App Store
- Add device โ TrueNAS Manager โ TrueNAS System
- Enter the address, port and API key
- Add the pools, disks, services, apps, VMs, datasets and tasks you care about โ they are discovered automatically
A tip from experience: use the IP address rather than a host name, and give the NAS a fixed address in your router. Homey resolves .local names unreliably, and a DNS hiccup will otherwise take the app offline.
Device settings (System):
| Setting | Default | Description |
|---|---|---|
| Host / Port | โ / 443 | Address of the NAS |
| Use HTTPS | on | Off only if the web interface runs on plain HTTP |
| Accept self-signed certificate | on | TrueNAS ships a self-signed certificate by default |
| Poll interval | 60 s | System, pools, services, apps, VMs, alerts, tasks |
| Disk poll interval | 300 s | Reading disk temperatures queries SMART, which can keep drives from spinning down โ raise this if your drives should stay in standby |
| Alarm from level | Error | Which alert level sets the alarm flag |
All devices of one NAS share a single connection and a single poll cycle. Twenty devices still cost one request per interval, not twenty.
About this app
One thing worth mentioning: TrueNAS removed its REST API in version 26, and reworked the update API in 25.10. The app was built against the JSON-RPC API from the start and every method it calls was verified against the TrueNAS source, so it should keep working as TrueNAS moves on.
If you find this app useful, Iโd appreciate a beer:
PayPal โ Support development
Feedback welcome!
Any bugs or unexpected behaviour?
Drop a comment below.