Skip to main content

Collect from Sunspec Inverters and send the data to your cloud using Ardexa

Project description

# Purpose Sunspec Alliance ( is a trade alliance of more than 100 solar and storage distributed energy industry participants, together pursuing information standards to enable “plug & play” system interoperability. SunSpec standards address operational aspects of solar PV power and energy storage plants on the smart grid—including residential, commercial, and utility-scale systems—thus reducing cost, promoting technology innovation, and accelerating industry growth.

# How does it work This application is written in Python, to query Sunspec compatible devices connected via Ethernet or RS485. This application will query 1 or more connected devices at regular intervals. Data will be written to log files on disk in a directory specified by the user. Usage and command line parameters are as follows:

## Install On a raspberry Pi, or other Linux machines (arm, intel, mips or whetever), make sure Python is installed (which it should be). Then install the dependancies and this package as follows: ` git clone --recursive cd pysunspec sudo python install sudo pip install sunspec_ardexa `

## Usage To scan the whole (1-255) or part of the Sunspec address range and print out the device metadata, do the following Note that the port default is 502 if not specified, and baud default is 115200 if not specified. Here are is the usage and some examples: ` Usage: sunspec_ardexa discover IP_address/Device_Node Bus_Addresses Example 1: sunspec_ardexa discover 1-5 Example 2: sunspec_ardexa discover 1,3-5 --port=502 Example 3: sunspec_ardexa discover /dev/ttyUSB0 1,3,5 --baud 115200 Example 4: sunspec_ardexa discover /dev/ttyUSB0 1 `

To send production data to a file on disk ` Usage: sunspec_ardexa log IP_address/Device_Node Bus_Addresses Output_directory Example 1: sunspec_ardexa log 1-5 /opt/ardexa Example 2: sunspec_ardexa log 1,3-5 /opt/ardexa --port=502 Example 3: sunspec_ardexa log /dev/ttyUSB0 1,3,5 /opt/ardexa --baud 115200 Example 4: sunspec_ardexa log /dev/ttyUSB0 1 /opt/ardexa `

  • IP_address/Device_Node = ..something like: or /dev/ttyUSB0
  • Bus_Addresses = List of bus addresses using commas and hyphens, e.g. 1-4,6,10-20 (this is an RS485 address, NOT Ethernet).
  • Output_directory = logging directory; eg; /opt/ardexa. The data will be written to subdirectories, and the latest data is stored in a latest.csv. All data is kept for historical purposes.
  • To view debug output, increase the verbosity using the -v flag. Standard (no messages, except errors), -v (discovery messages) or -vv (all messages)

## Sunspec devices In this project, please take a look at the ‘docs’ directory. This is a document from Sunspec that details their specification (not subject to change). Ardexa currently collecs inverter and storage types. However the discover will show all devices. - Inverter types collected are Sunspec Models 101, 103 and 113. - Storage type collected are Sunspec Model 124. - Strings type collected are Sunspec Model 160. - String Combiner type collected are Sunspec Model 403.

## Inverter Types: - Delta Inverters use 19200 baud by default - Solaredge Inverters use 115200 baud by default

## Collecting to the Ardexa cloud Collecting to the Ardexa cloud is free for up to 3 Raspberry Pis (or equivalent). Ardexa provides free agents for ARM, Intel x86 and MIPS based processors. To collect the data to the Ardexa cloud do the following: - Create a RUN scenario to schedule the Ardexa Sunspec script to run at regular intervals (say every 300 seconds/5 minutes). - Then use a CAPTURE scenario to collect the csv (comma separated) data from the filename latest.csv in /opt/ardexa/…. - The Docs directory contains a sample of the mapping and Ardexa yaml file.

## Help Contact Ardexa at, and we’ll do our best efforts to help.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for sunspec-ardexa, version 1.3.10
Filename, size File type Python version Upload date Hashes
Filename, size sunspec_ardexa-1.3.10-py2.py3-none-any.whl (11.0 kB) File type Wheel Python version py2.py3 Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page