Best thing is to use your UPS. Do you have any always-on computers like a raspberry pi that could monitor the UPS? I use NUT on a pi then have NUT hit a web endpoint on a Rule Machine rule to give the notification.
I personally use a ring z-Wave range extender for the reporting. As for the software, I use [BETA]Power Outage Manager from @thebearmay, very nice app with some useful automations when power goes off and when it comes back on.
My Ecolink Chime/Siren also does this but I use contact switches on the transfer switch of the standby generator. Plus, it has its own app that texts and emails.
Of course, all this only works when there is still internet access.
I have 3 of these. They are awesome. One on my house mains, one on my main server rack UPS, and one on my network UPS.
Hubitat, modem, router and a poe switch with two WAPs on it are on a final UPS. Once the main network UPS has depleted, the Hubitat UPS is all that's left online, integrated to Hubitat via NUT. It will then tell Hubitat to send out one last message letting me know all other batteries have depleted and then shutdown Hubitat safely. It will then keep only the modem and wifi on until as long as this final battery lasts, while everything else is long dead by this point.