diff --git a/app/ecolyo.b713b08a67af6deb8c93.js b/app/ecolyo.a318c792d6fd239e867d.js
similarity index 99%
rename from app/ecolyo.b713b08a67af6deb8c93.js
rename to app/ecolyo.a318c792d6fd239e867d.js
index 907495375da0021ac7ea3e90371b59f82d258f48..802004c6fb114ee6719fd348869ea108fb52d790 100644
--- a/app/ecolyo.b713b08a67af6deb8c93.js
+++ b/app/ecolyo.a318c792d6fd239e867d.js
@@ -3105,7 +3105,7 @@ var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WE
 
 exports = module.exports = __webpack_require__("JPst")(false);
 // Module
-exports.push([module.i, "/** BLACK **/\n/** RED **/\n/** YELLOW **/\n/** ORANGE **/\n/** BLUE **/\n/** GREEN **/\n/** WHITE **/\n/** GREY **/\n/** App colors **/\n/** TABS GRADIENT **/\n/** SCROLLBAR **/\n.slide {\n  margin: 1rem 1rem 1rem 0;\n  box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.55);\n  border-radius: 4px;\n  transition: all 300ms ease;\n  color: white;\n  display: flex;\n  flex-direction: column;\n}\n.slide.active {\n  transform: scale(1);\n}\n.slide.inactive {\n  transform: scale(0.9);\n}\n.slide .cardContent {\n  background: linear-gradient(180deg, #323339 0%, #25262b 100%);\n  width: 100%;\n  height: inherit;\n  box-sizing: border-box;\n  padding: 5% 10%;\n  transition: all 300ms ease;\n  border-radius: 4px;\n}", ""]);
+exports.push([module.i, "/** BLACK **/\n/** RED **/\n/** YELLOW **/\n/** ORANGE **/\n/** BLUE **/\n/** GREEN **/\n/** WHITE **/\n/** GREY **/\n/** App colors **/\n/** TABS GRADIENT **/\n/** SCROLLBAR **/\n.slide {\n  margin: 0 1rem 0 0;\n  box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.55);\n  border-radius: 4px;\n  transition: all 300ms ease;\n  color: white;\n  display: flex;\n  flex-direction: column;\n}\n.slide.active {\n  transform: scale(1);\n}\n.slide.inactive {\n  transform: scale(0.9);\n}\n.slide .cardContent {\n  background: linear-gradient(180deg, #323339 0%, #25262b 100%);\n  width: 100%;\n  height: inherit;\n  box-sizing: border-box;\n  padding: 1rem;\n  transition: all 300ms ease;\n  border-radius: 4px;\n}", ""]);
 
 
 
@@ -13851,7 +13851,7 @@ if(false) {}
 
 exports = module.exports = __webpack_require__("JPst")(false);
 // Module
