16 hours ago16 hr If this belongs in Plugin Support, please move it there. Creating a topic in that section was disabled for my account.MD12xx Fan Control for UnraidThis started because my Docker-based MD1200 fan controller was not doing what I wanted. I wanted something native to Unraid, visible in the WebGUI, and careful enough that it would not blindly send commands to the wrong shelf.It got a little out of hand, so now it is a standalone plugin.This is currently a beta. It has been tested on two independently controlled Dell PowerVault MD1200 shelves. MD1220 support is included but remains experimental because I do not own one to test personally.FeaturesSupports one or more independently controlled MD1200 or MD1220 shelves.Discovers persistent serial adapters, SES enclosures, and Unraid disks.Uses a guarded 20% → 50% → 20% test to prove which serial adapter controls which shelf.Verifies fan response independently through SES RPM telemetry.Automatically maps each shelf to its current Unraid disks.Controls each shelf from its hottest active assigned disk—not an average.Runs at 20% when all assigned disks are spun down.Provides configurable Auto curves and Manual speeds from 20% through 100%.Detects competing fan controllers and refuses to become a second writer.Supervises the controller and sends local Unraid failure/recovery notifications.Provides a documented local API for dashboards and other Unraid integrations.RequirementsUnraid 7.3.2 or newer.Dell PowerVault MD1200, or MD1220 for experimental testing.A compatible SAS HBA/controller exposing the enclosure and an SES /dev/sg* device.Serial access to the active/primary EMM through a persistent /dev/serial/by-id path.The tested MD1200 setup uses a Dell-compatible six-pin service/password-reset cable and an FTDI USB-to-serial adapter.No other Docker container, script, or plugin controlling the same shelf.MD1400, MD1420, split-mode, daisy-chain, redundant-path, and other untested arrangements are not currently supported. I am interested in hardware reports, but I do not want to claim support before somebody proves it.The HBA connection is read-only. It is used to map disks and read SES fan telemetry. Fan-speed commands are sent only through the selected EMM serial console.InstallationUntil it appears in Community Applications, paste this URL into Plugins → Install Plugin:https://raw.githubusercontent.com/TheIlluminate92/unraid-md12xx-fan-control/main/releases/md12xx.fancontrol.plgQuick startOpen Settings → Utilities → MD12xx Fan Control.Leave the controller disabled, add a shelf, and select its persistent serial adapter.Run Identify & test and wait for the complete 20% → 50% → 20% test to pass.Repeat for every shelf, then enable the controller and select Auto or Manual mode.Normal setup and commissioning are handled through the WebGUI. Terminal use is not required.Safety and privacyCommissioning only succeeds when exactly one SES enclosure produces the expected RPM response and the final return to 20% is independently verified.If mappings change, disks disappear, temperatures become unavailable, another fan writer is detected, or a command cannot be verified, the plugin fails closed or uses the configured fail-safe speed.Everything runs locally. There are no cloud services, analytics, automatic uploads, or GitHub credentials. Diagnostics stay on the server until the user exports them. Please inspect the redacted archive before attaching it to a public report.Documentation and supportProject, releases, setup directions, safety details, and default Auto curve:https://github.com/TheIlluminate92/unraid-md12xx-fan-controlBug and hardware reports:https://github.com/TheIlluminate92/unraid-md12xx-fan-control/issuesLocal API documentation:https://github.com/TheIlluminate92/unraid-md12xx-fan-control/blob/main/docs/API.mdSecurity problems should use the repository’s private vulnerability-reporting option instead of a public post.Development transparencyI supplied the hardware, requirements, design decisions, testing, repeated opportunities to break things, and final release approval.I am not going to pretend I personally wrote all the code. OpenAI Codex provided the primary implementation, tests, documentation, packaging, and debugging assistance under my direction and review. That is disclosed in the plugin and repository because I would rather be completely transparent about what people are installing.Beta feedback wantedI am especially looking for:MD1200 reports from different HBAs, firmware, and Unraid versions.Real MD1220 commissioning results.Alternate FTDI adapters or service cables.Discovery or disk-mapping failures.Unexpected RPM behavior.Reboot and array stop/start results.Anything confusing, ugly, broken, or unsafe.Storage is awesome. Quiet is power. Edited 15 hours ago15 hr by TheIlluminate Remove place holders from draft forum submission.
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.