-
Notifications
You must be signed in to change notification settings - Fork 2
DNP3
SolarNetwork provides a fully-managed Distributed Network Protocol 3 (DNP3) Remote Substation (often referred to as an Outstation) server service that DNP3 compliant Control Center (often referred to as Master) applications can integrate with. The Outstation data points are configured as node datum stream properties, and control points are configured as node controls. A single Outstation server can thus expose data and control points across any node associated with your SolarNetwork account.
Within SolarNetwork, the DNP3 Outstation system works like this:
- SolarNode devices are deployed and configured to collect data from any supported device, posting the data to SolarNetwork as datum streams. They are also configured with controls that can manage dynamic state on supported devices by way of SolarNetwork Instructions; the control states are posted to SolarNetwork as datum streams.
- Any number of X.509 client certificate trusted issuer certificates are uploaded to your SolarNetwork account. Only client certificates issued by a trusted issuer will be allowed to authenticate to SolarNetwork's DNP3 service.
- Any number of DNP3 Server configurations are created in your SolarNetwork account. Each server is configured with its own authorization rules, data points, and control points.
- Any number of X.509 client identifier configurations, or distinguished names (DNs), are added to a DNP3 Server. This list defines the users that are allowed to connect to the server: only certificates with a configured DN and issued by a configured trusted issuer will be authorized.
- Any number of Measurement Data Point configurations are added to a DNP3 Server. A Measurement Data Point defines a mapping between a DNP3 read-only data point and a SolarNetwork datum stream property.
- Any number of Control Data Point configurations are added to a DNP3 Server. A Control data point defines a mapping between a DNP3 writable data point and a SolarNetwork control property.
- A DNP3 client connects to the SolarNetwork DNP3 service, using TLS with a client certificate. The client certificate identifies the DNP3 Server it is associated with, and as long as the certificate is valid the connection will succeed and the client will be able to use the DNP3 protocol to to access the configured Measurement and Control data points.
To connect to SolarNetwork using DNP3, the following settings must be used:
Setting | Value | Description |
---|---|---|
Host | dnp3.solarnetwork.net | The host name to connect to. |
Transport | TCP with TLS | TLS is required. |
Port | 20000 | |
Authentication | TLS X.509 mutual authentication | Client certificate authentication is required, and authorized certificates are configured in SolarNetwork. |
Within SolarNetwork, the following entities are managed via the SolarUser DNP3 API:
Any number of X.509 certificates can be added to your account, each representing a trusted issuer authority for authorized client certificates.
See the Trusted Issuer Certificate import API for details.
The Server entity defines a unique DNP3 Outstation instance in SolarNetwork.
See the Server create API for details.
The Server Authorization entity defines an X.509 client certificate that is authorized to connect to a given DNP3 Server.
See the Server Authorization save API for details.
The Server Measurement entity defines a single DNP3 read-only data point.
See the Server Measurement save API for details.
The Server Control entity defines a single DNP3 writable data point.
See the Server Control save API for details.
The Measurement and Control entities configured for a Server can be defined using a simple comma separated values (CSV) formatted file. The Server CSV import API accepts the CSV and configures the Server's Measurement and Control entities accordingly. The Server CSV export API allows you to download a Server's configuration as CSV. The Server CSV Example API allows you to download a CSV or XLSX example to start with.
You can also see our example Google Sheet to use as a starting point.
- SolarNetwork API access
- SolarNetwork API authentication
- SolarNetwork global objects
- SolarNetwork aggregation
- SolarFlux API
- SolarIn API
- SolarQuery API
-
SolarUser API
- SolarUser enumerated types
- SolarUser datum expire API
- SolarUser datum export API
- SolarUser datum import API
- SolarUser event hook API
- SolarUser location request API
- SolarUser Cloud Integrations API
- SolarUser DIN API
- SolarUser DNP3 API
- SolarUser ININ API
- SolarUser OCPP API
- SolarUser OSCP API
- SolarUser SolarFlux API