This plugin is not actively maintained, I no longer own a BlueAir and cannot fix issues - Repo is up for adoption.
Fraser has done a great job on a new dynamic, platform based plugin that was based on this foundation - please give his a try as an alternative! fjs21/homebridge-blueair
This is a homebridge plugin which lets you integrate your non-HomeKit BlueAir air purifier into HomeKit.
Currently supported are all Classic i-Series air purifiers, however, Classic series without sensors but do have wifi controls, should be supportable if I can be provided with API output by anyone!
This plugin exposes all BlueAir (Foobot) API characteristics and assigns them to native HomeKit Characteristics. The plugin will also mimic the Elgato Eve Room device such that, if using Eve.app on an iOS device, you will have historical logging and graphs of these metrics.
Currently all history state is stored on the local filesystem of the device running homebridge.
Overview | Detail 1 | Detail 2 | Detail 3 |
---|---|---|---|
Overview | Air Purifer On/Off | Air Purifer Fan Speed | Air Purifier Detail |
---|---|---|---|
Air Quality Overview | Air Quality Detail | Temperature Overview | Temperature Detail |
---|---|---|---|
Humidity Overview | Humidity Detail | CO2 Overview | CO2 Detail |
---|---|---|---|
LED Overview | LED Detail | LED Brightness | CO2 Automation |
---|---|---|---|
npm install homebridge-blueair
An explaination of the config is below, a config-example.json
is also provided along with the plugin for ease of use.
For instructions on how to retrieve your apikey see here.
/// i-Series
{
"accessory": "BlueAir",
"name": "BlueAir 680i",
"airPurifierIndex": "0", //optional if you have multiple air purifiers
"nameAirQuality": "Air Quality", //optional
"nameTemperature": "Temperature", //optional
"nameHumidity": "Humidity", //optional
"nameCO2": "Carbon Dioxide", //optional
"username": "BlueAir-Email",
"password": "BlueAir-Password",
"showTemperature": true, //show temp sensor
"showHumidity": true, //show humidity sensor
"showAirQuality": true, //show air quality sensor
"showCO2": true, //show CO2 sensor
"showLED": true, //register the air purifier's LED as a lightbulb service
"getHistoricalStats": true //enable historical logging in Eve.app
},
/// Classic Series or Sense
{
"accessory": "BlueAir",
"name": "BlueAir Sense",
"airPurifierIndex": "1", //optional, should match your actual device order
"purifierOnly": true, //must be true for Classic/Sense+ device
"username": "BlueAir-Email",
"password": "BlueAir-Password"
"showLED": true //register the air purifier's LED as a lightbulb service
},
/// Aware
{
"accessory": "BlueAir",
"name": "BlueAir Aware",
"airPurifierIndex": "2", //optional, should match your actual device order
"sensorOnly": true, //must be true for Aware device
"nameAirQuality": "Air Quality", //optional
"nameTemperature": "Temperature", //optional
"nameHumidity": "Humidity", //optional
"nameCO2": "Carbon Dioxide", //optional
"username": "BlueAir-Email",
"password": "BlueAir-Password",
"showTemperature": true, //show temp sensor
"showHumidity": true, //show humidity sensor
"showAirQuality": true, //show air quality sensor
"showCO2": true, //show CO2 sensor
"getHistoricalStats": true //enable historical logging in Eve.app
}
See CHANGELOG.md
There is no documented API for the BlueAir devices, through some API proxying with Charles I was able to find out they use the Foobot API backend for their intelligence and map all requests for get/set.
I coallated all requests that my device made into an easy-to-use Postman collection.
You need to create a Postman Environment with the following variables in it to use the collection:
This plugin is heavily based on (hacked together from) two other plugins, homebridge-efergy and homebridge-mi-air-purifier, without these plugins I could not have created the foundation on which this was built. Thanks to @luc-ass and @seikan for their work on these.
The fakegato-history plugin on which this is based was built by @simont77, without this, we wouldn't have pretty graphs to gawk at.