-exports.push([module.i, "/** BLACK **/\n/** RED **/\n/** YELLOW **/\n/** ORANGE **/\n/** BLUE **/\n/** GREEN **/\n/** WHITE **/\n/** GREY **/\n/** App colors **/\n/** TABS GRADIENT **/\n/** SCROLLBAR **/\n.cardContent {\n  background: transparent;\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n}\n.cardContent.onGoing {\n  border: 1px solid #e0e0e0;\n  background: inherit !important;\n}\n.cardContent.onGoing .challengeTitle {\n  margin-top: 0;\n}\n\n.titleBlock {\n  position: absolute;\n  left: 0;\n  right: 0;\n  margin: auto;\n  top: -1.5rem;\n  background: #121212;\n  width: fit-content;\n  padding: 0 1rem;\n  max-width: 235px;\n}\n\n.smallCard {\n  display: flex;\n  align-items: center;\n  border: none;\n  width: 100%;\n  background: linear-gradient(180deg, #323339 0%, #25262b 100%);\n  height: 24%;\n  max-height: 90px;\n  margin: 0.5rem 0;\n  padding: 8%;\n  box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.55);\n  border-radius: 4px;\n  color: #e0e0e0;\n  box-sizing: border-box;\n  font-family: Lato, sans-serif;\n  transition: all 300ms ease;\n}\n@media all and (max-height: 800px) {\n  .smallCard {\n    max-height: 85px;\n    padding: 6%;\n  }\n}\n@media all and (max-height: 730px) {\n  .smallCard {\n    max-height: 70px;\n    padding: 3%;\n  }\n}\n.smallCard.finished {\n  border: 1px solid #7b7b7b;\n  background: #1b1c22;\n}\n.smallCard.finished > * {\n  color: #7b7b7b;\n}\n.smallCard:hover {\n  cursor: pointer;\n}\n.smallCard .content {\n  display: flex;\n  flex-direction: column;\n  align-self: center;\n  justify-content: space-between;\n  align-items: flex-start;\n}\n.smallCard .content span {\n  margin-bottom: 0.3em;\n}\n.smallCard .spinner-container {\n  height: 3.75rem;\n  width: 3.75rem;\n  margin: auto;\n}\n.smallCard .cardIcon {\n  margin-right: 1rem;\n}\n.smallCard span {\n  font-size: 1.1rem;\n  font-weight: 700;\n  display: block;\n  margin-bottom: 0.6rem;\n}\n@media all and (max-height: 700px) {\n  .smallCard span {\n    margin-bottom: 0.1rem;\n    font-size: 1rem;\n  }\n}\n.smallCard .challengeminIcon {\n  filter: drop-shadow(0px 2px 2px rgba(0, 0, 0, 0.55));\n}\n.smallCard .duelLocked {\n  margin-left: auto;\n}\n.smallCard .starCount {\n  display: flex;\n  align-items: center;\n  margin: 0;\n}\n.smallCard .starCount span {\n  margin: 0;\n}\n.smallCard .starCount .blueNumber {\n  font-weight: 900;\n  color: #61f0f2;\n  margin: 0 0.3rem 0 0.7rem;\n}\n.smallCard .finalDuel {\n  display: flex;\n  flex-direction: column;\n}\n.smallCard .finalDuel .starCount span {\n  font-size: 1rem;\n  font-weight: 500;\n}\n.smallCard .finalDuel .starCount .blueNumber {\n  margin-left: 0;\n}\n.smallCard .finalDuel.result span {\n  margin-bottom: 0.2rem;\n  font-weight: 600;\n  font-size: 1rem;\n}\n\n.duelCard {\n  background: #181819;\n  border: solid 1px rgba(97, 240, 242, 0.5);\n  align-items: center;\n  justify-content: space-between;\n  position: relative;\n}\n.duelCard.active {\n  background: linear-gradient(180deg, #323339 0%, #25262b 100%);\n}\n\n.explorationCard,\n.actionCard {\n  position: relative;\n}\n\n.goDuel {\n  align-items: center;\n  justify-content: space-between;\n  height: auto;\n  background: linear-gradient(180deg, #61f0f2 0%, #48c2c4 100%);\n  color: #121212;\n  font-weight: 700;\n  font-family: Lato, sans-serif;\n}\n\n.notifChallenge {\n  position: absolute;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  right: 4px;\n  top: 4px;\n  width: 1.25rem;\n  height: 1.25rem;\n  color: #25262b;\n  border-radius: 50%;\n  border: 1px solid #25262b;\n  z-index: 1;\n  background: radial-gradient(105.25% 64.58% at 49.68% 70.83%, rgba(1, 153, 163, 0.5) 0%, rgba(255, 255, 255, 0) 100%), #58ffff;\n  font-size: 12px;\n}", ""]);
+exports.push([module.i, "/** BLACK **/\n/** RED **/\n/** YELLOW **/\n/** ORANGE **/\n/** BLUE **/\n/** GREEN **/\n/** WHITE **/\n/** GREY **/\n/** App colors **/\n/** TABS GRADIENT **/\n/** SCROLLBAR **/\n.cardContent {\n  background: transparent;\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  gap: 1rem;\n}\n.cardContent.onGoing {\n  border: 1px solid #e0e0e0;\n  background: inherit !important;\n}\n.cardContent.onGoing .challengeTitle {\n  margin-top: 0;\n}\n\n.titleBlock {\n  position: absolute;\n  left: 0;\n  right: 0;\n  margin: auto;\n  top: -1.5rem;\n  background: #121212;\n  width: fit-content;\n  padding: 0 1rem;\n  max-width: 235px;\n}\n\n.smallCard {\n  display: flex;\n  align-items: center;\n  border: none;\n  width: 100%;\n  background: linear-gradient(180deg, #323339 0%, #25262b 100%);\n  height: 24%;\n  max-height: 90px;\n  padding: 1rem;\n  box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.55);\n  border-radius: 4px;\n  color: #e0e0e0;\n  box-sizing: border-box;\n  font-family: Lato, sans-serif;\n  transition: all 300ms ease;\n}\n@media all and (max-height: 800px) {\n  .smallCard {\n    max-height: 85px;\n    padding: 6%;\n  }\n}\n@media all and (max-height: 730px) {\n  .smallCard {\n    max-height: 70px;\n    padding: 3%;\n  }\n}\n.smallCard.finished {\n  border: 1px solid #7b7b7b;\n  background: #1b1c22;\n}\n.smallCard.finished > * {\n  color: #7b7b7b;\n}\n.smallCard:hover {\n  cursor: pointer;\n}\n.smallCard .content {\n  display: flex;\n  flex-direction: column;\n  align-self: center;\n  justify-content: space-between;\n  align-items: flex-start;\n}\n.smallCard .content span {\n  margin-bottom: 0.3em;\n}\n.smallCard .spinner-container {\n  height: 3.75rem;\n  width: 3.75rem;\n  margin: auto;\n}\n.smallCard .cardIcon {\n  margin-right: 1rem;\n}\n.smallCard span {\n  font-size: 1.1rem;\n  font-weight: 700;\n  display: block;\n  margin-bottom: 0.6rem;\n}\n@media all and (max-height: 700px) {\n  .smallCard span {\n    margin-bottom: 0.1rem;\n    font-size: 1rem;\n  }\n}\n.smallCard .challengeminIcon {\n  filter: drop-shadow(0px 2px 2px rgba(0, 0, 0, 0.55));\n}\n.smallCard .duelLocked {\n  margin-left: auto;\n}\n.smallCard .starCount {\n  display: flex;\n  align-items: center;\n  margin: 0;\n}\n.smallCard .starCount span {\n  margin: 0;\n}\n.smallCard .starCount .blueNumber {\n  font-weight: 900;\n  color: #61f0f2;\n  margin: 0 0.3rem 0 0.7rem;\n}\n.smallCard .finalDuel {\n  display: flex;\n  flex-direction: column;\n}\n.smallCard .finalDuel .starCount span {\n  font-size: 1rem;\n  font-weight: 500;\n}\n.smallCard .finalDuel .starCount .blueNumber {\n  margin-left: 0;\n}\n.smallCard .finalDuel.result span {\n  margin-bottom: 0.2rem;\n  font-weight: 600;\n  font-size: 1rem;\n}\n\n.duelCard {\n  background: #181819;\n  border: solid 1px rgba(97, 240, 242, 0.5);\n  align-items: center;\n  justify-content: space-between;\n  position: relative;\n}\n.duelCard.active {\n  background: linear-gradient(180deg, #323339 0%, #25262b 100%);\n}\n\n.explorationCard,\n.actionCard {\n  position: relative;\n}\n\n.goDuel {\n  align-items: center;\n  justify-content: space-between;\n  height: auto;\n  background: linear-gradient(180deg, #61f0f2 0%, #48c2c4 100%);\n  color: #121212;\n  font-weight: 700;\n  font-family: Lato, sans-serif;\n}\n\n.notifChallenge {\n  position: absolute;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  right: 4px;\n  top: 4px;\n  width: 1.25rem;\n  height: 1.25rem;\n  color: #25262b;\n  border-radius: 50%;\n  border: 1px solid #25262b;\n  z-index: 1;\n  background: radial-gradient(105.25% 64.58% at 49.68% 70.83%, rgba(1, 153, 163, 0.5) 0%, rgba(255, 255, 255, 0) 100%), #58ffff;\n  font-size: 12px;\n}", ""]);
 
 
 
