# Miele@home Binding

This binding integrates Miele@home appliances.
Miele@home allows controlling Miele appliances that are equipped with special communication modules.
There are devices that communicate through Zigbee and others that use WiFi.

See [www.miele.de](https://www.miele.de) for the list of available appliances.

## Supported Things

This binding requires the XGW3000 gateway from Miele as all integration with openHAB is done through this gateway.
While users with Zigbee-enabled Miele appliances usually own such a gateway, this is often not the case for people that have only WiFi-enabled appliances.

The types of appliances that are supported by this binding are:

- Coffeemachine
- Dishwasher
- Fridge
- Fridge/Freezer combination
- Hob
- Hood
- Oven
- Microwave/Oven combination
- Tumbledryer
- Washingmachine

## Discovery

The binding is able to auto-discover the Miele XGW3000 gateway.
When an XGW3000 gateway is discovered, all appliances can be subsequently discovered.

### Note on Discovery

The XGW3000 gateway is sometimes a few seconds late in re-announcing itself on the network.
This means that it might repeatedly disappear from, and re-appear in, the Inbox.
To avoid this, there is a discovery configuration parameter `removalGracePeriod` which delays such Inbox disappearances.
The default value is 15 seconds.
If you want to change this value just add the following line to your `$OPENHAB_CONF/services/runtime.cfg` file.

```ini
discovery.miele:removalGracePeriod=30
```

## Thing Configuration

### Thing Configuration for Miele XGW3000

| Configuration Parameter | Description                                                                                                                      |
|-------------------------|----------------------------------------------------------------------------------------------------------------------------------|
| ipAddress               | Network address of the Miele@home gateway                                                                                        |
| userName                | Name of a registered Miele@home user.                                                                                            |
| password                | Password for the registered Miele@home user.                                                                                     |
| language                | Language for state, program and phase texts. Leave blank for system language.                                                    |

### Thing Configuration for appliance

| Configuration Parameter | Description                                              |
|-------------------------|----------------------------------------------------------|
| uid                     | Unique identifier for specific appliance on the gateway. |

Each appliance needs the device UID as a configuration parameter.
The UID is nowhere to be found on the appliances, but since the discovery works quite reliably, a manual configuration is not needed.

## Channels

### Raw values

Some channels represent raw/numeric values for state, program and phase, namely rawState, rawProgram and rawPhase.
These channels are more reliable as rule triggers/logic than using their text-based counterparts. Raw values are
always available from the gateway even when texts are missing. Only a subset of available raw values are documented
here since no official documentation exists.

#### State

| State | Description                  | Appliances                                                      |
|-------|------------------------------|-----------------------------------------------------------------|
| 0     | Unknown                      | All                                                             |
| 1     | Off                          | All                                                             |
| 2     | Stand-By                     | All                                                             |
| 3     | Programmed                   | Coffee Machine, Dishwasher, Oven, Tumble Dryer, Washing Machine |
| 4     | Waiting to Start             | Coffee Machine, Dishwasher, Oven, Tumble Dryer, Washing Machine |
| 5     | Running                      | All                                                             |
| 6     | Paused                       | Coffee Machine, Dishwasher, Oven, Tumble Dryer, Washing Machine |
| 7     | End                          | Coffee Machine, Dishwasher, Oven, Tumble Dryer, Washing Machine |
| 8     | Failure                      | All                                                             |
| 9     | Abort                        | Coffee Machine, Dishwasher, Oven, Tumble Dryer, Washing Machine |
| 10    | Idle                         | All                                                             |
| 11    | Rinse Hold                   | Washing Machine, Tumble Dryer                                   |
| 12    | Service                      | All                                                             |
| 13    | Super Freezing               | Fridge/Freezer combination                                      |
| 14    | Super Cooling                | Fridge, Fridge/Freezer combination                              |
| 15    | Super Heating                | Hob                                                             |
| 144   | Default                      | All                                                             |
| 145   | Locked                       | All                                                             |
| 146   | Super Cooling/Super Freezing | Fridge/Freezer combination                                      |
| 255   | Not Connected                | All                                                             |

### Appliances

Channels available for each appliance type are listed below.

#### Coffee Machine

| Channel             | Type                 | Read/write | Description                                                         |
|---------------------|----------------------|------------|---------------------------------------------------------------------|
| state               | String               | Read       | Current status of the appliance                                     |
| rawState            | Number               | Read       | Current status of the appliance as raw number                       |
| program             | String               | Read       | Current program or function running on the appliance                |
| rawProgram          | Number               | Read       | Current program or function running on the appliance as raw number  |
| type                | String               | Read       | Type of the program running on the appliance                        |
| phase               | String               | Read       | Current phase of the program running on the appliance               |
| rawPhase            | Number               | Read       | Current phase of the program running on the appliance as raw number |
| door                | Contact              | Read       | Current state of the door of the appliance                          |
| info                | Switch               | Read       | Signals information, check appliance for details                    |
| failure             | Switch               | Read       | Signals failure, check appliance for details                        |
| switch              | Switch               | Write      | Switch the appliance on or off                                      |

#### Dishwasher

| Channel             | Type                 | Read/write | Description                                                          |
|---------------------|----------------------|------------|----------------------------------------------------------------------|
| state               | String               | Read       | Current status of the appliance                                      |
| rawState            | Number               | Read       | Current status of the appliance as raw number                        |
| program             | String               | Read       | Current program or function running on the appliance                 |
| rawProgram          | Number               | Read       | Current program or function running on the appliance as raw number   |
| phase               | String               | Read       | Current phase of the program running on the appliance                |
| rawPhase            | Number               | Read       | Current phase of the program running on the appliance as raw number  |
| start               | DateTime             | Read       | Programmed start time of the program                                 |
| end                 | DateTime             | Read       | End time of the program (programmed or running)                      |
| duration            | Number:Time          | Read       | Duration of the program running on the appliance                     |
| elapsed             | Number:Time          | Read       | Time elapsed in the program running on the appliance                 |
| finish              | Number:Time          | Read       | Time to finish the program running on the appliance                  |
| door                | Contact              | Read       | Current state of the door of the appliance                           |
| info                | Switch               | Read       | Signals information, check appliance for details                     |
| failure             | Switch               | Read       | Signals failure, check appliance for details                         |
| switch              | Switch               | Write      | Switch the appliance on or off                                       |
| energyConsumption   | Number:Energy        | Read       | Energy consumption by the currently running program on the appliance |
| waterConsumption    | Number:Volume        | Read       | Water consumption by the currently running program on the appliance  |

##### Programs

| Program | Description                         |
|---------|-------------------------------------|
| 26      | Intensive                           |
| 27      | Maintenance programme               |
| 28      | ECO                                 |
| 30      | Normal                              |
| 32      | Automatic                           |
| 34      | SolarSave                           |
| 35      | Gentle                              |
| 36      | Extra Quiet                         |
| 37      | Hygiene                             |
| 38      | QuickPowerWash                      |
| 42      | Tall items                          |

##### Phases

| Phase | Legacy | Description                  |
|-------|--------|------------------------------|
| 1792  | 0      | None (appliance off)         |
| 1794  | 2      | Pre-Wash                     |
| 1795  | 3      | Main Wash                    |
| 1796  | 4      | Rinses                       |
| 1798  | 6      | Final rinse                  |
| 1799  | 7      | Drying                       |
| 1800  | 8      | Finished                     |

#### Fridge

| Channel             | Type                 | Read/write | Description                                                         |
|---------------------|----------------------|------------|---------------------------------------------------------------------|
| state               | String               | Read       | Current status of the appliance                                     |
| rawState            | Number               | Read       | Current status of the appliance as raw number                       |
| supercool           | Switch               | Read/Write | Start or stop Super Cooling                                         |
| current             | Number:Temperature   | Read       | Current temperature in the fridge                                   |
| target              | Number:Temperature   | Read       | Target temperature to be reached by the fridge                      |
| door                | Contact              | Read       | Current state of the door of the appliance                          |
| info                | Switch               | Read       | Signals information, check appliance for details                    |
| failure             | Switch               | Read       | Signals failure, check appliance for details                        |
| switch              | Switch               | Write      | Switch the appliance on or off                                      |

#### Fridge/Freezer combination

| Channel             | Type                 | Read/write | Description                                                         |
|---------------------|----------------------|------------|---------------------------------------------------------------------|
| state               | String               | Read       | Current status of the appliance                                     |
| rawState            | Number               | Read       | Current status of the appliance as raw number                       |
| freezerstate        | String               | Read       | Current status of the freezer compartment                           |
| fridgestate         | String               | Read       | Current status of the fridge compartment                            |
| supercool           | Switch               | Read/Write | Start or stop Super Cooling                                         |
| superfreeze         | Switch               | Read/Write | Start or stop Super Freezing                                        |
| freezercurrent      | Number:Temperature   | Read       | Current temperature in the freezer compartment                      |
| freezertarget       | Number:Temperature   | Read       | Target temperature to be reached by the freezer compartment         |
| fridgecurrent       | Number:Temperature   | Read       | Current temperature in the fridge compartment                       |
| fridgetarget        | Number:Temperature   | Read       | Target temperature to be reached by the fridge compartment          |
| door                | Contact              | Read       | Current state of the door of the appliance                          |
| info                | Switch               | Read       | Signals information, check appliance for details                    |
| failure             | Switch               | Read       | Signals failure, check appliance for details                        |
| start               | Switch               | Write      | Switch the appliance on or off                                      |

#### Hob

| Channel             | Type                 | Read/write | Description                                                         |
|---------------------|----------------------|------------|---------------------------------------------------------------------|
| state               | String               | Read       | Current status of the appliance                                     |
| rawState            | Number               | Read       | Current status of the appliance as raw number                       |
| plate1power         | Number               | Read       | Power level of heating zone/plate 1                                 |
| plate1heat          | Number               | Read       | Remaining heat level of heating zone/plate 1                        |
| plate1time          | String               | Read       | Remaining time of heating zone/plate 1                              |
| plate2power         | Number               | Read       | Power level of heating zone/plate 2                                 |
| plate2heat          | Number               | Read       | Remaining heat level of heating zone/plate 2                        |
| plate2time          | String               | Read       | Remaining time of heating zone/plate 2                              |
| plate3power         | Number               | Read       | Power level of heating zone/plate 3                                 |
| plate3heat          | Number               | Read       | Remaining heat level of heating zone/plate 3                        |
| plate3time          | String               | Read       | Remaining time of heating zone/plate 3                              |
| plate4power         | Number               | Read       | Power level of heating zone/plate 4                                 |
| plate4heat          | Number               | Read       | Remaining heat level of heating zone/plate 4                        |
| plate4time          | String               | Read       | Remaining time of heating zone/plate 4                              |
| plate5power         | Number               | Read       | Power level of heating zone/plate 5                                 |
| plate5heat          | Number               | Read       | Remaining heat level of heating zone/plate 5                        |
| plate5time          | String               | Read       | Remaining time of heating zone/plate 5                              |
| plate6power         | Number               | Read       | Power level of heating zone/plate 6                                 |
| plate6heat          | Number               | Read       | Remaining heat level of heating zone/plate 6                        |
| plate6time          | String               | Read       | Remaining time of heating zone/plate 6                              |

#### Hood

| Channel             | Type                 | Read/write | Description                                                         |
|---------------------|----------------------|------------|---------------------------------------------------------------------|
| state               | String               | Read       | Current status of the appliance                                     |
| rawState            | Number               | Read       | Current status of the appliance as raw number                       |
| light               | Switch               | Write      | Switch the appliance on or off                                      |
| ventilation         | Number               | Read       | Current ventilation power                                           |
| stop                | Switch               | Write      | Stop the appliance                                                  |

#### Oven

| Channel             | Type                 | Read/write | Description                                                         |
|---------------------|----------------------|------------|---------------------------------------------------------------------|
| state               | String               | Read       | Current status of the appliance                                     |
| rawState            | Number               | Read       | Current status of the appliance as raw number                       |
| program             | String               | Read       | Current program or function running on the appliance                |
| rawProgram          | Number               | Read       | Current program or function running on the appliance as raw number  |
| type                | String               | Read       | Type of the program running on the appliance                        |
| phase               | String               | Read       | Current phase of the program running on the appliance               |
| rawPhase            | Number               | Read       | Current phase of the program running on the appliance as raw number |
| start               | DateTime             | Read       | Programmed start time of the program                                |
| end                 | DateTime             | Read       | End time of the program (programmed or running)                     |
| duration            | Number:Time          | Read       | Duration of the program running on the appliance                    |
| elapsed             | Number:Time          | Read       | Time elapsed in the program running on the appliance                |
| finish              | Number:Time          | Read       | Time to finish the program running on the appliance                 |
| target              | Number:Temperature   | Read       | Target temperature to be reached by the oven                        |
| measured            | Number:Temperature   | Read       | Actual measured temperature in the oven                             |
| temp1               | Number:Temperature   | Read       | Program temperature in the oven 1                                   |
| temp2               | Number:Temperature   | Read       | Program temperature in the oven 2                                   |
| door                | Contact              | Read       | Current state of the door of the appliance                          |
| info                | Switch               | Read       | Signals information, check appliance for details                    |
| failure             | Switch               | Read       | Signals failure, check appliance for details                        |
| switch              | Switch               | Write      | Switch the appliance on or off                                      |
| stop                | Switch               | Write      | Stop the appliance                                                  |

##### Phases

| Phase | Legacy | Description                  |
|-------|--------|------------------------------|
| 3072  | 0      | None (appliance off)         |
| 3073  | 1      | Heating                      |
| 3074  | 2      | Temp. hold                   |
| 3075  | 3      | Door Open                    |
| 3076  | 4      | Pyrolysis                    |
| 3079  | 7      | Lighting                     |
| 3080  | 8      | Searing phase                |
| 3082  | 10     | Defrost                      |
| 3083  | 11     | Cooling down                 |
| 3084  | 12     | Energy save phase            |

#### Microwave/Oven combination

See oven.

#### Tumble Dryer

| Channel             | Type                 | Read/write | Description                                                         |
|---------------------|----------------------|------------|---------------------------------------------------------------------|
| state               | String               | Read       | Current status of the appliance                                     |
| rawState            | Number               | Read       | Current status of the appliance as raw number                       |
| program             | String               | Read       | Current program or function running on the appliance                |
| rawProgram          | Number               | Read       | Current program or function running on the appliance as raw number  |
| type                | String               | Read       | Type of the program running on the appliance                        |
| phase               | String               | Read       | Current phase of the program running on the appliance               |
| rawPhase            | Number               | Read       | Current phase of the program running on the appliance as raw number |
| start               | DateTime             | Read       | Programmed start time of the program                                |
| end                 | DateTime             | Read       | End time of the program (programmed or running)                     |
| duration            | Number:Time          | Read       | Duration of the program running on the appliance                    |
| elapsed             | Number:Time          | Read       | Time elapsed in the program running on the appliance                |
| finish              | Number:Time          | Read       | Time to finish the program running on the appliance                 |
| door                | Contact              | Read       | Current state of the door of the appliance                          |
| info                | Switch               | Read       | Signals information, check appliance for details                    |
| failure             | Switch               | Read       | Signals failure, check appliance for details                        |
| switch              | Switch               | Write      | Switch the appliance on or off                                      |
| step                | Number               | Read       | Current step in the program running on the appliance                |

##### Programs

| Program | Description                         |
|---------|-------------------------------------|
| 10      | Automatic Plus                      |
| 20      | Cottons                             |
| 23      | Cottons hygiene                     |
| 30      | Minimum iron                        |
| 31      | Gentle minimum iron                 |
| 40      | Woollens handcare                   |
| 50      | Delicates                           |
| 60      | Warm Air                            |
| 70      | Cool air                            |
| 80      | Express                             |
| 90      | Cottons                             |
| 100     | Gentle smoothing                    |
| 120     | Proofing                            |
| 130     | Denim                               |
| 131     | Gentle denim                        |
| 140     | Shirts                              |
| 141     | Gentle shirts                       |
| 150     | Sportswear                          |
| 160     | Outerwear                           |
| 170     | Silks handcare                      |
| 190     | Standard pillows                    |
| 220     | Basket programme                    |
| 240     | Smoothing                           |
| 65000   | Cottons (auto load control)         |
| 65001   | Minimum iron (auto load control)    |

##### Phases

| Phase | Legacy | Description                  |
|-------|--------|------------------------------|
| 512   | 0      | None (appliance off)         |
| 513   | 1      | Programme running            |
| 514   | 2      | Drying                       |
| 515   | 3      | Drying Machine iron          |
| 516   | 4      | Drying Hand iron (2)         |
| 517   | 5      | Drying Normal                |
| 518   | 6      | Drying Normal+               |
| 519   | 7      | Cooling down                 |
| 520   | 8      | Drying Hand iron (1)         |
| 522   | 10     | Finished                     |

#### Washing Machine

| Channel             | Type                 | Read/write | Description                                                          |
|---------------------|----------------------|------------|----------------------------------------------------------------------|
| state               | String               | Read       | Current status of the appliance                                      |
| rawState            | Number               | Read       | Current status of the appliance as raw number                        |
| program             | String               | Read       | Current program or function running on the appliance                 |
| rawProgram          | Number               | Read       | Current program or function running on the appliance as raw number   |
| type                | String               | Read       | Type of the program running on the appliance                         |
| phase               | String               | Read       | Current phase of the program running on the appliance                |
| rawPhase            | Number               | Read       | Current phase of the program running on the appliance as raw number  |
| start               | DateTime             | Read       | Programmed start time of the program                                 |
| end                 | DateTime             | Read       | End time of the program (programmed or running)                      |
| duration            | Number:Time          | Read       | Duration of the program running on the appliance                     |
| elapsed             | Number:Time          | Read       | Time elapsed in the program running on the appliance                 |
| finish              | Number:Time          | Read       | Time to finish the program running on the appliance                  |
| door                | Contact              | Read       | Current state of the door of the appliance                           |
| info                | Switch               | Read       | Signals information, check appliance for details                     |
| failure             | Switch               | Read       | Signals failure, check appliance for details                         |
| switch              | Switch               | Write      | Switch the appliance on or off                                       |
| target              | Number:Temperature   | Read       | Temperature of the selected program (10 °C = cold)                   |
| spinningspeed       | String               | Read       | Spinning speed in the program running on the appliance               |
| energyConsumption   | Number:Energy        | Read       | Energy consumption by the currently running program on the appliance |
| waterConsumption    | Number:Volume        | Read       | Water consumption by the currently running program on the appliance  |
| laundryWeight       | Number:Mass          | Read       | Weight of the laundry inside the appliance                           |

##### Programs

| Program | Description                         |
|---------|-------------------------------------|
| 1       | Cottons                             |
| 3       | Minimum iron                        |
| 4       | Delicates                           |
| 8       | Woollens                            |
| 9       | Silks                               |
| 17      | Starch                              |
| 18      | Rinse                               |
| 21      | Drain/Spin                          |
| 22      | Curtains                            |
| 23      | Shirts                              |
| 24      | Denim                               |
| 27      | Proofing                            |
| 29      | Sportswear                          |
| 31      | Automatic Plus                      |
| 37      | Outerwear                           |
| 39      | Pillows                             |
| 50      | Dark Garments                       |
| 53      | First wash                          |
| 75      | Steam care                          |
| 76      | Freshen up                          |
| 91      | Maintenance wash                    |
| 95      | Down duvets                         |
| 122     | Express 20                          |
| 129     | Down filled items                   |
| 133     | Cottons Eco                         |
| 146     | QuickPowerWash                      |
| 65532   | Mix                                 |

##### Phases

| Phase | Legacy | Description                  |
|-------|--------|------------------------------|
| 256   | 0      | None (appliance off)         |
| 257   | 1      | Pre-wash                     |
| 260   | 4      | Washing                      |
| 261   | 5      | Rinses                       |
| 263   | 7      | Clean                        |
| 265   | 9      | Drain                        |
| 266   | 10     | Spin                         |
| 267   | 11     | Anti-crease                  |
| 268   | 12     | Finished                     |

# Configuration Examples

## things/miele.things

```java
Bridge miele:xgw3000:home [ipAddress="192.168.0.18"] {
    Things:
        Thing fridgefreezer freezer [uid="00124b000424be44#2"]
        Thing hood hood [uid="001d63fffe020685#210"]
        Thing fridge fridge [uid="00124b000424bdc0#2"]
        Thing oven oven [uid="001d63fffe020390#210"]
        Thing oven microwave [uid="001d63fffe0206eb#210"]
        Thing hob hob [uid="00124b000424bed7#2"]
        Thing dishwasher dishwasher [uid="001d63fffe020683#210"]
        Thing tumbledryer tumbledryer [uid="001d63fffe0200ba#210"]
        Thing washingmachine washingmachine [uid="001d63fffe020505#210"]
        Thing coffeemachine coffeemachine [uid="001d63fffe020505#190"]
}
```

## items/miele.items

```java
String Dishwasher_State                                       {channel="miele:dishwasher:home:dishwasher:state"}
Number Dishwasher_RawState                                    {channel="miele:dishwasher:home:dishwasher:rawState"}
String Dishwasher_Program "Program [%s]"                      {channel="miele:dishwasher:home:dishwasher:program"}
String Dishwasher_Phase "Phase [%s]"                          {channel="miele:dishwasher:home:dishwasher:phase"}
Number:Time Dishwasher_ElapsedTime "Elapsed time" <time>      {channel="miele:dishwasher:home:dishwasher:elapsed"}
Number:Time Dishwasher_FinishTime "Remaining time" <time>     {channel="miele:dishwasher:home:dishwasher:finish"}
Number:Energy Dishwasher_EnergyConsumption                    {channel="miele:dishwasher:home:dishwasher:energyConsumption"}
Number:Volume Dishwasher_WaterConsumption                     {channel="miele:dishwasher:home:dishwasher:waterConsumption"}

String Fridge_State                                           {channel="miele:fridge:home:fridge:state"}
Contact Fridge_Door                                           {channel="miele:fridge:home:fridge:door"}
Switch Fridge_SuperCool                                       {channel="miele:fridge:home:fridge:supercool"}
Number:Temperature Fridge_CurrentTemperature <temperature>    {channel="miele:fridge:home:fridge:current"}
Number:Temperature Fridge_TargetTemperature  <temperature>    {channel="miele:fridge:home:fridge:target"}
Switch Fridge_Start                                           {channel="miele:fridge:home:fridge:start"}

String Oven_State                                             {channel="miele:oven:home:oven:state"}
Number Oven_RawState                                          {channel="miele:oven:home:oven:rawState"}
String Oven_Program "Program [%s]"                            {channel="miele:oven:home:oven:program"}
String Oven_Phase "Phase [%s]"                                {channel="miele:oven:home:oven:phase"}
Number:Time Oven_ElapsedTime "Elapsed time" <time>            {channel="miele:oven:home:oven:elapsed"}
Number:Time Oven_FinishTime "Remaining time" <time>           {channel="miele:oven:home:oven:finish"}
Number:Temperature Oven_CurrentTemperature <temperature>      {channel="miele:oven:home:oven:measured"}
Number:Temperature Oven_TargetTemperature <temperature>       {channel="miele:oven:home:oven:target"}
Switch Oven_Stop                                              {channel="miele:oven:home:oven:stop"}

String WashingMachine_State                                   {channel="miele:washingmachine:home:washingmachine:state"}
Number WashingMachine_RawState                                {channel="miele:washingmachine:home:washingmachine:rawState"}
String WashingMachine_Program "Program [%s]"                  {channel="miele:washingmachine:home:washingmachine:program"}
String WashingMachine_Phase "Phase [%s]"                      {channel="miele:washingmachine:home:washingmachine:phase"}
Number:Temperature WashingMachine_Temperature <temperature>   {channel="miele:washingmachine:home:washingmachine:target"}
String WashingMachine_SpinningSpeed                           {channel="miele:washingmachine:home:washingmachine:spinningspeed"}
Number:Time WashingMachine_ElapsedTime "Elapsed time" <time>  {channel="miele:washingmachine:home:washingmachine:elapsed"}
Number:Time WashingMachine_FinishTime "Remaining time" <time> {channel="miele:washingmachine:home:washingmachine:finish"}
Number:Energy WashingMachine_EnergyConsumption                {channel="miele:washingmachine:home:washingmachine:energyConsumption"}
Number:Volume WashingMachine_WaterConsumption                 {channel="miele:washingmachine:home:washingmachine:waterConsumption"}

String TumbleDryer_State                                      {channel="miele:tumbledryer:home:tumbledryer:state"}
Number TumbleDryer_RawState                                   {channel="miele:tumbledryer:home:tumbledryer:rawState"}
String TumbleDryer_Program "Program [%s]"                     {channel="miele:tumbledryer:home:tumbledryer:program"}
String TumbleDryer_Phase "Phase [%s]"                         {channel="miele:tumbledryer:home:tumbledryer:phase"}
Number:Time TumbleDryer_ElapsedTime "Elapsed time" <time>     {channel="miele:tumbledryer:home:tumbledryer:elapsed"}
Number:Time TumbleDryer_FinishTime "Remaining time" <time>    {channel="miele:tumbledryer:home:tumbledryer:finish"}
```

## sitemaps/miele.sitemap

```perl
sitemap miele label="Miele" {
    Frame label="Miele" {
        Text item=Oven_State label="Oven [%s]" icon="kitchen" {
            Text item=Oven_Program visibility=[Oven_RawState>1]
            Text item=Oven_Phase visibility=[Oven_Phase!=UNDEF]
            Text item=Oven_ElapsedTime
            Text item=Oven_FinishTime
            Switch item=Oven_Stop
        }
        Text item=WashingMachine_State label="Washing Machine [%s]" icon="washingmachine" {
            Text item=WashingMachine_Program visibility=[WashingMachine_RawState>1]
            Text item=WashingMachine_Temperature visibility=[WashingMachine_Program!=UNDEF]
            Text item=WashingMachine_SpinningSpeed visibility=[WashingMachine_Program!=UNDEF]
            Text item=WashingMachine_Phase visibility=[WashingMachine_Phase!=UNDEF]
            Text item=WashingMachine_ElapsedTime
            Text item=WashingMachine_FinishTime
            Text item=WashingMachine_EnergyConsumption
            Text item=WashingMachine_WaterConsumption
        }
        Text item=TumbleDryer_State label="Tumble Dryer [%s]" icon="dryer" {
            Text item=TumbleDryer_Program visibility=[TumbleDryer_RawState>1]
            Text item=TumbleDryer_Phase visibility=[TumbleDryer_Phase!=UNDEF]
            Text item=TumbleDryer_ElapsedTime
            Text item=TumbleDryer_FinishTime
        }
        Text item=Dishwasher_State label="Dishwasher [%s]" icon="dryer" {
            Text item=Dishwasher_Program visibility=[Dishwasher_RawState>1]
            Text item=Dishwasher_Phase visibility=[Dishwasher_Phase!=UNDEF]
            Text item=Dishwasher_ElapsedTime
            Text item=Dishwasher_FinishTime
            Text item=Dishwasher_EnergyConsumption
            Text item=Dishwasher_WaterConsumption
        }
        Text item=Fridge_CurrentTemperature label="Fridge" icon="climate" {
            Text item=Fridge_CurrentTemperature
            Text item=Fridge_TargetTemperature
            Switch item=Fridge_SuperCool icon="snow"
        }
    }
}
```
