Linux: estrazione tempo restante batteria UPS

Se usate un UPS collegato al vostro sistema Linux può essere comodo avere uno script che vi indichi quanta batteria è ancora disponibile, così da non farvi cogliere impreparati.

Ecco di seguito un semplice script che vi permetterà, dopo che avrete installato e configurato il demone e le utility Nut, di ottenere queste informazioni in modo chiaro e semplice.

#!/bin/bash

# device to check using "nut" utilities
UPSDEV="usbups@localhost"


# chars to be added at the end of output
CHARS=" | "


# displays battery remaining %
# echo "$( LANG= upsc $UPSDEV | grep battery.charge: | awk '{print $2}' )${CHARS}"


#
displays battery time remaining, or "infinite" if battery is not discharging
STS=$(LANG= upsc $UPSDEV | grep ups.status: | awk '{print $2}' | grep -i DISCHRG )
SEC=$(LANG= upsc $UPSDEV | grep battery.runtime: | awk '{print $2}' )
if [ "$STS" = "" ]; then
echo "∞${CHARS}"
else
echo "$(date -d@$SEC -u +%Hh:%Mm)${CHARS}"
fi

Nel mio caso quanto sopra è stato salvato (e reso eseguibile) in /usr/local/bin/ups-status e poi il comando è stato usato come fonte di informazioni per xfce4genmon-plugin, così da integrare nel pannello principale di Xfce l’informazione estratta dallo script creato.

Ricordate di adeguare il codice alle vostre esigenze (inserite il giusto riferimento al vostro ups in UPSDEV, adattate i caratteri extra da visualizzare in CHARS e commentate/decommentate i blocchi con le azioni di lettura dati e output)

Lascia un commento