Die USV hat eine serielle Schnittstelle und funktioniert gut mit Windows, zusammen mit einer seriellen USB-Adapter und die Opti-UPS "Sentry" Software, die UPS können Windows anweisen Wenn es auf Batteriebetrieb bei Stromausfall ein AC umgestellt hat. Dies ermöglicht es Windows ordnungsgemäß heruntergefahren, wenn nötig.
Die Sentry-Software ist nicht verfügbar für Linux und die seriellen Daten ist nicht dem standard und nicht leicht zu entschlüsseln. Es wird nicht einmal von Mutter (http://www.networkupstools.org) unterstützt.
Also habe ich beschlossen, die Front LED auf dem Gerät um zu prüfen, den aktuellen Status der USV, die grüne LED bedeutet, dass die USV auf AC-Modus, ist bedeutet Orange Batteriebetrieb.
Ich nahm die UPS auseinander und verlötet zwei Drähte in den Batteriemodus führte, diese außerhalb der USV gespeist und hakte sie bis zu einem Raspberry Pi GPIO-Port und Boden.
Jetzt wenn der Netzstrom ausfällt, die UPS sendet 1.8v an die Front-LED und der Raspberry Pi liest eine Logik 1 auf seine GPIO-Pin (Pin 5 als Eingabe festgelegt).
Dies bedeutet, dass ich überwacht werden können, die pin mit einem BASH-Skript, und das Skript Herunterfahren mein NAS und andere Geräte, die alle angetrieben durch die USV - über SSH vernetzt.
Die Beispiel-Skript habe ich überprüft die GPIO-Pin alle paar Sekunden, und wenn es eine "1" liest dann die Netzspannung ausfällt, es sendet mir dann eine Push-Benachrichtigung auf meinem iPhone mit Prowl/Knurren. Bleibt das Netzteil Ausschalten länger als 30 Sekunden gibt das Skript einen Shutdown-Befehl an mein NAS-Laufwerk. Die GPIO-Pin wird dann wiederum überwacht, bis die Stromversorgung wiederhergestellt ist, dann es eine WakeOnLan-Paket an das NAS sendet um es wieder einschalten.
Du musst ohne Passwort aktivieren ssh Logins für Ihre eigenen Geräte, wenn Sie diese Methode verwenden.