diff --git a/pid/buildjson.cpp b/pid/buildjson.cpp
index dd7d2a3..57fabbf 100644
--- a/pid/buildjson.cpp
+++ b/pid/buildjson.cpp
@@ -66,12 +66,18 @@
      */
     auto p = j.at("pid");
 
+    auto checkHysterWithSetpt = p.find("checkHysterWithSetpt");
     auto positiveHysteresis = p.find("positiveHysteresis");
     auto negativeHysteresis = p.find("negativeHysteresis");
     auto derivativeCoeff = p.find("derivativeCoeff");
+    auto checkHysterWithSetptValue = false;
     auto positiveHysteresisValue = 0.0;
     auto negativeHysteresisValue = 0.0;
     auto derivativeCoeffValue = 0.0;
+    if (checkHysterWithSetpt != p.end())
+    {
+        checkHysterWithSetpt->get_to(checkHysterWithSetptValue);
+    }
     if (positiveHysteresis != p.end())
     {
         positiveHysteresis->get_to(positiveHysteresisValue);
@@ -113,6 +119,7 @@
         c.pidInfo.positiveHysteresis = positiveHysteresisValue;
         c.pidInfo.negativeHysteresis = negativeHysteresisValue;
         c.pidInfo.derivativeCoeff = derivativeCoeffValue;
+        c.pidInfo.checkHysterWithSetpt = checkHysterWithSetptValue;
     }
     else
     {
@@ -213,6 +220,14 @@
         getCycleTimeSetting(zone, id, "updateThermalsTimeMS",
                             thisZoneConfig.cycleTime.updateThermalsTimeMS);
 
+        bool accumulateSetPoint = false;
+        auto findAccSetPoint = zone.find("accumulateSetPoint");
+        if (findAccSetPoint != zone.end())
+        {
+            findAccSetPoint->get_to(accumulateSetPoint);
+        }
+        thisZoneConfig.accumulateSetPoint = accumulateSetPoint;
+
         auto pids = zone["pids"];
         for (const auto& pid : pids)
         {
