nutdotnet/Coco.Nut

Core Plan

Opened this issue ยท 9 comments

  • Will be written for .NET MAUI, with C# and XAML
    • Cross-platform, native apps
  • Can maintain a history of datapoints collected from a UPS
  • Structured in such a way that multiple NUT servers can be monitored at once, with multiple UPSes attached to each
  • Actions system where user can specify actions to take when certain conditions are met
    • Default actions available where supported, e.g hibernate or shutdown a system, run commands, notify, etc.

Would you consider a minimal implentation of the Windows Battery class (https://learn.microsoft.com/en-us/windows/win32/cimwin32prov/win32-battery)? This would enable desktop/server-class devices to operate as though they are laptops, and activate hibernation/shutdown actions when they go "on battery". This would eliminate the requirement for a custom UI, as configuration could be done using standard Windows interfaces.

Good point, I always wondered if there was a way to interact with system power management in a more native fashion but I had never looked into it. Thank you for the suggestion!

It's been on my backlog of projects to look into, but I'm not a Windows dev, so don't know how to even start such a project. If you can figure out how to lay out such an implementation, I suspect it should be fairly straightforward to map the Battery interface to the NUT API.

I do not know how this project is progressing but I wouls like to ask for a feature to be included please.

Could you implement Coco.Nut to be able to monitor more than one UPS on different platforms. My case is pretty simple I have one UPS in my LAN closet running on a Pi and anpther in my offfice holding up my office and Home Assistant stuff. IRight now I need to look at two different systems to see that state of both UPSs. It would be convenient to have a drop down menu that selects one of a number of UPS devices each with its own stored parameters.

Thank you.

Structured in such a way that multiple NUT servers can be monitored at once, with multiple UPSes attached to each

From the very first post.

Not sure how much time OP is able to commit to this, but that is one of his goals.

I have 2 suggestions:
1: macos support
2:external scripts support, in my case I'd like to inform other computers to perform shutdown procedures

I'd like to be able to have the option of installing it as a Windows service, It would allow my Plex server to monitor the Nut server without requiring someone to be logged into Windows.

I would love to see the this being implemented as a virtual battery device, similar to how a physical APC UPS is presented. I think some Intel storage software won't allow write caching unless a battery is detected.

All,

Thanks for your ideas so far. I've been doing more work on the original WinNUT project, but please keep the suggestions coming.