Skip to main content

Sites

Sites are the core of our new decentralised power grids, representing households, office buildings, and other facilities. Each site includes a meter (head meter, digital meter), which enables grid operators and suppliers to monitor energy usage and facilitate appropriate remuneration.

The activities recorded by these meters are crucial for providing flexibility in the grid. Adjusting consumption or production at these points helps maintain grid stability.

Identifiers​

Each site is identified by a unique identifier, known to both the supplier and grid operators. This identifier is specific to the end-consumer and varies by country. Below is an overview of these identifiers by region.

CountryIdentifier
BelgiumEAN
NetherlandsEAN
LuxembourgEAN
FrancePRM
United KingdomMPAN
IrelandMPRN
ItalyPOD
SpainCUPS
Multiple metres

A site identifies a single head (digital) meter. In case you have multiple head meters, you should register these as multiple sites.

Managing​

In order to start benefiting from extra flexibility, a site needs to be created.

Creating​

To create an endpoint, you need at least its identifier.

import requests
import json

url = "https://api.powernaut.io/v1/connect/sites"

payload = json.dumps({
"location": {
"address": "Dok Noord, Gent, Belgium"
},
"supply_points": [
{
"grid_identifier": "EAN1234567890",
"direction": "bidirectional"
}
]
})
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <token>'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Deleting​

You can also delete a site, for example when you are no longer serving this end-consumer.

import requests

url = "https://api.powernaut.io/v1/connect/sites/<uuid>"

payload = {}
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <token>'
}

response = requests.request("DELETE", url, headers=headers, data=payload)

print(response.text)

Listing​

You can fetch a single site using its ID, or just list all of them:

import requests

url = "https://api.powernaut.io/v1/connect/sites?page=1&page_size=10"

payload = {}
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <token>'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)

Now that we've learned how to register sites, let's continue by registering flexible resources for this site.