[miele] State/program/phase: Add raw channels and improve text channels (#11341)
* Add raw channels for state, program and phase. * Provide program/phase texts when missing from XGW 3000 and for multicast. * Consistent handling of missing program/phase text across all appliance types. * Fix tumble dryer example configuration. * Changed tumble dryer Finished phase text for consistency. Fixes #11335 Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
This commit is contained in:
@@ -32,7 +32,7 @@ When an XGW3000 gateway is discovered, all appliances can be subsequently discov
|
||||
|
||||
## Thing Configuration
|
||||
|
||||
Each appliances needs the device UID as a configuration parameter.
|
||||
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.
|
||||
|
||||
Once you got hold of the IDs, a manual configuration looks like this:
|
||||
@@ -55,17 +55,306 @@ Thing coffeemachine coffeemachine [uid="001d63fffe020505#190"]
|
||||
|
||||
## Channels
|
||||
|
||||
The definition of the channels in use can best be checked in the [source repository](https://github.com/openhab/openhab-addons/tree/main/bundles/org.openhab.binding.miele/src/main/resources/OH-INF/thing).
|
||||
See below which channels are available for each appliance type. Raw program and phase values are individual for each appliance type,
|
||||
while these raw state values are unique across all appliance types:
|
||||
|
||||
## Example
|
||||
| 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 |
|
||||
|
||||
demo.items:
|
||||
### 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 |
|
||||
| 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 |
|
||||
| duration | DateTime | Read | Duration of the program running on the appliance |
|
||||
| elapsed | DateTime | Read | Time elapsed in the program running on the appliance |
|
||||
| finish | DateTime | Read | Time to finish the program running on the appliance |
|
||||
| door | Contact | Read | Current state of the door of the appliance |
|
||||
| switch | Switch | Write | Switch the appliance on or off |
|
||||
| powerConsumption | Number:Power | Read | Power consumption by the currently running program on the appliance |
|
||||
| waterConsumption | Number:Volume | Read | Water consumption by the currently running program on the appliance |
|
||||
|
||||
### 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 |
|
||||
| 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 |
|
||||
| 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 |
|
||||
| duration | DateTime | Read | Duration of the program running on the appliance |
|
||||
| elapsed | DateTime | Read | Time elapsed in the program running on the appliance |
|
||||
| finish | DateTime | 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 |
|
||||
| switch | Switch | Write | Switch the appliance on or off |
|
||||
| stop | Switch | Write | Stop the appliance |
|
||||
|
||||
### 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 |
|
||||
| duration | DateTime | Read | Duration of the program running on the appliance |
|
||||
| elapsed | DateTime | Read | Time elapsed in the program running on the appliance |
|
||||
| finish | DateTime | Read | Time to finish the program running on the appliance |
|
||||
| door | Contact | Read | Current state of the door of the appliance |
|
||||
| switch | Switch | Write | Switch the appliance on or off |
|
||||
| step | Number | Read | Current step in the program running on the appliance |
|
||||
|
||||
### 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 |
|
||||
| duration | DateTime | Read | Duration of the program running on the appliance |
|
||||
| elapsed | DateTime | Read | Time elapsed in the program running on the appliance |
|
||||
| finish | DateTime | Read | Time to finish the program running on the appliance |
|
||||
| door | Contact | Read | Current state of the door of the appliance |
|
||||
| switch | Switch | Write | Switch the appliance on or off |
|
||||
| target | Number:Temperature | Read | Temperature of the selected program |
|
||||
| spinningspeed | String | Read | Spinning speed in the program running on the appliance |
|
||||
| powerConsumption | Number:Power | Read | Power consumption by the currently running program on the appliance |
|
||||
| waterConsumption | Number:Volume | Read | Water consumption by the currently running program on the appliance |
|
||||
|
||||
# Configuration Examples
|
||||
|
||||
## things/miele.things
|
||||
|
||||
```
|
||||
String MieleFridgeState (gMiele,gMieleFridge) {channel="miele:fridge:dilbeek:fridge:state"}
|
||||
Switch MieleFridgeSuperCool (gMiele,gMieleFridge) {channel="miele:fridge:dilbeek:fridge:supercool"}
|
||||
Number:Temperature MieleFridgeCurrent (gMiele,gMieleFridge) {channel="miele:fridge:dilbeek:fridge:current"}
|
||||
Number:Temperature MieleFridgeTarget (gMiele,gMieleFridge) {channel="miele:fridge:dilbeek:fridge:target"}
|
||||
Contact MieleFridgeDoor (gMiele,gMieleFridge) {channel="miele:fridge:dilbeek:fridge:door"}
|
||||
Switch MieleFridgeStart (gMiele,gMieleFridge) {channel="miele:fridge:dilbeek:fridge:start"}
|
||||
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"}
|
||||
DateTime Dishwasher_ElapsedTime "Elapsed time" <time> {channel="miele:dishwasher:home:dishwasher:elapsed"}
|
||||
DateTime Dishwasher_FinishTime "Remaining time" <time> {channel="miele:dishwasher:home:dishwasher:finish"}
|
||||
Number:Power Dishwasher_PowerConsumption {channel="miele:dishwasher:home:dishwasher:powerConsumption"}
|
||||
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"}
|
||||
DateTime Oven_ElapsedTime "Elapsed time" <time> {channel="miele:oven:home:oven:elapsed"}
|
||||
DateTime 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", autoupdate="false"}
|
||||
|
||||
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"}
|
||||
DateTime WashingMachine_ElapsedTime "Elapsed time" <time> {channel="miele:washingmachine:home:washingmachine:elapsed"}
|
||||
DateTime WashingMachine_FinishTime "Remaining time" <time> {channel="miele:washingmachine:home:washingmachine:finish"}
|
||||
Number:Power WashingMachine_PowerConsumption {channel="miele:washingmachine:home:washingmachine:powerConsumption"}
|
||||
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"}
|
||||
DateTime TumbleDryer_ElapsedTime "Elapsed time" <time> {channel="miele:tumbledryer:home:tumbledryer:elapsed"}
|
||||
DateTime 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_PowerConsumption
|
||||
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_PowerConsumption
|
||||
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"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user