Fix host monitoring for multi-host support

The existing host state monitoring logic used a static D-Bus object
path, which caused incorrect behavior in systems with multiple hosts.
The monitor was not correctly listening to the state changes of the
intended host instance, leading to missed or misrouted state updates.

This change dynamically constructs the D-Bus object path using the
host node number, ensuring that the signal match is registered for
the correct host instance. Additional logging has been added to aid
in debugging and to confirm that the correct node is being monitored.

Change-Id: I462450820a60389056bfbad9fb03db61c0548395
Signed-off-by: Jayanth Othayoth <ojayanth@gmail.com>
diff --git a/src/power_control.cpp b/src/power_control.cpp
index e14de4e..e6a0548 100644
--- a/src/power_control.cpp
+++ b/src/power_control.cpp
@@ -1590,11 +1590,16 @@
         setRestartCause();
     }
 
+    std::string objectPath = "/xyz/openbmc_project/state/host" + node;
+
     static auto match = sdbusplus::bus::match_t(
         *conn,
         "type='signal',member='PropertiesChanged', "
         "interface='org.freedesktop.DBus.Properties', "
-        "arg0='xyz.openbmc_project.State.Host'",
+        "path='" +
+            objectPath +
+            "',"
+            "arg0='xyz.openbmc_project.State.Host'",
         [](sdbusplus::message_t& message) {
             std::string intfName;
             std::map<std::string, std::variant<std::string>> properties;