API IJENKO - PACK - Plug - Comment récuperer les données de consommations ?

J’utilise un pack maison connectée.
Je souhaite savoir comment accéder aux données de consommation relevées par la Plug ?

Pour récupérer les données de consommation par usage d’un foyer, il faut récupérer l’identifiant du foyer.
Il s’agit du placeId => voir la discussion « https://forum.etalab.gouv.fr/t/api-ijenko-donnees-de-comptage-comment-acceder-aux-donnees-dun-foyer » pour récupérer le placeId.

=> Faire l’appel suivant pour récupérer toutes les fonctionnalités de comptage (dont les appareils électriques) disponibles.

GET <URL>/places/<placeId>/functionalities?functionalities=ElecMetering&token=<token>

// <URL> à remplacer par l’URL de l’API
// <placeId> à remplacer par l’identifiant du foyer tel indique ci-dessus
// <token> à remplacer par le token fourni par IJENKO à l’équipe.

La réponse a le format suivant:

[
     {
       "id": "54Aay9XPYMQFQJ6cA7m4yA", // il s'agit du functionalityId qu'il faut utiliser dans les appels suivants
       "device": "dfsKy9XPYOZXQL6cA4m4tQ",
       "class": "ElecMetering",
       "endpoint": 10,
       "tags": ["Frigo"] // Voir une autre discussion pour savoir comment mettre un tag à une Plug
     },
    {
       "id": "sfdqsfdsfqsfFQJ6cA7m4yA", // il s'agit du functionalityId qu'il faut utiliser dans les appels suivants
       "device": "sdfsdf9XPYOZXQL6cA4m4tQ",
       "class": "ElecMetering",
       "endpoint": 1,
       "tags": ["use_heating"] // Le tag indique qu'il s'agit d'un radiateur électrique
     },
     {
       "id": "qsdfsdfsdfXPYMQFQJ6cA7m4yA", // il s'agit du functionalityId qu'il faut utiliser dans les appels suivants
       "device": "4CJKy9XPYsdfsdfsqdf4m4tQ",
       "class": "ElecMetering",
       "endpoint": 2,
       "tags": ["use_hot_water"] // Le tag indique qu'il s'agit du ballon d'eau chaude
     }
]

En fonction du tag, on identifie de quel type d’appareil électrique il s’agit. Choisir le bon functionalityId pour récupérer les données de l’appareil souhaité.

1. Données de consommation en Wh - format horaire

GET <URL>/functionalities/<functionalityId>/attributes?names=HourSummEnergy&from=2016-05-21T00:00:00Z&token=<token>

// <URL> à remplacer par l’URL de l’API
// <functionalityId> à remplacer par l’identifiant de la fonctionnalité de comptage avec tag « total_usage » récupérée avec l’appel décrit ci-haut
// <token> à remplacer par le token fourni par IJENKO à l’équipe.
// le filtre from indique la date à partir de laquelle on veut récupérer l’historique (optionnel), au format AAAA-MM-DDT00:00:59Z
// le filtre to indique la date à la fin de laquelle on veut récupérer l’historique (optionnel), au format AAAA-MM-DDT00:00:59Z
// Si les filtres ne sont pas fournis alors on récupère tout l’historique jusqu’à la date courante. Dans l’exemple fourni, on récupère les 24 données horaires du 12 Avril 2016.

La réponse a le format suivant - Données factices fournies en exemple :
ATTENTION : LE TIMESTAMP EST AU FORMAT UTA => DECALAGE POUR PARIS EN GMT+1 ou GMT+2
Les données sont en Wh (et non kWh)

{ "HourSummEnergy": [ { "value": "88", "when": "2016-04-11T22:59:59Z" // Données horaire de 00h à 1h, horaire parisien }, { "value": "96", "when": "2016-04-11T23:59:59Z" // Données horaire de 1h à 2h, horaire parisien }, { "value": "88", "when": "2016-04-12T00:59:59Z" }, { "value": "88", "when": "2016-04-12T01:59:59Z" }, { "value": "96", "when": "2016-04-12T02:59:59Z" }, { "value": "88", "when": "2016-04-12T03:59:59Z" }, { "value": "96", "when": "2016-04-12T04:59:59Z" }, { "value": "88", "when": "2016-04-12T05:59:59Z" }, { "value": "88", "when": "2016-04-12T06:59:59Z" }, { "value": "96", "when": "2016-04-12T07:59:59Z" }, { "value": "88", "when": "2016-04-12T08:59:59Z" }, { "value": "88", "when": "2016-04-12T09:59:59Z" }, { "value": "88", "when": "2016-04-12T10:59:59Z" }, { "value": "96", "when": "2016-04-12T11:59:59Z" }, { "value": "88", "when": "2016-04-12T12:59:59Z" }, { "value": "88", "when": "2016-04-12T13:59:59Z" }, { "value": "96", "when": "2016-04-12T14:59:59Z" }, { "value": "88", "when": "2016-04-12T15:59:59Z" }, { "value": "88", "when": "2016-04-12T16:59:59Z" }, { "value": "96", "when": "2016-04-12T17:59:59Z" }, { "value": "88", "when": "2016-04-12T18:59:59Z" }, { "value": "88", "when": "2016-04-12T19:59:59Z" }, { "value": "96", "when": "2016-04-12T20:59:59Z" }, { "value": "88", "when": "2016-04-12T21:59:59Z" // Données horaire de 23h à Minuit, horaire parisien } ]}

2. Données de consommation en Wh - format journalier

GET <URL>/functionalities/<functionalityId>/attributes?names=DaySummEnergy&from=2016-04-01T22:59:59Z&to=2016-04-30T21:59:59Z&token=<token>

L’exemple fournit les 30 données journalières du mois d’Avril. Les données journalières prennent en compte le déclage horaire. Le format de réponse est identique à celui pour le format horaire.

3. Données de consommation en Wh - format mensuel

GET <URL>/functionalities/<functionalityId>/attributes?names=MonthSummEnergy&from=2014-05-01T00:00:59Z&token=<token>

L’exemple fournit les 24 données mensuelles depuis Mai 2014 jusqu’au mois en cours.