diff --git a/scripts/sensor-example.yaml b/scripts/sensor-example.yaml
index 52eb076..98e9ff6 100755
--- a/scripts/sensor-example.yaml
+++ b/scripts/sensor-example.yaml
@@ -37,16 +37,16 @@
   interfaces:
     xyz.openbmc_project.Inventory.Item:
       Present:
-        6:
+        0x06:
           assert: true
           deassert: false
           type: bool
     xyz.openbmc_project.State.Decorator.OperationalStatus:
       Functional:
-        4:
-          assert: false
-          deassert: true
-          type: bool
+          0x04:
+            assert: false
+            deassert: true
+            type: bool
 
 0x63:
   interfaces:
@@ -91,3 +91,26 @@
         0xFF:
           type: int64_t
 
+0x54:
+  sensorType: 0x07
+  path: /system/chassis/motherboard/cpu0/core22
+  sensorReadingType: 0x6F
+  serviceInterface: xyz.openbmc_project.Inventory.Manager
+  readingType: assertion
+  interfaces:
+    xyz.openbmc_project.State.Decorator.OperationalStatus:
+      Functional:
+          0x08:
+            assert: false
+            deassert: true
+            type: bool
+    xyz.openbmc_project.Inventory.Item:
+      Present:
+          0x07:
+            assert: true
+            deassert: false
+            #The update will be skipped based on the value of skipOn
+            #in this case if offset 0x07 is deasserted
+            #the update will be skipped.
+            skipOn: deassert
+            type: bool
diff --git a/scripts/writesensor.mako.cpp b/scripts/writesensor.mako.cpp
index 5cc024e..9cd4e48 100644
--- a/scripts/writesensor.mako.cpp
+++ b/scripts/writesensor.mako.cpp
@@ -73,8 +73,21 @@
 <%                          continue %>\
                         % endif
 <%                          valueType = values["type"] %>\
+<%
+try:
+    skip = values["skipOn"]
+    if skip == "assert":
+         skipVal = "SkipAssertion::ASSERT"
+    elif skip == "deassert":
+         skipVal = "SkipAssertion::DEASSERT"
+    else:
+         assert "Unknown skip value " + str(skip)
+except KeyError, e:
+    skipVal = "SkipAssertion::NONE"
+%>\
+                            ${skipVal},
                     % for name,value in values.items():
-                        % if name == "type":
+                        % if name == "type" or name == "skipOn":
 <%                          continue %>\
                         % endif
                         % if valueType == "string":
diff --git a/sensordatahandler.cpp b/sensordatahandler.cpp
index 1776ec7..c8d4fbf 100644
--- a/sensordatahandler.cpp
+++ b/sensordatahandler.cpp
@@ -318,11 +318,21 @@
             {
                 if (assertionSet.test(value.first))
                 {
+                    //Skip update if skipOn is ASSERT
+                    if (SkipAssertion::ASSERT == value.second.skip)
+                    {
+                        return IPMI_CC_OK;
+                    }
                     props.emplace(property.first, value.second.assert);
                     valid = true;
                 }
                 else if (deassertionSet.test(value.first))
                 {
+                    //Skip update if skipOn is DEASSERT
+                    if (SkipAssertion::DEASSERT == value.second.skip)
+                    {
+                        return IPMI_CC_OK;
+                    }
                     props.emplace(property.first, value.second.deassert);
                     valid = true;
                 }
@@ -333,6 +343,7 @@
             }
         }
     }
+
     objects.emplace(sensorInfo.sensorPath, std::move(interfaces));
     msg.append(std::move(objects));
     return updateToDbus(msg);
diff --git a/types.hpp b/types.hpp
index 41dddd9..d3be704 100644
--- a/types.hpp
+++ b/types.hpp
@@ -32,8 +32,20 @@
 
 using Offset = uint8_t;
 
+/**
+ * @enum SkipAssertion
+ * Matching value for skipping the update
+ */
+enum class SkipAssertion
+{
+    NONE, //No skip defined
+    ASSERT, //Skip on Assert
+    DEASSERT, //Skip on Deassert
+};
+
 struct Values
 {
+   SkipAssertion skip;
    Value assert;
    Value deassert;
 };
