Here is a brief overview.
It may sound trivial, but for getting power alarms it is neccessary to have devices with redundant power supplies in different power circuits.
And (mostly) the devices only know, there is power on circuit x or not.
Don't expect more!
(Power) Alarm handling for Cisco devices differs very much.
The prerequisite is that the devices will send the correct traps.
Sometimes polling may help, but today we need mostly traps.
There is a good handling for devices with good old IOS. We get alarms and have also "Cisco Environment Monitor Information" at the "Information" tab.
I'm still checking IOS-XE devices, but it also looks good.
We have a few ISR devices but we wait already 1 year for the Spectrum certification.
ASA devices only send "Syslog Traps". We have modified event 0x210c0e to filter them out.
Every ASA trap contains a number for the message type. So it is easy to filter exactly. The codes for the power messages are "ASA-1-7356003" - "...006".
What's left?
Nexus Devices.
This seems not so easy.
Maybe, the MIBs for the "Cisco Environment Monitor Information" view are not supported.
Power traps ("cefcPowerStatusChange", 1.3.6.1.4.1.9.9.117.2.0.2) generates only event 0x2104b2.
The implementation of this event seems to be a little bit buggy and is based on a very old version of "CISCO-ENTITY-FRU-CONTROL-MIB".
I'm still busy with analyzing and customizing it.