This Homebridge plugin adds a Dyson BP01 fan to HomeKit using a BroadLink RM.
There are currently plugins out there that can use a BroadLink RM to control many other devices; however, they break if you try to change more than one characteristic of an accessory at once. This plugin aims to fix this issue to bring a more native HomeKit experience to the IR-controlled Dyson BP01.
This plugin is designed to be used with the following devices:
- A BroadLink RM supported by this library
- Note: not all "supported" models are supported. My RM4 Mini works flawlessly, while my RM4 Pro does not.
- A Dyson BP01
- Set up your BroadLink RM with the BroadLink app.
- For standard setup, follow the full setup process within the app. Then, in device properties, disable
Lock device
. - For local network setup, follow the in-app setup, but stop at the "Add Devices" page. Do not continue the setup process, and close the app.
- For standard setup, follow the full setup process within the app. Then, in device properties, disable
- Place the device so that it has a direct line of sight to the fan's display.
Using the remote provided with the fan:
- Set the fan speed to 1.
- Turn off oscillation.
- Turn off the fan.
- Node.js 20.12.7 or higher
- Homebridge 1.8.0 or higher
You can build the project by doing the following:
- Clone or download this repository.
- Run
npm run build
in the folder of the repository.
There are multiple ways to install this plugin:
- Search for
homebridge-dyson-bp01
in the Homebridge UI and clickInstall
on this plugin. - Run
hb-service add homebridge-dyson-bp01
through the Homebridge terminal. - Run
npm install homebridge-dyson-bp01
through the Homebridge terminal. - Run
npm install path/to/project
through the Homebridge terminal if you built the project.
After any of these, restart Homebridge.
It is recommended that you use the Homebridge UI to configure this plugin. Otherwise, add the following under accessories
in the Homebridge config:
{
"accessory": "DysonBP01",
"name": "Dyson Pure Cool Me",
"serialNumber": "XXX-XX-XXXXXXXX",
"macAddress": "XX:XX:XX:XX:XX:XX",
"exposeSensors": false
}
accessory
is required. This must be set to "DysonBP01" for the plugin to work.name
is required. You will need to redo the Dyson BP01 hardware setup if you change this later.serialNumber
is optional. Set this to the serial number of your Dyson BP01 to include it in accessory information. If formatted incorrectly, this option will be ignored.macAddress
is optional, but recommended if you have multiple BroadLink RMs, so the plugin can use the right one. If formatted incorrectly, the plugin will not find any BroadLink RMs.exposeSensors
is optional. Set totrue
if your BroadLink RM has the sensor cable to expose the temperature and humidity sensors. Setting to any other value will be treated asfalse
. If you do not have the sensor cable, the sensors will show0
as their values.
Restart Homebridge after changing any of these settings for them to take effect.
- Make sure your BroadLink RM is allowed through your firewall.
- If your BroadLink RM randomly stops working or does not reconnect after power loss, try assigning it a static IP address.
- If not all signals are sending, check the position of your BroadLink RM and ensure it has a direct line of sight to the fan's display.
- If the fan ever de-syncs from the plugin, use the physical remote to change its state to re-sync it.
- If the previous two events happen often, try running the plugin in a child bridge.