Giter Site home page Giter Site logo

fifty8 / homebridge-dyson-pure-cool Goto Github PK

View Code? Open in Web Editor NEW

This project forked from lukasroegner/homebridge-dyson-pure-cool

0.0 0.0 0.0 128 KB

Plugin for using the Dyson Pure Cool fans in homebridge.

License: MIT License

JavaScript 100.00%

homebridge-dyson-pure-cool's Introduction

homebridge-dyson-pure-cool

This project is a homebridge plugin for the Dyson air purifiers. Supported devices are:

  • 2018 Dyson Pure Cool Tower (TP04)
  • 2018 Dyson Pure Cool Desk (DP04)
  • 2018 Dyson Pure Hot+Cool (HP04)
  • Dyson Pure Cool Link Tower (TP02)
  • Dyson Pure Cool Link Desk (DP01)
  • Dyson Pure Hot+Cool Link (HP02)

The device information is downloaded from your Dyson account. You just have to provide the IP addresses of the devices in the local network.

All your devices are exposed as air purifiers in HomeKit, with support (also in Apple Home app) for:

  • On/off
  • Auto/manual
  • Fan speed
  • Oscillation on/off
  • Relative humidity
  • Current temperature (in Apple Home app only supported as separate sensor)
  • Air quality (incl. PM2.5, PM10, VOC and NO2 data for 2018 devices)

For heating devices, a thermostat is also exposes to HomeKit with support for:

  • On/Off
  • Target temperature

Optionally, the following switches are exposed:

  • Night mode (on/off)
  • Jet Focus (on/off for 2018 devices)

The plugin is optimized for usage of the Home app in iOS 13, e.g. the night mode and jet focus switches are combined in a separate settings accessory.

Installation

Option 1: Install the plugin via config-ui-x:

  • Search for Dyson on config-ui-x plugin screen
  • Click Install on homebridge Dyson Pure Cool plugin
  • Once installed you will be prompted to set the config
  • Restart homebridge service and plugin should be loaded with accessories

Option 2: Install the plugin via npm:

npm install homebridge-dyson-pure-cool -g

Configuration

{
    "platforms": [
        {
            "platform": "DysonPureCoolPlatform",
            "username": "<YOUR-EMAIL-ADDRESS>",
            "password": "<YOUR-PASSWORD>",
            "countryCode": "<COUNTRY-CODE>",
            "devices": [
                {
                    "ipAddress": "XXX.XXX.XXX.XXX",
                    "serialNumber": "XXX-EU-XXXXXXXX",
                    "credentials": null,
                    "enableAutoModeWhenActivating": false,
                    "isNightModeEnabled": false,
                    "isJetFocusEnabled": false,
                    "isTemperatureSensorEnabled": false,
                    "isHumiditySensorEnabled": false,
                    "isAirQualitySensorEnabled": false
                }
            ],
            "updateInterval": 60000,
            "retrySignInInterval": 0
        }
    ]
}

username: Your email address of the Dyson account you used to register the device with in the Dyson app.

password: Your password of the Dyson account you used to register the device with in the Dyson app.

countryCode: Two-letter ISO code of your country, e.g. US, DE, EN...

devices: Array of all your Dyson devices.

ipAddress: Local IP address of the device.

serialNumber: Serial number of the device.

credentials (optional): By default, the Dyson API is contacted to retrieve required information of the devices. However, you can also store credentials of each device in this property. If you do that for ALL of the devices, the Dyson API is no longer used, the connection can be directly established with the credentials. To retrieve the credentials, run the plugin without credentials. The credentials will then be printed out in the logs for each device.

enableAutoModeWhenActivating: If set to true, the Auto mode is enabled when you activate the device in the Home app. Defaults to false.

isNightModeEnabled: If set to true, a switch is exposed for the night mode. Defaults to false.

isJetFocusEnabled: If set to true, a switch is exposed for the jet focus. Only used for 2018 devices. Defaults to false.

isTemperatureSensorEnabled: If set to true, a separate temperature sensor is exposed. Only used for non-heating devices. If set to false, the temperature is added as characteristic to the air purifier (does not show up in the Apple Home app).

isHumiditySensorEnabled: If set to true, a separate humidity sensor is exposed. If set to false, the humidity is added as characteristic to the air purifier (supported in the Apple Home app).

isAirQualitySensorEnabled: If set to true, a separate air quality sensor is exposed. If set to false, the air quality is added as characteristic to the air purifier (supported in the Apple Home app).

updateInterval (optional): The interval (in milliseconds) at which updates of the sensors are requested from the Dyson devices. Defaults to 60 seconds.

retrySignInInterval (optional): The interval (in milliseconds) at which the plugin tries to communicate with the Dyson API at plugin startup. Set the value to 5000 (5 seconds) or more if you have internet connectivity issue. Defaults to 0, which means retry is disabled.

homebridge-dyson-pure-cool's People

Contributors

lukasroegner avatar luc-ass avatar

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.