HTTP API for Smart Meter Integration
This API allows you to manage your Voltaware sensors or smart meters and carry out a variety of operations.
The main operations that can be performed are to retrieve disaggregation results and set up metadata needed for our disaggregation algorithms for each device.
This API is organised around JSON and REST.
Base API URL
https://reseller-api.voltaware.com
Versioning
Rolling releases with no breaking changes.
Authentication
You must use the credentials issued by Voltaware with the endpoint /auth/token
to generate an access token.
Authentication to the API is performed by submitting the access token in the request header Authorization: Bearer access_token
.
The access token will expire after 12 hours they are issued, after this period you will need to refresh it.
To refresh the access token use the endpoint /auth/token/refresh
.
Access Token
HTTP request
POST /auth/token
Request header
Content-Type: application/json
Request body
{
"grant_type": "client_credentials",
"client_id": "YOUR_CLIENT_ID",
"client_secret": "YOUR_CLIENT_SECRET"
}
Response body
{
"access_token": "2YotnFZFEjr1zCsicMWpAA",
"token_type": "Bearer",
"expires_in_secs": 43200,
"refresh_token": "tGzv3JOkF0XG5Qx2TlKWIA"
}
Issues a new access token. This endpoint must be called before any other call to other endpoints are performed. You must reuse the token until it expires instead of creating a new one for each request.
Refresh Token
HTTP request
POST /auth/token/refresh
Request headers
Content-Type: application/json
Request body
{
"grant_type": "refresh_token",
"client_id": "YOUR_CLIENT_ID",
"refresh_token": "YOUR_REFRESH_TOKEN"
}
As the access token is valid for 12 hours, when the access token expires all requests with the expired acess token will receive an HTTP error code 401. You will need to refresh your token using this endpoint.
Response body
{
"access_token": "2YotnFZFEjr1zCsicMWpAA",
"token_type": "Bearer",
"expires_in_secs": 43200
}
Devices
Provides detailed information about devices.
List all devices
HTTP request
GET /sensors
Request headers
Authorization: Bearer access_token
Response body
[
0001,
0002,
0003
]
Retrieves a list of IDs for all your available devices. The response includes all Smart Meters that have sent at least one data point to our backend, as well as any Voltaware sensors that belong to your account.
View single sensor
HTTP request
GET /sensors/{device_id}
Request headers
Authorization: Bearer access_token
Response body
{
"connection_state": "connected",
"firmware": "112356",
"last_event": "2020-12-08T15:23:05Z",
"first_event": "2018-06-08T10:20:51.287Z",
"locale": {
"isoCountryCode": "DE",
"isoLocaleCode": "de-DE",
"timeZoneId": "Europe/Berlin",
"userDefinedLanguage": "pt-BR"
}
}
Field name | Description |
---|---|
connection_state enum, nullable |
Available for Voltaware sensors. Possible values are connected , disconnected , and never_connected |
firmware string, nullable |
Available for Voltaware sensors |
first_event ISO timestamp UTC |
Timestamp of the first data point received on our backend |
last_event ISO timestamp UTC |
Timestamp of the last data point received on our backend |
locale.isoCountryCode string |
Country code of the device |
locale.isoLocaleCode string |
Locale code of the device |
locale.timeZoneId string |
Time zone of the device |
locale.userDefinedLanguage string |
Deprecated field |
Metadata
It is only possible to provide metadata for a smart meter after we receive at least one data point for consumption in our broker. Otherwise, the smart meter will not exist on our platform, and you will receive a 'Forbidden' response status.
Property
In order to provide you with more accurate Disaggregation results we need to get some information regarding the property where the sensor is installed and some information about the appliances owned by the end user.
We remind you that the Voltaware algorithm is designed to work in households and that we currently do not support users that produce energy (solar pannels, batteries...)
View property details
GET /sensors/{device_id}/metadata/property
Response body
{
"property_type": "HOME",
"home_type": "FLAT",
"home_size": 49.8,
"bedroom_amount": 2,
"power_generator_source": "SOLAR",
"people_amount": 2,
"people_amount_in_day_time": 0,
"people": [
{
"age_range": "ADULT",
"amount": 2
}
],
"version": "1.0"
}
View property details.
Set up property details
PUT /sensors/{device_id}/metadata/property
Request body for
home_type
house
{
"property_type": "HOME",
"home_type": "HOUSE",
"home_usage_type": "PRIMARY",
"home_size": 80,
"bedroom_amount": 2,
"power_generator_source": "NONE",
"people_amount": 3,
"people_amount_in_day_time": 2,
"people": [
{
"age_range": "ADULT",
"amount": 2
},
{
"age_range": "ZERO_TO_FIVE",
"amount": 1
}
],
"version": "1.0"
}
Request body for
home_type
office, commercial or industry
{
"property_type": "INDUSTRY",
"power_generator_source": "SOLAR",
"version": "1.0"
}
Setup the property details associated to a sensor by providing the following information:
In case the property_type
is OFFICE
, COMMERCIAL
, INDUSTRIAL
, the following are the fields needed in the request body.
Field name | Description |
---|---|
property_type string (enum), required |
OFFICE , COMMERCIAL , INDUSTRIAL |
power_generator_source string (enum), required |
SOLAR , HYDROELECTRICITY , WIND , BATTERY , OTHER , NONE |
version string, required |
The current version of the property information is 1.0 |
In case the property_type
is HOME
, we will require a number of information in order to be able to classify people’s homes and create clusters to compare them to similar users.
Field name | Description |
---|---|
property_type string (enum), required |
HOME |
home_type string (enum), required |
FLAT , HOUSE |
home_usage_type string (enum), required |
PRIMARY , SECONDARY |
home_size float, required |
Size of the house in square meters |
bedroom_amount int, required |
Minimum value is 1 |
power_generator_source string (enum), required |
SOLAR , HYDROELECTRICITY , WIND , BATTERY , OTHER , NONE |
people_amount int, required |
Minimum value is 1 |
people_amount_in_day_time int, required |
Minimum value is 0 |
people array, required |
The field must be present in the JSON but it can receive an empty array. |
people[].age_range string (enum), required |
ZERO_TO_FIVE , SIX_TO_EIGHTEEN , ADULT , PENSIONER |
people[].amount int, required |
|
version string, required |
The current version of the property information is 1.0 |
Appliances
View property appliances
GET /sensors/{device_id}/metadata/appliances
Response body
{
"appliances": [
{
"key": "AC",
"amount": 1,
"type": "CENTRALISED",
"usage_type": "SUMMER"
},
{
"key": "AC",
"amount": 1,
"type": "WINDOW",
"usage_type": "BOTH"
},
{
"key": "ELECTRIC_BOILER",
"amount": 1,
"usage_type": "SPACE_HEATING",
"coupled_with_solar_thermal_system": "NO",
"water_tank": false
},
{
"key": "ELECTRIC_BOILER",
"amount": 1,
"usage_type": "WATER_HEATING",
"coupled_with_solar_thermal_system": "YES",
"water_tank": true
},
{
"key": "FRIDGE",
"amount": 1,
"type": "FRIDGE"
},
{
"key": "GAS_HEATING",
"amount": 1,
"any_electric_heater": false
},
{
"key": "ELECTRIC_OVEN",
"amount": 1,
"type": "REGULAR"
},
{
"key": "OTHER",
"amount": 1,
"name": "A Electronic Device"
},
{
"key": "OTHER",
"amount": 1,
"name": "A Different Electronic Device"
}
],
"version": "1.0"
}
View property appliances.
Set up property appliances
PUT /sensors/{device_id}/metadata/appliances
Request body
{
"appliances": [
{
"key": "AC",
"amount": 1,
"type": "MINI_SPLIT",
"usage_type": "BOTH"
},
{
"key": "DEHUMIDIFIER",
"amount": 1
},
{
"key": "DISHWASHER",
"amount": 1
},
{
"key": "ELECTRIC_BOILER",
"amount": 1,
"usage_type": "WATER_HEATING",
"coupled_with_solar_thermal_system": "NO",
"water_tank": true
},
{
"key": "ELECTRIC_HEATING",
"amount": 1,
"type": "UNDERFLOOR"
},
{
"key": "ELECTRIC_LAWN_MOWER",
"amount": 1
},
{
"key": "ELECTRIC_OVEN",
"amount": 1,
"type": "INDUCTION"
},
{
"key": "ELECTRIC_SHOWER",
"amount": 2
},
{
"key": "ELECTRIC_STOVE",
"amount": 1
},
{
"key": "ELECTRIC_VEHICLE",
"amount": 1,
"type": "CAR",
"wattages": [7200]
},
{
"key": "ELECTRIC_VEHICLE",
"amount": 2,
"type": "BIKE",
"wattages": [750, 750]
},
{
"key": "FRIDGE",
"amount": 1,
"type": "FRIDGE_AND_FREEZER"
},
{
"key": "FRIDGE",
"amount": 1,
"type": "FREEZER"
},
{
"key": "GAS_HEATING",
"amount": 1,
"any_electric_heater": true
},
{
"key": "HUMIDIFIER",
"amount": 1
},
{
"key": "JACUZZI",
"amount": 1
},
{
"key": "KETTLE",
"amount": 1
},
{
"key": "POOL_PUMP",
"amount": 1
},
{
"key": "TUMBLE_DRYER",
"amount": 1,
"type": "I_DONT_KNOW",
"usage_types": ["AUTUMN", "SPRING", "WINTER"]
},
{
"key": "WASHING_MACHINE",
"amount": 1
},
{
"key": "OTHER",
"amount": 3,
"name": "Sprinklers"
}
],
"version": "1.0"
}
For each appliance object sent, all fields are required.
In case a user doesn’t know an answer or if a question is too technical for them, they will always be able to select the option “I don’t know”. These information allow us to improve the accuracy of our algorithm and help us prioritize our future work.
AC
For the AC, we want to know what type of AC the user has as well as the season when the user uses it. In case the user uses an AC during cold months, this appliance will be displayed on the disaggregation results as Heating.
• For the type
, the accepted values are: CENTRALISED, MINI_SPLIT, WINDOW, OTHER or I_DONT_KNOW.
• For the usage_type
, the accepted values are: SUMMER, WINTER or BOTH.
ELECTRIC BOILER (ELECTRIC WATER HEATER)
For this appliance, we want to know how many units the user have, if the Boiler is used for heating up space or water (or both), if it is coupled with a solar thermal system and if it has a water tank or not.
• For the usage_type
, the accepted values are: SPACE_HEATING, WATER_HEATING or BOTH.
• For the coupled_with_solar_thermal_system
, the accepted values are: YES, NO or NOT_SURE.
• For the water_tank
, the accepted values must be of the type BOOLEAN.
ELECTRIC HEATING (SPACE HEATING)
With the Electric Heating questions we want to know if the user has an electric or gas main heating source, depending on this first answer, we will ask different questions to the user. In case they have an electric main heating source we will ask the type of Heater they have, in case they say it’s gas we will ask whether they have additional electric heating units.
In case they say Electrical:
• For the type
, the accepted values are: HEAT_PUMP, HEAT_STORAGE, RADIATOR, UNDERFLOOR or OTHER.
In case they say Gas:
• For the any_electric_heater
, the accepted values must be of the type BOOLEAN.
ELECTRIC OVEN
Regarding the electric oven question, we want to know what type of oven the user has and how many of each.
• For the type
, the accepted values are: MICROWAVE, MINI or REGULAR. Followed by each type’s quantity.
ELECTRIC OR INDUCTION STOVE
For the stove, we want to know what type of stove the user has.
• For the type
, the accepted values are: ELECTRIC or INDUCTION.
ELECTRIC VEHICLE
In case of the electric vehicles, we want to know the type of vehicle the user has, how many and if they know the wattage of their chargers.
• For the type
, the accepted values are: BIKE, CAR, MOTORBIKE, SCOOTER.
• For the wattages
, the accepted values are a list of integers of size equal to the amount
of the corresponding vehicle.
FRIDGE/FREEZER
In case of the fridge (or cooling devices), we want to know the type of fridge the user has.
• For the type
, the accepted values, followed by their quantity as integers, are: FRIDGE, FREEZER, FRIDGE_AND_FREEZER, SMALL_ELECTRIC_WINE_CELLAR or LARGE_ELECTRIC_WINE_CELLAR.
TUMBLE DRYER
In case of the tumble dryer, we want to know how many units the user has and if they use the appliance all year long or only for some seasons.
• For the type
, the accepted values are: CONDENSER, HEAT_PUMP, VENTED or I_DONT_KNOW. Followed by each type’s quantity.
• The usage_types
several options can be clicked, this property is a list, and the accepted values are: AUTUMN, SPRING, SUMMER and/or WINTER.
OTHER APPLIANCES
Finally, we want to know if the user has any other appliances that are not shown in our list. This helps us to identify the most common ones in order to add them in the future to our disaggregation library. Please have in mind that any appliance added here won’t be displayed on the disaggregation results.
• For the name
, any text value can be accepted.
The current version
of the appliance list is 1.0
.
Meter geolocation
It is important for us to know where the smart meter is located, that way we can have weather information that helps us to make most accurate disaggregation.
View geolocation
GET /sensors/{device_id}/metadata/geolocation
Response body
{
"latitude": 51.509865,
"longitude": -0.118092
}
View geoloc info.
Set up property details
PUT /sensors/{device_id}/metadata/geolocation
Request body
{
"latitude": 51.509865,
"longitude": -0.118092
}
Geolocation have both fields as mandatory and it must be a valid location.
VoltaScore
The VoltaScore is Voltaware's scoring system, ranging from 1 to 5, designed to show users how efficiently they are using their energy at home. This score is computed based on the user's historical usage, as well as by comparing it with that of similar users. The higher the score, the more efficient the user is being.
The first VoltaScore results will be available 30 days after the sensor installation.
VoltaScore is calculated monthly for each calendar month. The calculation takes place at the beginning of each month, using data from the previous month, and the results are available on the third day of the same month. Please note that results are only available for previous months, not the current month.
View score
GET /sensors/{device_id}/scores?year=2023&month=8
{
"p2p": {
"consumption_percentile": 78.0,
"consumption_score": 4.5,
"cost_percentile": 68,
"cost_score": 4.2
},
"historical": {
"consumption_percentage": 35.5,
"consumption_score": 3.8,
"cost_percentage": 12.4,
"cost_score": 2.8
},
"recommendations": [
{
"key": "AVOID_TUMBLE_DRYER",
"type": "CONSUMPTION"
},
{
"key": "ELECTRIC_VEHICLE_OFF_PEAK",
"type": "CONSUMPTION",
"start_time": "23:00:00",
"end_time": "08:00:00"
},
{
"key": "WASHING_MACHINE_OFF_PEAK",
"type": "COST",
"start_time": "23:00:00",
"end_time": "08:00:00"
}
],
"overall_score": 3.5
}
Table describing the meanging of the response body:
Field name | Description |
---|---|
p2p.consumption_percentile float |
Percentile rank for consumption in peer-to-peer comparison |
p2p.consumption_score float |
Peer-to-peer comparison score for consumption |
p2p.cost_percentile float |
Percentile rank for cost efficiency in peer-to-peer comparison |
p2p.cost_score float |
Peer-to-peer comparison score for cost efficiency |
historical object, nullable |
Results of historical data will be availabe after 60 days from sensor installation. |
historical.consumption_percentage float |
Percentage difference in consumption compared to historical data |
historical.consumption_score float |
Historical consumption score based on self-comparison |
historical.cost_percentage float |
Percentage difference in cost efficiency compared to historical data |
historical.cost_score float |
Historical cost efficiency score based on self-comparison |
recommendations array |
Personalized recommendations for improving energy consumption and cost efficiency |
recommendations[].key array |
Check table bellow. |
recommendations[].type array |
CONSUMPTION , COST , BOTH |
overall_score float |
Overall VoltaScore for the specified device |
version string |
This field may be present in the future |
Table describing all availabe recommendations:
Recommendation key | Type | Meaning |
---|---|---|
AVOID_TUMBLE_DRYER | BOTH | Minimize tumble dryer usage when possible |
ELECTRIC_VEHICLE_OFF_PEAK | COST | Charge your EV during off-peak hours |
ISOLATE_WINDOWS | BOTH | Ensure windows are properly insulated to prevent heat loss and reduce heating time |
LOWER_ALWAYS_ON | BOTH | Lower Always-on by unplugging electronics to reduce standby power waste and save electricity |
NO_RECOMMENDATION | - | Maintain current practices |
OPTIMIZE_DRIVING | BOTH | Practice eco-driving techniques to reduce electricity consumption while driving |
USE_ECO | BOTH | Utilize ECO settings if available on appliances to optimize energy usage |
USE_MICROWAVE | BOTH | Use the microwave for cooking when possible to save energy compared to an electric oven |
WASHING_MACHINE_LOW_TEMP | BOTH | Use washing programs between 30 and 40ºC to save energy and prolong clothes lifespan |
WASHING_MACHINE_OFF_PEAK | COST | Program washing appliances during off-peak hours |
Table describing only the recommendations that extra fields.
ELECTRIC_VEHICLE_OFF_PEAK and WASHING_MACHINE_OFF_PEAK
Field name | Description |
---|---|
recommendations[].start_time string, time |
Start of the time windown with cheapest tariff to use |
recommendations[].end_time string, time |
Etart of the time windown with cheapest tariff to use |
Disaggregation
The disaggregation is calculated monthly for each calendar month. The calculation takes place at the beginning of each month, using data from the previous month, and the results are available on the third day of the same month. Please note that results are only available for previous months, not the current month.
If there is a need to calculate data from the past for a recently integrated smart meter, disaggregation can be performed for data up to three months old. In such cases, the results will be ready within 24 to 36 hours after the data is received.
Month
GET /sensors/{device_id}/sm/disag/month?year=2022&month=8
Response body
{
"total_consumption": 416951.0,
"appliances": [
{
"appliance_key": "cooking",
"consumption": 19057.0
},
{
"appliance_key": "electric_vehicle",
"consumption": 197148.0
},
{
"appliance_key": "fridge",
"consumption": 45081.336
},
{
"appliance_key": "lights",
"consumption": 59649.63
},
{
"appliance_key": "others",
"consumption": 12881.073
},
{
"appliance_key": "standby",
"consumption": 53491.2
},
{
"appliance_key": "washing",
"consumption": 29642.76
}
]
}
Returns the disaggregation result for the requested year-month.
Table describing the meanging of the response body:
Field name | Description |
---|---|
total_consumption float |
Total consumption of all appliances in Wh |
appliances[] array |
It will only contain the appliances found in the disagregation |
appliances[].appliance_key enum |
Key of the appliance |
appliances[].consumption float |
Energy consumption of the appliance in Wh |
Table describing all disaggregated appliances available:
Appliance key | Description |
---|---|
boiler |
The disaggregated consumption from Electric Water Heaters/Boilers |
cooking |
The disaggregated consumption from Electric Stove and/or Oven |
cooking_heating |
The combined disaggregated consumption from Electric Stove/Oven and Electric Heating. Note that this will be valid, instead of the individual Cooking and Heating consumptions, if a user-specified appliance list is not available |
cooling |
The disaggregated consumption from Air Conditioners |
electric_vehicle |
The disaggregated consumption for Electric Vehicle (EV). Note that the EV charging cycle times for each user are also available on this endpoint ADD ENDPOINT HERE |
fridge |
The disaggregated consumption from fridge/freezers and any wine chillers etc |
heating |
The disaggregated consumption from Electric Heating. Note that this may also include the disaggregated consumption from any AC that is being used for heating during the winter months |
lights |
The disaggregated consumption from lights and low-power electronic appliances (e.g. TVs, sounds systems, security cameras etc) |
others |
This is the consumption that is not assigned to any of the currently disaggregated appliances and may be (partly) attributable to specialized appliances present in the home, such as Jacuzzis, heat pumps, etc |
standby |
The disaggregated consumption due to appliances operating on Standby/Always ON mode around the house |
washing |
The combined disaggregated consumption from Washing Machine, Dishwasher and Tumble Dryer (as relevant to each home). Note that the separated consumptions for Washing Machine, Dishwasher and Tumble Dryer will also be made available in the near future |
Month by Weeks
/sensors/{device_id}/sm/disag/month/weeks?year=2023&month=9
Response body
{
"total_consumption": 550764.0,
"weeks": [
{
"from": "2023-09-01",
"to": "2023-09-03",
"total_consumption": 58728.0,
"appliances": [
{
"appliance_key": "cooking",
"consumption": 2559.0
},
{
"appliance_key": "fridge",
"consumption": 7491.9155
},
{
"appliance_key": "lights",
"consumption": 26218.045
},
{
"appliance_key": "others",
"consumption": 11263.99
},
{
"appliance_key": "standby",
"consumption": 7027.2
},
{
"appliance_key": "washing",
"consumption": 4167.85
}
]
},
{
"from": "2023-09-04",
"to": "2023-09-10",
"total_consumption": 104123.0,
"appliances": [
{
"appliance_key": "cooking",
"consumption": 5242.0
},
{
"appliance_key": "fridge",
"consumption": 24488.803
},
{
"appliance_key": "lights",
"consumption": 37118.61
},
{
"appliance_key": "others",
"consumption": 20010.209
},
{
"appliance_key": "standby",
"consumption": 9945.6
},
{
"appliance_key": "washing",
"consumption": 7317.78
}
]
},
{
"from": "2023-09-11",
"to": "2023-09-17",
"total_consumption": 111977.0,
"appliances": [
{
"appliance_key": "cooking",
"consumption": 3511.0
},
{
"appliance_key": "fridge",
"consumption": 8521.274
},
{
"appliance_key": "heating",
"consumption": 15067.439
},
{
"appliance_key": "lights",
"consumption": 39018.01
},
{
"appliance_key": "others",
"consumption": 6457.474
},
{
"appliance_key": "standby",
"consumption": 27763.2
},
{
"appliance_key": "washing",
"consumption": 11125.6
}
]
},
{
"from": "2023-09-18",
"to": "2023-09-24",
"total_consumption": 135707.0,
"appliances": [
{
"appliance_key": "cooking",
"consumption": 3913.0
},
{
"appliance_key": "fridge",
"consumption": 10465.777
},
{
"appliance_key": "lights",
"consumption": 55525.742
},
{
"appliance_key": "others",
"consumption": 25831.58
},
{
"appliance_key": "standby",
"consumption": 26534.4
},
{
"appliance_key": "washing",
"consumption": 13436.5
}
]
},
{
"from": "2023-09-25",
"to": "2023-09-30",
"total_consumption": 140229.0,
"appliances": [
{
"appliance_key": "cooking",
"consumption": 5324.5
},
{
"appliance_key": "fridge",
"consumption": 8700.059
},
{
"appliance_key": "lights",
"consumption": 54820.223
},
{
"appliance_key": "others",
"consumption": 27706.46
},
{
"appliance_key": "standby",
"consumption": 21926.4
},
{
"appliance_key": "washing",
"consumption": 12920.36
}
]
}
]
}
This endpoint follows the same rules as the ones described in the Disaggregation documentation.
Table describing the meanging of the response body:
Field name | Description |
---|---|
from date |
Starting date of the month |
to date |
Ending date of the month |
total_consumption float |
Total consumption of all appliances in Wh for the month |
weeks[].from date |
Starting date of the week |
weeks[].to date |
Ending date of the week |
weeks[].total_consumption float |
Total consumption of all appliances in Wh for the week |
weeks[].appliances[] array |
It will only contain the appliances found in the disagregation |
weeks[].appliances[].appliance_key enum |
Key of the appliance. All keys will be the same as the ones described in the table above. |
weeks[].appliances[].consumption float |
Energy consumption of the appliance in Wh |
Appliance Cycles
GET /sensors/{device_id}/sm/disag/cycles?date=2023-11-17
Response body
[
{
"appliance_key": "electric_vehicle",
"total_consumption": 1917.0650024414062,
"cycles": [
{
"from": "2022-04-12T00:32:53",
"to": "2022-04-12T04:29:10",
"consumption": 838.8944702148438
},
{
"from": "2022-04-12T20:17:24",
"to": "2022-04-12T22:48:14",
"consumption": 1078.1705322265625
}
]
}
]
Returns the cycles found per appliance.
Currently, cycles are only implemented for electric_vehicle
. Note that cycles for the other appliances will also be made available in the near future.
Table describing the meanging of the response body:
Field name | Description |
---|---|
appliance_key enum |
Key of the appliance |
total_consumption float |
Total consumption of all cycles in Wh |
cycles[].from local timestamp |
Start time of the cycle for the period in the device's local time zone |
cycles[].to local timestamp |
End time of the cycle for the period in the device's local time zone |
cycles[].consumption float |
Energy consumption of the cycle in Wh |
Reports
Monthly
GET /sensors/{device_id}/sm/reports/monthly?year=2022&month=8
Response body
{
"day_by_day_metrics": {
"days_without_consumption": 0,
"total_consumed_on_week_days": 10.12829,
"total_consumed_on_weekend_days": 3.57842,
"total_month_consumption": 13.70671,
"average_month_consumption": 0.44215,
"max_month_consumption": {
"day": "2022-08-23",
"total_consumption": 0.46071,
"weekend": false
},
"min_month_consumption": {
"day": "2022-08-24",
"total_consumption": 0.40534,
"weekend": false
},
"days": [
{
"day": "2022-08-01",
"total_consumption": 0.43057,
"weekend": false
},
{
"day": "2022-08-02",
"total_consumption": 0.43952,
"weekend": false
},
{
"day": "2022-08-03",
"total_consumption": 0.43464,
"weekend": false
},
{
"day": "2022-08-04",
"total_consumption": 0.43959,
"weekend": false
},
{
"day": "2022-08-05",
"total_consumption": 0.45704,
"weekend": false
},
{
"day": "2022-08-06",
"total_consumption": 0.44674,
"weekend": true
},
{
"day": "2022-08-07",
"total_consumption": 0.44807,
"weekend": true
},
{
"day": "2022-08-08",
"total_consumption": 0.44821,
"weekend": false
},
{
"day": "2022-08-09",
"total_consumption": 0.44122,
"weekend": false
},
{
"day": "2022-08-10",
"total_consumption": 0.43846,
"weekend": false
},
{
"day": "2022-08-11",
"total_consumption": 0.43126,
"weekend": false
},
{
"day": "2022-08-12",
"total_consumption": 0.44193,
"weekend": false
},
{
"day": "2022-08-13",
"total_consumption": 0.44847,
"weekend": true
},
{
"day": "2022-08-14",
"total_consumption": 0.44093,
"weekend": true
},
{
"day": "2022-08-15",
"total_consumption": 0.43711,
"weekend": false
},
{
"day": "2022-08-16",
"total_consumption": 0.4269,
"weekend": false
},
{
"day": "2022-08-17",
"total_consumption": 0.4326,
"weekend": false
},
{
"day": "2022-08-18",
"total_consumption": 0.43151,
"weekend": false
},
{
"day": "2022-08-19",
"total_consumption": 0.44437,
"weekend": false
},
{
"day": "2022-08-20",
"total_consumption": 0.44731,
"weekend": true
},
{
"day": "2022-08-21",
"total_consumption": 0.45208,
"weekend": true
},
{
"day": "2022-08-22",
"total_consumption": 0.44326,
"weekend": false
},
{
"day": "2022-08-23",
"total_consumption": 0.46071,
"weekend": false
},
{
"day": "2022-08-24",
"total_consumption": 0.40534,
"weekend": false
},
{
"day": "2022-08-25",
"total_consumption": 0.4514,
"weekend": false
},
{
"day": "2022-08-26",
"total_consumption": 0.45477,
"weekend": false
},
{
"day": "2022-08-27",
"total_consumption": 0.44927,
"weekend": true
},
{
"day": "2022-08-28",
"total_consumption": 0.44555,
"weekend": true
},
{
"day": "2022-08-29",
"total_consumption": 0.44724,
"weekend": false
},
{
"day": "2022-08-30",
"total_consumption": 0.45135,
"weekend": false
},
{
"day": "2022-08-31",
"total_consumption": 0.43929,
"weekend": false
}
]
},
"disaggregation_metrics": {
"total_consumption": 13706.82,
"appliances": [
{
"appliance_key": "cooling",
"consumption": 0
},
{
"appliance_key": "fridge",
"consumption": 5413.5107
},
{
"appliance_key": "heating",
"consumption": 0
},
{
"appliance_key": "lights",
"consumption": 2918.9485
},
{
"appliance_key": "others",
"consumption": 2.2737368e-13
},
{
"appliance_key": "standby",
"consumption": 5374.361
},
{
"appliance_key": "washing",
"consumption": 0
}
]
},
"carbon_footprint": {
"kgco2": 7.11378249,
"trees": 3.803064
},
"version": 1
}
This endpoint follows the same rules as the ones described in the Disaggregation documentation.