Note that these instructions use offensive master/slave terminology because they are still necessary keywords in the NUT configuration files. There is work in progress to change this. I am going to use server and client whenever I can, but you can't avoid master/slave in upsd.users or upsmon.conf.
Given two UPS's:
And a Raspberry Pi, I'm setting up my home network and critical hardware to shutdown gracefully when the power fails.