FruDevice: Fix power match

Power match was triggered off the old power interface.

Tested: After DC on, new devices were discovered

Change-Id: I2166fc987907606ad63cd1cbb96bf5bc34ef7987
Signed-off-by: James Feist <james.feist@linux.intel.com>
diff --git a/src/FruDevice.cpp b/src/FruDevice.cpp
index b20b0d3..7e37dd2 100644
--- a/src/FruDevice.cpp
+++ b/src/FruDevice.cpp
@@ -1206,10 +1206,16 @@
                 std::variant<std::string, bool, int64_t, uint64_t, double>>
                 values;
             message.read(objectName, values);
-            auto findPgood = values.find("pgood");
-            if (findPgood != values.end())
+            auto findState = values.find("CurrentHostState");
+            bool on = false;
+            if (findState != values.end())
             {
+                on = boost::ends_with(std::get<std::string>(findState->second),
+                                      "Running");
+            }
 
+            if (on)
+            {
                 rescanBusses(io, busMap, dbusInterfaceMap, objServer);
             }
         };
@@ -1217,8 +1223,8 @@
     sdbusplus::bus::match::match powerMatch = sdbusplus::bus::match::match(
         static_cast<sdbusplus::bus::bus&>(*systemBus),
         "type='signal',interface='org.freedesktop.DBus.Properties',path='/xyz/"
-        "openbmc_project/Chassis/Control/"
-        "Power0',arg0='xyz.openbmc_project.Chassis.Control.Power'",
+        "openbmc_project/state/"
+        "host0',arg0='xyz.openbmc_project.State.Host'",
         eventHandler);
 
     int fd = inotify_init();