Monitoring a UPS

I have a APC ups that is monitored by a Raspberry PI using the APC program. I can check the ups from a CGI page when I am home and on the local lan. But the page won't load when I am away. Is there anyway to get the info from the cgi through a driver and into the HE?

I am not sure other ways, but it is possible to write a driver that monitors a webpage and parses the data on it. It is EASIEST if the data is represented using XML or JSON but depending on how far you are willing to go you can make a driver parse pretty much anything.

For example, my Neptune Systems Apex driver reads the json output that controller outputs (at a cgi-bin/status.json page) and brings the data into my Hubitat.

So far I found this:

It reads a cgi file. But I am don't really know how to adapt it to my needs :((

Does the ups have the network card. If so

I wish it did. It is a little one

If you change to using NUT, you can use this: [Now with code for Nut discovery + UPS & outlet status] Support for UPS?, which is what I use and like. I have an APC as well and stopped using their software, as NUT is more broadly supported by other applications.

If your using node-red on your raspberry you could use node-red-contrib-apcaccess (node) - Node-RED then send that info to Hubitat.

I am using Nut and I have node red on the pi. Thanks guys!

I have NUT set up to notify me via text (sends email to my text number at Verizon using msmtp) for any UPS status changes I want to be aware of when away from home. It's easy to implement and has been very reliable. My network is all on multiple UPS (modem, router, AP, switches, Pi, etc.) so email access from the Pi is functional long enough for messages on UPS status to get out, and then things will shut themselves off in an orderly way if power doesn't come back on.

I'd suggest you look into a VPN (you can run WireGuard from your Pi) to access your network when you're away, home VPN is the best approach IMHO.

I have the NUT driver/ Nut Child driver installed and configured. I got info from the UPS (Whoohoo) Now I am getting a notice that the CPU load is to high. I left the polling time at 10 seconds. I set that to 30 but still got the error. Clear something up for me. Since I have a single UPS what drivers do I need to install? Nut Parent, Child, Outlets. Do I create a virtual driver for the NUT Parent and that is all, then fill in the NUT server info?
One other thing, is it possible to change the time that the ups can run the load from seconds to minutes?


Haven't used that integration so not too familiar, but ususally you install all three drivers and then create a virtual driver using the parent and it will create any necessary children.

Can you just enter hundreds of seconds (e.g., 120 for 2m) or does the poll interval top out at two digits? Then you could at least use 90?

Just to confirm, you're using this now?

Yes that is the driver(s) I am using. I installed all three. The question about th etime the UPS can run is a time in seconds provided by the UPS. right now it says it will source my load for 3012 seconds, It would be great if I could get it to convert to minutes, in this case 50.2 minutes. That is small compared to the CPU load being high for my C5

Best to move questions on that integration to that thread. I'm not using it so can't help directly at this point...