Unofficial HomeAssistant integration for Dreo brand smart devices. Currently supports most models of Fans, Air Conditioners, Humidifiers, Dehumidifiers and Space Heaters as well as ChefMaker. I do not work for Dreo; just something I'm doing for fun.
You can purchase these devices from Amazon: Dreo Fans on Amazon
This integration is based on the engineering that Gavin Zyonse did for the HomeBridge integration here: https://github.com/zyonse/homebridge-dreo.
This documentation is intended to be accurate for the branch/tag it's in. If you are installing a specific version (including latest) of the integration, please change current viewing tag in GitHub to see the matching documentation.
The maintainers and I only have a small subset of the devices that this integration supports and we depend on users who open issues to confirm things work. I will keep a release in Beta until I get confirmation from folks that things work, then I'll promote.
I'm always happy to have people add features via Pull Request. More info on how to capture network traces and what not can be found on: Contributing.
This integration supports the following device types:
| Device Type | Model Prefix(es) |
|---|---|
| Tower Fans | DR-HTF |
| Air Circulators | DR-HAF, DR-HPF |
| Ceiling Fans | DR-HCF |
| Air Purifiers | DR-HAP |
| Space Heaters | DR-HSH, WH* |
| Air Conditioners | DR-HAC |
| Humidifiers | DR-HHM |
| Dehumidifiers | DR-HDH |
| Cookers (ChefMaker) | DR-KCM |
| Evaporative Coolers | DR-HEC |
View complete list of tested models →
Space Heater Documentation → - Learn about heater-specific features, thermostat controls, and the 24-hour remote control timeout.
Depending on your device model and capabilities, the integration creates the following Home Assistant entities:
- Fan - Primary fan control (speed, oscillation, preset modes)
- Climate - For heaters and air conditioners (temperature control, modes)
- Humidifier - For humidifiers and dehumidifiers
- Light - Display lights and main lights (on/off, brightness, color temperature when supported)
- RGB Light - Atmosphere/ambient lights for ceiling fans (RGB color control)
- Switch - Individual device features (child lock, oscillation, mute, etc.)
- Sensor - Temperature, humidity, and other sensor readings
- Number - Adjustable numeric settings
Dreo is now part of the default HACS store. If you're not interested in development branches this is the easiest way to install.
- Open
HACS - Click
Integrations - Search
Dreo - Click the
Dreo Smart Device Integrationand install
Copy the dreo directory into your /config/custom_components directory, then restart your HomeAssistant Core.
- In HA, open
Settings - Click
Devices & services - Click
Add integration(blue button at the bottom right of the screen) - Search
Dreoand select it - Enter your
Dreousername & password (same login you use on the Dreo app)
Once the Dreo app has been installed,
This plugin supports configuration from the HomeAssistant UX. The following options are available.
| Option | Description | Default |
|---|---|---|
| Auto-Reconnect WebSocket | Should the integration try to reconnect if the websocket connection fails. This should not need to be unchecked, but there have been occasional reports of crashes and we think this may be the cause. | True |
Note that at present you need to restart HA when you change an option for it to take effect.
You can remove individual Dreo devices from Home Assistant through the UI:
- Navigate to Settings → Devices & Services
- Click on the Dreo integration
- Click on the device you want to remove
- Click the three-dot menu (⋮) in the top right
- Select Delete
- Confirm the deletion
The device will be removed from Home Assistant but will remain in your Dreo account. If you reload the integration or restart Home Assistant, the device will be re-discovered and added back automatically.
Important
This has changed in v1.6.3 to use HA/Python standard loggers. Please review the below.
Use the Diagnostics feature in HomeAssistant to get diagnostics from the integration. Sensitive info should be redacted automatically.
In your configuration.yaml file, add this:
logger:
logs:
custom_compoments.dreo: debug
Now restart HomeAssistant. Perform the actions needed to generate some debugging info.
Note that these may contain sensitive information, so do always check before sending them to someone.
- In HA, open
Settings - Click
System - Click
Logs - Click
Download full log
- In HA, open
Settings - Click
Device & services - Click
Dreo - Click on the three-dot hamburger menu (next to
Configure) and clickDownload diagnostics.
In some cases, you may need to enable WebSocket debugging. You can do that by adding the following to your configuration.yaml file.
logger:
logs:
homeassistant.components.websocket_api: debug
Don't see your model listed above? Create an issue and I'll add it.
Please make sure to include:
- Model number (in the format shown in Supported Models)
- Device type (fan, heater, humidifier, etc.)
- For fans: Number of speeds supported (not including "off")
- Does the device support oscillating?
- What preset modes are supported?
- Any special features (temperature display, timer, etc.)
Depending on answers, I may reach out and need you to pull some debug logs.
- Enable debugging
- Go to the Dreo app on your mobile device and perform the various commands you want to be able to use in HA. Dreo servers will send updates to the WebSocket that the integration is listening on.
- Go look at the logs, you should see something like the below. Create an issue and include the lines related to
pydreo, the diagnosticsjsonfile, and if possible, what actions you performed in the app.
2023-06-29 01:02:25,312 - pydreo - DEBUG - Received message for unknown or unsupported device. SN: XXX341964289-77f2977b24191a4a:001:0000000000b
2023-06-29 01:02:25,312 - pydreo - DEBUG - Message: {'method': 'control-report', 'devicesn': 'XXX0393341964289-77f2977b24191a4a:001:0000000000b', 'messageid': 'bdf23a1f-c8e1-4e22-8ad3-dc0cd5dfdc7c', 'timestamp': 1688025746, 'reported': {'windtype': 1}}