1.2.2 • Published 5 years ago

enlighten-api v1.2.2

Weekly downloads
3
License
MIT
Repository
github
Last release
5 years ago

NodeJS Enphase Enlighten Systems API

npm installable API for making calls to the Enlighten Enphase API, includes handling for API rate limiting, caching previously retrieved data for faster access, and some convienience methods (like total power calculation)

Motivation

Quick and easy standarization of calls

Installation

  1. npm install enlighten-api
  2. Set your Enphase API key and Application Id environment variables. You can find these by logging into your Enphase developer account and selecting your application. The App id is the last part of the Authorization URL.
  3. Quick set for the current session in a bash shell *(replace with your info)

Command line

export ENPHASE_API_KEY='3aaa01a221a6603a71853fc1cc2c3a5b'
export ENPHASE_APP_ID='140961117xxxx'

.env file

ENPHASE_API_KEY='3aaa01a221a6603a71853fc1cc2xxxx'
ENPHASE_APP_ID='140961117xxxx'

Using

Import

import Enlighten from 'enlighten-api'

Create API

Get a User ID using the authentication link and retrieval steps and then allocate an EnphaseAPI for use.

const api = new EnphaseAPI(userID);

Retrieve a system

Most calls (like stats) require you to specify a system. This is done by first retrieving all systems, and using that object to make system calls. Server list is cached, and will only go out once per alloc, so don't worry about making multiple calls. Servers returns a Map of [server => EnlightenSystem]

api.getServers()
.then(servers => {
  return servers.get(28381);
}
.then(server => {
  return server.getStats(1564755300,1564775400);
})
.then(stats => {
  // Do something with those juicy Stats.
})

Testing

  1. Add your API key to .env ENPHASE_API_KEY= file
  2. run npm test

License

MIT

1.2.2

5 years ago

1.2.1

5 years ago

1.2.0

5 years ago

1.1.0

5 years ago

1.0.1

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago