diff --git a/source/_integrations/miele.markdown b/source/_integrations/miele.markdown new file mode 100644 index 000000000000..3ba2617c42a3 --- /dev/null +++ b/source/_integrations/miele.markdown @@ -0,0 +1,155 @@ +--- +title: Miele +description: Instructions on how to set up the Miele integration within Home Assistant. +ha_category: + - Hub + - Sensor +ha_iot_class: Cloud Push +ha_release: '2025.5' +ha_domain: miele +ha_codeowners: + - '@astrandb' +ha_config_flow: true +ha_platforms: + - sensor +ha_integration_type: integration +--- + +The Miele {% term integrations %} allows users to integrate their home appliances using the [official 3rd party API](https://www.miele.com/developer). + +Miele is known as a manufacturer of premium appliances for cooking, laundry care, and floorcare. + +## Use cases + +- Monitor the multiple sensors of the appliance and trigger automations based on these sensors. +- Monitor the program status of the appliances. + +{% note %} +Note that the feature availability depends on the appliance model. +{% endnote %} + +## Supported devices + +You can find information about supported devices on the [Miele website](https://www.miele.com/developer/capabilities.html). + +## Prerequisites + +1. Visit [https://www.miele.com/developer](https://www.miele.com/f/com/en/register_api.aspx) and sign up for a developer account. +2. Enter an arbitrary name for your connection and the email of your login for the original Miele app. +3. On success, you will get an email with an activation link. Press the Activate button. Make note of the client ID and secret - you will need them for the next step. +4. In Home Assistant, find the Miele integration and launch it. You will be prompted to create an [Application Credential](https://www.home-assistant.io/integrations/application_credentials). You will need to provide a name (it's arbitrary) in addition to the Client ID and Secret from the previous step. Then, follow the steps in the UI to complete setup. + +{% important %} + +- The provided Miele User Account email address must be all lowercase; otherwise, it will result in authentication failures. +- The password should not contain any special characters. Even though it works in the Miele app, it may not work with the API. +- Allow a couple of minutes to get the activation email. All changes in the developer portal take a couple of minutes before the change is implemented. + +{% endimportant %} + +{% details "I have manually disabled My Home Assistant" %} + +If you don't have [My Home Assistant](/integrations/my) on your installation, +you can use `/auth/external/callback` as the redirect URI +instead. + +The `` must be the same as used during the configuration/ +authentication process. + +Internal examples: `http://192.168.0.2:8123/auth/external/callback`, `http://homeassistant.local:8123/auth/external/callback`. + +{% enddetails %} + +{% include integrations/config_flow.md %} + +The integration configuration will ask for the *Client ID* and *Client Secret* created above. See [Application Credentials](/integrations/application_credentials) for more details. + +## Supported functionality + +{% note %} + +- The entities' availability depends on the appliance type and the generation of the product, and the appliance might not support all the entities for its type. +- Products from professional and semi-professional series are generally not supported due to the limitations in the Miele 3rd party API. +- Some appliances don't report data while they are turned off, so corresponding entities will not appear in the Miele integration after loading until the appliances are turned on. +{% endnote %} + +### Sensor + +{% details "List of sensors" %} + +- **Operation state**: + - **Status**: Represents the current operation state of the device. The default entity name is just the appliance type. For example, "Dishwasher". + - **Temperature**: Represents the current temperature in refrigerators, freezers, and ovens. Entities are created for up to 3 zones depending on the device capabilities. +{% enddetails %} + +## Automation examples + +Get started with these automation examples + +### Send a notification when the appliance ends the program + +{% details "Example YAML configuration" %} + +{% raw %} + +```yaml +alias: "Notify when program ends" +triggers: + - trigger: state + entity_id: + - sensor.washing_machine + to: program_ended +actions: + - service: notify.notify + data: + message: "The appliance has finished the program." +``` + +{% endraw %} +{% enddetails %} + +## Data updates + +This integration uses server-sent events from the Miele API to receive live updates from the appliances. +When the configuration entry is loaded or after a streaming error (for example after disconnection), the integration will request all data (such as appliance info, available commands, programs, settings, and status) for all appliances. + +## Known limitations + +- The Miele 3rd party API does not fully match the Miele app. Some programs, options, or settings available in the app may not be accessible or usable via the API. +- This integration supports only one integration entry, as the Miele 3rd party API does not allow for the unique identification of an account. + +## Troubleshooting + +### Unavailable entities for a device + +#### Symptom: "The entities related to an appliance were available but no longer are" + +After reloading the Miele integration, the entities related to an appliance that used to be available are no longer available. + +##### Description + +Unavailable entities can have multiple causes: + +- The appliance is turned off. When it is turned off, the appliance is disconnected and the API does not retrieve information about the appliance. +- The appliance is experiencing a network issue. +- The Miele API is experiencing issues. + +##### Resolution + +To try to solve the above issues, follow these steps: + +1. Turn on the appliance and reload the Miele integration. +2. If the appliance is turned on and the issue persists, check the network connection of the appliance and perform a soft reset on the appliance. +3. If the issue persists, check the connection of the appliance with the Miele API by checking it in the Miele app. + 1. Open the Miele app. + 2. Go to the appliance that is experiencing the issue. + 3. Press the cog-wheel to view more information. +4. If everything is correct and the issue persists, contact Miele support. + - [Miele service and contact](https://www.miele.com/) + - [Miele developer Help & Support](https://www.miele.com/developer) + +## Removing the integration + +This integration follows standard integration removal. No extra steps are required. + +{% include integrations/remove_device_service.md %}