Hi, this kind of issues are quite common, especially with Cisco. They report something to command line and something different via SNMP (NPM reads everything via SNMP). I cannot tell you for sure that this is what happened in your case, but it is most probable.
As you can notice the sensor is named "Sw1, Ps2 Faulty, RPS NotExist". To be honest I see this for the first time, that the status is being incorporated to the sensor name. But even so it is important to say that both sensor name and sensor value (the status) are provided by the device itself. This means that the device itself is giving "Faulty" to the sensor name. I would recommend to contact Cisco for assistance. They should tell you whether the data from CLI or SNMP is valid, because clearly one of them is wrong.
You can also try different aproach - for Cisco there is a special option to get data from different MIB, which sometimes fix the issue with invalid sensors. But be careful as this has impact on hardware health on all Cisco devices. Some devices support both MIBs, some don't, so check the result and in case of even worse situation just go back to the original settings.
Locate c:\Program Files (x86)\SolarWinds\Orion\HardwareHealth\SolarWinds.HardwareHealth.Pollers.dll.config, and change the defaults
<add key="IgnoreCiscoNewEntityMib" value="false"/>
<add key="IgnoreCiscoNewEntityMib" value="true"/>
or vice versa if you have the other configuration. After this change (and restarting all services), the only OIDs polled will be those from CISCO-ENVMON-MIB (or from CISCO-ENTITY-SENSOR-MIB if you switched to false).
Please let me know if this helped. If you are going to contact Cisco support, I would be also interested what they tell you. Usually I recommend this way to the customers, but I don't get feedback how it ended.