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 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.
discovery.miele:removalGracePeriod=30
Thing Configuration
Thing Configuration for Miele XGW3000
Configuration Parameter |
Description |
ipAddress |
Network address of the Miele@home gateway |
interface |
Network address of openHAB host interface where the binding will listen for multicast events coming from 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
Bridge miele:xgw3000:home [ipAddress="192.168.0.18", interface="192.168.0.5"] {
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
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
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 itemDishwasher_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"
}
}
}