Documentation et exemples de l'API XML

Avis de dépréciation

  • L'API XML d'eGauge a été remplacée par l'API Web JSON, plus récente et plus performante. L'API Web JSON est plus rapide, plus flexible et offre des fonctionnalités de configuration et d'état absentes de l'API XML.
  • L'API XML restera fonctionnelle, mais ne bénéficiera plus de nouvelles fonctionnalités ni d'améliorations. Il est recommandé d'utiliser l'API Web JSON plutôt que l'interface XML. Plus d'informations sur l' API Web JSON sont disponibles ici .

eGauge Systems propose une API gratuite et sans restriction pour le développement d'applications qui récupèrent les données du compteur eGauge. Cette API couvre les mêmes fonctionnalités que l'interface eGauge par défaut. Le service de notification push eGauge est également inclus.

L'assistance technique d'eGauge peut vous aider à interpréter les données XML. La revue de code et les services similaires ne sont pas disponibles . Téléchargez le document PDF complet via le lien ci-dessous :

Téléchargement de la documentation de l'API XML


Interprétation des données XML et exemples

Informations générales

Les données XML sont transmises avec les valeurs cumulées des registres. Dans le cas des registres de puissance, ces valeurs sont exprimées en watt-secondes. Pour convertir les watt-secondes en kWh, divisez-les par 3 600 000. On peut comparer ces valeurs cumulées aux relevés de compteurs à un instant donné, la consommation augmentant continuellement au fil du temps. Pour obtenir la consommation en kWh entre deux dates, soustrayez la valeur la plus récente de la plus ancienne et divisez le résultat par 3 600 000.

Remarque : les compteurs EG4xxx prennent en charge TLSv1.2, tandis que les compteurs EG30xx ne prennent en charge que TLSv1.0.

En bas de la page figure le résultat d'une exportation détaillée à la minute, affichant les données cumulées des dix dernières minutes (obtenue via l'URL http://DEVNAME.egaug.es/cgi-bin/egauge-show?m&n=10). `time_stamp` représente l'heure de l'exportation (horodatage Unix en hexadécimal) ; `time_delta` indique le temps en secondes entre les exportations ; `epoch` représente la date et l'heure de début de l'enregistrement sur cet appareil (horodatage Unix en hexadécimal).

Chaque balise <cname> contient des données dans l'en-tête d'une colonne ; dans ce cas, cela correspond à un registre physique sur le dispositif. Le type de registre (P pour l'alimentation, V pour la tension, etc.) est indiqué, et le texte à l'intérieur de la balise représente le nom du registre tel qu'il est enregistré sur le dispositif. Les registres virtuels peuvent également être affichés si le paramètre approprié est transmis lors de la requête initiale.

Chaque ligne (balise <r>) contient une série de colonnes (balise <c>) affichant la valeur cumulée de chaque registre. Pour déterminer la valeur moyenne d'un registre sur une période donnée, il suffit de calculer la différence entre les deux valeurs cumulées et de diviser par le delta temporel approprié. Les valeurs obtenues sont exprimées dans des unités en fonction du type de registre (voir le tableau de la section 2.2.1 de la documentation de l'API XML pour connaître le type d'unité). Il est important de noter que, pour les versions de firmware antérieures à la version 3.01, les valeurs cumulées ne sont pas nécessairement incrémentées à partir de zéro. À partir de la version 3.01, l'option E lors de la requête de données renvoie des valeurs relatives à l'époque du périphérique (c'est-à-dire que les valeurs commencent à zéro). L'utilisation du paramètre « epoch » lors d'une envoi de données produit le même effet. Ceci suppose que l'option de date et d'heure de début d'enregistrement est correctement configurée sur l'eGauge.

