https://github.com/robthree/nenvoy
.Net Enphase Envoy client library
https://github.com/robthree/nenvoy
api-client enphase enphase-api envoy envoy-api
Last synced: about 2 months ago
JSON representation
.Net Enphase Envoy client library
- Host: GitHub
- URL: https://github.com/robthree/nenvoy
- Owner: RobThree
- License: mit
- Created: 2023-05-16T16:50:40.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2024-03-07T15:38:22.000Z (over 1 year ago)
- Last Synced: 2025-03-29T07:22:06.229Z (3 months ago)
- Topics: api-client, enphase, enphase-api, envoy, envoy-api
- Language: C#
- Homepage:
- Size: 311 KB
- Stars: 9
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
#  NEnvoy
 [](https://www.nuget.org/packages/NEnvoy/)
A .Net Enphase Envoy client available as a [NuGet package](https://www.nuget.org/packages/NEnvoy).
Currently a work in progress. The list of currently implemented (and not yet implemented) items can be found [here](TODO.md).
## Quickstart
```c#
// 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();
```### Sessions
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:
```c#
var token = client.GetToken();
// Save the token to a file/database/whatever
```You can then create client from the token:
```c#
var client = EnvoyClient.FromToken(token, ci);
```### Connection
You can specify a different hostname or IP address for your Envoy:
```c#
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:
```c#
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");
```## Contributing
Yes please! Implement any of the methods and make a PR and we'll take it from there.
## License
Licensed under MIT license. See [LICENSE](LICENSE) for details.
---
Icon made by [Payungkead](https://www.flaticon.com/authors/payungkead) from [www.flaticon.com](http://www.flaticon.com/) is licensed by [CC 3.0](http://creativecommons.org/licenses/by/3.0/).