Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zyonse/homebridge-dreo
Apple HomeKit integration for Dreo Smart Devices
https://github.com/zyonse/homebridge-dreo
homebridge homekit
Last synced: 7 days ago
JSON representation
Apple HomeKit integration for Dreo Smart Devices
- Host: GitHub
- URL: https://github.com/zyonse/homebridge-dreo
- Owner: zyonse
- License: apache-2.0
- Created: 2023-04-16T22:59:09.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-12-04T16:33:03.000Z (about 2 months ago)
- Last Synced: 2025-01-13T14:16:22.940Z (14 days ago)
- Topics: homebridge, homekit
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/homebridge-dreo
- Size: 401 KB
- Stars: 42
- Watchers: 6
- Forks: 21
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Homebridge Dreo Plugin
[![verified-by-homebridge](https://badgen.net/badge/homebridge/verified/purple)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)
[![NPM Version](https://img.shields.io/npm/v/homebridge-dreo.svg)](https://www.npmjs.com/package/homebridge-dreo)
[![npm](https://img.shields.io/npm/dt/homebridge-dreo)](https://www.npmjs.com/package/homebridge-dreo)Homebridge plugin for Dreo brand smart devices. [Dreo Fans on Amazon](https://www.amazon.com/s?k=Dreo+Smart+Fan&linkCode=ll2&tag=zyonse-20&linkId=45e21dea18d40bc4d1d9244334dae1fe&language=en_US&ref_=as_li_ss_tl) (Affiliate link)
## Compatability
### Confirmed Working
#### Fans
* DR-HAF001S
* DR-HAF003S
* DR-HAF004S
* DR-HCF003S
* DR-HPF001S
* DR-HPF002S
* DR-HTF001S
* DR-HTF002S
* DR-HTF004S
* DR-HTF005S
* DR-HTF007S#### Heaters
* DR-HSH004S
* DR-HSH006S
* DR-HSH009S
* DR-HSH017SPlease open an issue if you have another model that works or doesn't work. If you have another device type and can help me test some code out I would definitely be open to adding support.
## Supported Features
### Fans
* **Fan Speed:** Fan speed is displayed as a percentage value with steps that are equivalent to those of the Dreo app. (for example, a fan with speeds 1-6 will have steps at 17%, 33%, 50% etc)
* **Oscillate:** Toggles fan oscillation
* **Temperature Sensor:** Displays current temperature sensor reading. (for supported devices, check your devices capabilities) Because the Dreo fan temperature sensors are not entirely accurate, you can also set a specific temperature offset for your devices.
* **Child Lock:** Lock physical fan controls### Heaters
#### Heaters are displayed as a thermostat accessory with the following control mappings
* **Heat Mode:** Controls Dreo 'Eco' mode
* **Cool Mode:** Controls Dreo 'Fan Only' mode
* **Auto Mode:** Controls Dreo 'Heat' speeds, represented as an offset from the minimum temperature (for example, a heater with speeds 1-3 and a minimum temp of 41F can be controlled by setting temperature to 41, 42, 43)
* **Current Temperature:** Displays current temperature sensor reading
* **Fan Speed:** Controls heater vent angle
* **Oscillate:** Toggles heater vent oscillation
* **Child Lock:** Lock physical heater controls
* **Hardware Display:** Changes temperature unit on physical hardware display## Installation
```bash
npm install -g homebridge-dreo
```(Or install through the Homebridge UI)
## Configuration
Provide your Dreo app login credentials
```json
"platforms": [
{
"options": {
"email": "[email protected]",
"password": "00000000"
},
"hideTemperatureSensor": false,
"temperatureOffset": 0,
"name": "Dreo Platform",
"platform": "DreoPlatform"
}
]
```## Contributing
If you'd like to add support for a new device type, you might find this writeup from [@JeffSteinbok](https://github.com/JeffSteinbok) (HomeAssistant plugin maintainer) useful for tracing the Dreo App:
https://github.com/JeffSteinbok/hass-dreo/blob/main/contributing.md
## Special thanks
[homebridge-tp-link-tapo](https://github.com/RaresAil/homebridge-tp-link-tapo): Similar repo that helped me figure out some of the http request functions necessary for this project.