### Thing Configuration for Miele XGW3000
-| Configuration Parameter | Description |
-|-------------------------|---------------|
-| ipAddress | Network address of the Miele@home gateway |
+| 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. |
+| 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 |
-|-------------------------|---------------|
+| Configuration Parameter | Description |
+|-------------------------|----------------------------------------------------------|
| uid | Unique identifier for specific appliance on the gateway. |
Each appliance needs the device UID as a configuration parameter.
| 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
| 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 |
| 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
| 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
| 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 |
| 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 |
| 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 |
}
},
PROGRAM_PHASE(RAW_PHASE_PROPERTY_NAME, PHASE_CHANNEL_ID, DecimalType.class, false),
- // lightingStatus signalFailure signalInfo
+ // lightingStatus
DOOR("signalDoor", "door", OpenClosedType.class, false) {
@Override
public State getState(String s, @Nullable DeviceMetaData dmd, MieleTranslationProvider translationProvider) {
return UnDefType.UNDEF;
}
},
+ INFO("signalInfo", "info", OnOffType.class, false) {
+ @Override
+ public State getState(String s, @Nullable DeviceMetaData dmd, MieleTranslationProvider translationProvider) {
+ return OnOffType.from("true".equals(s));
+ }
+ },
+ FAILURE("signalFailure", "failure", OnOffType.class, false) {
+ @Override
+ public State getState(String s, @Nullable DeviceMetaData dmd, MieleTranslationProvider translationProvider) {
+ return OnOffType.from("true".equals(s));
+ }
+ },
SWITCH("", "switch", OnOffType.class, false);
private final Logger logger = LoggerFactory.getLogger(CoffeeMachineChannelSelector.class);
return UnDefType.UNDEF;
}
},
+ INFO("signalInfo", "info", OnOffType.class, false, false) {
+ @Override
+ public State getState(String s, @Nullable DeviceMetaData dmd, MieleTranslationProvider translationProvider) {
+ return OnOffType.from("true".equals(s));
+ }
+ },
+ FAILURE("signalFailure", "failure", OnOffType.class, false, false) {
+ @Override
+ public State getState(String s, @Nullable DeviceMetaData dmd, MieleTranslationProvider translationProvider) {
+ return OnOffType.from("true".equals(s));
+ }
+ },
SWITCH("", "switch", OnOffType.class, false, false),
ENERGY_CONSUMPTION(EXTENDED_DEVICE_STATE_PROPERTY_NAME, ENERGY_CONSUMPTION_CHANNEL_ID, QuantityType.class, false,
true),
return UnDefType.UNDEF;
}
},
+ INFO("signalInfo", "info", OnOffType.class, false) {
+ @Override
+ public State getState(String s, @Nullable DeviceMetaData dmd, MieleTranslationProvider translationProvider) {
+ return OnOffType.from("true".equals(s));
+ }
+ },
+ FAILURE("signalFailure", "failure", OnOffType.class, false) {
+ @Override
+ public State getState(String s, @Nullable DeviceMetaData dmd, MieleTranslationProvider translationProvider) {
+ return OnOffType.from("true".equals(s));
+ }
+ },
START("", "start", OnOffType.class, false);
private final Logger logger = LoggerFactory.getLogger(FridgeChannelSelector.class);
return UnDefType.UNDEF;
}
},
+ INFO("signalInfo", "info", OnOffType.class, false) {
+ @Override
+ public State getState(String s, @Nullable DeviceMetaData dmd, MieleTranslationProvider translationProvider) {
+ return OnOffType.from("true".equals(s));
+ }
+ },
+ FAILURE("signalFailure", "failure", OnOffType.class, false) {
+ @Override
+ public State getState(String s, @Nullable DeviceMetaData dmd, MieleTranslationProvider translationProvider) {
+ return OnOffType.from("true".equals(s));
+ }
+ },
START("", "start", OnOffType.class, false);
private final Logger logger = LoggerFactory.getLogger(FridgeFreezerChannelSelector.class);
return UnDefType.UNDEF;
}
},
+ INFO("signalInfo", "info", OnOffType.class, false) {
+ @Override
+ public State getState(String s, @Nullable DeviceMetaData dmd, MieleTranslationProvider translationProvider) {
+ return OnOffType.from("true".equals(s));
+ }
+ },
+ FAILURE("signalFailure", "failure", OnOffType.class, false) {
+ @Override
+ public State getState(String s, @Nullable DeviceMetaData dmd, MieleTranslationProvider translationProvider) {
+ return OnOffType.from("true".equals(s));
+ }
+ },
STOP("", "stop", OnOffType.class, false),
SWITCH("", "switch", OnOffType.class, false);
return UnDefType.UNDEF;
}
},
+ INFO("signalInfo", "info", OnOffType.class, false) {
+ @Override
+ public State getState(String s, @Nullable DeviceMetaData dmd, MieleTranslationProvider translationProvider) {
+ return OnOffType.from("true".equals(s));
+ }
+ },
+ FAILURE("signalFailure", "failure", OnOffType.class, false) {
+ @Override
+ public State getState(String s, @Nullable DeviceMetaData dmd, MieleTranslationProvider translationProvider) {
+ return OnOffType.from("true".equals(s));
+ }
+ },
SWITCH("", "switch", OnOffType.class, false);
private final Logger logger = LoggerFactory.getLogger(TumbleDryerChannelSelector.class);
return UnDefType.UNDEF;
}
},
+ INFO("signalInfo", "info", OnOffType.class, false, false) {
+ @Override
+ public State getState(String s, @Nullable DeviceMetaData dmd, MieleTranslationProvider translationProvider) {
+ return OnOffType.from("true".equals(s));
+ }
+ },
+ FAILURE("signalFailure", "failure", OnOffType.class, false, false) {
+ @Override
+ public State getState(String s, @Nullable DeviceMetaData dmd, MieleTranslationProvider translationProvider) {
+ return OnOffType.from("true".equals(s));
+ }
+ },
SWITCH("", "switch", OnOffType.class, false, false),
ENERGY_CONSUMPTION(EXTENDED_DEVICE_STATE_PROPERTY_NAME, ENERGY_CONSUMPTION_CHANNEL_ID, QuantityType.class, false,
true),
channel-type.miele.end.description = End time of the program (programmed or running)
channel-type.miele.energy-consumption.label = Energy Consumption
channel-type.miele.energy-consumption.description = Energy consumption by the currently running program on the appliance
+channel-type.miele.failure.label = Signal Failure
+channel-type.miele.failure.description = Signals failure, check appliance for details
channel-type.miele.finish.label = Finish Time
channel-type.miele.finish.description = Time to finish the program running on the appliance
channel-type.miele.finish.state.pattern = %1$tR
channel-type.miele.fridgestate.description = Current status of the fridge compartment
channel-type.miele.heat.label = Remaining Heat
channel-type.miele.heat.description = Remaining heat level of the heating zone/plate
+channel-type.miele.info.label = Signal Information
+channel-type.miele.info.description = Signals information, check appliance for details
channel-type.miele.phase.label = Phase
channel-type.miele.phase.description = Current phase of the program running on the appliance
channel-type.miele.plates.label = Plates
<state readOnly="true"></state>
</channel-type>
+ <channel-type id="info" advanced="true">
+ <item-type>Switch</item-type>
+ <label>Signal Information</label>
+ <description>Signals information, check appliance for details</description>
+ <state readOnly="true"></state>
+ </channel-type>
+
+ <channel-type id="failure" advanced="true">
+ <item-type>Switch</item-type>
+ <label>Signal Failure</label>
+ <description>Signals failure, check appliance for details</description>
+ <category>Error</category>
+ <state readOnly="true"></state>
+ </channel-type>
+
<channel-type id="switch">
<item-type>Switch</item-type>
<label>Switch</label>
<channel id="phase" typeId="phase"/>
<channel id="rawPhase" typeId="rawPhase"/>
<channel id="door" typeId="door"/>
+ <channel id="info" typeId="info"/>
+ <channel id="failure" typeId="failure"/>
<channel id="switch" typeId="switch"/>
</channels>
+ <properties>
+ <property name="thingTypeVersion">1</property>
+ </properties>
+
<representation-property>uid</representation-property>
<config-description-ref uri="thing-type:miele:appliance"/>
<channel id="elapsed" typeId="elapsed"/>
<channel id="finish" typeId="finish"/>
<channel id="door" typeId="door"/>
+ <channel id="info" typeId="info"/>
+ <channel id="failure" typeId="failure"/>
<channel id="switch" typeId="switch"/>
<channel id="energyConsumption" typeId="energy-consumption"/>
<channel id="waterConsumption" typeId="water-consumption"/>
</channels>
<properties>
- <property name="thingTypeVersion">1</property>
+ <property name="thingTypeVersion">2</property>
</properties>
<representation-property>uid</representation-property>
<description>Target temperature to be reached by the fridge</description>
</channel>
<channel id="door" typeId="door"/>
+ <channel id="info" typeId="info"/>
+ <channel id="failure" typeId="failure"/>
<channel id="start" typeId="switch"/>
</channels>
+ <properties>
+ <property name="thingTypeVersion">1</property>
+ </properties>
+
<representation-property>uid</representation-property>
<config-description-ref uri="thing-type:miele:appliance"/>
<description>Target temperature to be reached by the fridge compartment</description>
</channel>
<channel id="door" typeId="door"/>
+ <channel id="info" typeId="info"/>
+ <channel id="failure" typeId="failure"/>
<channel id="start" typeId="switch"/>
</channels>
+ <properties>
+ <property name="thingTypeVersion">1</property>
+ </properties>
+
<representation-property>uid</representation-property>
<config-description-ref uri="thing-type:miele:appliance"/>
<description>Program temperature in the oven</description>
</channel>
<channel id="door" typeId="door"/>
+ <channel id="info" typeId="info"/>
+ <channel id="failure" typeId="failure"/>
<channel id="stop" typeId="stop"/>
<channel id="switch" typeId="switch"/>
</channels>
+ <properties>
+ <property name="thingTypeVersion">1</property>
+ </properties>
+
<representation-property>uid</representation-property>
<config-description-ref uri="thing-type:miele:appliance"/>
<channel id="elapsed" typeId="elapsed"/>
<channel id="finish" typeId="finish"/>
<channel id="door" typeId="door"/>
+ <channel id="info" typeId="info"/>
+ <channel id="failure" typeId="failure"/>
<channel id="switch" typeId="switch"/>
<channel id="step" typeId="step"/>
</channels>
+ <properties>
+ <property name="thingTypeVersion">1</property>
+ </properties>
+
<representation-property>uid</representation-property>
<config-description-ref uri="thing-type:miele:appliance"/>
<channel id="elapsed" typeId="elapsed"/>
<channel id="finish" typeId="finish"/>
<channel id="door" typeId="door"/>
+ <channel id="info" typeId="info"/>
+ <channel id="failure" typeId="failure"/>
<channel id="switch" typeId="switch"/>
<channel id="target" typeId="targetTemperature">
<label>Temperature</label>
</channels>
<properties>
- <property name="thingTypeVersion">1</property>
+ <property name="thingTypeVersion">2</property>
</properties>
<representation-property>uid</representation-property>
xmlns:update="https://openhab.org/schemas/update-description/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/update-description/v1.0.0 https://openhab.org/schemas/update-description-1.0.0.xsd">
+ <thing-type uid="miele:coffeemachine">
+ <instruction-set targetVersion="1">
+ <add-channel id="info">
+ <type>miele:info</type>
+ </add-channel>
+ <add-channel id="failure">
+ <type>miele:failure</type>
+ </add-channel>
+ </instruction-set>
+ </thing-type>
+
<thing-type uid="miele:dishwasher">
<instruction-set targetVersion="1">
<add-channel id="energyConsumption">
</update-channel>
<remove-channel id="powerConsumption"/>
</instruction-set>
+ <instruction-set targetVersion="2">
+ <add-channel id="info">
+ <type>miele:info</type>
+ </add-channel>
+ <add-channel id="failure">
+ <type>miele:failure</type>
+ </add-channel>
+ </instruction-set>
+ </thing-type>
+
+ <thing-type uid="miele:fridge">
+ <instruction-set targetVersion="1">
+ <add-channel id="info">
+ <type>miele:info</type>
+ </add-channel>
+ <add-channel id="failure">
+ <type>miele:failure</type>
+ </add-channel>
+ </instruction-set>
+ </thing-type>
+
+ <thing-type uid="miele:fridgefreezer">
+ <instruction-set targetVersion="1">
+ <add-channel id="info">
+ <type>miele:info</type>
+ </add-channel>
+ <add-channel id="failure">
+ <type>miele:failure</type>
+ </add-channel>
+ </instruction-set>
+ </thing-type>
+
+ <thing-type uid="miele:oven">
+ <instruction-set targetVersion="1">
+ <add-channel id="info">
+ <type>miele:info</type>
+ </add-channel>
+ <add-channel id="failure">
+ <type>miele:failure</type>
+ </add-channel>
+ </instruction-set>
+ </thing-type>
+
+ <thing-type uid="miele:tumbledryer">
+ <instruction-set targetVersion="1">
+ <add-channel id="info">
+ <type>miele:info</type>
+ </add-channel>
+ <add-channel id="failure">
+ <type>miele:failure</type>
+ </add-channel>
+ </instruction-set>
</thing-type>
<thing-type uid="miele:washingmachine">
</update-channel>
<remove-channel id="powerConsumption"/>
</instruction-set>
+ <instruction-set targetVersion="2">
+ <add-channel id="info">
+ <type>miele:info</type>
+ </add-channel>
+ <add-channel id="failure">
+ <type>miele:failure</type>
+ </add-channel>
+ </instruction-set>
</thing-type>
</update:update-descriptions>