Skip to content
Matt Magoffin edited this page Nov 24, 2024 · 13 revisions

SolarNetwork provides a fully-managed cloud service integration layer that allows you to work with external services within SolarNetwork.

Supported cloud services

SolarNetwork has support for the following cloud services:

Service Supported features
AlsoEnergy Cloud Datum Stream
eGauge Cloud Datum Stream
Locus Energy (AlsoEnergy) Cloud Datum Stream
OpenWeatherMap Cloud Datum Stream
SolarEdge Cloud Datum Stream
Solcast Cloud Datum Stream
SolrenView (Solectria) Cloud Datum Stream

If you do not see a cloud integration for the service you would like to integrate with, email us!

Cloud Datum Stream

The Cloud Datum Stream integration allows you to acquire data from external systems, when you do not have a SolarNode edge device delpoyed to collect the data directly. Some device manufacturers have deployed their own cloud services that their devices publish data to, so a Cloud Datum Stream integration can help to get that data into SolarNetwork.

The system works like this:

  • Create a Cloud Integration configuration for a supported cloud service with details like credentials for accessing the service.
  • Create a Cloud Datum Stream Mapping configuration that maps the service's data attributes into datum stream properties.
  • Create a Cloud Datum Stream configuration that defines a SolarNetwork datum stream with a node ID, source ID, and details like the frequency at which you would like to collect the data (if the integration requires polling for data), along with the Cloud Datum Stream Mapping to use.
  • If the service requires polling for data, create a Cloud Datum Stream Poll Task configuration to start collecting the data.

Once these steps are completed, SolarNetwork will work automatically to collect the data into SolarNetwork, where you can access it with all the APIs SolarNetwork offers.

Cloud Integrations entities

Within SolarNetwork, the following entities are managed via the SolarUser Cloud Integrations API:

Entity Description
Cloud Integration A cloud service to integrate with, and the details like credentials necessary to access the service. For example "Locus Energy".
Cloud Datum Stream Mapping A group of Cloud Datum Stream Mapping Property entities associated with a specific Cloud Integration. For example "Inverter device".
Cloud Datum Stream Mapping Property Maps a single cloud service data attribute to a SolarNetwork datum property. For example "AC power".
Cloud Datum Stream SolarNetwork datum stream details such as node ID and source ID, associated with a Cloud Datum Stream Mapping.
Cloud Datum Stream Poll Task For cloud services that require polling for data, details about the state of the polling task.
Cloud integrations entity relationship diagram

Cloud Integration entity

The Cloud Integration entity represents a cloud service to integrate with, and the details like credentials necessary to access the service. The serviceIdentifier property is configured with the identifier of a supported service. The supported services can be listed with the Integration Services list endpoint.

See the Cloud Integration API for more information.

Cloud Datum Stream Mapping entity

The Cloud Datum Stream Mapping entity represents a group of Cloud Datum Stream Mapping Property entities that represents the mapping of a set of cloud data values to a complete SolarNetwork datum stream.

See the Cloud Datum Stream Mapping API for more information.

Cloud Datum Stream Mapping Property entity

The Cloud Datum Stream Mapping Property entity represents a mapping of a single cloud data value to a SolarNetwork datum stream property, or an expression that derives a value from other cloud data values.

See the Cloud Datum Stream Mapping Property API for more information.

Cloud Cloud Integration data values

To discover the possible valueReference values that can be configured on Cloud Datum Stream Mapping Property entities, SolarNetwork provides a Data Values API that models a tree-like hierarchy of cloud serice components you can query. Conceptually the tree can be visualized like this:

Cloud integrations data values hierarchy model diagram

The lowest leaf nodes within the tree provide a reference value that can be used as valueReference values. Below is an example diagram that shows how a cloud service's data value model could be represented by this structure. Each box represents a Data Value, with it's name and identifiers on the left side with its associated metadata on the right side:

Cloud integrations data values hierarchy example diagram

Cloud Datum Stream entity

The Cloud Datum Stream entity represents a mapping of cloud data values to a SolarNetwork datum stream. The serviceIdentifier property is configured with the identifier of a supported Cloud Datum Stream service. The supported services can be listed with the Datum Stream Services list endpoint.

Cloud Datum Stream Poll Task entity

The Cloud Datum Stream Poll Task entity represents the runtime state of a datum stream poll task, specific to a Cloud Datum Stream.

See the Cloud Datum Stream Poll Task API for more information.

User application events

The various Cloud Integration services generate application events. The following event tags are used:

Tag Description
c2c All events include this tag, representing the Cloud Integrations system
error If the event relates to an error, this tag is included
auth For authentication and authorization events
http For HTTP related events
expr For Expression related events

The following standard event data properties are used:

Property Description
configId A primary key for an entity related to the event
subId A secondary primary key for an entity related to the event
message An additional detail message
source A reference to the cause of the event, such as the location of an error
Clone this wiki locally