Giter Site home page Giter Site logo

node-evohome's Introduction

node-evohome

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. :-)

Installing

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"
	}
}	

API

.login(username, password, applicationId)

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);
	});

Session

Session.getLocations()

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.sessionId

Session ID, sent to all further requests performed under this session.

Session.userInfo

A UserInfo object containing details about the user.

Session.latestEulaAccepted

Boolean value, false if there is an updated Honeywell Evohome EULA.

UserInfo

UserInfo.userId

The user's unique ID.

UserInfo.username

The user's username.

UserInfo.firstname

The user's first name.

UserInfo.lastname

The user's last name.

UserInfo.streetAddress

The user's street address.

UserInfo.city

The user's city.

UserInfo.state

The user's state/region.

UserInfo.zipcode

The user's ZIP/Post code.

UserInfo.country

The user's country.

UserInfo.telephone

The user's telephone number.

### UserInfo.userLanguage The user's preferred language.

UserInfo.isActivated

Boolean value, true if the user's account is active.

UserInfo.deviceCount

The number of devices assigned to this user's account.

Location

Location.locationID

TBC.

Location.name

TBC.

Location.streetAddress

TBC.

Location.city

TBC.

Location.state

TBC.

Location.country

TBC.

Location.zipcode

TBC.

Location.type

TBC.

Location.devices

An array of Device objects.

Location.oneTouchButtons

TBC.

Location.daylightSavingTimeEnabled

TBC.

Location.timeZone

TBC.

Location.oneTouchActionsSuspended

TBC.

Location.evoTouchSystemsStatus

TBC.

Location.isLocationOwner

TBC.

Location.locationOwnerName

TBC.

Device

Device.deviceID

TBC.

Device.thermostatMoedelType

TBC.

Device.name

TBC.

Device.thermostat

A Thermostat object.

Thermostat

Thermostat.units

TBC.

Thermostat.indoorTemperature

TBC.

Thermostat.outdoorTemperature

TBC.

Thermostat.allowedModes

TBC.

Thermostat.deadband

TBC.

Thermostat.minHeatSetpoint

TBC.

Thermostat.maxHeatSetpoint

TBC.

Thermostat.minCoolSetpoint

TBC.

Thermostat.maxCoolSetpoint

TBC.

Thermostat.changeableValues

TBC.

node-evohome's People

Contributors

ixalon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

node-evohome's Issues

Set temperature

Hey Chris,

I am using your node-evohome in my homebridge-evohome. It is essentially a plugin for homebridge, making all sorts of devices compatible with Apple Homekit. It can up until now read temperatures but not set them. Is it possible to do this via your app?

Thanks a lot!

Example CLI tool

It's would be nice to have an example CLI tool which can be run straight after a clone to check out the functionality.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.