Ik heb al jaaaren voor mijn thuis-netwerk/server een UPS.(Uninterruptible Power Supply). Hier zijn mijn netwerkcomponenten, wifi en de camera-deurbel op aangesloten. Echter, afgelopen maand begon deze ineens heel veel stroom te gebruiken, en ik had al langer mijn twijfels over de batterij. Bij een stekkertrek-test was het ook vrij duidelijk, hij viel direct uit.

Helaas was voor deze UPS de batterij vervangen geen optie, die kostte net zoveel als een nieuwe. Dus dan koop je een nieuwe, sowieso om de tijd te overbruggen voordat ik een thuisbatterij heb. Dat zie ik namelijk nog wel gebeuren….
De vorige 2 UPS-en waren van APC, (Die het ieder zeker wel 5 a 6 jaar hebben uitgehouden.) maar in de prijsklasse wat ik zocht hebben ze alleen domme UPS’en, zonder USB aansluiting of iets dergelijks. En dat is wel iets wat ik wilde, bij voorkeur om in home-assistant de status van de batterij af te lezen. Uiteindelijk is de keuze op een FORTRON iFP 800 gevallen. Dit is vwb capaciteit vergelijkbaar met wat ik had, mét USB aansluiting. De software was verder wel afwachten…
Hier leg ik uit wat ik moest doen om deze op ubuntu 24.04 aan de gang te krijgen.
Drivers
Eerst maar eens op zoek gegaan naar de drivers. Deze UPS is eigenlijk een FSP UPS, drivers kun je hier downloaden. Maar dan krijg je direct pakketjes van 75MB of groter. Dat ben ik niet gewend onder linux. Dus nog even doorgezocht, ik was sowieso al benieuwd of mijn server de USB adapter herkende… Daarvoor kun het het commando lsusb en dsmesg (Direct na inpluggen USB device) gebruiken:
~$ lsusb
Bus 001 Device 006: ID 0665:5161 Cypress Semiconductor USB to Serial
~$ dsmesg:
[ 1770.808767] usb 1-4: USB disconnect, device number 2
[ 1831.980751] usb 1-4: new low-speed USB device number 6 using xhci_hcd
[ 1832.110657] usb 1-4: New USB device found, idVendor=0665, idProduct=5161, bcdDevice= 0.03
[ 1832.110673] usb 1-4: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 1832.114455] hid-generic 0003:0665:5161.0003: hiddev0,hidraw1: USB HID v1.11 Device [HID 0665:5161] on usb-0000:00:14.0-4/input0
Yes, daar is hij! Vervolgens ben ik met hulp van ChatGPT verder gegaan, dat was best geniaal. 😁
Deze UPS meldt zich dus niet als seriële poort (ttyUSBx), maar als een HID USB-apparaat. En de USB-ID 0665:5161 is een heel bekende ID voor FSP UPS’en en compatibele merken zoals Voltronic, Mustek, Blazer, enz. We gaan de configuratie dus aanpassen voor HID ipv TTY. 👍 Om dit te doen moeten we eerst een standaardpakket NUT installeren; en vervolgens een aantal configuratiebestanden configureren:
sudo apt install nut
sudo nano /etc/nut/ups.conf
sudo nano /etc/nut/nut.conf
sudo nano /etc/nut/upsd.conf
sudo nano /etc/nut/upsd.users
/etc/nut/ups.conf:
[fspups]
driver = blazer_usb
port = auto
desc = "FSP Fortron iFP 800 UPS via USB HID"
/etc/nut/nut.conf (Mode netserver is nodig om straks te koppelen met home-assistant, alsmede ook de config in upsd.conf)
MODE=netserver
/etc/nut/upsd.conf -> Stel de volgende regels in:
LISTEN 127.0.0.1 3493
LISTEN <server-ip>
/etc/nut/upsd.users -> Deze is ook nodig om (remote) te kunnen inloggen. Wachtwoord mag je zelf bedenken, heeft niets van doen met de UPS zelf.
[monuser]
password = <yourupspass>
upsmon master
[homeassistant]
password = <yourpassword>
upsmon slave
instcmds = all
Vervolgens moet je NUT toegang geven op de USB-poort.
sudo nano /etc/udev/rules.d/99-nut-usb.rules
# FSP / Blazer / Cypress USB UPS
SUBSYSTEM=="usb", ATTR{idVendor}=="0665", ATTR{idProduct}=="5161", MODE="0660", GROUP="nut"
Als je dit allemaal gedaan hebt moet je de udev services herinitialiseren, de USB opnieuw inpluggen en de NUT server nog herstarten om de configuratie in te lezen:
sudo udevadm control --reload-rules
sudo udevadm trigger
sudo systemctl restart nut-server
En daarna de test met het command: upsc fspups
servacc@numbat:~$ upsc fspups
Init SSL without certificate database
battery.charge: 100
battery.voltage: 13.60
battery.voltage.high: 13.00
battery.voltage.low: 10.40
battery.voltage.nominal: 12.0
device.type: ups
......
ups.status: OL
ups.type: offline / line interactive
ups.vendorid: 0665
Home Assistant
Yes: hij doet het! Nog de volgende stap: toevoegen aan Home Assistant. Tot mij grote verrassing is daar gewoon een standaard Integration voor. En nog mooier: Home-assistant had zelfs de NUT service al gevonden! Dus een kwestie van de Integratie installeren, aanmelden met het useraccount wat ik al eerder had geconfigureerd, en de gegevens stromen al binnen… 🎉