Quelques exemples (basés sur l'exemple de résultat ci-dessous) :

Utilisation moyenne du réseau au cours de la dernière minute : 55357226851 - 55357243343 = −16492 / 60 = -274,86 Watts (n'oubliez pas que les compteurs d'alimentation sont bidirectionnels)

https://kb.egauge.net/link/137#bkmrk-average-voltage-l2-o

Tension moyenne L2 sur dix minutes 4511385868513 - 4511319123106 = 66745407 / 600 = 111242,345 mV / 1000 = 111,24 volts

<group serial="0x4e842294">
<data columns="12" time_stamp="0x564cb0e8" time_delta="60" epoch="0x55973268">
<cname t="P">Grid</cname>
<cname t="S">Grid*</cname>
<cname t="V">VL2</cname>
<cname t="V">VL1</cname>
<cname t="F">Frequency</cname>
<r>
<c>55357226851</c>
<c>7375247726</c>
<c>4511385868513</c>
<c>4528987513211</c>
<c>2217532746128</c>
</r>
<r>
<c>55357243343</c>
<c>7375223338</c>
<c>4511378482617</c>
<c>4528980146863</c>
<c>2217529147760</c>
</r>
<r>
<c>55357259861</c>
<c>7375198952</c>
<c>4511371100578</c>
<c>4528972784417</c>
<c>2217525549473</c>
</r>
<r>
<c>55357276431</c>
<c>7375174516</c>
<c>4511363715094</c>
<c>4528965418400</c>
<c>2217521950920</c>
</r>
<r>
<c>55357293137</c>
<c>7375149735</c>
<c>4511356276347</c>
<c>4528957999802</c>
<c>2217518352640</c>
</r>
<r>
<c>55357309872</c>
<c>7375124940</c>
<c>4511348838707</c>
<c>4528950580365</c>
<c>2217514754150</c>
</r>
<r>
<c>55357326630</c>
<c>7375100152</c>
<c>4511341406162</c>
<c>4528943162279</c>
<c>2217511155334</c>
</r>
<r>
<c>55357343410</c>
<c>7375075359</c>
<c>4511333976595</c>
<c>4528935743683</c>
<c>2217507556120</c>
</r>
<r>
<c>55357360207</c>
<c>7375050569</c>
<c>4511326550844</c>
<c>4528928327670</c>
<c>2217503956798</c>
</r>
<r>
<c>55357377048</c>
<c>7375025739</c>
<c>4511319123106</c>
<c>4528920909766</c>
<c>2217500357151</c>
</r>
</data>
</group>

Exemple : Énergie et puissance pour des dates spécifiques

Vous pouvez effectuer des appels CGI à http://DEV-URL/cgi-bin/egauge-show où DEV-URL est l'URL de votre eGauge (par exemple, http://egaugehq.d.egauge.net/).

Le paramètre T permet de demander des données à partir de moments précis. Il attend une liste d'horodatages Unix séparés par des virgules.

Le paramètre E exige que les valeurs soient relatives à la date et à l'heure de début de l'enregistrement. Ce paramètre doit être correctement configuré dans Paramètres ->

Cela permet de démarrer la lecture à zéro lorsque la date et l'heure de début d'enregistrement sont définies ; sinon, la valeur brute de la base de données pourrait être arbitraire. Cette fonctionnalité requiert le firmware v3.02 ou une version ultérieure.

Le paramètre « a » demande les registres totaux et virtuels, tels que « Usage » et « Generation ». Ce paramètre est facultatif.

https://kb.egauge.net/link/137#bkmrk-http%3A%2F%2Fegaugehq.d.eg

La commande http://egaugehq.d.egauge.net/cgi-bin/egauge-show?a&E&T=1514764800,1483228800 renvoie les données du 1er janvier 2018 à 00:00:00 UTC et du 1er janvier 2017 à 00:00:00 UTC, en utilisant des valeurs relatives à l'époque et en demandant les registres totaux et virtuels. Pour plus de clarté, le résultat ci-dessous ne comporte que les registres Usage et Generation.

<group serial="0x3b2d1cb7">
  <data columns="27" time_stamp="0x5a497a00" time_delta="60" epoch="0x52a0f760">
    <cname t="P">use</cname>
    <cname t="P">gen</cname>
    <r>
      <c>241517238757</c>
      <c>0</c>
    </r>
  </data>
  <data time_stamp="0x58684680" time_delta="900">
  <r>
    <c>171138633823</c>
    <c>0</c>
  </r>
  </data>
</group>

La génération est nulle car aucune donnée n'est enregistrée sur cet appareil.

L'utilisation pour l'horodatage 0x5a497a00 (1er janvier 2018) est de 241517238757 joules (241517238757/3600000 = 67088 kWh).

L'utilisation pour l'horodatage 0x58684680 (1er janvier 2017) est de 171138633823 joules (171138633823/3600000 = 47538 kWh).


Si vous souhaitez obtenir la puissance au lieu de l'énergie, soustrayez les valeurs et divisez par l'intervalle de temps qui les sépare :

https://kb.egauge.net/link/137#bkmrk-67088-kwh--%C2%A047538-kw

Entre 2017 et 2018, la consommation d'énergie s'est élevée à 19 550 kWh (67 088 kWh - 47 538 kWh). Une année compte 8 760 heures ; la consommation moyenne annuelle est donc de 19 550 kWh / 8 760 h = 2,23 kW. Ce calcul est valable pour deux instants quelconques.