diff --git a/presence/psensor.hpp b/presence/psensor.hpp
index 096c96c..7afbd75 100644
--- a/presence/psensor.hpp
+++ b/presence/psensor.hpp
@@ -1,4 +1,5 @@
 #pragma once
+#include <cstdint>
 
 namespace phosphor
 {
@@ -26,7 +27,10 @@
         PresenceSensor(PresenceSensor&&) = default;
         PresenceSensor& operator=(PresenceSensor&&) = default;
         virtual ~PresenceSensor() = default;
-        PresenceSensor() = default;
+        PresenceSensor() : id(nextId)
+        {
+            nextId++;
+        }
 
         /**
          * @brief start
@@ -70,8 +74,22 @@
          * Provide a default noop implementation.
          */
         virtual void fail() {}
+
+        friend bool operator==(const PresenceSensor& l, const PresenceSensor& r);
+
+    private:
+        /** @brief Unique sensor ID. */
+        std::size_t id;
+
+        /** @brief The next unique sensor ID. */
+        static std::size_t nextId;
 };
 
+inline bool operator==(const PresenceSensor& l, const PresenceSensor &r)
+{
+    return l.id == r.id;
+}
+
 } // namespace presence
 } // namespace fan
 } // namespace phosphor
