August 22, 20251 yr The little UPS is really cute and works great with UGOS.In Unraid I have activated it as APC and USB. But unfortunately it is not recognized. Has anyone managed to fix this?
September 21, 20251 yr Author I found the solution (NUT-Plugin):[ugreenups]driver = usbhid-upsport = autovendorid = 2b89productid = ffffsubdriver = Arduinodesc = "Ugreen US3000 via USB" Edited September 21, 20251 yr by Berzdorfer
October 8, 20251 yr Thank you for posting this and saving me a headache! For future folks there is just one setting to change in the UI: Enable Manual Configuration -> For UPS Driver Then copy/paste Berzdorfers configuration to the config file at the bottom Then start the NUT service
November 5, 2025Nov 5 These posts are super helpful; many thanks to those who shared their insight on this conifguration.One clarifying question: has anyone figured out whether it is possible to have the UGreen NAS automatically reboot once mains power has been restored to the UGreen UPS?Graceful shutdown works properly with the configuration posted above.Many thanks.
December 4, 2025Dec 4 Hi, I assume you are talking about UGREEN US3000 right?I have an ASRock N100M with a picopsu (12V power brick).Can anyone tell me if the US3000 will also work with custom builds?
December 7, 2025Dec 7 I am actually struggling here to get it working on the DXP4800 Plus ugreen, with the ugreen US3000 UPS.However no details come back from the UPS?? Edited December 7, 2025Dec 7 by danielp1221
December 31, 2025Dec 31 You may want to try setting the line for "Enable Manual Configuration" from "Yes" to "for UPS Driver". I haven't been able to get mine to work either way, while some have.
January 5Jan 5 On 12/7/2025 at 5:56 PM, danielp1221 said:I am actually struggling here to get it working on the DXP4800 Plus ugreen, with the ugreen US3000 UPS.However no details come back from the UPS??I'm a noob Unraider with the same setup and this was puzzling me over the past few days. I've finally got it working on my end by using the config instructions from this page: https://forums.unraid.net/topic/60217-plugin-nut-v2-network-ups-tools/page/78/#comment-1584921
January 10Jan 10 On 11/5/2025 at 8:55 AM, OMedia said:One clarifying question: has anyone figured out whether it is possible to have the UGreen NAS automatically reboot once mains power has been restored to the UGreen UPS?If anyone still need this info.. I had to make quite some tests connecting UPS to my Mac, but they were succesfull :) To make this feature work you need to add additional option to config - allow_killpower = 1[ugreenups]driver = usbhid-upsport = autovendorid = 2b89productid = ffffsubdriver = Arduinodesc = "Ugreen US3000 via USB"allow_killpower = 1Also set Disable UPS Power after Shutdown: YesThen in your NAS Bios set Power Failure Recovery: ONIt will send shutdown.return command via NUT at the end of shutting down process. Then UPS will cut all power in 20sec (could be changed with NUT) and beep. When power is back - NAS will start normally.
January 16Jan 16 On 12/7/2025 at 6:56 PM, danielp1221 said:I am actually struggling here to get it working on the DXP4800 Plus ugreen, with the ugreen US3000 UPS.However no details come back from the UPS??I have the exact same issues and can't solve it. Did you or anyone else figure it out? Running a DXP2800 here.Besides the UI not showing anything, the shutdown logic does not work as well.Any help would be appreciated!
January 18Jan 18 23 minutes ago, unmix4 said:I have the exact same issues and can't solve it. Did you or anyone else figure it out? Running a DXP2800 here.Besides the UI not showing anything, the shutdown logic does not work as well.Any help would be appreciated!I found the solution to this!Unbelievable that I missed this, but maybe I'm not the only one. In the UI configuration there is also a UPS Name field, I somehow thought this is overriden with the config below but it's not. The names need to match, then it works fine.
March 4Mar 4 Thanks all, thought I'd end the post here with everything as a screenshot so any user can see on what settings they need to get a ugreen UPS working with NUT in unraid.Got it working good thanks to the above posts!Here's screenshots for any future unraid, ugreen ups :)Config:Display Settings:The rest of the settings:
April 6Apr 6 Here's a Docker Compose setup that worked for me. It's more involved than the NUT plugin, but might be useful if you prefer Compose for managing your containers.mkdir -p /boot/config/plugins/compose.manager/projects/nut-upsd #or wherever your Compose files liveCreate docker-compose.yaml:services: nut-upsd: image: instantlinux/nut-upsd:latest container_name: nut-upsd restart: unless-stopped privileged: true pid: host ports: - "3493:3493" volumes: - /mnt/cache/appdata/nut-upsd:/etc/nut entrypoint: /etc/nut/start.shNotes privileged: true is required for USB access and host shutdown pid: host allows the container to trigger a graceful host poweroff via nsenterNUT config files need Unix file permissions (e.g., 640 for passwords), so they must live on a POSIX filesystem. The UnRAID boot drive is FAT32, which doesn't support Unix permissions — so I put the config at /mnt/cache/appdata/nut-upsd/ instead of /boot/config/Config filesmkdir -p /mnt/cache/appdata/nut-upsdups.conf:inimaxretry = 3retrydelay = 5[ugreenups]driver = usbhid-upsport = autovendorid = 2b89productid = ffffsubdriver = Arduinodesc = "Ugreen US3000 via USB"pollinterval = 15user = rootupsd.conf:LISTEN 0.0.0.0 3493ALLOW_NOT_ALL_LISTENERS 1upsd.users:[upsmon]password = YOUR_PASSWORD_HEREupsmon primaryupsmon.conf:MONITOR ugreenups@localhost 1 upsmon YOUR_PASSWORD_HERE primaryMINSUPPLIES 1SHUTDOWNCMD "/bin/nsenter -t 1 -m -u -i -n -- /sbin/poweroff"POLLFREQ 5POLLFREQALERT 5HOSTSYNC 15DEADTIME 15FINALDELAY 5RBWARNTIME 43200NOCOMMWARNTIME 300POWERDOWNFLAG /etc/nut/killpowernut.conf:MODE=netserverstart.sh (custom entrypoint -- the default one has issues with duplicate config entries and restart loops):#!/bin/shmkdir -p /var/run/nutchown nut:nut /var/run/nutchown root:nut /etc/nut/*.confchmod 640 /etc/nut/*.conf/usr/sbin/upsdrvctl start/usr/sbin/upsd -F &sleep 2exec /usr/sbin/upsmon -DMake it executable:chmod +x /mnt/cache/appdata/nut-upsd/start.shTesting it out:cd /boot/config/plugins/compose.manager/projects/nut-upsddocker compose up -ddocker exec nut-upsd upsc ugreenups@localhostYou should see output like:battery.charge: 57device.mfr: UGREENdevice.model: US3000ups.status: OL DISCHRG CHRGFurther Notes upsmon inside the container monitors the UPS via upsdWhen battery hits the low threshold (20% by default), upsmon runs the SHUTDOWNCMDThe command uses nsenter -t 1 to execute poweroff on the host (not inside the container)No need to configure anything in UnRAID's Settings > UPS pageThe image's default entrypoint appends duplicate LISTEN lines to upsd.conf on every restart. The custom start.sh above avoids this.user = root in ups.conf is needed so the driver can access USB devices from inside the container. Without it, the default nut user gets "insufficient permissions" on USB. Separately, you should have a firewall rule to restrict port 3493 (NUT) to only trusted networks (e.g. LAN and Tailscale), so the UPS service isn't exposed to the internet.Since USB device paths can change across reboots, I also have vendorid and productid in ups.conf with port = auto , which is more reliable than hardcoding a /dev/bus/usb/ path.
May 9May 9 Thanks for all of the above posts - I've managed to get a setup that works pretty well!That said, I have been doing some testing and I am wondering if anyone has an answer to the following (it might just be that it's not possible).TL;DR: When the power returns to the UPS after it has kicked off the shutdown cycle, the NAS doesn't power back on. Is there some config to set to enable this?Scenario:Kill power to UPSWait the 4 minute timeout for it to kick off the shutdown cycleOnce shutdown begins, resume power to UPSObserve shutdownWait a decent amount of time and observe the NAS not powering back on.My ups.conf[ugreenups] driver = usbhid-ups port = auto vendorid = 2b89 productid = ffff subdriver = arduino desc = "Ugreen US3000 via USB" allow_killpower = 1I believe my config is aligned to what @MinoS posted above https://forums.unraid.net/topic/192997-ugreen-ups-with-unraid/#findComment-1600857Again, thanks for posting this stuff, has helped me greatly!
May 26May 26 Hi All,I finally managed to get the UGREEN US3000 UPS all setup and working, but i have noticed that the logs share and syslog are constantly getting the following, every second, which repeats endlessly. Happy to upload the diagnostics file if it helps.Anyone have any ideas?Thanks!May 26 04:40:06 Urd usbhid-ups[1886523]: [D2:1886523:ugreenups] nut_libusb_get_interrupt: Connection timed out May 26 04:40:06 Urd usbhid-ups[1886523]: [D1:1886523:ugreenups] Got 0 HID objects (371415 times in a row, tolerance is -1)... May 26 04:40:06 Urd usbhid-ups[1886523]: [D1:1886523:ugreenups] Quick update... May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] refresh_report_buffer: investigating path: 00840004.00840024.00840056 May 26 04:40:06 Urd usbhid-ups[1886523]: [D4:1886523:ugreenups] Entering libusb_get_report May 26 04:40:06 Urd usbhid-ups[1886523]: [D3:1886523:ugreenups] Report[get]: (5 bytes) => 0a 00 00 00 00 May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] PhyMax = 0, PhyMin = 0, LogMax = 2147483647, LogMin = -1 May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] Unit = 00001001, UnitExp = 0 May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] Exponent = 0 May 26 04:40:06 Urd usbhid-ups[1886523]: [D2:1886523:ugreenups] Path: UPS.PowerSummary.DelayBeforeStartup, Type: Feature, ReportID: 0x0a, Offset: 0, Size: 32, Value: 0 May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] ups_infoval_set: report descriptor mapping for 'UPS.PowerSummary.DelayBeforeStartup' (Feature) was already set as handled May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] refresh_report_buffer: investigating path: 00840004.00840024.00840057 May 26 04:40:06 Urd usbhid-ups[1886523]: [D4:1886523:ugreenups] Entering libusb_get_report May 26 04:40:06 Urd usbhid-ups[1886523]: [D3:1886523:ugreenups] Report[get]: (5 bytes) => 09 ff ff ff ff May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] PhyMax = 0, PhyMin = 0, LogMax = 2147483647, LogMin = -1 May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] Unit = 00001001, UnitExp = 0 May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] Exponent = 0 May 26 04:40:06 Urd usbhid-ups[1886523]: [D2:1886523:ugreenups] Path: UPS.PowerSummary.DelayBeforeShutdown, Type: Feature, ReportID: 0x09, Offset: 0, Size: 32, Value: -1 May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] ups_infoval_set: report descriptor mapping for 'UPS.PowerSummary.DelayBeforeShutdown' (Feature) was already set as handled May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] refresh_report_buffer: investigating path: 00840004.00840024.00840055 May 26 04:40:06 Urd usbhid-ups[1886523]: [D4:1886523:ugreenups] Entering libusb_get_report May 26 04:40:06 Urd usbhid-ups[1886523]: [D3:1886523:ugreenups] Report[get]: (5 bytes) => ee 00 00 00 00 May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] PhyMax = 0, PhyMin = 0, LogMax = 2147483647, LogMin = -1 May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] Unit = 00001001, UnitExp = 0 May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] Exponent = 0 May 26 04:40:06 Urd usbhid-ups[1886523]: [D2:1886523:ugreenups] Path: UPS.PowerSummary.DelayBeforeReboot, Type: Feature, ReportID: 0xee, Offset: 0, Size: 32, Value: 0 May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] ups_infoval_set: report descriptor mapping for 'UPS.PowerSummary.DelayBeforeReboot' (Feature) was already set as handled May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] refresh_report_buffer: investigating path: 00840004.00840024.00850068 May 26 04:40:06 Urd usbhid-ups[1886523]: [D4:1886523:ugreenups] Entering libusb_get_report May 26 04:40:06 Urd usbhid-ups[1886523]: [D3:1886523:ugreenups] Report[get]: (6 bytes) => 06 64 ff ff 00 00 May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] PhyMax = 0, PhyMin = 0, LogMax = 2147483647, LogMin = 0 May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] Unit = 00001001, UnitExp = 0 May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] Exponent = 0 May 26 04:40:06 Urd usbhid-ups[1886523]: [D2:1886523:ugreenups] Path: UPS.PowerSummary.RunTimeToEmpty, Type: Feature, ReportID: 0x06, Offset: 8, Size: 32, Value: 65535 May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] ups_infoval_set: report descriptor mapping for 'UPS.PowerSummary.RunTimeToEmpty' (Feature) was already set as handled May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] refresh_report_buffer: investigating path: 00840004.00840024.00840002.008500d0 May 26 04:40:06 Urd usbhid-ups[1886523]: [D4:1886523:ugreenups] Entering libusb_get_report May 26 04:40:06 Urd usbhid-ups[1886523]: [D3:1886523:ugreenups] Report[get]: (4 bytes) => 01 31 00 00 May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] PhyMax = 0, PhyMin = 0, LogMax = 1, LogMin = 0 May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] Unit = 00000000, UnitExp = 0 May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] Exponent = 0 May 26 04:40:06 Urd usbhid-ups[1886523]: [D2:1886523:ugreenups] Path: UPS.PowerSummary.PresentStatus.ACPresent, Type: Feature, ReportID: 0x01, Offset: 0, Size: 1, Value: 1 May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] hu_find_infoval: found online (value: 1) May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] ups_infoval_set: report descriptor mapping for 'UPS.PowerSummary.PresentStatus.ACPresent' (Feature) was already set as handled May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] process_boolean_info: online May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] process_boolean_info: !offline May 26 04:40:06 Urd usbhid-ups[1886523]: [D3:1886523:ugreenups] Report[buf]: (4 bytes) => 01 31 00 00 May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] PhyMax = 0, PhyMin = 0, LogMax = 1, LogMin = 0 May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] Unit = 00000000, UnitExp = 0 May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] Exponent = 0 May 26 04:40:06 Urd usbhid-ups[1886523]: [D2:1886523:ugreenups] Path: UPS.PowerSummary.PresentStatus.Discharging, Type: Feature, ReportID: 0x01, Offset: 4, Size: 1, Value: 1 May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] hu_find_infoval: found dischrg (value: 1) May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] ups_infoval_set: report descriptor mapping for 'UPS.PowerSummary.PresentStatus.Discharging' (Feature) was already set as handled May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] process_boolean_info: dischrg May 26 04:40:06 Urd usbhid-ups[1886523]: [D3:1886523:ugreenups] Report[buf]: (4 bytes) => 01 31 00 00 May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] PhyMax = 0, PhyMin = 0, LogMax = 1, LogMin = 0 May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] Unit = 00000000, UnitExp = 0 May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] Exponent = 0 May 26 04:40:06 Urd usbhid-ups[1886523]: [D2:1886523:ugreenups] Path: UPS.PowerSummary.PresentStatus.Charging, Type: Feature, ReportID: 0x01, Offset: 2, Size: 1, Value: 0 May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] hu_find_infoval: found !chrg (value: 0) May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] ups_infoval_set: report descriptor mapping for 'UPS.PowerSummary.PresentStatus.Charging' (Feature) was already set as handled May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] process_boolean_info: !chrg May 26 04:40:06 Urd usbhid-ups[1886523]: [D3:1886523:ugreenups] Report[buf]: (4 bytes) => 01 31 00 00 May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] PhyMax = 0, PhyMin = 0, LogMax = 1, LogMin = 0 May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] Unit = 00000000, UnitExp = 0 May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] Exponent = 0 May 26 04:40:06 Urd usbhid-ups[1886523]: [D2:1886523:ugreenups] Path: UPS.PowerSummary.PresentStatus.BelowRemainingCapacityLimit, Type: Feature, ReportID: 0x01, Offset: 1, Size: 1, Value: 0 May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] hu_find_infoval: found !lowbatt (value: 0) May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] ups_infoval_set: report descriptor mapping for 'UPS.PowerSummary.PresentStatus.BelowRemainingCapacityLimit' (Feature) was already set as handled May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] process_boolean_info: !lowbatt May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] ups_status_set: current battery.charge=100 is okay compared to onlinedischarge_log_throttle_hovercharge=100 (previous onlinedischarge_log_throttle_charge=99): charging May 26 04:40:06 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] send_to_all: SETINFO driver.state "quiet" May 26 04:40:06 Urd usbhid-ups[1886523]: [D6:1886523:ugreenups] send_to_all: write 29 bytes to socket 5 succeeded (ret=29): SETINFO driver.state "quiet" May 26 04:40:07 Urd usbhid-ups[1886523]: [D5:1886523:ugreenups] send_to_all: SETINFO driver.state "updateinfo" May 26 04:40:07 Urd usbhid-ups[1886523]: [D6:1886523:ugreenups] send_to_all: write 34 bytes to socket 5 succeeded (ret=34): SETINFO driver.state "updateinfo" May 26 04:40:07 Urd usbhid-ups[1886523]: [D1:1886523:ugreenups] upsdrv_updateinfo...
June 30Jun 30 I just setup the US3000 on a DXP4800 Plus, has anyone found a solution to the excessive logging other than changing it to log to file and not syslog? Edited June 30Jun 30 by Trent Curtis
September 10Sep 10 On 6/30/2026 at 4:28 AM, Trent Curtis said:I just setup the US3000 on a DXP4800 Plus, has anyone found a solution to the excessive logging other than changing it to log to file and not syslog?I removed debug_min = 6from the config and that seems to have helped?so my config just reads[US3000]driver = usbhid-upsport = autovendorid = 2b89productid = ffffsubdriver = Arduinodesc = "Ugreen US3000 via USB"onlinedischarge_log_throttle_sec = -1lowbatt=20ignorelboverride.battery.charge.low = 20override.battery.runtime.low = 100
Monday at 08:09 PM3 days Following on from the NUT config in this thread: I enabled it on a UGREEN DXP4800 Plus with the US3000, and a couple of days later the syslog was filling the log tmpfs. If left alone it would eventually have hung the server. Here is what I found and how I fixed it, in case it helps anyone else.SetupUnraid 7.3.3NUT plugin (nut-dw) 2026.10.16, NUT 2.8.5"Enable Manual Configuration" set to For UPS Driver, with the ups.conf from earlier in this thread (usbhid-ups, vendorid = 2b89, productid = ffff, subdriver = Arduino)Symptom /var/log (a tmpfs, 1 GB on my box) was growing at roughly 5 KB/s, about 430 MB a day. About 90% of /var/log/syslog was NUT lines like:Code blockusbhid-ups: [D5:...:ugreenups] Exponent = 0 usbhid-ups: [D4:...:ugreenups] Entering libusb_get_report upsmon: [D3:...:mono] get_var: [email protected] / statusCause (in my case) I had NUT debug logging switched on, at level 6, in two places:debug_min = 6 in ups.conf.The plugin's upsmon debug level setting (DEBLEVELMON="6"), which writes DEBUG_MIN 6 into upsmon.conf.On most UPSes that would be noisy but tolerable. The US3000 exposes a large vendor-specific HID descriptor (hundreds of ffff00xx usages), and at debug level 5/6 the driver dumps it on every poll. That is where most of the volume came from.Why it eventually fills /var/log: Unraid's logrotate only runs from cron.daily, with rotate 2 and no compression. At that rate the live syslog plus two rotated copies can exceed the tmpfs.How to check yours:Code blockls -laS /var/log | head grep -E "usbhid-ups|upsmon|upsd" /var/log/syslog | grep -c "\[D[0-9]" sed -E 's/^[A-Z][a-z]{2} +[0-9]+ [0-9:]+ //; s/\[[0-9]+\]//g' /var/log/syslog | sort | uniq -c | sort -rn | headThe OL DISCHRG oddity The US3000 reports ups.status: OL DISCHRG all the time, even on mains. In the raw HID data I saw ACPresent = 1, Discharging = 1, Charging = 0, BelowRemainingCapacityLimit = 0, so the firmware itself sets those flags and NUT is not misreading them. My guess is that "Discharging" just means "not charging" on this firmware. battery.runtime is always 65535, which is a placeholder, so don't rely on it.NUT logs a warning for OL+DISCHRG, but only at startup and when battery.charge changes. It is not a flood on its own. I added onlinedischarge_log_throttle_hovercharge = 95 so 98/99 wobble doesn't trigger it.The fix, and where it has to be made to persist On Unraid, /etc is in RAM. The NUT plugin keeps its real config on the flash drive and regenerates parts of /etc/nut on every start, so where you edit matters:SettingEdit hereWhyupsmon debug offDEBLEVELMON="default" in /boot/config/plugins/nut-dw/nut-dw.cfg (or the "upsmon debug level" setting in the plugin GUI)rc.nut rewrites line 8 of upsmon.conf from this on every start. If you edit upsmon.conf directly, it is overwritten.driver debug offRemove debug_min = ... from ups.conf (NUT Editor, or edit the file)In "For UPS Driver" manual mode the GUI's driver debug setting is ignored, so the line lives in your own ups.conf.anti-spam filterSYSLOGFILTER="enable" in nut-dw.cfgThe plugin recreates the rsyslog filter and its logrotate file on each start.The plugin copies /etc/nut/* to /boot/config/plugins/nut-dw/ups/ whenever it writes its config, so after editing ups.conf I restarted NUT via the plugin and checked the two copies matched:Code blockcmp /etc/nut/ups.conf /boot/config/plugins/nut-dw/ups/ups.conf && echo identicalMy ups.conf now (the lowbatt / override lines are my own choices, not required):Code block[ugreenups] driver = usbhid-ups port = auto vendorid = 2b89 productid = ffff subdriver = Arduino desc = "Ugreen US3000 via USB" allow_killpower = 1 onlinedischarge_log_throttle_sec = -1 lowbatt=20 ignorelb override.battery.charge.low = 20 override.battery.runtime.low = 100 onlinedischarge_log_throttle_hovercharge = 95 pollinterval = 5Then restart NUT and clear the old flood with : > /var/log/syslog.Result Before: about 5 KB/s, thousands of NUT debug lines. After: 1 line in the first 60 seconds (my own test message), 0 debug lines, and /var/log at about 8 MB of 1 GB, almost all from an unrelated plugin log.Caveats, so you don't take this as gospelI verified this over a short period right after the change. (I'll update this post after 12+ hours with the log growth rate, whether any OL+DISCHRG warnings appeared, and confirmation after a reboot that the settings survived.)I have not tested a real power-loss shutdown with this setup.pollinterval = 5 is an optional tweak to reduce USB traffic; I haven't measured its effect on shutdown responsiveness.Debug level 6 was my own setting. If you didn't enable debug yourself and still see flooding, post your top repeated lines rather than assuming it's the same cause.Also worth doing: upsd listens on 0.0.0.0 with default NUT passwords. If only Unraid itself needs the UPS data, bind it to 127.0.0.1 and change the passwords.Possible extra hardening (not done yet) Because logrotate runs once a day, any future logging flood can still fill /var/log. An hourly logrotate run, for example from the User Scripts plugin, would cap that. I'll add it after the system has run clean for a while.
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.