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)
Quick and easy standarization of calls
npm install enlighten-api
- 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.
- Quick set for the current session in a bash shell *(replace with your info)
export ENPHASE_API_KEY='3aaa01a221a6603a71853fc1cc2c3a5b'
export ENPHASE_APP_ID='140961117xxxx'
ENPHASE_API_KEY='3aaa01a221a6603a71853fc1cc2xxxx'
ENPHASE_APP_ID='140961117xxxx'
import Enlighten from 'enlighten-api'
Get a User ID using the authentication link and retrieval steps and then allocate an EnphaseAPI for use.
const api = new EnphaseAPI(userID);
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.
})
- Add your API key to .env
ENPHASE_API_KEY=
file - run
npm test
MIT