Looking for someone to take on a coding project that I believe a Particle Photon might be perfect for. Here's the particulars...
There are plenty of APC UPS devices on the market that have USB interfaces so a PC can monitor the power state and shut down before battery dies. But network-capable UPS devices are generally bigger and MUCH more expensive. But there are a lot of applications where those are overkill and no PC is available to monitor the UPS, but monitoring would be desired. Think small network closet.
APC UPS devices made since 2003 with USB interfaces appear to have the same protocol, which is very simple and I'm fairly certain adapted directly from the RS-232 devices that proceeded them. The protocol is here:
http://www.apc.com/salestools/MPAO-99NQF6/MPAO-99NQF6_R1_EN.pdf
There is sample open source code here:
Now, it appears from this thread:
That the USB device on the Particle Photon does indeed support Host mode. So I think that all that would be required to connect the two is a cable like this:
I don't think you need the 5V hack as mentioned in the thread above because the UPS is already self-powered. If so, you may indeed need a full custom cable. I believe this is the cheapest UPS available with a USB port:
https://www.amazon.com/gp/product/B01FWAZEIU/ref=oh_aui_detailpage_o01_s00?ie=UTF8&psc=1
Now, what I really want is to combine the relay-board application firmware for the NCD.io boards with this newly written support for talking to the APC UPS. So in my ideal world my 2-Relay board I already use for another application could have a UPS plugged in to the USB port and then it would become an IFTTT trigger for UPS events like "on battery power", "battery level below X percent", etc. NCD board and their application particulars are here:
Assuming the above referenced USB Host code can be fairly easily leveraged, the hardest part might be debugging while the USB port is occupied. But maybe that's not as hard as I think, too. Anyway, anyone interested should come up with an idea of what you would need to be paid and send me a DM. FWIW, I would prefer to open source everything once done, too. But I'm willing to pay to have it done.
--Donnie