June 8Jun 8 @Lazaros Chalkidis The unassigned drive is now working, thank you! I also really appreciate the font size changer. This plug-in is very, very nice!
June 14Jun 14 @Lazaros Chalkidis The widget is showing all disks defined in /var/local/emhttp/disks.ini. My disks.ini has 24 disks defined while my array only has 8 disks in it. All of the "empty" entries in the disks.ini file have status="DISK_NP". Would it be possible for you to have a toggle to automatically filter status="DISK_NP" entries in the disks.ini file?Here's an example entry:["disk8"] idx="8" name="disk8" device="" id="" size="0" sectors="0" sector_size="0" transport="" rotational="" discard="" removable="" spundown="0" status="DISK_NP" format="-" temp="*" numReads="0" numWrites="0" numErrors="0" type="Data" color="grey-off" spindownDelay="-1" spinupGroup="" idSb="" sizeSb="0" deviceSb="" luksState="0" fsType="auto" fsStatus="-" autotrim="" compression="" warning="" critical="" exportable="no" comment="" fsColor="grey-off" fsEmpty="no" fsSize="0" fsFree="0" fsUsed="0"
June 14Jun 14 Author Hi @mrvnsk9 you're right, those empty array slots (no disk assigned, size 0, DISK_NP) shouldn't be showing at all.I already hide empty parity slots and just missed the data ones, so the next update will filter them out automatically, no toggle needed.
June 16Jun 16 Author v2026.06.16 is outFixedA pool scrub scheduled in Unraid is now detected, so the Tool page shows the next scrub time instead of always reading "no schedule". This covers both ZFS and BTRFS pool scrubs.Empty array slots are no longer shown as phantom rows. Unraid keeps a placeholder entry for every configured array position and the unused ones were appearing as blank rows. A disk that is assigned but currently missing still appears, since that is a real warning worth seeing.A configured array or pool disk whose drive is missing (disconnected or removed) is now shown as "NOT INSTALLED or MISSING": the name is dimmed with a label beside it, spaced clearly from the name, and every column is blank instead of an empty 0 percent row, and its spin control shows no tooltip since there is no drive to spin. This covers missing parity, data and pool disks, and can be turned off separately for the widget and the Tool page under Settings, Display.New FeaturesThe Unraid boot (flash) drive is now shown as its own Boot Device section after the unassigned devices, on both the widget and the Tool page. It cannot be spun up or down from the bolt, and a new Boot device Display setting (separate for each, on by default) controls whether it appears.Hovering a disk name now shows a tooltip with the drive's identification (model, serial and device node), like the Main page Identification column. It works on both the widget and the Tool page, for array, pool and unassigned disks, and can be turned on or off separately for each under Settings, Display.NVMe drives now show their wear level, the percentage of rated life used, next to the health icon in the Tool page Health column, coloured green, amber or red as it rises. Drives that do not report it stay blank.ImprovementsThe Reallocated, Pending and CRC columns on the Tool page are now colour-coded green, amber or red, so a healthy zero stands out from a count worth watching.The Age column now shows the drive's age in years next to its total power-on hours, on a single line.Pool and array totals rows are cleaner: columns that apply only to a single disk are left blank instead of showing "n/a", and pool-level values such as scrub and fragmentation show once on the summary row instead of on every member.On the Tool page, array disks and multi-disk pool members now carry the same subtle row highlight as on the widget, making them easy to tell apart from the totals row.The spin tooltip on the bolt now starts at the bolt and extends to the right, on both the widget and the Tool page, instead of being centred over the bolt.The header icon's tooltip is now sized to its contents with aligned columns, and grows as needed so a disk's error count is never cut off.* Full compatibility with Unraid Themes (Black - White - Azure - Gray)
June 18Jun 18 Hello, it seems that its for now not working 100% correct with internal boot - or at least for me.It shows show FLASH2 of my internal boot pool.
June 18Jun 18 Author Hi @izzymoren0, I see what the problem is. I hadn't accounted for 7.3 letting you boot the OS from internal disks. I'll fix the issue you ran into in the next release. Thanks for the report!
June 19Jun 19 Author v2026.06.19 is outFixedThe settings gear has been removed from the summary rows (Array, Cache, Pool and Boot). Those rows are totals, not a single disk, so the gear only opened a blank settings page. The gear stays on the real disk rows.New FeaturesNVMe drives now show their power draw in watts next to the temperature, on both the widget and the Tool page, the same as Unraid's own display. It follows Unraid's "Enable NVME power monitoring" setting under Settings, Disk Settings, and drives that report no draw stay blank.The Boot Device section now also covers a dedicated internal boot pool, whether a single drive or a RAID pool, not just the USB flash drive. The Boot device Display setting still controls whether it appears, separately for the widget and the Tool page.ImprovementsOn the widget, the disk columns now match the Tool page: cells that do not apply to a row stay blank instead of showing a dash (for example free and used space on parity and pool member rows), and a disk with no activity reads "idle" or "sleep" in the Speed and Temperature columns instead of a dash.The Used column title on the widget is now centred over its column, like the Tool page.Hovering a disk name, or the temperature, error and health icons, no longer shows a question-mark cursor, and the divider line inside those tooltips has been removed.Note: Since I don't have a way to reproduce this setup with a boot OS on an internal drive, or with internal drives configured as RAID, I based these changes on the way the official plugin implements the same functionality. If you notice any issues, please report them and I'll take a look.
June 20Jun 20 Do you think you could add a disk activity percentage like this plugin did? Or add a way to use the other plugin's data?
June 21Jun 21 Author On 6/20/2026 at 5:40 AM, Thorman said:Do you think you could add a disk activity percentage like this plugin did? Or add a way to use the other plugin's data? I'll add it in the next release as a show/hide option in the settings (off by default), so you can turn it on if you find it useful.
June 22Jun 22 Hello,I think this still doesn't look quite right. I would have expected it to look similar to the cache implementation. It would be also cool if it shows the file system like on cache, in my case its an zfs boot pool.Maybe also a nice thing to have is if we are able to hide some of the devices, especially for the unassigned part.as example, to hide here the MASSSTORAGECLASS. Edited June 22Jun 22 by izzymoren0
June 22Jun 22 Author Hi, @izzymoren0, could you post your disks.ini so I can see exactly how 7.3 lists your internal boot pool? You'll find it at /var/local/emhttp/disks.ini (open a terminal and run cat /var/local/emhttp/disks.ini, or grab it with the file manager). That is the file Disk Viewer reads, so it will show me why the boot pool is being split into a separate POOL row and a 1 MB boot entry. Feel free to strip any serial numbers before posting.
June 22Jun 22 ["parity"] idx="0" name="parity" device="sdd" id="TOSHIBA_MG10ACA20TE" size="19531825100" sectors="39063650304" sector_size="512" transport="ata" rotational="1" discard="0" removable="0" spundown="0" status="DISK_OK" format="GPT: 4KiB-aligned" temp="30" numReads="1605" numWrites="2147" numErrors="0" type="Parity" color="green-on" spindownDelay="-1" spinupGroup="" idSb="TOSHIBA_MG10ACA20TE" sizeSb="19531825100" ["disk1"] idx="1" name="disk1" device="sde" id="TOSHIBA_MG09ACA18TE" size="17578327020" sectors="35156656128" sector_size="512" transport="ata" rotational="1" discard="0" removable="0" spundown="0" status="DISK_OK" format="GPT: 1MiB-aligned" temp="29" numReads="73814" numWrites="546" numErrors="0" type="Data" color="green-on" spindownDelay="-1" spinupGroup="" idSb="TOSHIBA_MG09ACA18TE" sizeSb="17578327020" deviceSb="md1p1" luksState="0" fsType="xfs" fsStatus="Mounted" fsMountpoint="/mnt/disk1" autotrim="off" compression="off" comment="" fsProfile="" fsWidth="1" fsGroups="1" state="7" slots="1" devices="1" devicesSb="1" fsColor="green-on" fsEmpty="no" fsSize="17576240108" fsFree="8843980924" fsUsed="8732259184" ["disk2"] idx="2" name="disk2" device="sdf" id="TOSHIBA_MG09ACA18TE" size="17578327020" sectors="35156656128" sector_size="512" transport="ata" rotational="1" discard="0" removable="0" spundown="0" status="DISK_OK" format="GPT: 1MiB-aligned" temp="30" numReads="70111" numWrites="555" numErrors="0" type="Data" color="green-on" spindownDelay="-1" spinupGroup="" idSb="TOSHIBA_MG09ACA18TE" sizeSb="17578327020" deviceSb="md2p1" luksState="0" fsType="xfs" fsStatus="Mounted" fsMountpoint="/mnt/disk2" autotrim="off" compression="off" comment="" fsProfile="" fsWidth="1" fsGroups="1" state="7" slots="1" devices="1" devicesSb="1" fsColor="green-on" fsEmpty="no" fsSize="17576240108" fsFree="10183193516" fsUsed="7393046592" ["disk3"] idx="3" name="disk3" device="sdg" id="WDC_WD30EFRX-68AX9N0" size="2930265540" sectors="5860533168" sector_size="512" transport="ata" rotational="1" discard="0" removable="0" spundown="0" status="DISK_OK" format="GPT: 1MiB-aligned" temp="32" numReads="947" numWrites="523" numErrors="0" type="Data" color="green-on" spindownDelay="-1" spinupGroup="" idSb="WDC_WD30EFRX-68AX9N0" sizeSb="2930265540" deviceSb="md3p1" luksState="0" fsType="xfs" fsStatus="Mounted" fsMountpoint="/mnt/disk3" autotrim="off" compression="off" comment="" fsProfile="" fsWidth="1" fsGroups="1" state="7" slots="1" devices="1" devicesSb="1" fsColor="green-on" fsEmpty="yes" fsSize="2928834748" fsFree="2872721952" fsUsed="56112796" ["disk4"] idx="4" name="disk4" device="sdh" id="WDC_WD30EFRX-68AX9N0" size="2930265540" sectors="5860533168" sector_size="512" transport="ata" rotational="1" discard="0" removable="0" spundown="0" status="DISK_OK" format="GPT: 1MiB-aligned" temp="31" numReads="947" numWrites="523" numErrors="0" type="Data" color="green-on" spindownDelay="-1" spinupGroup="" idSb="WDC_WD30EFRX-68AX9N0" sizeSb="2930265540" deviceSb="md4p1" luksState="0" fsType="xfs" fsStatus="Mounted" fsMountpoint="/mnt/disk4" autotrim="off" compression="off" comment="" fsProfile="" fsWidth="1" fsGroups="1" state="7" slots="1" devices="1" devicesSb="1" fsColor="green-on" fsEmpty="yes" fsSize="2928834748" fsFree="2872721952" fsUsed="56112796" ["parity2"] idx="29" name="parity2" device="" id="" size="0" sectors="0" sector_size="0" transport="" rotational="" discard="" removable="" spundown="0" status="DISK_NP_DSBL" format="-" temp="*" numReads="0" numWrites="0" numErrors="0" type="Parity" color="grey-off" idSb="" ["boot"] idx="30" name="boot" device="nvme2n1" id="INTEL_MEMPEK1J016GAL" size="1004" sectors="28131328" sector_size="512" transport="nvme" rotational="0" discard="1" removable="0" spundown="0" status="DISK_OK" format="GPT: 1MiB-aligned (bootable)" temp="31" numReads="94" numWrites="0" numErrors="0" type="Cache" color="green-on" deviceSb="nvme2n1p4" ["boot2"] idx="31" name="boot2" device="nvme1n1" id="INTEL_MEMPEK1J016GAD" size="1004" sectors="28131328" sector_size="512" transport="nvme" rotational="0" discard="1" removable="0" spundown="0" status="DISK_OK" format="GPT: 1MiB-aligned (bootable)" temp="33" numReads="84" numWrites="0" numErrors="0" type="Cache" color="green-on" deviceSb="nvme1n1p4" ["cache"] idx="32" name="cache" device="nvme3n1" id="Lexar_SSD_NM790_2TB" size="2000397656" sectors="4000797360" sector_size="512" transport="nvme" rotational="0" discard="1" removable="0" status="DISK_OK" format="MBR: 1MiB-aligned" temp="38" numReads="165865" numWrites="3633859" numErrors="0" type="Cache" color="green-on" deviceSb="nvme3n1p1" fsType="btrfs" fsStatus="Mounted" fsMountpoint="/mnt/cache" autotrim="on" fsFree="1273180168" fsUsed="726690904" ["cache2"] idx="33" name="cache2" device="nvme0n1" id="Lexar_SSD_NM790_2TB" size="2000397656" sectors="4000797360" sector_size="512" transport="nvme" rotational="0" discard="1" removable="0" status="DISK_OK" format="MBR: 1MiB-aligned" temp="34" numReads="173511" numWrites="3638807" numErrors="0" type="Cache" color="green-on" deviceSb="nvme0n1p1" ["flash"] idx="34" name="flash" device="nvme2n1" id="INTEL_MEMPEK1J016GAL" size="14064640" sectors="28131328" sector_size="512" transport="nvme" rotational="0" discard="1" removable="0" status="DISK_OK" format="GPT: 1MiB-aligned (bootable)" temp="31" numReads="4757" numWrites="18582" numErrors="0" type="Boot" color="green-on" fsType="zfs" fsStatus="Mounted" fsMountpoint="/boot" ["flash2"] idx="35" name="flash2" device="nvme1n1" id="INTEL_MEMPEK1J016GAD" size="14064640" sectors="28131328" sector_size="512" transport="nvme" rotational="0" discard="1" removable="0" status="DISK_OK" format="GPT: 1MiB-aligned (bootable)" temp="33" numReads="5694" numWrites="18524" numErrors="0" type="Boot" color="green-on"
June 24Jun 24 Author v2026.06.24 is outFixedThe internal boot pool is now detected correctly on Unraid 7.3. On a server that boots from an internal pool instead of a USB stick, the pool now appears once under Boot Device with its real size, usage and member drives, and the tiny bootable partition Unraid keeps on those same drives is no longer shown as a separate 1 MB pool or listed twice.The widget now keeps the height you set after a reboot or a fresh login, not only for the current browser session.New FeaturesYou can now hide individual unassigned devices and single-disk pools from the disk list, with a separate list for the widget and for the Tool page, so you can hide something on one without touching the other. Handy for clutter like built-in card readers that always read 0 B. Devices are matched by their stable id, so they stay hidden across reboots and reconnects, and your array, parity, pool members and boot device are never on the list. A Rescan button picks up anything you just plugged in.ImprovementsNVMe drives now show a chip icon and no longer have a spin control, since they don't spin down. SATA SSDs and hard drives keep the bolt.The Tool page section headings now match the widget, showing the disk count and RAID profile next to the name.On the Tool page, the Realloc, Pending and CRC headings turn amber or red when a disk in that column needs attention, the same as the Temp heading.Unassigned devices now start hidden on a fresh install and after Reset to Defaults, like the Boot Device section. Settings you have already saved are not touched.
June 26Jun 26 Author v2026.06.26 is outFixedDisk name labels could appear invisible on the white and azure themes, and on systems where the dashboard theme had never been explicitly chosen. The plugin now follows Unraid's active theme reliably and also confirms light or dark from the page itself, so the disk names always show.On the gray theme the widget and Tool page now use Unraid's slate-blue surface colors for the sticky column header and the cache and pool row striping, instead of a flat neutral gray that clashed with the dashboard.On the Tool settings page the header indicator options no longer unlock by mistake on a fresh install or right after a reboot, before the dashboard has been opened. The dashboard widget is treated as present until it is genuinely removed, so the options stay managed by the widget as intended.New FeaturesThe Tool page now shows how busy each disk is, not just how fast. The Speed column, renamed Speed r/w - i/o, shows each active disk's i/o as a percentage next to its read/write speed, with a bar. SSD and NVMe drives show it in blue, spinning drives go from green to amber to red as they get busier, at thresholds you can set. It reads the kernel's activity counters, so it never wakes a sleeping disk, and updates live with the speed. Idle and sleeping disks read idle or sleep. On by default; switch it off under the Tool tab.
June 27Jun 27 On 6/26/2026 at 1:09 AM, Lazaros Chalkidis said:New FeaturesThe Tool page now shows how busy each disk is, not just how fast. The Speed column, renamed Speed r/w - i/o, shows each active disk's i/o as a percentage next to its read/write speed, with a bar. SSD and NVMe drives show it in blue, spinning drives go from green to amber to red as they get busier, at thresholds you can set. It reads the kernel's activity counters, so it never wakes a sleeping disk, and updates live with the speed. Idle and sleeping disks read idle or sleep. On by default; switch it off under the Tool tab.Thank you so much for adding this. Could you please add this to the widget as well? Edited June 27Jun 27 by Thorman
June 29Jun 29 Author On 6/27/2026 at 11:07 PM, Thorman said:Thank you so much for adding this. Could you please add this to the widget as well?I tried adding the I/O info to the widget, but I'm running out of space. I might need to make the row a bit taller to fit everything in. I'll see what works best. I'll add it in the next update.
Wednesday at 04:37 AM3 days Author v2026.07.08 is outFixedOn systems set to Fahrenheit, the Tool page showed the temperature in Celsius with an F after it, so a 38C disk read as 38F. It now converts correctly. The widget and header badge were already right.The health dot in each section header of the widget was always red. It now shows amber for SMART warnings and red only for a real fault.A pool whose scrub schedule you had turned off could still show a next scrub date on the Tool page. It now follows Unraid's current schedule, so a disabled pool shows no schedule. Note: if Unraid left the old job behind in its own crontab, the scrub can still run until you rebuild cron or reboot.On the Tool page, scrolling sideways to reach the far columns no longer jumps back to the start every time the page refreshes.Cleared a harmless PHP warning from the log when spinning a disk up or down from the Tool page.New FeaturesThe dashboard widget can now show disk activity in the Speed column, like the Tool page does. Each busy disk shows its i/o as a percentage next to the read/write speed, with a small bar: blue for SSD and NVMe, green through amber to red for hard drives as they get busier. It reads the kernel's counters, so it never wakes a sleeping disk. Off by default, turn it on under the Widget tab in settings.Two new columns on the Tool page. Link shows each drive's current interface speed against its maximum, so a SATA disk stuck at 1.5 Gb/s on a 6 Gb/s port, or an NVMe drive running below its PCIe speed, is easy to spot. That is often what sits behind CRC errors and corruption. Written shows total lifetime writes for drives that report it. Both use SMART data the plugin already collects, so there is no extra disk access.ImprovementsThe Tool page now fits a 1920-wide screen without a sideways scrollbar. The Speed column was made narrower, and NVMe power draw now sits under the temperature on a small second line instead of beside it.The Link column spells out the unit, for example S 6 Gb/s instead of a bare 6.0.New icon for NVMe drives that reads better at small sizes.
Thursday at 02:49 AM2 days Author v2026.07.09 is outFixedThe browser now always loads the current version of the plugin's files after an update. They previously had no version tag, so a browser could keep serving old cached copies of the dashboard and Tool page code even after the plugin was updated, which made fixes look like they had not applied. A normal page reload after updating is now enough.Spin up and down failed with a "bad csrf token" message on both the widget and the Tool page, on individual disks and the bulk buttons. Recent Unraid versions validate the security token themselves and then strip it from the request, both from the form body and from headers, before the plugin sees it, so the plugin's own check found nothing and refused. The token now also travels under a second field name that Unraid leaves untouched, satisfying both checks. The plugin additionally keeps the token fresh on every update and retries once automatically if it is ever rejected.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.