Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alisdairjsmyth/homebridge-ambiclimate-thermostat
Ambi Climate Thermostat accessory plugin for Homebridge
https://github.com/alisdairjsmyth/homebridge-ambiclimate-thermostat
ambi-climate-device homebridge thermostat
Last synced: 4 months ago
JSON representation
Ambi Climate Thermostat accessory plugin for Homebridge
- Host: GitHub
- URL: https://github.com/alisdairjsmyth/homebridge-ambiclimate-thermostat
- Owner: alisdairjsmyth
- License: mit
- Created: 2017-09-08T09:47:52.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2020-05-06T17:30:17.000Z (almost 5 years ago)
- Last Synced: 2024-10-09T13:39:53.660Z (4 months ago)
- Topics: ambi-climate-device, homebridge, thermostat
- Language: JavaScript
- Size: 23.4 KB
- Stars: 3
- Watchers: 7
- Forks: 2
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# homebridge-ambiclimate-thermostat
[![NPM Version](https://img.shields.io/npm/v/homebridge-ambiclimate-thermostat.svg)](https://www.npmjs.com/package/homebridge-ambiclimate-thermostat)
[![Dependency Status](https://img.shields.io/versioneye/d/nodejs/homebridge-ambiclimate-thermostat.svg)](https://www.versioneye.com/nodejs/homebridge--thermostat/)[Ambi Climate](https://www.ambiclimate.com/) plugin for [homebridge](https://www.npmjs.com/package/homebridge) supporting Thermostat capabilities. This plugin presently supports:
* Current heating cooling state
* Target heating cooling state
* Current temperature
* Target temperature
* Current relative humidity
* Current Fan state (Implementation of Fan Service)Each physical device appears within HomeKit Apps as two logical devices with the same name:
* Thermostat
* FanA Homekit Thermostat supports 4 states:
* OFF: is mapped to the Ambi Climate's Off mode;
* COOL: is mapped to the Away Temperature Lower mode i.e. keep the temperature below the set temperature;
* HEAT: is mapped to the Away Temperature Upper mode i.e. keep the temperature above the set temperature;
* AUTO: is mapped to the Comfort mode. In this mode the Homekit temperature setting has no influence.A separate plugin for Ambi Climate is available - [homebridge-ambiclimate](https://www.npmjs.com/package/homebridge-ambiclimate) exposes Ambi Climate devices as Temperature Sensor, Humidity Sensor, and Switch services within Homekit.
## Installation
npm install -g homebridge-ambiclimate-thermostat
This plugin augments a pre-existing implementation of [homebridge](https://www.npmjs.com/package/homebridge). Refer to [nfarina/homebridge](https://www.npmjs.com/package/homebridge) for installation instructions.
Register a OAuth Client in the Ambi Dev Portal for each Ambi Climate device by following the steps on the Quick Start page. You require the Client Id and Client Secret of that client in order to use this wrapper.
Update your homebridge configuration file (as below).
## Configuration
"accessories" : [
{
"accessory": "AmbiClimateThermostat",
"name": "",
"roomName": "",
"locationName": "",
"clientId": "",
"clientSecret": "",
"username": "",
"password": ""
}
]Separate homebridge accessories can be defined for each Ambi Climate device to be controlled.
* `accessory`: Must be "AmbiClimateThermostat"
* `name`: Can be anything, this will be the name of the Accessory within HomeKit Apps
* `room_name`: Must match the value within the Ambi Climate App
* `location_name`: Must match the value within the Ambi Climate App
* `clientId`: The Client Id value for the OAUTH Client obtained from Ambi Dev Portal
* `clientSecret`: The Client Secret value for the OAUTH Client obtained from Ambi Dev Portal
* `username`: Your Ambi Climate username
* `password`: Your Ambi Climate password## To Do
* Refactor to a Platform plugin. This is predicated on Ambi Labs exposing a capability in their public API to retrieve all devices installed in a given location.
* Implement Fan Service set capabilities. This is predicated on Ambi Labs exposing a capability in their public API to set fan state.