PostLogical / ooler

This is a custom component to allow control of Ooler Sleep System devices in Home Assistant using bluetooth.
MIT License
24 stars 4 forks source link
home-assistant homeassistant

Ooler

GitHub Release GitHub Activity License

pre-commit Black

hacs Project Maintenance BuyMeCoffee

Discord Community Forum

This custom Home Assistant component will control your Ooler Sleep System over a bluetooth connection. It is fully compatible with ESP Bluetooth Proxies so if your server is not in range of your Ooler, you can set up an ESP-32 in your bedroom to easily connect. At this time it supports turning the Ooler on and off, setting the fan mode, setting the target temperature, starting or stopping cleaning mode, and reading the current status of all of those functions. It also attempts to display the watts currently being used by the device and the current water level; however, both of these seem to be wrong, so further study will be needed to ascertain if those numbers can be gathered. Other functions are not currently implemented, but they would not be hard to develop so feel free to reach out with a request or submit a PR. For some reason the switch entities appear separate from the others at first, but after a while (maybe a reboot), they automatically appear together.

This component will set up the following platforms.

Platform Description
climate Show current Ooler settings and control power, fan speed, and temperature.
sensor Show current info on watts used and water level.
switch Switch cleaning mode or bluetooth connection on or off.

oolerlogo

Installation

HACS (Once available)

  1. Find the integration as Ooler
  2. Click install.
  3. Restart Home Assistant.

Manual

  1. Using the tool of choice open the directory (folder) for your HA configuration (where you find configuration.yaml).
  2. If you do not have a custom_components directory (folder) there, you need to create it.
  3. In the custom_components directory (folder) create a new folder called ooler.
  4. Download all the files from the custom_components/ooler/ directory (folder) in this repository.
  5. Place the files you downloaded in the new directory (folder) you created.
  6. Restart Home Assistant
  7. In the HA UI go to "Configuration" -> "Integrations" click "+" and search for "Ooler"

Using your HA configuration directory (folder) as a starting point you should now also have this:

custom_components/ooler/translations/en.json
custom_components/ooler/__init__.py
custom_components/ooler/climate.py
custom_components/ooler/config_flow.py
custom_components/ooler/const.py
custom_components/ooler/manifest.json
custom_components/ooler/models.py
custom_components/ooler/sensor.py
custom_components/ooler/services.yaml
custom_components/ooler/strings.json
custom_components/ooler/switch.py

Configuration is done in the UI

  1. In the HA UI go to "Settings" -> "Devices & Services" -> "Integrations".
  2. If your Ooler is not currently being accessed by an Ooler app and does not have bluetooth turned off entirely, your Ooler should appear in the discovered integrations. However, you can always click the + sign and search for "Ooler" to try to add the integration.
  3. If you cannot see any Oolers available, hold the power button on your device for a little over 5 seconds to put it into discoverable mode (you would have to do this during setup anyway and it lasts for 60 seconds each time).
  4. Follow the directions to finish pairing and enjoy!

Contributions are welcome!

If you want to contribute to this please read the Contribution guidelines

Credits

The code for this integration was primarily based on the official EufyLife integration and then adjusted using other components like Snooz and Philips Hue as guides.

This readme and some supporting HACS elements were generated from @oncleben31's Home Assistant Custom Component Cookiecutter template.