A node.js client library for Honeywell Evohome. A work in progress. Pull-requests welcome!
Note: This is an unofficial library and is not supported by Honeywell in any way.
Use at your own risk. :-)
Install via npm:
npm install --save evohome
Or, add the following to your package.json dependencies:
{
"dependencies": {
"evohome": "https://github.com/ixalon/node-evohome.git#v0.0.2"
}
}
Login to Evohome remotely and return a promise which is resolved to a Session on login.
var evohome = require('evohome');
evohome.login('username', 'password', 'application-id-hex').then(function(session) {
// Use session to access state
}).fail(function(err) {
console.error('Failed to login:', err);
});
Returns a promise which is resolved to an array of Location
objects.
session.getLocations().then(function(locations) {
console.log('You have', locations.length, 'locations');
}).fail(function(err) {
console.error('Failed to get locations:', err);
});
Session ID, sent to all further requests performed under this session.
A UserInfo
object containing details about the user.
Boolean
value, false
if there is an updated Honeywell Evohome EULA.
The user's unique ID.
The user's username.
The user's first name.
The user's last name.
The user's street address.
The user's city.
The user's state/region.
The user's ZIP/Post code.
The user's country.
The user's telephone number.
### UserInfo.userLanguage The user's preferred language.
Boolean
value, true if the user's account is active.
The number of devices assigned to this user's account.
TBC.
TBC.
TBC.
TBC.
TBC.
TBC.
TBC.
TBC.
An array of Device
objects.
TBC.
TBC.
TBC.
TBC.
TBC.
TBC.
TBC.
TBC.
TBC.
TBC.
A Thermostat
object.
TBC.
TBC.
TBC.
TBC.
TBC.
TBC.
TBC.
TBC.
TBC.
TBC.