A .Net Enphase Envoy client available as a NuGet package.
Currently a work in progress. The list of currently implemented (and not yet implemented) items can be found here.
// Create client and login (assumes "envoy" hostname)
var ci = new EnvoyConnectionInfo
{
Username = "[email protected]",
Password = "sup3rs3cet",
};
var client = await EnvoyClient.FromLoginAsync(ci).ConfigureAwait(false);
// Get information from Envoy
var deviceinfo = await client.GetEnvoyInfoAsync();
A login is slow; once a session has been set up (logged in successfully) you can obtain the token and save it for later use:
var token = client.GetToken();
// Save the token to a file/database/whatever
You can then create client from the token:
var client = EnvoyClient.FromToken(token, ci);
You can specify a different hostname or IP address for your Envoy:
var ci = new ConnectionInfo("[email protected]", "sup3rs3cet", "envoy.local");
// or:
var ci = new ConnectionInfo("[email protected]", "sup3rs3cet", "192.168.123.45");
Similarly, the base URI's for the enphase portal can be overridden:
var ci = new ConnectionInfo("[email protected]", "sup3rs3cet", EnphaseBaseUri: "https://enlighten-new.enphaseenergy.com");
// or:
var ci = new ConnectionInfo("[email protected]", "sup3rs3cet", EnphaseEntrezBaseUri: "https://entrez-new.enphaseenergy.com");
Yes please! Implement any of the methods and make a PR and we'll take it from there.
Licensed under MIT license. See LICENSE for details.
Icon made by Payungkead from www.flaticon.com is licensed by CC 3.0.