diff --git a/tach_sensor.cpp b/tach_sensor.cpp
index 987e390..91e249d 100644
--- a/tach_sensor.cpp
+++ b/tach_sensor.cpp
@@ -1,4 +1,6 @@
+#include <sdbusplus/exception.hpp>
 #include "tach_sensor.hpp"
+#include "fan_enclosure.hpp"
 
 
 namespace phosphor
@@ -13,6 +15,40 @@
     return (tach != 0);
 }
 
+// Tach signal callback handler
+int TachSensor::handleTachChangeSignal(sd_bus_message* msg,
+                                       void* usrData,
+                                       sd_bus_error* err)
+{
+    auto sdbpMsg = sdbusplus::message::message(msg);
+    static_cast<TachSensor*>(usrData)->handleTachChange(sdbpMsg, err);
+    return 0;
+}
+
+void TachSensor::handleTachChange(sdbusplus::message::message& sdbpMsg,
+                                  sd_bus_error* err)
+{
+    std::string msgSensor;
+    std::map<std::string, sdbusplus::message::variant<int64_t>> msgData;
+    sdbpMsg.read(msgSensor, msgData);
+
+    // TODO openbmc/phosphor-fan-presence#5
+    //      Update to use 'arg0namespace' match option to reduce dbus traffic
+    // Find interface with value property
+    if (msgSensor.compare("xyz.openbmc_project.Sensor.Value") == 0)
+    {
+        // Find the 'Value' property containing tach
+        auto valPropMap = msgData.find("Value");
+        if (valPropMap != msgData.end())
+        {
+            tach = sdbusplus::message::variant_ns::get<int64_t>(
+                valPropMap->second);
+        }
+    }
+    // Update inventory according to latest tach reported
+    fanEnc.updInventory();
+}
+
 } // namespace presence
 } // namespace fan
 } // namespace phosphor
