Skip to content

Commit

Permalink
Add information/failure channels
Browse files Browse the repository at this point in the history
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
  • Loading branch information
jlaur committed Feb 26, 2024
1 parent d56c9e5 commit 2101d11
Show file tree
Hide file tree
Showing 18 changed files with 233 additions and 11 deletions.
30 changes: 22 additions & 8 deletions bundles/org.openhab.binding.miele/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,18 +45,18 @@ discovery.miele:removalGracePeriod=30

### 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.
Expand Down Expand Up @@ -112,6 +112,8 @@ Channels available for each appliance type are listed below.
| 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
Expand All @@ -130,6 +132,8 @@ Channels available for each appliance type are listed below.
| 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 |
Expand Down Expand Up @@ -172,6 +176,8 @@ Channels available for each appliance type are listed below.
| 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
Expand All @@ -189,6 +195,8 @@ Channels available for each appliance type are listed below.
| 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
Expand Down Expand Up @@ -247,6 +255,8 @@ Channels available for each appliance type are listed below.
| 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 |

Expand Down Expand Up @@ -286,6 +296,8 @@ See oven.
| 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 |

Expand Down Expand Up @@ -351,6 +363,8 @@ See oven.
| 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 |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ public State getState(String s, @Nullable DeviceMetaData dmd, MieleTranslationPr
}
},
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) {
Expand All @@ -82,6 +82,18 @@ public State getState(String s, @Nullable DeviceMetaData dmd, MieleTranslationPr
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);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,18 @@ public State getState(String s, @Nullable DeviceMetaData dmd, MieleTranslationPr
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),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,18 @@ public State getState(String s, @Nullable DeviceMetaData dmd, MieleTranslationPr
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);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,18 @@ public State getState(String s, @Nullable DeviceMetaData dmd, MieleTranslationPr
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);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,18 @@ public State getState(String s, @Nullable DeviceMetaData dmd, MieleTranslationPr
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);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,18 @@ public State getState(String s, @Nullable DeviceMetaData dmd, MieleTranslationPr
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);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,18 @@ public State getState(String s, @Nullable DeviceMetaData dmd, MieleTranslationPr
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),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,8 @@ channel-type.miele.end.label = End Time
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
Expand All @@ -81,6 +83,8 @@ channel-type.miele.fridgestate.label = Status
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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,21 @@
<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>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,15 @@
<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"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,15 @@
<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>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,15 @@
<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"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,15 @@
<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"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,16 @@
<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"/>
Expand Down

0 comments on commit 2101d11

Please sign in to comment.