Skip to content

This Node RED module can control dyson purifier (tested with dyson hot&cool pure link)

License

Notifications You must be signed in to change notification settings

pbrunier/node-red-contrib-dyson-purelink

Repository files navigation

In need of maintainer

Since I stopped using Node-RED for my main home automation needs, I can no longer maintain this project. Please let me know if you want to take over this project. In the mean time I will try to fix bugs when they pop up. No guarantees that I will.

Node RED dyson pure link

This Node RED module can control dyson purifier. (tested with dyson hot&cool pure link)

Node-RED is a tool for wiring together hardware devices, APIs and online services in new and interesting ways.

❓ Get Help

I'm always open for bug reports and feature requests, please open issues.

☁️ Installation

First of all install Node-RED

$ sudo npm install -g node-red
# Then open  the user data directory  `~/.node-red`  and install the package
$ cd ~/.node-red
$ npm install node-red-contrib-dyson-purelink

Or search for dyson-purelink in the manage palette menu

Then run

node-red

😋 How to contribute

Have an idea? Found a bug? See how to contribute.

git clone https://github.com/pbrunier/node-red-contrib-dyson-purelink.git
cd node-red-contrib-dyson-purelink
npm install
gulp
cd ~/.node-red 
npm install /path/to/node-red-contrib-dyson-purelink

📝 Documentation

Configuration:

  • E-Mail: dyson E-Mail
  • Password: dyson Password
  • Country: Country-Code (US,DE,AT,GB,...)

IMPORTANT: Deploy the node, before searching for devices.

node explanation:

INFO: IF you know the IP address of the device, it better to use this. Instead bonjour auto-discovery will be used. Sometimes this is magically not working correctly.

The action can be defined in the node properties or can be in the msg.payload.action.

Possible values are:

  • getTemperature
  • getAirQuality
  • getRelativeHumidity
  • getFanStatus
  • getFanSpeed
  • getTemperatureTarget
  • getJetFocus
  • getNightModeStatus
  • getRotationStatus
  • getAutoOnStatus
  • setRotation - rotation (true/false) {"action":"setRotation", "rotation": true}
  • setRotationAngle - min_angle (5-355 degrees), max_angle (5-355 degrees) {"action":"setRotationAngle", "min_angle": 90, "max_angle": 270}
  • setFanSpeed - speed in percent
    { "action": "setFanSpeed","speed": "100" }
  • setTemperatureTarget - Temperature target in degrees celcius (1-37 degrees) { "action": "setTemperatureTarget","temperatureTarget": "20" }
  • setJetFocusOn
  • setJetFocusOff
  • setNightModeOn
  • setNightModeOf
  • setHeatOn
  • setHeatOff
  • turnOn
  • turnOff
  • getDeviceInfo (for support)

For the following actions some additonal parameters are mandatory:

  • setRotation: msg.payload.rotation
  • setRotationAngle: msg.payload.min_angle, msg.payload.max_angle
  • setFanSpeed: msg.payload.speed
  • setTemperatureTarget: msg.payload.temperatureTarget

ExampleFlow:

example

Download and import to NodeRED - flow.json

📜 The MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.