homebridge-ambiclimate-thermostat
v0.1.1
Published
Ambi Climate Thermostat accessory plugin for Homebridge
Downloads
4
Maintainers
Readme
homebridge-ambiclimate-thermostat
Ambi Climate plugin for 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
- Fan
A 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 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. Refer to nfarina/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": "<Name for Accessory>",
"roomName": "<Name of Ambi Climate Device>",
"locationName": "<Name of Ambi Climate Location>",
"clientId": "<Ambi Climate OAuth Client Id>",
"clientSecret": "<Ambi Climate OAuth Client Secret>",
"username": "<Ambi Climate Username>",
"password": "<Ambi Climate 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 Appsroom_name
: Must match the value within the Ambi Climate Applocation_name
: Must match the value within the Ambi Climate AppclientId
: The Client Id value for the OAUTH Client obtained from Ambi Dev PortalclientSecret
: The Client Secret value for the OAUTH Client obtained from Ambi Dev Portalusername
: Your Ambi Climate usernamepassword
: 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.