diff --git a/scripts/createDayDataFiles.js b/scripts/createDayDataFiles.js index f1b98f8e3467cd3964fdc83e3a7106f3c711b01d..8df6c4855124adcd97da2558cf3e0f3424d0fa1e 100644 --- a/scripts/createDayDataFiles.js +++ b/scripts/createDayDataFiles.js @@ -16,6 +16,43 @@ function getRandomInt(min, max) { return result } +const generateHalfAnHourData = (_startingdate, _endingDate, min, max) => { + let parsingDate + if (_endingDate.diff(_startingdate, 'days').toObject().days > 1) { + parsingDate = DateTime.local( + _endingDate.year, + _endingDate.month, + _endingDate.day - 1, + 0, + 0 + ) + } else { + parsingDate = DateTime.local( + _endingDate.year, + _endingDate.month, + _endingDate.day, + 0, + 0 + ) + } + const halfAnHourDumpArray = [] + + while (parsingDate <= _endingDate) { + const load = getRandomInt(min, max) + + halfAnHourDumpArray.push({ + load: load, + year: parsingDate.year, + month: parsingDate.month, + day: parsingDate.day, + hour: parsingDate.hour, + minute: parsingDate.minute, + }) + parsingDate = parsingDate.plus({ minute: 30 }) + } + return halfAnHourDumpArray +} + const generateData = (_startingdate, _endingDate, min, max) => { let parsingDate = DateTime.local( _startingdate.year, @@ -105,11 +142,18 @@ const generateData = (_startingdate, _endingDate, min, max) => { const startingdate = config.startingdate const endingDate = config.endingDate +const HalfAnHour = generateHalfAnHourData( + startingdate, + endingDate.endOf('day'), + 0.5, + 1 +) const Elec = generateData(startingdate, endingDate, 3, 10) const Gaz = generateData(startingdate, endingDate, 16, 68) const Eau = generateData(startingdate, endingDate, 200, 300) const dumpElec = { + 'com.grandlyon.enedis.minute': HalfAnHour, 'com.grandlyon.enedis.day': Elec.dailyLoad, 'com.grandlyon.enedis.month': Elec.monthlyLoad, 'com.grandlyon.enedis.year': Elec.yearlyLoad, @@ -140,6 +184,7 @@ fs.writeFile('data/dayData-water.json', dumpStringWater, function(err) { }) const dump = { + 'com.grandlyon.enedis.minute': HalfAnHour, 'com.grandlyon.enedis.day': Elec.dailyLoad, 'com.grandlyon.enedis.month': Elec.monthlyLoad, 'com.grandlyon.enedis.year': Elec.yearlyLoad,