eGauge Cloud Integrations - SolarNetwork/solarnetwork GitHub Wiki
This page descirbes the Cloud Integrations support for eGauge.
👉 eGauge integration works at the meter level, because the eGauge API is actually just a proxy service that forwards all communication to the physical eGague device for handling all queries. Becauase of this you will find that settings like credentials must be configured on Cloud Datum Stream entities, rather than Cloud Integration entities.
The eGauge integration service identifier is s10k.c2c.i9n.egauge
. The following service
properties are supported:
Property | Description |
---|---|
baseUrl |
An optional alternate URL to use to access the cloud service |
The eGauge integration supports the following Cloud Datum Stream Service implementations:
Service | Identifier | Description |
---|---|---|
eGauge | s10k.c2c.ds.egauge |
Polling datum stream using the eGauge API. |
The eGauge datum stream service identifier is s10k.c2c.ds.egauge
. The following service
properties are supported:
Property | Description |
---|---|
deviceId |
The eGauge device ID to capture as a datum stream |
username |
The eGauge device user login name to use for authentication |
password |
The eGauge device user login password to use for authentication |
granularity |
The desired resolution of the data, as a number seconds, or example 60 to request minute-level data |
virtualSourceIds |
A list or comma-delimited list of virtual source IDs. See Virtual datum streams for more information. |
⚠️ As the credentials required are specific to each eGauge device, each Cloud Datum Stream can only include data from a single eGauge device.
A deviceId
value reference placeholder is supported, taken directly from the deviceId
service property.
The following Data Filters are supported:
Filter Key | Description |
---|---|
datumStreamId |
The ID of the Cloud Datum Stream; required |
⚠️ As adatumStreamId
filter is required (to provide the credentials necessary for communicating with an eGauge device), a Cloud Datum Stream entity must be configured before the Data Values API can be used. That means a Cloud Datum Stream Mapping entity must also be configured, but it can be devoid of any associated Cloud Datum Stream Mapping Property entities.
This service supports the Cloud Datum Stream import service. Note that the eGague device may not have high resolution historical data available, as it automatically aggregates older data, discarding the raw data afterwards, to conserve resources.
All eGauge registers are reported as accumulating meter-style values. When mapping an eGauge
register to a datum property, SolarNetwork can convert the values to both instantaneous and
accumulating datum properties. For example, imagine an eGauge device exposes a Grid
property as Wh
values. You could map that register to both watts
and wattHours
datum properties with
configuration like this:
[
{
"enabled": true,
"propertyType": "i",
"propertyName": "watts",
"valueType": "r",
"valueReference": "/egauge123/Grid"
},
{
"enabled": true,
"propertyType": "a",
"propertyName": "wattHours",
"valueType": "r",
"valueReference": "/egauge123/Grid"
}
]
Note the only difference between these two mappings is the propertyType
. SolarNetwork will
automatically handle mapping the Grid
register to the a
type by taking the raw values returned
by eGauge, and to the i
type by calculating the difference bewtween two adjacent sample values,
divided by the time difference between the two samples.