Skip to content
Snippets Groups Projects
Commit 2e6466cd authored by Guilhem CARRON's avatar Guilhem CARRON
Browse files

feat(analysis): Add maxpower data endpoint

parent 8d0e2c60
No related branches found
No related tags found
1 merge request!10feat(analysis): Add maxpower data endpoint
......@@ -31,6 +31,7 @@ const endDateString = endDate.format('YYYY-MM-DD')
const baseUrl = 'https://gw.prd.api.enedis.fr'
const dailyDataURL = `${baseUrl}/v4/metering_data/daily_consumption`
const loadCurveURL = `${baseUrl}/v4/metering_data/consumption_load_curve`
const maxPowerURL = `${baseUrl}/v4/metering_data/daily_consumption_max_power`
/**
* The start function is run by the BaseKonnector instance only when it got all the account
......@@ -80,6 +81,16 @@ async function start(fields, cozyParameters, doRetry = true) {
await agregateMonthAndYearData(processedDailyData)
log('info', 'Process enedis load data')
await startLoadDataProcess(access_token, usage_point_id)
log('info', 'Fetching enedis max Power data')
const fetchedMaxPowerData = await getMaxPower(access_token, usage_point_id)
log('info', 'Process enedis maxPower data')
await processData(fetchedMaxPowerData, 'com.grandlyon.enedis.maxpower', [
'year',
'month',
'day',
])
} catch (err) {
if (err.statusCode === 403 || err.code === 403) {
if (!fields.refresh_token) {
......@@ -137,6 +148,30 @@ async function getDailyData(token, usagePointID) {
return response
}
/**
* Retrieve data from the max Power endpoint
* Format: { value: "VA", "date": "YYYY-MM-DD" }
*/
async function getMaxPower(token, usagePointID) {
const dataRequest = {
method: 'GET',
uri:
maxPowerURL +
'?start=' +
startDailyDateString +
'&end=' +
endDateString +
'&usage_point_id=' +
usagePointID,
headers: {
Accept: 'application/json',
Authorization: 'Bearer ' + token,
},
}
const response = await rp(dataRequest)
return response
}
/**
* Check if history is loaded
* If not, call several time the api to retrieve 1 month of history for load data
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment