astrandb / miele

A modern integration for Miele devices in Home Assistant

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Miele hacs_badge Validate with hassfest Maintenance Miele_downloads Miele_downloads

Miele Integration for Home Assistant

The capabilities are based on Miele API version 1.0.7. 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

Installation

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.

Preferred download method

  • Use HACS, search for Miele integration and download it.
  • Restart Home Assistant

Manual download method

  • Copy all files from custom_components/miele in this repo to your config custom_components/miele
  • Restart Home Assistant

Setup

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.

Support - Wiki - Documentation

Documentation (at least some...) can be found in the wiki

Discussion forum

Discord chat

Development

There are many ways to setup a development environment.

Dev Container

The recommended option is to use the VS Code Dev Container. You need to have Docker installed.

  1. For best performance, clone the repo in a named volume.

  2. Open a new, empty window in VS Code.

  3. Press Ctrl+Shift+P and select Dev Containers: Clone Respository in Named Container Volume

  4. Fill in your repo and your chosen names at the prompts

  5. Wait for the container to be built

  6. Press Ctrl+Shift+P and select Tasks: Run Task > Run Home Assistant on port 9123.

  7. Wait for Home Assistant to start and go to http://localhost:9123/.

  8. Walk through the Home Assistant first-launch UI.

  9. Go to http://localhost:9123/config/integrations, click Add Integration and add the Miele integration.

  10. To debug, press F5 to attach to the Home Assistant running in the container.

  11. Your configuration.yaml will be persistent (survives rebuild of container).

Without a Dev 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.11 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 to custom_components/miele in your HA configuration directory

  • mount custom_components/miele into a HA development container

Translation

To handle submission of translations we are using Lokalise. They provide us with an amazing platform that is easy to use and maintain.

To help out with the translation of Miele integration you need an account on Lokalise, the easiest way to get one is to click here then select "Log in with GitHub".

When you have created the account, click here to join the project. If you want to add a new language, please open an issue.

The translations are pulled when a new release of the integration is prepared. So you must wait until there is a new release before you look for your updates.

If you want to add new elements that need translation you should enter them in /translations/en.json and submit a PR. The new keys will appear in Lokalise when the PR is merged.

Debugging and filing issues

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

Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.

Disclaimer

The package and its author are not affiliated with Miele. Use at your own risk.

License

The package is released under the MIT license.

Support and cooperation

This project is supported by

About

A modern integration for Miele devices in Home Assistant

License:MIT License


Languages

Language:Python 99.0%Language:Shell 0.8%Language:Makefile 0.2%