Skip to content

Add set_program service action to miele #38670

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: next
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 32 additions & 17 deletions source/_integrations/miele.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
title: Miele
description: Instructions on how to set up the Miele integration within Home Assistant.
ha_category:
- Binary sensor
- Button
- Climate
- Binary sensor
- Hub
- Light
- Sensor
Expand All @@ -16,9 +16,9 @@ ha_codeowners:
- '@astrandb'
ha_config_flow: true
ha_platforms:
- binary_sensor
- button
- climate
- binary_sensor
- diagnostics
- light
- sensor
Expand Down Expand Up @@ -89,6 +89,19 @@ The integration configuration may ask for the *Client ID* and *Client Secret* cr
- 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 %}

### Binary sensor

{% details "List of binary sensors" %}

- **Operation state**:
- **Door**: Shows if the door on the appliance is open or closed.
- **Full remote control**: Shows the state of Full remote control feature on appliances that supports it.
- **Mobile start**: Shows the state of Mobile start feature on appliances that supports it.
- **Notification active**: Shows if there is a notification message active on the appliance. The API does not supply any information on the details of the notifications.
- **Problem**: Shows if there is an error message active on the appliance. The API does not supply any information on the details of the error.
- **Smart grid**: Shows the state of Smart grid feature on appliances that supports it.
{% enddetails %}

### Button

{% details "List of button entities" %}
Expand All @@ -115,18 +128,15 @@ Climate entities are used to control target temperatures in refrigerators, freez

- **Light**: The light can be turned on and off in many models of ovens, cooker hoods, and wine cabinets.
- **Ambient light**: Some models of cooker hoods have ambient light that can be turned on and off.
{% enddetails %}

### Binary sensor
### Switch

{% details "List of binary sensors" %}
{% details "List of switch entities" %}

- **Operation state**:
- **Door**: Shows if the door on the appliance is open or closed.
- **Full remote control**: Shows the state of Full remote control feature on appliances that supports it.
- **Mobile start**: Shows the state of Mobile start feature on appliances that supports it.
- **Notification active**: Shows if there is a notification message active on the appliance. The API does not supply any information on the details of the notifications.
- **Problem**: Shows if there is an error message active on the appliance. The API does not supply any information on the details of the error.
- **Smart grid**: Shows the state of Smart grid feature on appliances that supports it.
- **Power**: The Power switch has slightly different characteristics depending on the appliance model. For some devices, it works more or less as a traditional power switch, while it behaves like a wake-up/sleep toggle on others. The availability of the switch is controlled by the API, depending on the operational state of the appliance.
- **Supercooling**: The switch controls Supercooling mode for refrigerators.
- **Superfreezing**: The switch controls Superfreezing mode for freezers.
{% enddetails %}

### Sensor
Expand All @@ -138,14 +148,19 @@ Climate entities are used to control target temperatures in refrigerators, freez
- **Temperature**: Represents the current temperature in refrigerators, freezers, and ovens. Entities are created for up to 3 zones depending on the device capabilities.
{% enddetails %}

### Switch
## Actions

{% details "List of switch entities" %}
### Action `miele.set_program`

- **Power**: The Power switch has slightly different characteristics depending on the appliance model. For some devices, it works more or less as a traditional power switch, while it behaves like a wake-up/sleep toggle on others. The availability of the switch is controlled by the API, depending on the operational state of the appliance.
- **Supercooling**: The switch controls Supercooling mode for refrigerators.
- **Superfreezing**: The switch controls Superfreezing mode for freezers.
{% enddetails %}
Set and start a program for applicable appliances. Note that the device must be in a state where it will accept a new program, for example, most washing machines must be in state `On`. An error message is displayed if the device did not accept the action command.
The service action can be set up by UI in Automations editor or Developer tools.

| Data attribute | Optional | Description |
| -------------- | -------- | ----------------------------------------------------------------------------------------------------------------- |
| `device_id` | no | Select device in GUI mode, then switch to YAML mode to see the device_id. |
| `program_id` | no | Enter the program_id number. The easiest way to find the number is to fetch a diagnostic download while running the actual program. Use the value from the key `state::programId::value_raw`.|
| `duration` | yes | Set desired program duration in minutes for ovens. |
| `temperature` | yes | Set desired target temperature for oven program. |

## Automation examples

Expand Down