diff --git a/recipes-phosphor/sensors/dbus-sensors/0105-RedfishSensor-Configurable-polling-intervall.patch b/recipes-phosphor/sensors/dbus-sensors/0105-RedfishSensor-Configurable-polling-intervall.patch
new file mode 100644
index 0000000..e1d952c
--- /dev/null
+++ b/recipes-phosphor/sensors/dbus-sensors/0105-RedfishSensor-Configurable-polling-intervall.patch
@@ -0,0 +1,116 @@
+From b57e5d09a09e5a6c0fb3cc8d6a617c7a51b240d1 Mon Sep 17 00:00:00 2001
+From: Eyal Ron <eyalron@google.com>
+Date: Thu, 30 Jan 2025 00:56:48 +0000
+Subject: [PATCH] RedfishSensor: Configurable polling intervall
+
+Add ability to re-configure RedfishServer polling interval through
+EntityManager .json file
+
+Patch Tracking Bug: b/384995794
+Upstream info: Not upstreamed yet
+Upstream-Status: Pending
+Justification: This change is dependent on the below patch
+0104-RedfishSensor-Port-feature-and-other-cleanups.patch
+
+Signed-off-by: Eyal Ron <eyalron@google.com>
+---
+ src/RedfishSensor.cpp     |  4 ++--
+ src/RedfishSensor.hpp     |  1 +
+ src/RedfishSensorMain.cpp | 12 +++++++++++-
+ 3 files changed, 14 insertions(+), 3 deletions(-)
+
+diff --git a/src/RedfishSensor.cpp b/src/RedfishSensor.cpp
+index ee6e48b..b2f08d4 100644
+--- a/src/RedfishSensor.cpp
++++ b/src/RedfishSensor.cpp
+@@ -13,7 +13,6 @@
+ 
+ static constexpr bool debug = false;
+ 
+-static constexpr int pollIntervalTimeMs = 1000;
+ static constexpr int staleSensorTimeMs = 4000;
+ 
+ const RedfishUnit& RedfishUnitLookup::lookup(const std::string& name) const
+@@ -337,6 +336,7 @@ void RedfishServer::startTimer()
+     pollTimer.emplace(*ioContext);
+     std::chrono::steady_clock::time_point when =
+         std::chrono::steady_clock::now();
++
+     when += std::chrono::milliseconds(pollIntervalTimeMs);
+ 
+     auto weakThis = weak_from_this();
+@@ -348,7 +348,7 @@ void RedfishServer::startTimer()
+ 
+     if constexpr (debug)
+     {
+-        std::cerr << "Server " << configName << " timer ready\n";
++        std::cerr << "Server " << configName << " pollInterval " << pollIntervalTimeMs << "ms. timer ready\n";
+     }
+ }
+ 
+diff --git a/src/RedfishSensor.hpp b/src/RedfishSensor.hpp
+index 4c9fb02..7a6c996 100644
+--- a/src/RedfishSensor.hpp
++++ b/src/RedfishSensor.hpp
+@@ -182,6 +182,7 @@ class RedfishServer : public std::enable_shared_from_this<RedfishServer>
+     std::string user;
+     std::string password;
+     int port = 0;
++    int pollIntervalTimeMs = 0;
+ 
+     int readingsReaped = 0;
+     int readingsReports = 0;
+diff --git a/src/RedfishSensorMain.cpp b/src/RedfishSensorMain.cpp
+index 2d219aa..9a7b294 100644
+--- a/src/RedfishSensorMain.cpp
++++ b/src/RedfishSensorMain.cpp
+@@ -19,6 +19,9 @@ static constexpr auto defaultProtocol = "http";
+ // Default port number will be looked up dynamically by protocol
+ static constexpr int defaultPort = -1;
+ 
++// Default polling interval in milli-seconds
++static constexpr int defaultPollIntervalTimeMs = 1000;
++
+ static constexpr auto sensorTypes{std::to_array<const char*>(
+     {"RedfishSensor", "RedfishChassis", "RedfishServer"})};
+ 
+@@ -459,6 +462,7 @@ void createSensorsCallback(
+             std::string serverHost;
+             std::string serverProtocol = defaultProtocol;
+             auto serverPort = static_cast<double>(defaultPort);
++            auto pollIntervalTimeMs = static_cast<double>(defaultPollIntervalTimeMs);
+ 
+             // Host is only mandatory parameter
+             if (!fillConfigString(baseConfigMap, interfacePath, "Host", true,
+@@ -480,6 +484,11 @@ void createSensorsCallback(
+             }
+ 
+             // FUTURE: Parse additional optional parameters
++            if (!fillConfigNumber(baseConfigMap, interfacePath, "PollRateMS", false,
++                                  pollIntervalTimeMs))
++            {
++                continue;
++            }
+ 
+             auto newServer = std::make_shared<RedfishServer>();
+ 
+@@ -488,6 +497,7 @@ void createSensorsCallback(
+             newServer->host = serverHost;
+             newServer->protocol = serverProtocol;
+             newServer->port = static_cast<int>(serverPort);
++            newServer->pollIntervalTimeMs = static_cast<int>(pollIntervalTimeMs);
+ 
+             // FUTURE: Provide additional optional parameters
+ 
+@@ -497,7 +507,7 @@ void createSensorsCallback(
+             {
+                 std::cerr << "Added server " << sensorName << ": host "
+                           << serverHost << ", protocol " << serverProtocol
+-                          << ", port " << serverPort << "\n";
++                          << ", port " << serverPort << ", pollIntervalMs " << pollIntervalTimeMs << "\n";
+             }
+             continue;
+         }
+-- 
+2.48.1.362.g079036d154-goog
+
diff --git a/recipes-phosphor/sensors/dbus-sensors_%.bbappend b/recipes-phosphor/sensors/dbus-sensors_%.bbappend
index 5152601..33be576 100644
--- a/recipes-phosphor/sensors/dbus-sensors_%.bbappend
+++ b/recipes-phosphor/sensors/dbus-sensors_%.bbappend
@@ -13,6 +13,7 @@
   file://0102-RedfishSensor-Network-error-handling-teardown.patch \
   file://0103-RedfishSensor-Intentionally-drop-reported-stale.patch \
   file://0104-RedfishSensor-Port-feature-and-other-cleanups.patch \
+  file://0105-RedfishSensor-Configurable-polling-intervall.patch \
   file://0010-dbus-sensors-Creating-association-between-inventory-.patch \
   file://0001-intrusionsensor-Add-Assosication-interfaces-for-cabl.patch \
   file://0001-adcsensor-Add-optional-battery-status-interface.patch \
