homebridge-blueair

    0.5.5 • Public • Published

    npm GitHub last commit

    Like this? I don't care much for beer, but coffee is bitchin' Donate

    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.

    Screenshots

    Eve

    Overview Detail 1 Detail 2 Detail 3
    Overview Detail 1 Detail 2 Detail 3

    Home

    Overview Air Purifer On/Off Air Purifer Fan Speed Air Purifier Detail
    Overview Air Purifer On/Off Air Purifer Fan Speed Air Purifier Detail
    Air Quality Overview Air Quality Detail Temperature Overview Temperature Detail
    Air Quality Overview Air Quality Detail Temperature Overview Temperature Detail
    Humidity Overview Humidity Detail CO2 Overview CO2 Detail
    Humidity Overview Humidity Detail CO2 Overview CO2 Detail
    LED Overview LED Detail LED Brightness CO2 Automation
    LED Overview LED Detail LED Brightness CO2 Automation

    Configuration

    Installation

    npm install homebridge-blueair
    

    config.json

    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
    }
    

    Releases

    See CHANGELOG.md

    To-dos

    See open enhancement issues

    API research

    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.

    Postman collection and environment

    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: Postman Environment

    Thanks

    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.

    Install

    npm i homebridge-blueair

    DownloadsWeekly Downloads

    3

    Version

    0.5.5

    License

    ISC

    Unpacked Size

    56.7 kB

    Total Files

    6

    Last publish

    Collaborators

    • mylesgray