Cette page contient quelques exemples de base d'obtention de données historiques d'un compteur eGauge à l'aide de l'API Web.
Ces exemples utilisent la bibliothèque Python eGauge, mais d'autres langages et bibliothèques peuvent être utilisés.
- La documentation complète de l'API Web JSON est disponible à l'adresse : egauge.net/support/webapi
Obtenez des valeurs instantanées
Requête : dev.get('/register?reg=3+5+7+9&rate')
Paramètres :
reg=3+5+7+9 demande ces identifiants d'enregistrement
rate demande le taux de variation instantané à l'instant t.
Aucun paramètre temporel n'ayant été fourni, la dernière valeur prise en compte est celle-ci.
Réponse:
{
"ts": "1679506470.000420096",
"registers": [
{"name": "Panel 3 Mains", "type": "P", "idx": 3, "did": 0, "rate": 2400},
{"name": "Panel 3 L1", "type": "P", "idx": 5, "did": 2, "rate": 551},
{"name": "Panel 3 L2", "type": "P", "idx": 7, "did": 3, "rate": 1080},
{"name": "Panel 3 L3", "type": "P", "idx": 9, "did": 4, "rate": 769},
],
}Obtenez des données historiques sur une période de 6 heures.
Requête : dev.get('/register?reg=3+5+7+9&rate&time=1672556400:3600:1672578000')
Paramètres :
reg=3+5+7+9 demande ces identifiants d'enregistrement
rate demande le taux de variation instantané à l'instant t.
time=1672556400:3600:1672578000 est :
-
1672556400: 1er janvier 00h00 (heure de début) -
3600: nombre de secondes à ignorer entre les lignes (permet une granularité d'une heure) -
1672578000: 2 janvier 6h00 (heure de fin)
Réponse:
{
"ts": "1679505959.000420096",
"registers": [
{"name": "Panel 3 Mains", "type": "P", "idx": 3, "did": 0, "rate": 4185},
{"name": "Panel 3 L1", "type": "P", "idx": 5, "did": 2, "rate": 506},
{"name": "Panel 3 L2", "type": "P", "idx": 7, "did": 3, "rate": 2902},
{"name": "Panel 3 L3", "type": "P", "idx": 9, "did": 4, "rate": 777},
],
"ranges": [
{
"ts": "1672578000",
"delta": 3600.0,
"rows": [
["150555067851", "64158660544", "57705425071", "28690982234"],
["150552980706", "64157713471", "57704901028", "28690366205"],
["150550413006", "64156764160", "57703892567", "28689756277"],
["150548310776", "64155810457", "57703366875", "28689133443"],
["150546201980", "64154853051", "57702841741", "28688507186"],
["150543949276", "64153896433", "57702279596", "28687773245"],
["150541826993", "64152938219", "57701751003", "28687137769"],
],
}
],
}Notes
Analyser le résultat de la même manière que pour les données XML.
Chaque ligne est plus ancienne de 3 600 secondes que la précédente. Les colonnes correspondent aux registres : la première valeur de chaque ligne concerne « Panel 3 Mains », la deuxième « Panel 3 L1 », et ainsi de suite.
Ligne 1 :
150555067851 est la valeur cumulée de « Panel 3 Mains » à l'heure « ts » (1672578000 = 1er janvier 6h00)
64158660544 est la valeur cumulée de « Panel 3 L1 » à l'instant « ts » (1672578000 = 1er janvier 6h00)
57705425071 est la valeur cumulée de « Panel 3 L2 » à l'instant « ts » (1672578000 = 1er janvier 6h00)
Ligne 2 :
150552980706 est la valeur cumulée de « Panel 3 Mains » à l'instant « ts »-« delta »*1 (1672578000-3600*1 = 1er janvier 5h00)
Ligne 3 :
150550413006 est la valeur cumulée de « Panel 3 Mains » à l'instant « ts »-« delta »*2 (1672578000-3600*2 = 1er janvier 4h00)
Ligne 4 :
150548310776 est la valeur cumulée de « Panel 3 Mains » à l'instant « ts »-« delta »*3 (1672578000-3600*3 = 1er janvier 3h00)
Ligne 7 :
28687137769 est la valeur cumulée de « Panel 3 L3 » à l'instant « ts »-« delta »*6 (1672578000-3600*6 = 1er janvier 00:00)
Par exemple, le « Panneau 3 » (alimentation principale) a consommé, entre minuit et 6 h le 1er janvier, (150555067851-150541826993)/3 600 000 = 3,679 kWh.
Obtenez 3 horodatages précis
Requête : dev.get('/register?reg=3:5&time=1672556400,1672642800,1672729200')
Paramètres :
reg=3:5 demande les registres commençant à l'ID 3 et se terminant à l'ID 5
time=1672556400,1672642800,1672729200 demande les valeurs aux horodatages suivants :
-
1672556400: 1er janvier 00h00 -
1672642800: 2 janvier 00h00 -
1672729200: 3 janvier 00h00
Réponse:
{
"ts": "1679507855.000420096",
"registers": [
{"name": "Panel 3 Mains", "type": "P", "idx": 3, "did": 0},
{"name": "Panel 3 Mains*", "type": "S", "idx": 4, "did": 1},
{"name": "Panel 3 L1", "type": "P", "idx": 5, "did": 2},
],
"ranges": [
{
"ts": "1672556400",
"delta": 60.0,
"rows": [["150541826993", "182491473811", "64152938219"]],
},
{
"ts": "1672642800",
"delta": 60.0,
"rows": [["150591166950", "182556552340", "64175776009"]],
},
{
"ts": "1672729200",
"delta": 60.0,
"rows": [["150704245365", "182691087288", "64205578174"]],
},
],
}Notes
Analyser de la même manière qu'une sortie XML. Il y a 3 plages, une pour chaque horodatage demandé, et la valeur cumulée de chaque registre à cet instant.
Par exemple:
La dernière plage montre le 1er janvier (« ts » de 1672729200) que « Panel 3 L1* » (colonne du milieu) avait une valeur cumulée de 64205578174 watt-secondes.
L'avant-dernière plage montre le 2 janvier (« ts » de 1672642800) que « Panel 3 L1* » (colonne du milieu) avait une valeur cumulée de 64175776009 watt-secondes.
Cela signifie qu'entre le 1er et le 2 janvier, le registre « Panneau L1 » a varié de (64175776009 - 64205578174) = -29802165 watt-secondes, soit -29802165 / 3600000 = -8,27 kWh
Selon l'orientation du capteur d'ampérage (TC), la puissance/l'énergie sera positive ou négative. En cas d'alimentation unidirectionnelle (absence de retour de courant, etc.), il est généralement possible de prendre la valeur absolue entre deux dates. Cependant, une polarité inattendue peut également être due à des problèmes d'installation physique générant des données inexactes.