Skip to content

Releases: tinkerologie/ha-unraid

v2026.10.5

Choose a tag to compare

@github-actions github-actions released this 25 Oct 05:38
8f92262

Security

Added

  • Show cached Docker image, installed tag, update status and available project/registry/support links in Home Assistant's release-notes panel. Avoid referring to a missing link in update summaries. Actual target versions and changelogs remain dependent on upstream metadata (#258, client #132).

  • Optional Docker Pause and Unpause buttons, disabled by default, with state-aware Pause/Resume dashboard controls and a Paused filter in Docker and unified card editors (#380).

  • Align all eight dashboard cards and editors with Home Assistant theme and design tokens, readable light/dark/custom-theme colours, keyboard and screen-reader semantics, 40px/48px touch targets, reduced motion, and responsive RTL layouts. Keep Sections heights content-driven and show only relevant editor fields (#370).

  • Discover hardware temperature entities when valid readings first arrive after setup, retaining entity identities through missing and restored readings, including prolonged telemetry gaps (#203).

  • Docker and VM cards show actual workload names, support optional YAML label overrides, and retain full-name tooltips. VM cards now offer running/stopped filters; both card types support a persisted default filter through the visual editor (#370).

Fixed

  • Show paused Docker containers separately from running and stopped containers, including counts, sorting and status labels. Refresh state when unpausing succeeds but Stop fails (#380).

  • Correct dashboard RAM subtitles to use native used-memory readings, populate array capacities from current attributes, and join suffixed disk metrics into one row per physical or boot device. Exclude aggregate parity rows and network interfaces owned by other integrations or servers, and respect Home Assistant traffic display units and formatting (#378).

  • Normalize Docker aggregate CPU and memory percentages to 0–100% of host capacity: use logical CPU threads for CPU and actual container bytes divided by host RAM for memory. Require complete readings, preserve zero, and keep entity IDs unchanged. Automations using the previous aggregate percentage scales may need threshold adjustments (#202).

  • Compute Docker total memory used from actual running-container byte readings instead of percentages multiplied by host RAM; exclude stopped or stale containers and retain unknown when readings are missing. Document the five existing host/Docker summary sensors. ZFS ARC metrics remain dependent on upstream API support (#202).

  • Restore hardware temperature metrics on Unraid API 4.37.6 and later using standby-aware collection, while keeping older or unknown API versions on polling that omits temperature queries to avoid waking disks (#369, #203, #211). Polling intervals are unchanged. Reload the integration after upgrading the server API to discover temperature entities.

Changed

  • Keep Docker container switches on while paused; Stop unpauses before stopping. Disable dashboard Restart while paused (#380).

  • Require unraid-api 1.14.0, including native Docker restart support with an older-API fallback. Expose optional VM UUID attributes and include redacted VM UUIDs in diagnostics without changing entity identities.

  • Update the development lockfile to Pillow 13.0.0 to clear the dependency audit's decoder security advisories.

Known limitations

  • ZFS ARC metrics (#202), host reboot/shutdown (#176), and VM hibernation (#284) require additional official Unraid GraphQL API support. These issues remain open.
  • Target image versions and genuine Docker release changelogs (#258) also require upstream metadata. Cached image details and general project links are available in this release; the issue remains open.

See CHANGELOG.md for details.


📦 Installation

Via HACS (Recommended)

  1. Open HACS in Home Assistant
  2. Go to Integrations
  3. Click the ⋮ menu → Custom repositories
  4. Add this repository: https://github.com/tinkerologie/ha-unraid
  5. Category: Integration
  6. Click Add
  7. Search for Unraid
  8. Click Download
  9. Restart Home Assistant

Manual Installation

  1. Download unraid-2026.10.5.zip
  2. Extract to config/custom_components/
  3. Restart Home Assistant
  4. Add the integration via Settings → Devices & Services → Add Integration

SHA256 Checksum:

01ac968e7efeb9593345283400798b2058d8e22bf70bdee484c4302776c4555b  unraid-2026.10.5.zip

v2026.10.4

Choose a tag to compare

@github-actions github-actions released this 18 Oct 22:18

Fixed

  • WebSocket errors logged every few minutes on quiet servers (tinkerologie/unraid-api#118): subscriptions that see no events for 5 minutes (notifications, UPS, array and container stats on an idle server) logged Unexpected error in ... WebSocket with a TimeoutError traceback each time they timed out and reconnected. unraid-api 1.13.2 raises its own UnraidTimeoutError for these idle timeouts, which the integration already treats as a normal reconnect, so they are now logged at debug level only. Entity data was never affected.

Changed

See CHANGELOG.md for details.


📦 Installation

Via HACS (Recommended)

  1. Open HACS in Home Assistant
  2. Go to Integrations
  3. Click the ⋮ menu → Custom repositories
  4. Add this repository: https://github.com/tinkerologie/ha-unraid
  5. Category: Integration
  6. Click Add
  7. Search for Unraid
  8. Click Download
  9. Restart Home Assistant

Manual Installation

  1. Download unraid-2026.10.4.zip
  2. Extract to config/custom_components/
  3. Restart Home Assistant
  4. Add the integration via Settings → Devices & Services → Add Integration

SHA256 Checksum:

4cbd7c912f5eab6e1d11467b5c2c793f567340360d0efd7282067ad5327ecfce  unraid-2026.10.4.zip

v2026.10.3

Choose a tag to compare

@github-actions github-actions released this 16 Oct 11:38

Fixed

  • Duplicate entity IDs with multiple servers sharing a placeholder SMBIOS UUID (#351): Servers whose firmware reports a known placeholder UUID (for example 03000200-0400-0500-0006-000700080009 on TerraMaster and other AMI-based units) could be added twice thanks to the hostname-qualified config entry unique ID introduced in #183, but entities and the server device were still keyed on the raw UUID, so the second server's entities were rejected with Platform unraid does not generate unique IDs. The runtime server identity now follows the config entry's hostname-qualified unique ID for placeholder servers. Entities, the server device, stale-entity cleanup, device removal and diagnostics all use that one resolved identity. Servers with a real UUID, host-fallback entries and legacy entries are unchanged.
    • Automatic migration: on setup, entity unique IDs and the server device identifier that belong to the config entry are re-keyed from the raw placeholder prefix to the hostname-qualified prefix. Entity IDs, names, areas and other customisations are kept. The migration is idempotent and never deletes records.
    • If you applied the workaround from the issue (replacing server_info["uuid"] with entry.unique_id locally) and already re-added the servers, nothing changes. If stale raw-prefixed entities remain from before the workaround, setup logs a Cannot migrate ... already uses it warning naming both entities; remove the stale one under Settings > Devices & services > Entities and reload the integration.

Changed

  • Deprecated Home Assistant patterns removed (#358): percentage sensors use UnitOfRatio.PERCENTAGE and storage sensors suggest UnitOfInformation.GIBIBYTES instead of string literals (identical values, no state or statistics change); the config and repair flows import the Probatio validation engine that Home Assistant 2026.9+ ships instead of the voluptuous alias; repair flow steps are typed with RepairsFlowResult; tooling targets Python 3.14 (ruff py314, CI 3.14.2), which clears the schema and flow-result pyright errors the type check previously reported.

See CHANGELOG.md for details.


📦 Installation

Via HACS (Recommended)

  1. Open HACS in Home Assistant
  2. Go to Integrations
  3. Click the ⋮ menu → Custom repositories
  4. Add this repository: https://github.com/tinkerologie/ha-unraid
  5. Category: Integration
  6. Click Add
  7. Search for Unraid
  8. Click Download
  9. Restart Home Assistant

Manual Installation

  1. Download unraid-2026.10.3.zip
  2. Extract to config/custom_components/
  3. Restart Home Assistant
  4. Add the integration via Settings → Devices & Services → Add Integration

SHA256 Checksum:

db8edab414bd4db5346ac20bfcefdd9eb818367bcd89840975080c41d4ffcc28  unraid-2026.10.3.zip

v2026.10.2

Choose a tag to compare

@github-actions github-actions released this 08 Oct 03:30

Fixed

  • Duplicate Entity Unique IDs Across Storage Inventories (#327): Fixed Platform unraid does not generate unique IDs. ID ... already exists - ignoring ... errors when a drive (such as a partitioned SSD used for both boot and pool/cache, or disks reported in multiple inventory lists) appears across disks, parities, caches, or boot. Disks are now deduplicated by ID preserving first-precedence inventory order, ensuring unique entity registration across disk usage, temperature, error count, disk health binary sensors, disk spin switches, and disk spin-down buttons.
  • Parity Status and Activity Accuracy in Storage Card (#328): Fixed inverted parity status and incorrect active check states in unraid-storage-card:
    • Corrected polarity evaluation for binary_sensor.*_parity_valid (Problem device class: off indicates valid/healthy, on indicates a problem/check needed).
    • Decoupled active check detection from progress percentage so finished checks at 100% no longer remain stuck as "In Progress", and checks starting at 0% correctly show "In Progress".
    • Correctly reflect running, paused, and idle states for parity checks and parity switches.
    • Guarded against missing, disabled, or unavailable sensor.*_last_parity_check entities to avoid displaying invalid or unparsed date strings.

See CHANGELOG.md for details.


📦 Installation

Via HACS (Recommended)

  1. Open HACS in Home Assistant
  2. Go to Integrations
  3. Click the ⋮ menu → Custom repositories
  4. Add this repository: https://github.com/ruaan-deysel/ha-unraid
  5. Category: Integration
  6. Click Add
  7. Search for Unraid
  8. Click Download
  9. Restart Home Assistant

Manual Installation

  1. Download unraid-2026.10.2.zip
  2. Extract to config/custom_components/
  3. Restart Home Assistant
  4. Add the integration via Settings → Devices & Services → Add Integration

SHA256 Checksum:

1b0abf981305c9cffae7df82bb673b6fd550c8524fdd12466193bc3cab3b8ead  unraid-2026.10.2.zip

v2026.10.1

Choose a tag to compare

@github-actions github-actions released this 02 Oct 05:17
2df2178

Added

  • Boot Device (Flash USB) Support: Added integration entities (DiskUsageSensor, DiskHealthBinarySensor, DiskTemperatureSensor, DiskErrorCountSensor) for the Unraid USB boot disk (data.boot), enabling monitoring of flash drive capacity, filesystem, device path, temperature, error counts, and operational health.
  • Dedicated User Shares Card (unraid-shares-card): Created a dedicated Lovelace card displaying user shares with disk usage progress bars, used/free/total capacity, share protection states (Protected vs. Unprotected), and direct filtering.
  • Dedicated Network Interfaces Card (unraid-network-card): Created a dedicated Lovelace card visualizing physical NICs, bonds, and bridges with real-time throughput metrics (inbound/outbound rates and lifetime totals), link speed badges (e.g. 10 Gbps, 1 Gbps), active link state chips, MTU, MAC addresses, and clickable LAN/FQDN WebGUI links.
  • Unified Control Center Dashboard Enhancements (unraid-dashboard-card): Added dedicated Shares and Network tabs to unraid-dashboard-card with custom SVG icons, providing unified one-click navigation across Server Overview, Storage & Disks, Shares, Network, Docker, VMs, and UPS.
  • Server Card System Information Expansion (unraid-server-card): Enhanced unraid-server-card with:
    • System Uptime: Robust human-readable uptime parser supporting both ISO 8601 timestamps (sensor.*_up_since) and epoch seconds (sensor.*_uptime), formatting down to days, hours, and minutes.
    • Primary Network: Primary network interface name and IP address (e.g. br0: 192.168.20.21).
    • Network Traffic: Active link speed and real-time live transfer rates (↓ rx • ↑ tx).
    • Boot Device: Drive name and used/total space (e.g. Flash (2.5 GB / 29.3 GB)).
  • Storage Card Boot Device Display (unraid-storage-card): Added Flash (Boot) device at the bottom of the disk tray with dedicated USB flash drive badge, -- temperature placeholder, Healthy status badge, and usage percentage bar.
  • End-to-End Playwright Browser Testing & Single-Bundle CI: Added Playwright browser test suite (npm run test:browser) verifying element registration, template rendering without DOM corruption, card styling, and tab switching against a live browser fixture; added GitHub Actions workflow validating frontend build integrity and browser test suites.
  • Native Subviews & Interactive More-Info Dialogs: Added a navigate() navigation helper in BaseUnraidCard for seamless drill-down into Home Assistant native subviews (subview: true); added interactive click triggers across server and UPS gauge rings and detail items to open Home Assistant's native more-info dialogs with full historical charts and attributes.

Fixed

  • Obsolete Lovelace Resource Cleanup: Automatically delete stale Lovelace module resources pointing to retired standalone card bundles during integration setup/upgrade.
  • Frontend Card Metrics & Safety: Fixed unit conversion and zero threshold in network data rates, excluded disconnected/placeholder states (unavailable, unknown, --) from connected interface counts, guarded share parity protection against missing color attributes, and clamped share percentage bars to 0–100%.
  • UPS Runtime Remaining Formatting (unraid-ups-card): Fixed redundant units (e.g. 1 hour 41 minutes min) by introducing a duration formatter that preserves already-humanized runtime strings, strips accidental duplicate suffixes, and cleanly converts raw numeric minutes/seconds into readable hours and minutes.
  • Disk Error Display in Storage Card: Replaced plain 0 err text with status badges reflecting healthy, warning, or error states.
  • Lit Minification and Trailing Whitespace Template Leaks: Fixed template compilation issues in minified production bundles and updated pre-commit hooks to avoid corrupting JavaScript templates.

See CHANGELOG.md for details.


📦 Installation

Via HACS (Recommended)

  1. Open HACS in Home Assistant
  2. Go to Integrations
  3. Click the ⋮ menu → Custom repositories
  4. Add this repository: https://github.com/ruaan-deysel/ha-unraid
  5. Category: Integration
  6. Click Add
  7. Search for Unraid
  8. Click Download
  9. Restart Home Assistant

Manual Installation

  1. Download unraid-2026.10.1.zip
  2. Extract to config/custom_components/
  3. Restart Home Assistant
  4. Add the integration via Settings → Devices & Services → Add Integration

SHA256 Checksum:

e64d7a3c0927096c457fa27ebe3a035f5b965f00d17a2023603dd145d0aed3d9  unraid-2026.10.1.zip

v2026.10.0

Choose a tag to compare

@github-actions github-actions released this 01 Oct 04:24

Added

  • Custom Lovelace Dashboard Cards Suite (#317): Added an official, modular Lovelace dashboard cards suite bundled directly into the integration:
    • unraid-server-card: System uptime, Unraid OS version, registration badge, CPU/RAM utilization progress rings and gradient bars, motherboard/CPU temperatures, and network throughput.
    • unraid-storage-card: Storage matrix showing array status, parity sync status and history, capacity progress rings, and individual disk health (temperatures, spin states, and read/write I/O).
    • unraid-docker-card: Container manager displaying active containers, status badges, CPU/memory footprints, autostart toggles, and start/stop/restart actions, with configurable grid and list views.
    • unraid-ups-card: Power & UPS monitor with battery charge rings, electrical load, AC voltages, estimated runtime, and adaptive status coloring.
    • unraid-vm-card: Virtual machine manager with state pills, memory allocation, CPU assignments, and lifecycle controls.
    • unraid-dashboard-card: Unified tabbed container providing single-card access to all specialized views with borderless embedded styling.

See CHANGELOG.md for details.


📦 Installation

Via HACS (Recommended)

  1. Open HACS in Home Assistant
  2. Go to Integrations
  3. Click the ⋮ menu → Custom repositories
  4. Add this repository: https://github.com/ruaan-deysel/ha-unraid
  5. Category: Integration
  6. Click Add
  7. Search for Unraid
  8. Click Download
  9. Restart Home Assistant

Manual Installation

  1. Download unraid-2026.10.0.zip
  2. Extract to config/custom_components/
  3. Restart Home Assistant
  4. Add the integration via Settings → Devices & Services → Add Integration

SHA256 Checksum:

532ccb8f93c7011d404240ef5739d861f4b7ab3daaf7a2f807072f8236c8aa9e  unraid-2026.10.0.zip

v2026.9.2

Choose a tag to compare

@github-actions github-actions released this 27 Sep 23:33

Added

  • VM Status Sensors (#268): Added dedicated sensor entities (sensor.*_vm_status_*) for virtual machines reporting their current state (e.g. running, paused, shutoff, pmsuspended, crashed, idle, blocked) along with vm_id and raw_state attributes.
  • Docker Container Memory Used and Limit Sensors (#283): Added numeric memory sensors (sensor.*_container_*_memory_used and sensor.*_container_*_memory_limit, disabled by default) for Docker containers reporting exact memory usage and limit in bytes (with suggested unit MB) parsed from container WebSocket statistics, enabling numeric threshold automations (such as restarting leaking containers).

Fixed

  • Share Entity Cleanup on Transient API Failures: Optional share queries now
    retain the last known-good snapshot and tell entity cleanup when the query
    failed, preventing healthy share entities from being pruned after temporary
    API errors.

See CHANGELOG.md for details.


📦 Installation

Via HACS (Recommended)

  1. Open HACS in Home Assistant
  2. Go to Integrations
  3. Click the ⋮ menu → Custom repositories
  4. Add this repository: https://github.com/ruaan-deysel/ha-unraid
  5. Category: Integration
  6. Click Add
  7. Search for Unraid
  8. Click Download
  9. Restart Home Assistant

Manual Installation

  1. Download unraid-2026.9.2.zip
  2. Extract to config/custom_components/
  3. Restart Home Assistant
  4. Add the integration via Settings → Devices & Services → Add Integration

SHA256 Checksum:

1201c2b1061935c9b4dc5d882090501b6668f677ccc17d6b6ff7b454a17c6a8b  unraid-2026.9.2.zip

v2026.9.1

Choose a tag to compare

@github-actions github-actions released this 04 Sep 00:48
494059d

Added

  • Docker Container Autostart Switch: Added a configuration switch (switch.*_container_*_autostart, disabled by default) for each Docker container allowing users to toggle whether a container starts automatically on Unraid array start, powered by unraid-api v1.13.1's update_container_autostart mutation.
  • Network Interface Link Binary Sensors: Added connectivity diagnostic binary sensors (binary_sensor.*_network_*_link) for monitorable network interfaces (physical NICs, bonds, bridges, and VLANs) reporting operational link state (up / down) along with MAC address, IP address, duplex, MTU, speed, and interface type.
  • Network Interface Speed & IP Sensors: Added diagnostic sensors (sensor.*_network_*_speed in Mbit/s and sensor.*_network_*_ip) reporting negotiated link speeds and network IP addressing with IPv4/IPv6 details.
  • Plugin Installation Status Binary Sensor: Added diagnostic binary sensor (binary_sensor.*_plugin_installation_in_progress) reporting whether plugin installation or update operations are actively running on the Unraid server.
  • Recalculate Notifications Button: Added diagnostic button (button.*_recalculate_notifications) to trigger immediate recalculation of the notification overview counts on the Unraid server.
  • Clear Disk Statistics Button: Added per-disk button (button.*_disk_*_clear_statistics, disabled by default) allowing users to clear read, write, and error statistics on individual array disks directly from Home Assistant.

Changed

  • Upgrade unraid-api to v1.13.1: Upgraded dependency to unraid-api>=1.13.1 which brings Unraid OS 7.3.x and GraphQL API 4.37.x schema compatibility, network interface queries, Docker organizer models, container autostart configuration mutations (with GraphQL input type fix), individual array disk mount/unmount and statistics reset mutations, and server identity queries.
  • Refactor Plugin Query to use Typed Client Method: Replaced direct GraphQL query query { installedUnraidPlugins } in UnraidInfraCoordinator with the official typed api_client.get_installed_unraid_plugins() method provided in unraid-api v1.13.1, eliminating direct GraphQL usage and ensuring full adherence to the API boundary architecture.

See CHANGELOG.md for details.


📦 Installation

Via HACS (Recommended)

  1. Open HACS in Home Assistant
  2. Go to Integrations
  3. Click the ⋮ menu → Custom repositories
  4. Add this repository: https://github.com/ruaan-deysel/ha-unraid
  5. Category: Integration
  6. Click Add
  7. Search for Unraid
  8. Click Download
  9. Restart Home Assistant

Manual Installation

  1. Download unraid-2026.9.1.zip
  2. Extract to config/custom_components/
  3. Restart Home Assistant
  4. Add the integration via Settings → Devices & Services → Add Integration

SHA256 Checksum:

929e04d534d6f79b9ed73da85eac9d80e9c077de3a13766374a7a74fab5c021b  unraid-2026.9.1.zip

v2026.9.0

Choose a tag to compare

@github-actions github-actions released this 02 Sep 07:34

Fixed

  • Sensors Do Not Round Correctly in Templates and External Dashboards (#296, #302): Numeric sensor values (CPU, RAM, Swap, Temperatures, Array usage, Share usage, Docker stats, UPS metrics) are now cleanly rounded in native_value to match their natural resolution and suggested_display_precision. Templates (e.g. {{ states('sensor.tower_cpu_usage') }}), external dashboards (Homarr, MQTT, Node-RED, REST), and automations now receive clean, expected numerical values matching the Home Assistant frontend display without requiring manual | round(...) filters in YAML.
  • Dynamic Entity Pruning on Optional Query Failures (#297, #302): Optional queries for Docker containers, VMs, UPS devices, and network metrics now return None on caught network/API errors rather than an empty list, allowing UnraidSystemCoordinator to retain last known-good cached data and preventing entity cleanup from incorrectly pruning active entities when an optional query fails.

See CHANGELOG.md for details.


📦 Installation

Via HACS (Recommended)

  1. Open HACS in Home Assistant
  2. Go to Integrations
  3. Click the ⋮ menu → Custom repositories
  4. Add this repository: https://github.com/ruaan-deysel/ha-unraid
  5. Category: Integration
  6. Click Add
  7. Search for Unraid
  8. Click Download
  9. Restart Home Assistant

Manual Installation

  1. Download unraid-2026.9.0.zip
  2. Extract to config/custom_components/
  3. Restart Home Assistant
  4. Add the integration via Settings → Devices & Services → Add Integration

SHA256 Checksum:

6d0ce9204798abac408b6661b70e2848daf29d570dd87a7cea0d8718c9693e01  unraid-2026.9.0.zip

v2026.8.1

Choose a tag to compare

@github-actions github-actions released this 31 Aug 05:06
96e2b13

Fixed

  • CPU usage unavailable when GraphQL returns a local URL without a host (#299, #300) Huge thanks to @sephirothx for this contribution! 🎉

See CHANGELOG.md for details.


📦 Installation

Via HACS (Recommended)

  1. Open HACS in Home Assistant
  2. Go to Integrations
  3. Click the ⋮ menu → Custom repositories
  4. Add this repository: https://github.com/ruaan-deysel/ha-unraid
  5. Category: Integration
  6. Click Add
  7. Search for Unraid
  8. Click Download
  9. Restart Home Assistant

Manual Installation

  1. Download unraid-2026.8.1.zip
  2. Extract to config/custom_components/
  3. Restart Home Assistant
  4. Add the integration via Settings → Devices & Services → Add Integration

SHA256 Checksum:

f7a6c26f1ca6e6516867a0b668a0f6660e13b838bd14f882c7665e738f595dac  unraid-2026.8.1.zip