Skip to main content

Dreo Smart Device Integration for Home Assistant (Community)

hacs_badge

CI Validation Release Automation PyPI

Dreo

Community 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.

hass-dreo vs. the Official Dreo Integration (hass-dreoverse)

Dreo also maintains an official Home Assistant integration. Here's the short version of how they differ:

hass-dreo (this project) hass-dreoverse (official)
Maintainer Community (@JeffSteinbok) Dreo engineering team
API Mobile app API Dreo Open API (pydreo-cloud)
State updates WebSocket (real-time push) Cloud polling (every 15 s)
Device types Fans, Heaters, ACs, Humidifiers, Dehumidifiers, Air Purifiers, Cookers, Evaporative Coolers Fans, Heaters, ACs, Humidifiers, Dehumidifiers, Air Purifiers, Evaporative Coolers
Only in this integration ChefMaker (cooker) support —
Sensors & diagnostics PM2.5, filter life, work time, water level, PTC status, target-reached indicators (~11 sensor types) Temperature and humidity sensors only
Switches & controls 14 toggle types (oscillation, child lock, display, misting, schedule, …) 5 toggle types (LED, light sensor, mute, child lock, heater fan-on-temp)
RGB lighting Basic RGB color support Full RGB with effects (Breath, Circle), animation speed selector, brightness
Oscillation angles Angle range numbers for horizontal & vertical More granular angle controls (pair/single/both modes, 4-boundary ranges)
Timers & schedules Timer and auto-schedule switches Not available
Support model Community-maintained; fast iteration on new models Officially maintained by Dreo; working toward HA core acceptance

tl;dr — Both integrations now cover most Dreo device types. This project exposes more sensors, diagnostics, and controls per device and uses real-time WebSocket updates. The official integration has richer RGB lighting support and is backed by Dreo's engineering team. Choose whichever fits your priorities.

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.

Interested in Contributing?

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.

Testing Unreleased Fixes

Want to help test a bug fix before it's officially released? See Testing Unreleased Fixes for instructions on installing from branches or pull requests.

Table of Contents

Compatibility

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.

Supported Entity Types

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
  • Binary sensor - Status flags (e.g. water empty; diagnostic settle-pending for some air circulators)

Air circulator pan/tilt (fixedconf) notes

Some air circulators (notably DR-HPF017S) rate-limit successive pan/tilt (fixedconf) commands so rapid horizontal/vertical updates do not stack while the head is moving. See SUPPORTED_MODELS.md for the model-specific settle delay.

Diagnostic entities (disabled by default; enable under the device’s entity list):

Entity Purpose
Angle settle pending On while a second angle command is queued; attributes show reported, commanded, pending_target, and settle timing
Angle settle delay Runtime-tunable settle seconds for self-tuning (session-only until reload)

If logs show a rejected angle command, recalibrate pan/tilt in the Dreo app (device settings / calibration), then reload this integration if Home Assistant stays out of sync.

Installation

Dreo is now part of the default HACS store. If you're not interested in development branches this is the easiest way to install.

Installing Dreo Smart Device Integration

  1. Open HACS
  2. Click Integrations
  3. Search Dreo
  4. Click the Dreo Smart Device Integration and install

Manually

Copy the dreo directory into your /config/custom_components directory, then restart your HomeAssistant Core.

Initial Configuration

  1. In HA, open Settings
  2. Click Devices & services
  3. Click Add integration (blue button at the bottom right of the screen)
  4. Search Dreo and select it
  5. Enter your Dreo username & password (same login you use on the Dreo app)
  6. If your Dreo account is registered in Europe, pick Europe from the Region dropdown. Most users can leave this on Auto-detect.

Once the Dreo app has been installed,

Options

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.

Device Management

Adding Devices

Use the manufacturer's app to set up a new device.

Removing Devices

You can remove individual Dreo devices from Home Assistant through the UI:

  1. Navigate to Settings → Devices & Services
  2. Click on the Dreo integration
  3. Click on the device you want to remove
  4. Click the three-dot menu (⋮) in the top right
  5. Select Delete
  6. 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.

Debugging

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_components.dreo: debug

Now restart HomeAssistant. Perform the actions needed to generate some debugging info.

Download the full logs

Note that these may contain sensitive information, so do always check before sending them to someone.

  1. In HA, open Settings
  2. Click System
  3. Click Logs
  4. Click Download full log
Download diagnostics (.json file)
  1. In HA, open Settings
  2. Click Device & services
  3. Click Dreo
  4. Click on the three-dot hamburger menu (next to Configure) and click Download diagnostics.

Enable WebSocket debugging

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

Adding Support for New Devices

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.

Debug Logs for New Devices

  1. Enable debugging
  2. 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.
  3. Go look at the logs, you should see something like the below. Create an issue and include the lines related to pydreo, the diagnostics json file, 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}}

Metadata

Release files for pydreo-community 1.11.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pydreo-community 1.11.9
File Size Uploaded Provenance
pydreo_community-1.11.9.tar.gz 86.3 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for pydreo-community 1.11.9
File Interpreter ABI Platform
pydreo_community-1.11.9-py3-none-any.whl Python 3 none any Details

Total release size: 180.7 kB

Release files / pydreo_community-1.11.9.tar.gz

Download URL pydreo_community-1.11.9.tar.gz
Size 86.3 kB
Tags Source
SHA-256 checksum
How to use checksums
79afecb29c6da7b2afd4dcb59c8c8277dfb2bd2a70eac029d1792fd71f62594a
BLAKE2b-256 checksum
How to use checksums
3ca834b89138ba51d9294f1a22f1f9b2f1552bdf9f18a3ae7862386265c64805
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.

Transparency log

Release files / pydreo_community-1.11.9-py3-none-any.whl

Download URL pydreo_community-1.11.9-py3-none-any.whl
Size 94.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c68054c3e3d6ce4b5796815db8277ba8ba26783d653698ff58185eb4eebaf769
BLAKE2b-256 checksum
How to use checksums
48cfd3dd6a35dee89442acac764a37633497ba62cd93ba8ff89501b49396a41d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.

Transparency log

Security for pydreo-community 1.11.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for pydreo_community-1.11.9.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.11.9 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page