]> ### 0.23.0 - New: DXP480T Plus (power LED only, controller at 0x26): the power LED is set to static white at boot, without a script or i2c-tools (register writes after ich777's driver; needs testing on the hardware) - New: `ugreen-led-i2c scan all` lists the addresses that answer on every I2C bus (read only), to find the controller of models the plugin doesn't know ### 0.22.3 - Fix: with a second default route over Unraid's shim-br0 (VMs or Docker networks on br0), the link speed was read from that virtual device and showed 10G with 2.5G cables, and the network activity blink watched the wrong counters; the uplink is now taken from the real route and its speed from the physical ports below bridges, bonds and VLANs ### 0.22.2 - Fix: with a bond (or bridge) the link speed colour and the speed shown on the LED settings page could be wrong, e.g. 10G with two 2.5G cables; it now uses the fastest cable that has a link ### 0.22.1 - The About page is redone: icon, name, version and licence on top, then tiles for GitHub, the Unraid forum thread and "Report a problem", then protocol and thanks ### 0.22.0 - Power LED on shutdown and reboot: System → "Shutdown and reboot" lets the power LED blink or breathe in a colour of your choice from the moment Unraid stops the array during a shutdown or reboot (a plain array stop doesn't trigger it); there is a 6 second test button. Night mode still applies, and other power LED effects (alerts, rainbow) step aside ### 0.21.4 - "Network LED by link speed" moved from Drives → Status display to LED settings, in its own card "Network LED" below the LED table, where the network LED belongs ### 0.21.3 - A network port without link is drawn as a dimmed socket with a cross, so it differs from a connected one by its shape and not only by its colour ### 0.21.2 - The network port sockets take the colour set for their speed when "Network LED by link speed" is on (10G blue, 1G yellow, ...); with the option off they stay green ### 0.21.1 - The network ports next to the LAN LED are drawn as RJ45 sockets: green with the speed they run at ("2.5G"), dimmed with the speed they support when there is no link ("10G") ### 0.21.0 - Network LED by link speed: Drives → Status display → "Network LED by link speed" colours the LED after the negotiated speed (10 Mbit/s to 10 Gbit/s), with a colour you can change per speed; a link that negotiates less than expected (e.g. 1 instead of 2.5 Gbit/s) stands out. Without a connection the error colour stays, with a manual network LED nothing changes - The status daemon reads link and speed right at its start, so the first seconds show the right colour - The case picture and the dashboard tile show the network ports next to the LAN LED: each port with the speed it runs at ("eth1 2.5G"), a port without link dimmed with the speed it supports and a cross ("eth0 10G ✕"); with a single port just its speed. System page: new row "Network ports" ### 0.20.1 - Spanish: new version of the translation by ivolution (one term for "brightness" throughout, "luminosidad") ### 0.20.0 - Spanish interface (Español), translated by ivolution; Unraid's Spanish locale selects it automatically - English wording: "Nighttime now – until …", "Daytime now – nighttime from …", "Nighttime brightness" ### 0.19.5 - Fix: a plugin marked as favorite (heart icon in Settings) lost the mark on update and got it back only after a reboot; the update now restores it right away ### 0.19.4 - Wording: the status mode hint named the network LED setting only as "below"; it now names the setting (thanks to the Spanish translator for the question) ### 0.19.3 - In status mode the brightness sliders show the setting you chose, not the dimmed value of a spun-down disk, and the LED table says when a bay is dimmed, off or pulsing because its disk is in standby (it looked as if the setting jumped back; Drives → Status display → Disks in standby → Normal turns the dimming off) ### 0.19.2 - Fix: setting the brightness (or colour) of several LEDs one after the other could put earlier LEDs back to their old values. Settings are now saved under a lock and before the LEDs are written, one failing LED no longer stops the others, and a slow read can't overwrite the page with older values ### 0.19.1 - Dashboard tile is compact now: slim bays with the number and the LED, a state only for an error or SMART warning (temperatures are on Unraid's own storage tiles); "Dashboard tile → With temperatures" in System → Appearance brings the old view back ### 0.19.0 - Light colour scheme: Settings → System → Appearance offers Dark, Light or "Same as Unraid" (follows your Unraid theme); the dashboard tile follows it too ### 0.18.0 - Every setting saves on change: status display, night mode and Unraid alerts no longer need a Save button - Night mode: the brightness slider and the on/off switch show the day settings instead of the dimmed LEDs, with a note until when night mode runs; a brightness changed at night is saved for the day and the LEDs stay dimmed - Ready for a Spanish translation (shown once it exists); Unraid's Spanish locale is detected ### 0.17.3 - Fix: a colour typed as a hex value now shows in its preview swatch right away (reported in the forum) ### 0.17.2 - Every download is checked against its MD5, so the plugin manager only installs the files of this version (Community Applications review) - The ugreen-led-i2c binary is built reproducibly; nothing changes in how it works ### 0.17.1 - Fix: LEDs could be missing after a reboot with "no SMBus I801 adapter found" (DXP8800 Plus, GitHub issue #30); the plugin now loads the Intel SMBus driver itself and waits for the adapter - New `ugreen-led-ctl smbus` shows the adapter or the kernel messages why it is missing ### 0.17.0 - Disks in standby can pulse slowly in their colour (Drives → Status display → Disks in standby → Pulse slowly) - The network LED setting moved to the overview, right below the default mode, and saves on change ### 0.16.0 - Status display: the network LED can blink with traffic (as before), only show the link without blinking, or stay manual while the bay LEDs keep showing disk activity (GitHub issue #27) - A manual network LED keeps its own colour, brightness and effect, also rainbow/temperature, in status mode ### 0.15.2 - The Support link on the Plugins page opens the support thread in the Unraid forum ### 0.15.1 - Fix: "Standby" broke over two lines in the small case pictures; the text in the bays now scales with the bay width - Fix: long effect names ("Temperature") were cut off in narrow effect tiles ### 0.15.0 - Dashboard tile: Unraid's dashboard (6.12+) gets a "UGREEN LED Control" tile with the case picture, live LED colours, each bay's temperature or state, and mode / night / alert - Own icon (the NAS front with coloured LEDs) on the Plugins page, the settings page, the dashboard tile and in the plugin's sidebar ### 0.14.2 - Fix: the LED tables showed the controller's internal LED name ("disk1") under each bay, which looked like the Unraid slot; they now show the Unraid disk in the bay (e.g. "disk2 · /dev/sdc") ### 0.14.1 - The case pictures on the overview show each bay's temperature or state (standby, error, SMART) in the middle of the bay ### 0.14.0 - More UGREEN models: DXP8800 Plus, DX4600 Pro, DXP4800 (Plus/Pro), DX4700 and DXP2800 get their bay-to-SATA-port tables (after miskcoo/ugreen_leds_controller); other models fall back to ata1…ataN - The System page says whether the bay assignment is verified, reported or guessed; the Laufwerke page asks to check it with "Identifizieren" when it isn't verified ### 0.13.0 - Drive LEDs can show each disk's temperature (blue → green → yellow at Unraid's "hot" → red at "critical"; disk-specific limits and SSD limits respected) - SMART warnings: a bay lights up in a warning colour when reallocated, pending or uncorrectable sectors grow, a SMART value fails, or Unraid counts read/write errors; "Quittieren" accepts the current values - Fix: short status badges on the bay cards no longer turn into circles ### 0.12.0 - Status mode shows parity checks and rebuilds: array disks breathe in their own colour (disks with errors keep the error colour); the Laufwerke page shows the progress - Spun-down disks are dimmed (or normal / off, as chosen); bay cards show standby, temperature and read/write errors ### 0.11.0 - Unraid alerts: while Unraid has unread warnings (or only alerts, as chosen), the power LED blinks in the alert colour; once they are read or archived it returns to normal (System page, checked every minute) ### 0.10.0 - Identify a bay: "Identifizieren" on the Laufwerke page blinks the bay's LED white for 30 seconds, then restores its previous state; the status daemon leaves it alone meanwhile ### 0.9.0 - The interface speaks German and English: System → Sprache / Language, with "Automatic" following Unraid's language ### 0.8.0 - Rainbow effect: a colour wave over the chosen LEDs, with speed and direction - Temperature effect: the LEDs show the CPU temperature from blue (35 °C) over green and yellow to red (65 °C) - "Nur im Leerlauf" pauses both while a disk is busy - Picking a colour or another effect for an LED ends a rainbow/temperature effect on it; in status mode they apply to the power LED only ### 0.7.0 - Night mode (Zeitpläne): from a start to an end time, also across midnight, the LEDs are dimmed to a night brightness or switched off; in status mode disk and network LEDs follow, and dark LEDs don't blink ### 0.6.1 - Status mode is easier to recognise: disk and network LEDs show "Statusmodus" instead of a greyed-out effect field, and the LED and Laufwerke pages explain what the mode does ### 0.6.0 - No kernel module any more: the plugin talks to the LED controller itself (ugreen-led-i2c over /dev/i2c-N), so Unraid updates with a new kernel keep the LEDs working - Status mode blinks disks and the network LED with the controller's own blink while there is activity - A led_ugreen driver from an older version is unloaded; its cached copy on the boot device is removed ### 0.5.1 - Fix: without ugreenleds-driver no LEDs appeared, because the LED controller was never declared on the SMBus; the plugin now does that itself - The System page shows whether the LED controller is really declared and which LEDs were found, instead of fixed values ### 0.5.0 - Status mode: disk LEDs blink on activity and switch to the error colour when Unraid reports a disabled, invalid or missing disk; empty bays stay dark; the network LED blinks with traffic and turns to the error colour without link or gateway - Bays are matched to disks by SATA port (DXP6800 Pro), shown on the Laufwerke page - The status daemon steps aside while the ugreenleds-driver monitor is running ### 0.4.0 - Settings made in the web interface are saved on the boot device (USB flash drive or SSD) and restored at boot ### 0.3.0 - New interface: overview with general settings, LED colours, effects, live preview of the case and effect settings - Per-LED page and per-bay page with colour, brightness and effect - Test button and reset to defaults - Warning while the ugreenleds-driver LED monitor is running, because it overwrites disk and network LEDs - Styles only apply inside the plugin page ### 0.2.1 - Fix: the install script copied nothing, because plugin entities are not expanded inside CDATA ### 0.2.0 - Plugin downloads its files from GitHub instead of expecting them on the flash drive - LED writes from the settings page work (they go through api.php with the WebGUI csrf_token) - Only the bays the model really has are shown (DXP6800 Pro: 6) - Reading an LED returns valid JSON again - An led_ugreen driver loaded by another plugin is left alone - Success and error messages are visible - The page lives at Settings → User Utilities → UGREEN LED Control ### 0.1.0 - Initial release &gitURL;/src/backend/ugreen-led-ctl 347120dd379333a9615faae386117bcc &releaseURL;/ugreen-led-i2c 18abf6dcb6f320cd8cb61e7381d695c7 &gitURL;/src/event/stopping 750adcb7dbfb5220879603b880e92114 &gitURL;/src/web/api.php 9d9ebe16622c70be2e92a348c7c19194 &gitURL;/src/web/UGREENLEDControl.page d6bc6c9f8fb86794f364eb7646367772 &gitURL;/src/web/UGREENLEDDashboard.page 903dc5c349e2b11e4597fbdd76f03adf &gitURL;/src/web/images/ugreen-led-control.png 5bc23f73dfcf53b131b8444d531391b5 &gitURL;/src/web/icons/ugreen-led-control.png c066fd047a60cd66fd6e0c118a15b38b &gitURL;/src/web/include/lang.php d5606ea1e892b749a50a0b375bb2e8e3 &gitURL;/src/web/css/app.css 736b2bbb9427f3ce636908d4fe9bcfe4 &gitURL;/src/web/js/i18n.js 6ad7ffb296200abe29c3058e4a2c68b2 &gitURL;/src/web/js/app.js 7fbdb3949356cfdfa9b0a4fcd10220a4 &gitURL;/src/web/js/dash.js d0ea1f61348ed9c35fb85547410b97ca NAME="&name;" VERSION="&version;" GIT_URL="&gitURL;" BOOT_DIR="&bootDIR;" SRC_DIR="&srcDIR;" /dev/null 2>&1 "${PLUGIN_DIR}/backend/ugreen-led-ctl" daemon stop >/dev/null 2>&1 fi # The Intel SMBus driver is not always loaded at boot (GitHub issue #30). modprobe i2c_i801 2>/dev/null modprobe i2c-dev # Versions up to 0.5.1 used the led_ugreen kernel module; it would hold address 0x3a. if grep -q '^led_ugreen ' /proc/modules; then for device in /sys/bus/i2c/devices/*-003a; do [ -e "${device}" ] || continue echo 0x3a > "$(dirname "$(readlink -f "${device}")")/delete_device" done rmmod led_ugreen 2>/dev/null && log "Unloaded led_ugreen (no longer needed)." fi rm -rf "${BOOT_DIR}/driver" "${BOOT_DIR}/driver-state" # # Web interface # rm -rf "${PLUGIN_DIR}" mkdir -p "${PLUGIN_DIR}" cp -r "${SRC_DIR}/." "${PLUGIN_DIR}/" chmod 755 "${PLUGIN_DIR}/backend/ugreen-led-ctl" "${PLUGIN_DIR}/backend/ugreen-led-i2c" "${PLUGIN_DIR}/event/stopping" # A favorite (the heart on the Settings page) is a label in the Menu line of the # .page file, which the copy above has just replaced. Unraid puts it back at # boot only, so do that now as well. if [ -x /usr/local/emhttp/webGui/scripts/restore_favorites ]; then /usr/local/emhttp/webGui/scripts/restore_favorites fi # # Restore the LED settings saved by the web interface (this also runs at boot) # if "${PLUGIN_DIR}/backend/ugreen-led-i2c" probe >/dev/null 2>&1; then "${PLUGIN_DIR}/backend/ugreen-led-ctl" apply | sed 's/^/[UGREEN LED Control] /' # Restart also replaces a daemon still running the previous version's code. if grep -qx 'mode="status"' "${BOOT_DIR}/leds.cfg" 2>/dev/null; then "${PLUGIN_DIR}/backend/ugreen-led-ctl" daemon restart 2>&1 | sed 's/^/[UGREEN LED Control] /' fi # Night mode right away; afterwards cron checks it every minute. "${PLUGIN_DIR}/backend/ugreen-led-ctl" schedule --force # Rainbow/temperature effect, if one was chosen. if grep -q '^fx_name="[a-z]' "${BOOT_DIR}/leds.cfg" 2>/dev/null; then "${PLUGIN_DIR}/backend/ugreen-led-ctl" fx start 2>&1 | sed 's/^/[UGREEN LED Control] /' fi elif "${PLUGIN_DIR}/backend/ugreen-led-ctl" dxp480t >/dev/null 2>&1; then log "DXP480T: the power LED is set to static white (the only LED of this model)." else log "WARNING: The LED controller does not answer on the SMBus; no LEDs available." "${PLUGIN_DIR}/backend/ugreen-led-ctl" smbus 2>&1 | sed 's/^/[UGREEN LED Control] /' fi # # Night mode schedule: Unraid's update_cron merges /boot/config/plugins/*/*.cron # echo "* * * * * ${PLUGIN_DIR}/backend/ugreen-led-ctl schedule >/dev/null 2>&1" > "${BOOT_DIR}/${NAME}.cron" /usr/local/sbin/update_cron # # Drop cached files of older versions # for dir in "${BOOT_DIR}"/*/; do case "$(basename "${dir}")" in "${VERSION}") ;; *) rm -rf "${dir}" ;; esac done log "Installation complete." ]]> NAME="&name;" BOOT_DIR="&bootDIR;" /dev/null 2>&1 "${PLUGIN_DIR}/backend/ugreen-led-ctl" daemon stop >/dev/null 2>&1 fi rm -rf "${PLUGIN_DIR}" rm -rf "${BOOT_DIR}" /usr/local/sbin/update_cron log "Removed." ]]>