The capabilities are based on Miele API version 1.0.6. The official capability overview is here https://www.miele.com/developer/assets/API_V1.x.x_capabilities_by_device.pdf . Note that this matrix is not entirely correct. Some devices lack support and some devices support features that are not marked.
All supported appliances will show a status sensor, some appliances will show more sensors, however only freezers, refridgerators, coffee machines, dishwashers and washer/dryers will have a more complete support. Changes on the appliances will be pushed to HA and displayed immediately. As a backup the status is read from the cloud every 60 seconds.
Read more on design philosophy etc in the Wiki
Make sure you have the app credentials available for your account with Miele cloud. You have to register on https://www.miele.com/developer/. If you have an existing integration with the name "miele" you are recommended to remove it before attemping to install this one.
- Use HACS, search for Miele integration and download it.
- Restart Home Assistant
- Copy all files from custom_components/miele in this repo to your config custom_components/miele
- Restart Home Assistant
Goto Integrations
> Add Integration
and select Miele
. Sometimes you must refresh the browser cache to find the integration.
Follow instructions to authenticate with Miele cloud server. First, you'll provide the app credentials acquired at https://www.miele.com/developer/. Next, you'll sign in using your Miele account. Allow full access for the Home Assistant client.
Documentation (at least some...) can be found in the wiki
There are many ways to setup a development environment.
One option is to use the VS Code Dev Container. You need to have Docker installed.
-
For best performance, make sure to clone the repo in WSL2 if running on Windows.
$ git clone https://github.com/{your_user}/miele
-
Open the repository in VS Code.
$ code miele # or code-insiders miele
-
VS Code will ask to reopen the folder in a container
- If not, press
Ctrl
+Shift
+P
and selectDev Containers: Reopen in Dev Container
.
- If not, press
-
Wait for the container to be built.
-
Press
Ctrl
+Shift
+P
and selectTasks: Run Task
>Run Home Assistant on port 9123
. -
Wait for Home Assistant to start and go to http://localhost:9123/.
-
Walk through the Home Assistant first-launch UI.
-
Go to http://localhost:9123/config/integrations, click
Add Integration
and add theMiele
integration. -
To debug, press
F5
to attach to the Home Assistant running in the container. -
You can enable a persistent (survives rebuild of container) config directory for Home Assistant by uncommenting the mounts statement in devcontainer.json and rebuild the container.
Alternatively, you can run Home Assistant directly on your machine/WSL2. The following procedure works fine in the hands of the maintainer developing with VS Code on WSL2/Windows.
- Make sure you have at least python3.9 installed on your WSL.
- Create a fork on github
$ git clone https://github.com/{your_user}/miele
$ cd miele
$ make install_dev
Home Assistant has defined a code style. Run make lint
before pushing your changes to align with the peferred style.
There are many ways to test the integration, three examples are:
-
run Home Assistant in the development container as described above
-
copy all files in
custom_comonents/miele
tocustom_components/miele
in your HA configuration directory -
mount
custom_components/miele
into a HA development container
If you find bugs or other issues please download diagnostic information from the Miele integration card or from the device page and attach the file to your issue report. One recurring issue is the translation of Program name and phases. This is due to sparse, if any, documentation from Miele. One way to assist with the fact collection is to install a blueprint automation that will log states from the selected sensor with some additional information to the Home Assistant log. Create one automation for each sensor you want to monitor
The blueprint can be found here https://gist.github.com/astrandb/5ec47d6979b590639d23144142ae3100
The package and its author are not affiliated with Miele. Use at your own risk.
The package is released under the MIT license.