@@ -17009,11 +17009,11 @@ var QueryRunner = /*#__PURE__*/function () {
     }()
   }, {
     key: "filterDataList",
-    value: function filterDataList(data, timePeriod) {
+    value: function filterDataList(data, timePeriod, timeStep) {
       var _this = this;
 
       // increase timeperiod range because the last data for a day is actually stored the next day at 00:00
-      if (timePeriod.endDate.day === timePeriod.startDate.day) {
+      if (timeStep === _timeStep.TimeStep.HALF_AN_HOUR) {
         timePeriod.startDate = timePeriod.startDate.plus({
           minutes: 30
         });
@@ -17249,7 +17249,7 @@ var QueryRunner = /*#__PURE__*/function () {
                   break;
                 }
 
-                filteredResult = this.filterDataList(result, timePeriod);
+                filteredResult = this.filterDataList(result, timePeriod, timeStep);
                 mappedResult = this.mapDataList(filteredResult, timeStep);
                 return _context2.abrupt("return", mappedResult);
 
@@ -17339,7 +17339,7 @@ var QueryRunner = /*#__PURE__*/function () {
                   break;
                 }
 
-                filteredResult = this.filterDataList(result, maxTimePeriod);
+                filteredResult = this.filterDataList(result, maxTimePeriod, timeStep);
                 mappedResult = this.mapDataList(filteredResult, timeStep);
 
                 if (!withDate) {
@@ -29880,7 +29880,7 @@ var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WE
 
 exports = module.exports = __webpack_require__("JPst")(false);
 // Module
-exports.push([module.i, "/** BLACK **/\n/** RED **/\n/** YELLOW **/\n/** ORANGE **/\n/** BLUE **/\n/** GREEN **/\n/** WHITE **/\n/** GREY **/\n/** App colors **/\n/** TABS GRADIENT **/\n/** SCROLLBAR **/\n.cardContent.cardDone {\n  border: 1px solid #e0e0e0;\n  border-radius: 4px;\n  display: flex;\n  flex-direction: column;\n  justify-content: space-between;\n  align-items: center;\n  padding: 5% !important;\n}\n.cardContent.cardDone .challengeName {\n  margin: 0.5rem 0rem;\n  text-align: center;\n}\n.cardContent.cardDone .iconResult {\n  display: flex;\n  margin: 1rem 0rem;\n}\n@media all and (max-height: 700px) {\n  .cardContent.cardDone .iconResult {\n    width: 55%;\n    margin: auto;\n  }\n}\n.cardContent.cardDone .imgResult {\n  width: 100%;\n  height: 100%;\n}\n.cardContent.cardDone .labelResult {\n  font-weight: bold;\n  font-size: 28px;\n  line-height: 120%;\n  text-transform: uppercase;\n  margin-bottom: 0.5rem;\n}\n.cardContent.cardDone .win {\n  color: #e3b82a;\n}\n.cardContent.cardDone .lost {\n  color: #d25959;\n}\n.cardContent.cardDone .statsResult {\n  text-align: center;\n}\n.cardContent.cardDone .review-btn {\n  padding: 0.625rem;\n  border: 1px solid #e0e0e0;\n}", ""]);
+exports.push([module.i, "/** BLACK **/\n/** RED **/\n/** YELLOW **/\n/** ORANGE **/\n/** BLUE **/\n/** GREEN **/\n/** WHITE **/\n/** GREY **/\n/** App colors **/\n/** TABS GRADIENT **/\n/** SCROLLBAR **/\n.cardContent.cardDone {\n  border: 1px solid #e0e0e0;\n  border-radius: 4px;\n  display: flex;\n  flex-direction: column;\n  justify-content: space-between;\n  gap: 1rem;\n  align-items: center;\n}\n.cardContent.cardDone .challengeName {\n  text-align: center;\n}\n.cardContent.cardDone .iconResult {\n  display: flex;\n}\n@media all and (max-height: 700px) {\n  .cardContent.cardDone .iconResult {\n    width: 55%;\n    margin: auto;\n  }\n}\n.cardContent.cardDone .imgResult {\n  width: 100%;\n  height: 100%;\n}\n.cardContent.cardDone .labelResult {\n  font-weight: bold;\n  font-size: 28px;\n  line-height: 120%;\n  text-transform: uppercase;\n  margin-bottom: 0.5rem;\n}\n.cardContent.cardDone .win {\n  color: #e3b82a;\n}\n.cardContent.cardDone .lost {\n  color: #d25959;\n}\n.cardContent.cardDone .statsResult {\n  text-align: center;\n}\n.cardContent.cardDone .review-btn {\n  padding: 0.625rem;\n  margin: 0;\n  border: 1px solid #e0e0e0;\n}", ""]);
 
 
 
diff --git a/index.html b/index.html
index dc3dc4d2d052a90c46962adde735f436d8cc8d3c..74042758e566267dafc08724873a28b165d0f1fc 100644
--- a/index.html
+++ b/index.html
@@ -1 +1 @@
-<!DOCTYPE html><html lang="{{.Locale}}"><head><meta charset="utf-8"><title>Ecolyo</title><link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32"><link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16"><!-- PWA Manifest --><link rel="manifest" href="/manifest.json" crossorigin="use-credentials"><link rel="mask-icon" href="/safari-pinned-tab.svg" color="#297EF2"><meta name="viewport" content="width=device-width,height=device-height,initial-scale=1,user-scalable=0,viewport-fit=cover"><!-- PWA Chrome --><link rel="icon" sizes="192x192" href="/android-chrome-192x192.png"><link rel="icon" sizes="512x512" href="/android-chrome-512x512.png"><!-- PWA iOS --><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"><link rel="apple-touch-startup-image" href="/apple-touch-icon.png"><meta name="apple-mobile-web-app-title" content="Ecolyo"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><!-- PWA Colors --><meta name="theme-color" content="#343641"><meta name="background-color" content="#121212"><!-- PWA iOS title --><meta name="apple-mobile-web-app-title" content="Ecolyo">{{.ThemeCSS}} {{.CozyBar}}<script src="//{{.Domain}}/assets/js/piwik.js"></script></head><body><div role="application" class="application" data-cozy="{{.CozyData}}"><script src="vendors/ecolyo.71f31ccb2e4e3905e912.js"></script><script src="app/ecolyo.b713b08a67af6deb8c93.js"></script></div></body></html>
\ No newline at end of file
+<!DOCTYPE html><html lang="{{.Locale}}"><head><meta charset="utf-8"><title>Ecolyo</title><link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32"><link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16"><!-- PWA Manifest --><link rel="manifest" href="/manifest.json" crossorigin="use-credentials"><link rel="mask-icon" href="/safari-pinned-tab.svg" color="#297EF2"><meta name="viewport" content="width=device-width,height=device-height,initial-scale=1,user-scalable=0,viewport-fit=cover"><!-- PWA Chrome --><link rel="icon" sizes="192x192" href="/android-chrome-192x192.png"><link rel="icon" sizes="512x512" href="/android-chrome-512x512.png"><!-- PWA iOS --><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"><link rel="apple-touch-startup-image" href="/apple-touch-icon.png"><meta name="apple-mobile-web-app-title" content="Ecolyo"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><!-- PWA Colors --><meta name="theme-color" content="#343641"><meta name="background-color" content="#121212"><!-- PWA iOS title --><meta name="apple-mobile-web-app-title" content="Ecolyo">{{.ThemeCSS}} {{.CozyBar}}<script src="//{{.Domain}}/assets/js/piwik.js"></script></head><body><div role="application" class="application" data-cozy="{{.CozyData}}"><script src="vendors/ecolyo.71f31ccb2e4e3905e912.js"></script><script src="app/ecolyo.a318c792d6fd239e867d.js"></script></div></body></html>
\ No newline at end of file
diff --git a/services/aggregatorUsageEvents/ecolyo.js b/services/aggregatorUsageEvents/ecolyo.js
index f6a156b08d761aac28feb38d87529a3505f6e4a8..08ea0a6b37c0189589bccbfe5256439c66444fc8 100644
--- a/services/aggregatorUsageEvents/ecolyo.js
+++ b/services/aggregatorUsageEvents/ecolyo.js
@@ -95893,9 +95893,9 @@ class QueryRunner {
     return result;
   }
 
-  filterDataList(data, timePeriod) {
+  filterDataList(data, timePeriod, timeStep) {
     // increase timeperiod range because the last data for a day is actually stored the next day at 00:00
-    if (timePeriod.endDate.day === timePeriod.startDate.day) {
+    if (timeStep === _timeStep.TimeStep.HALF_AN_HOUR) {
       timePeriod.startDate = timePeriod.startDate.plus({
         minutes: 30
       });
@@ -96106,7 +96106,7 @@ class QueryRunner {
     const result = await this.fetchData(query);
 
     if (result !== null && result !== void 0 && result.data) {
-      const filteredResult = this.filterDataList(result, timePeriod);
+      const filteredResult = this.filterDataList(result, timePeriod, timeStep);
       const mappedResult = this.mapDataList(filteredResult, timeStep);
       return mappedResult;
     }
@@ -96138,7 +96138,7 @@ class QueryRunner {
     }
 
     if (result !== null && result !== void 0 && result.data) {
-      const filteredResult = this.filterDataList(result, maxTimePeriod);
+      const filteredResult = this.filterDataList(result, maxTimePeriod, timeStep);
       const mappedResult = this.mapDataList(filteredResult, timeStep);
 
       if (withDate) {
diff --git a/services/consumptionAlert/ecolyo.js b/services/consumptionAlert/ecolyo.js
index 796821428ad85fe36c9d80812eabdc2243a17bf0..9362335f8a8678625b52e23cd36040fb5d906fc2 100644
--- a/services/consumptionAlert/ecolyo.js
+++ b/services/consumptionAlert/ecolyo.js
@@ -94489,9 +94489,9 @@ class QueryRunner {
     return result;
   }
 
-  filterDataList(data, timePeriod) {
+  filterDataList(data, timePeriod, timeStep) {
     // increase timeperiod range because the last data for a day is actually stored the next day at 00:00
-    if (timePeriod.endDate.day === timePeriod.startDate.day) {
+    if (timeStep === _timeStep.TimeStep.HALF_AN_HOUR) {
       timePeriod.startDate = timePeriod.startDate.plus({
         minutes: 30
       });
@@ -94702,7 +94702,7 @@ class QueryRunner {
     const result = await this.fetchData(query);
 
     if (result !== null && result !== void 0 && result.data) {
-      const filteredResult = this.filterDataList(result, timePeriod);
+      const filteredResult = this.filterDataList(result, timePeriod, timeStep);
       const mappedResult = this.mapDataList(filteredResult, timeStep);
       return mappedResult;
     }
@@ -94734,7 +94734,7 @@ class QueryRunner {
     }
 
     if (result !== null && result !== void 0 && result.data) {
-      const filteredResult = this.filterDataList(result, maxTimePeriod);
+      const filteredResult = this.filterDataList(result, maxTimePeriod, timeStep);
       const mappedResult = this.mapDataList(filteredResult, timeStep);
 
       if (withDate) {
diff --git a/services/enedisHalfHourMonthlyAnalysis/ecolyo.js b/services/enedisHalfHourMonthlyAnalysis/ecolyo.js
index 667e7a5d136972d7073008582e6bfa9e2f7b7b13..5bf7c444c07199a4a0445fe6faf5be17d83b58ef 100644
--- a/services/enedisHalfHourMonthlyAnalysis/ecolyo.js
+++ b/services/enedisHalfHourMonthlyAnalysis/ecolyo.js
@@ -94400,9 +94400,9 @@ class QueryRunner {
     return result;
   }
 
-  filterDataList(data, timePeriod) {
+  filterDataList(data, timePeriod, timeStep) {
     // increase timeperiod range because the last data for a day is actually stored the next day at 00:00
-    if (timePeriod.endDate.day === timePeriod.startDate.day) {
+    if (timeStep === _timeStep.TimeStep.HALF_AN_HOUR) {
       timePeriod.startDate = timePeriod.startDate.plus({
         minutes: 30
       });
@@ -94613,7 +94613,7 @@ class QueryRunner {
     const result = await this.fetchData(query);
 
     if (result !== null && result !== void 0 && result.data) {
-      const filteredResult = this.filterDataList(result, timePeriod);
+      const filteredResult = this.filterDataList(result, timePeriod, timeStep);
       const mappedResult = this.mapDataList(filteredResult, timeStep);
       return mappedResult;
     }
@@ -94645,7 +94645,7 @@ class QueryRunner {
     }
 
     if (result !== null && result !== void 0 && result.data) {
-      const filteredResult = this.filterDataList(result, maxTimePeriod);
+      const filteredResult = this.filterDataList(result, maxTimePeriod, timeStep);
       const mappedResult = this.mapDataList(filteredResult, timeStep);
 
       if (withDate) {
diff --git a/services/fluidsPrices/ecolyo.js b/services/fluidsPrices/ecolyo.js
index 7d841876e62bb70b6eb06391946c0f26a282e4db..7ce08620b614174065d274721f4d87f21cabe567 100644
--- a/services/fluidsPrices/ecolyo.js
+++ b/services/fluidsPrices/ecolyo.js
@@ -94400,9 +94400,9 @@ class QueryRunner {
     return result;
   }
 
-  filterDataList(data, timePeriod) {
+  filterDataList(data, timePeriod, timeStep) {
     // increase timeperiod range because the last data for a day is actually stored the next day at 00:00
-    if (timePeriod.endDate.day === timePeriod.startDate.day) {
+    if (timeStep === _timeStep.TimeStep.HALF_AN_HOUR) {
       timePeriod.startDate = timePeriod.startDate.plus({
         minutes: 30
       });
@@ -94613,7 +94613,7 @@ class QueryRunner {
     const result = await this.fetchData(query);
 
     if (result !== null && result !== void 0 && result.data) {
-      const filteredResult = this.filterDataList(result, timePeriod);
+      const filteredResult = this.filterDataList(result, timePeriod, timeStep);
       const mappedResult = this.mapDataList(filteredResult, timeStep);
       return mappedResult;
     }
@@ -94645,7 +94645,7 @@ class QueryRunner {
     }
 
     if (result !== null && result !== void 0 && result.data) {
-      const filteredResult = this.filterDataList(result, maxTimePeriod);
+      const filteredResult = this.filterDataList(result, maxTimePeriod, timeStep);
       const mappedResult = this.mapDataList(filteredResult, timeStep);
 
       if (withDate) {
diff --git a/services/monthlyReportNotification/ecolyo.js b/services/monthlyReportNotification/ecolyo.js
index 900eb65dfe5e913bc6b25886f461fb71af3f6024..c2966582f33009924b86a1461d0199a5d149df01 100644
--- a/services/monthlyReportNotification/ecolyo.js
+++ b/services/monthlyReportNotification/ecolyo.js
@@ -94489,9 +94489,9 @@ class QueryRunner {
     return result;
   }
 
-  filterDataList(data, timePeriod) {
+  filterDataList(data, timePeriod, timeStep) {
     // increase timeperiod range because the last data for a day is actually stored the next day at 00:00
-    if (timePeriod.endDate.day === timePeriod.startDate.day) {
+    if (timeStep === _timeStep.TimeStep.HALF_AN_HOUR) {
       timePeriod.startDate = timePeriod.startDate.plus({
         minutes: 30
       });
@@ -94702,7 +94702,7 @@ class QueryRunner {
     const result = await this.fetchData(query);
 
     if (result !== null && result !== void 0 && result.data) {
-      const filteredResult = this.filterDataList(result, timePeriod);
+      const filteredResult = this.filterDataList(result, timePeriod, timeStep);
       const mappedResult = this.mapDataList(filteredResult, timeStep);
       return mappedResult;
     }
@@ -94734,7 +94734,7 @@ class QueryRunner {
     }
 
     if (result !== null && result !== void 0 && result.data) {
-      const filteredResult = this.filterDataList(result, maxTimePeriod);
+      const filteredResult = this.filterDataList(result, maxTimePeriod, timeStep);
       const mappedResult = this.mapDataList(filteredResult, timeStep);
 
       if (withDate) {