2020-09-21 01:58:32 +02:00
# Belkin Wemo Binding
This binding integrates the [Belkin WeMo Family ](https://www.belkin.com/us/Products/c/home-automation/ ).
2022-12-17 17:25:38 +01:00
The integration happens either through the WeMo-Link bridge, which acts as an IP gateway to the Zigbee devices or through WiFi connection to standalone devices.
2020-09-21 01:58:32 +02:00
## Supported Things
2022-08-26 22:28:29 +02:00
The WeMo Binding supports the Socket, Outdoor Plug, Insight, Lightswitch, Motion, Dimmer, Coffemaker and Maker devices, as well as the WeMo-Link bridge with WeMo LED bulbs.
2020-09-21 01:58:32 +02:00
The Binding also supports the Crock-Pot Smart Slow Cooker, Mr. Coffee Smart Coffemaker as well as the Holmes Smart Air Purifier, Holmes Smart Humidifier and Holmes Smart Heater.
## Discovery
2022-04-02 12:46:26 +02:00
The WeMo devices are discovered through UPnP discovery service in the network.
Devices will show up in the inbox and can be easily added as Things.
2020-09-21 01:58:32 +02:00
## Binding Configuration
The binding does not need any configuration.
## Thing Configuration
2022-04-02 12:46:26 +02:00
For manual Thing configuration, one needs to know the UDN of a certain WeMo device.
It can most easily be obtained by performing an auto-discovery before configuring the thing manually.
2020-09-21 01:58:32 +02:00
2022-04-02 12:46:26 +02:00
Most devices share the `udn` configuration parameter:
2020-09-21 01:58:32 +02:00
2022-04-02 12:46:26 +02:00
| Configuration Parameter | Description |
|-------------------------|------------------------------------|
| udn | The UDN identifies the WeMo device |
2020-09-21 01:58:32 +02:00
2022-04-02 12:46:26 +02:00
### WeMo LED Light
For LED Lights paired to a WeMo Link bridge, please use the following configuration parameter:
| Configuration Parameter | Description |
|-------------------------|-------------------------------------------------|
| deviceID | The device ID identifies one certain WeMo light |
### WeMo Insight Switch
2020-09-21 01:58:32 +02:00
2022-04-02 12:46:26 +02:00
The WeMo Insight Switch has some additional parameters for controlling the behavior for channel `currentPower` .
This channel reports the current power consumption in Watt.
The internal theoretical accuracy is 5 mW, i.e. three decimals.
These raw values are reported with high frequency, often multiple updates can occur within a single second.
For example, the sequence of 40.440 W, 40.500 W and 40.485 W would result in the channel being updated with values rounded to nearest integer, respectively 40 W, 41 W and 40 W.
2020-09-21 01:58:32 +02:00
2022-04-02 12:46:26 +02:00
When persisting items linked to this channel, this can result in a significant amount of data being stored.
To mitigate this issue, a sliding window with a moving average calculation has been introduced.
This window is defined with a one minute default period.
This is combined with a delta trigger value, which is defaulted to 1 W.
This means that the channel is only updated when one of the following conditions are met:
1. The rounded value received is equal to the rounded average for the past minute, i.e. this value has stabilized. This introduces a delay for very small changes in consumption, but on the other hand it prevents excessive logging and persistence caused by temporary small changes and rounding.
2023-04-11 12:54:54 +02:00
1. The rounded value received is more than 1 W from the previous value. So when changes are happening fast, the channel will also be updated fast.
2022-04-02 12:46:26 +02:00
| Configuration Parameter | Description |
|----------------------------|---------------------------------------------------------------------------------------|
| udn | The UDN identifies the WeMo Insight Switch |
| currentPowerSlidingSeconds | Sliding window in seconds for which moving average power is calculated (0 = disabled) |
| currentPowerDeltaTrigger | Delta triggering immediate channel update (in Watt) |
The moving average calculation can be disabled by setting either `currentPowerSlidingSeconds` or `currentPowerDeltaTrigger` to 0.
This will cause the channel to be updated the same way as in openHAB versions prior to 3.3.
2020-09-21 01:58:32 +02:00
## Channels
Devices support some of the following channels:
2023-04-11 12:54:54 +02:00
| Channel Type | Item Type | Description | Available on Thing |
2021-09-08 20:36:03 +02:00
|---------------------|---------------|----------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------|
| motionDetection | Switch | On if motion is detected, off otherwise. (Motion Sensor only) | Motion |
| lastMotionDetected | DateTime | Date and Time when the last motion was detected. (Motion Sensor only) | Motion |
| state | Switch | This channel controls the actual binary State of a Device or represents Motion Detection. | All but Dimmer, Crockpot, Airpurifier and Humidifier |
| lastChangedAt | DateTime | Date and Time the device was last turned on or of. | Insight |
| lastOnFor | Number | Time in seconds an Insight device was last turned on for. | Insight |
| onToday | Number | Time in seconds an Insight device has been switched on today. | Insight |
| onTotal | Number | Time in seconds an Insight device has been switched on totally. | Insight |
| timespan | Number | Time in seconds over which onTotal applies. Typically 2 weeks except first used. | Insight |
| averagePower | Number:Power | Average power consumption in Watts. | Insight |
| currentPower | Number:Power | Current power consumption of an Insight device. 0 if switched off. | Insight |
2022-04-02 12:46:26 +02:00
| currentPowerRaw | Number:Power | Current power consumption of an Insight device with full precision (5 mW accuracy, three decimals). 0 if switched off. | Insight |
2021-09-08 20:36:03 +02:00
| energyToday | Number:Energy | Energy in Wh used today. | Insight |
| energyTotal | Number:Energy | Energy in Wh used in total. | Insight |
| standbyLimit | Number:Power | Minimum energy draw in W to register device as switched on (default 8W, configurable via WeMo App). | Insight |
| onStandBy | Switch | Read-only indication of whether or not the device plugged in to the insight switch is drawing more than the standby limit. | Insight |
| relay | Switch | Switches the integrated relay contact close/open | Maker |
| sensor | Switch | Shows the state of the integrated sensor | Maker |
| coffeeMode | String | Operation mode of a WeMo Coffee Maker | CoffeeMaker |
| modeTime | Number | Current amount of time, in minutes, that the Coffee Maker has been in the current mode | CoffeeMaker |
| timeRemaining | Number | Remaining brewing time of a WeMo Coffee Maker | CoffeeMaker |
| waterLevelReached | Switch | Indicates if the WeMo Coffee Maker needs to be refilled | CoffeeMaker |
| cleanAdvise | Switch | Indicates if a WeMo Coffee Maker needs to be cleaned | CoffeeMaker |
| filterAdvise | Switch | Indicates if a WeMo Coffee Maker needs to have the filter changed | CoffeeMaker |
| brewed | DateTime | Date/time the coffee maker last completed brewing coffee | CoffeeMaker |
| lastCleaned | DateTime | Date/time the coffee maker last completed cleaning | CoffeeMaker |
| brightness | Number | Brightness of a WeMo LED od Dimmwer. | LED, DimmerSwitch |
| faderCountDownTime | Number | Dimmer fading duration time in minutes | DimmerSwitch |
| faderEnabled | Switch | Switch the fader ON/OFF | DimmerSwitch |
| timerStart | Switch | Switch the fading timer ON/OFF | DimmerSwitch |
| nightMode | Switch | Switch the nightMode ON/OFF | DimmerSwitch |
| startTime | DateTime | Time when the nightMode starts | DimmerSwitch |
| endTime | DateTime | Time when the nightMode ends | DimmerSwitch |
| nightModeBrightness | Number | Brightness used in nightMode | DimmerSwitch |
| cookMode | String | Shows the operation mode of a WeMo Crockpot (OFF, WARM, LOW, HIGH | Crockpot |
| warmCookTime | Number | Shows the timer settings for warm cooking mode | Crockpot |
| lowCookTime | Number | Shows the timer settings for low cooking mode | Crockpot |
| highCookTime | Number | Shows the timer settings for high cooking mode | Crockpot |
| cookedTime | Number | Shows the elapsed cooking time | Crockpot |
| purifierMode | String | Runmode of Air Purifier (OFF, LOW, MED, HIGH, AUTO) | Air Purifier |
| airQuality | String | Air quality (POOR, MODERATE, GOOD) | Air Purifier |
| ionizer | Switch | Indicates whether the ionizer is switched ON or OFF | Air Purifier |
| filterLife | Number | Indicates the remaining filter lifetime in Percent | Air Purifier, Humidifier |
| expiredFilterTime | Number | Indicates whether the filter lifetime has expired or not | Air Purifier, Humidifier |
| filterPresent | Switch | Indicates the presence of an air filter | Air Purifier |
| humidifierMode | String | Runmode of Humidifier (OFF, MIN, LOW, MED, HIGH, MAX) | Humidifier |
| desiredHumidity | Number | Shows desired humidity in Percent | Humidifier |
| currentHumidity | Number | Shows current humidity in Percent | Humidifier |
| heaterMode | String | Runmode of Heater (OFF, FROSTPROTECT, HIGH, LOW, ECO) | Heater |
| currentTemp | Number | Shows current temperature | Heater |
| targetTemp | Number | Shows target temperature | Heater |
| autoOffTime | DateTime | Time when the heater switches off | Heater |
| heatingRemaining | Number | Shows the remaining heating time | Heater |
2020-09-21 01:58:32 +02:00
## Full Example
demo.things:
2023-04-11 12:54:54 +02:00
```java
2020-09-21 01:58:32 +02:00
wemo:socket:Switch1 "DemoSwitch" @ "Office" [udn="Socket-1_0-221242K11xxxxx"]
wemo:motion:Sensor1 "MotionSensor" @ "Entrance" [udn="Sensor-1_0-221337L11xxxxx"]
2022-04-02 12:46:26 +02:00
wemo:insight:Insight1 "Insight" @ "Attic" [udn="Insight-1_0-xxxxxxxxxxxxxx", currentPowerSlidingSeconds=120, currentPowerDeltaTrigger=2]
2020-09-21 01:58:32 +02:00
Bridge wemo:bridge:Bridge-1_0-231445B010xxxx [udn="Bridge-1_0-231445B010xxxx"] {
MZ100 94103EA2B278xxxx "DemoLight1" @ "Living" [ deviceID="94103EA2B278xxxx" ]
MZ100 94103EA2B278xxxx "DemoLoght2" @ "Living" [ deviceID="94103EA2B278xxxx" ]
}
```
demo.items:
2023-04-11 12:54:54 +02:00
```java
2020-09-21 01:58:32 +02:00
// Switch
Switch DemoSwitch { channel="wemo:socket:Switch1:state" }
// Lightswitch
Switch LightSwitch { channel="wemo:lightswitch:Lightswitch1:state" }
// Motion
Switch MotionSensor { channel="wemo:Motion:Sensor1:motionDetection" }
DateTime MotionDetected { channel="wemo:Motion:Sensor1:lastMotionDetected" }
// Insight
Switch InsightSwitch { channel="wemo:insight:Insight-1_0-xxxxxxxxxxxxxx:state" }
2021-09-08 20:36:03 +02:00
Number:Power InsightPower { channel="wemo:insight:Insight-1_0-xxxxxxxxxxxxxx:currentPower" }
2020-09-21 01:58:32 +02:00
Number InsightLastOn { channel="wemo:insight:Insight-1_0-xxxxxxxxxxxxxx:lastOnFor" }
Number InsightToday { channel="wemo:insight:Insight-1_0-xxxxxxxxxxxxxx:onToday" }
Number InsightTotal { channel="wemo:insight:Insight-1_0-xxxxxxxxxxxxxx:onTotal" }
// LED Bulbs
Switch LED1 { channel="wemo:MZ100:Bridge-1_0-231445B010xxxx:94103EA2B278xxxx:brightness" }
Dimmer dLED1 { channel="wemo:MZ100:Bridge-1_0-231445B010xxxx:94103EA2B278xxxx:brightness" }
Switch LED2 { channel="wemo:MZ100:Bridge-1_0-231445B010xxxx:94103EA2B278xxxx:brightness" }
Dimmer dLED2 { channel="wemo:MZ100:Bridge-1_0-231445B010xxxx:94103EA2B278xxxx:brightness" }
// DimmerSwitch
Switch DimmerSwitch { channel="wemo:dimmer:Dimmer-1_0-231445B010xxxx:brightness" }
Dimmer dDimmerSwitch { channel="wemo:dimmer:Dimmer-1_0-231445B010xxxx:brightness" }
Number DimmerSwitchFaderTime { channel="wemo:dimmer:Dimmer-1_0-231445B010xxxx:faderCountDownTime" }
Switch DimmerSwitchFaderOn { channel="wemo:dimmer:Dimmer-1_0-231445B010xxxx:faderEnabled" }
Switch DimmerSwitchTimer { channel="wemo:dimmer:Dimmer-1_0-231445B010xxxx:timerStart" }
Switch DimmerNightMode { channel="wemo:dimmer:Dimmer-1_0-231445B010xxxx:nightMode" }
Dimmer NightModeBrightness { channel="wemo:dimmer:Dimmer-1_0-231445B010xxxx:nightModeBrightness" }
DateTime NightModeStart { channel="wemo:dimmer:Dimmer-1_0-231445B010xxxx:startTime" }
DateTime NightModeEnd { channel="wemo:dimmer:Dimmer-1_0-231445B010xxxx:endTime" }
// CoffeMaker
Switch CoffeSwitch { channel="wemo:coffee:Coffee-1_0-231445B010xxxx:state" }
String CoffeMode { channel="wemo:coffee:Coffee-1_0-231445B010xxxx:coffeeMode" }
Number CoffeModeTime { channel="wemo:coffee:Coffee-1_0-231445B010xxxx:modeTime" }
Number CoffeModeRemaining { channel="wemo:coffee:Coffee-1_0-231445B010xxxx:timeRemaining" }
Switch CoffeWater { channel="wemo:coffee:Coffee-1_0-231445B010xxxx:waterLevelReached" }
Switch CoffeCleanAdvicse { channel="wemo:coffee:Coffee-1_0-231445B010xxxx:cleanAdvise" }
Switch CoffeFilterAdvicse { channel="wemo:coffee:Coffee-1_0-231445B010xxxx:filterAdvise" }
DateTime CoffeLastCleaned { channel="wemo:coffee:Coffee-1_0-231445B010xxxx:lastCleaned" }
// Crockpot
String crockpotMode { channel="wemo:crockpot:Crockpot-1_0-231445B010xxxx:cookMode" }
Number warmCookTime { channel="wemo:crockpot:Crockpot-1_0-231445B010xxxx:warmCookTime" }
Number lowCookTime { channel="wemo:crockpot:Crockpot-1_0-231445B010xxxx:lowCookTime" }
Number highCookTime { channel="wemo:crockpot:Crockpot-1_0-231445B010xxxx:highCookTime" }
Number cookedTime { channel="wemo:crockpot:Crockpot-1_0-231445B010xxxx:cookedTime" }
// Air Purifier
String airMode { channel="wemo:purifier:AirPurifier-1_0-231445B010xxxx:airMode" }
String airQuality { channel="wemo:purifier:AirPurifier-1_0-231445B010xxxx:airQuality" }
Switch ionizer { channel="wemo:purifier:AirPurifier-1_0-231445B010xxxx:ionizer" }
Number filterLife { channel="wemo:purifier:AirPurifier-1_0-231445B010xxxx:filterLife" }
Switch filterExpired { channel="wemo:purifier:AirPurifier-1_0-231445B010xxxx:filterExpired" }
Switch filterPresent { channel="wemo:purifier:AirPurifier-1_0-231445B010xxxx:filterPresent" }
// Humidifier
String humidifierMode { channel="wemo:humidifier:Humidifier-1_0-231445B010xxxx:humidifierMode" }
Number desiredHumidity { channel="wemo:humidifier:Humidifier-1_0-231445B010xxxx:desiredHumidity" }
Number currentHumidity { channel="wemo:humidifier:Humidifier-1_0-231445B010xxxx:currentHumidity" }
Number filterLife { channel="wemo:humidifier:Humidifier-1_0-231445B010xxxx:filterLife" }
Switch filterExpired { channel="wemo:humidifier:Humidifier-1_0-231445B010xxxx:filterExpired" }
String waterLevel { channel="wemo:humidifier:Humidifier-1_0-231445B010xxxx:waterLevel" }
// Heater
String heaterMode { channel="wemo:heater:HeaterB-1_0-231445B010xxxx:heaterMode" }
Number currentTemp { channel="wemo:heater:HeaterB-1_0-231445B010xxxx:currentTemp" }
Number targetTemp { channel="wemo:heater:HeaterB-1_0-231445B010xxxx:targetTemp" }
DateTime autoOffTime { channel="wemo:heater:HeaterB-1_0-231445B010xxxx:autoOffTime" }
String heaterRemaining { channel="wemo:heater:HeaterB-1_0-231445B010xxxx:heaterRemaining" }
```
demo.sitemap:
2023-04-11 12:54:54 +02:00
```perl
2020-09-21 01:58:32 +02:00
sitemap demo label="Main Menu"
{
Frame {
// Switch
Switch item=DemoSwitch
2024-09-28 17:46:53 +02:00
2020-09-21 01:58:32 +02:00
// LightSwitch
Switch item=LightSwitch
2024-09-28 17:46:53 +02:00
2020-09-21 01:58:32 +02:00
// Motion
Switch item=MotionSensor
Text item=MotionSensorLastChanged icon="clock"
2024-09-28 17:46:53 +02:00
2020-09-21 01:58:32 +02:00
// Insight
Switch item=InsightSwitch
Number item=InsightPower
Number item=InsightLastOn
Number item=InsightToday
Number item=InsightTotal
2024-09-28 17:46:53 +02:00
2020-09-21 01:58:32 +02:00
// LED Bulb
Switch item=LED1
Slider item=dLED1
Switch item=LED2
Slider item=dLED2
2024-09-28 17:46:53 +02:00
2020-09-21 01:58:32 +02:00
//DimmerSwitch
Switch item=DimmerSwitch
Slider item=dDimmerSwitch
Number item=DimmerSwitchFaderTime
Switch item=DimmerSwitchFaderOn
Switch item=DimmerSwitchTimer
Switch item=DimmerNightMode
Slider item=NightModeBrightness
Text item=NightModeStart
Text item=NightModeEnd
2024-09-28 17:46:53 +02:00
2020-09-21 01:58:32 +02:00
// CoffeMaker
Switch item=CoffeSwitch
Text item=CoffeMode
Number item=CoffeModeTime
Number item=CoffeModeRemaining
Switch item=CoffeWater
Switch item=CoffeCleanAdvicse
Switch item=CoffeFilterAdvicse
DateTime item=CoffeLastCleaned
// CrockPot
Switch item=crockpotMode label="Cooking Mode" mappings=[OFF="OFF", WARM="Warm", LOW="Low", HIGH="High"]
Number item=warmCookTime
Number item=lowCookTime
Number item=highCookTime
Number item=cookedTime
// Air Purifier
Switch item=airMode label="Cooking Mode" mappings=[OFF="OFF", LOW="Low", MED="Med", HIGH="High", AUTO="Auto"]
Text item=airQuality
Switch item=ionizer
Number item=filterLive
Switch item=filterExpired
Switch item=filterPresent
// Humidifier
2021-08-22 11:58:38 +02:00
Switch item=humidifierMode label="Humidity Mode" mappings=[OFF="OFF", MIN="Min", LOW="Low", MED="Med", HIGH="High", MAX="Max"]
2020-09-21 01:58:32 +02:00
Number item=desiredHumidity
Number item=currentHumidity
Number item=filterLive
Switch item=filterExpired
// Heater
Switch item=heaterMode label="Heater Mode" mappings=[OFF="OFF", FROSTPROTECT="FrostProtect", HIGH="High", LOW="Low", ECO="Eco"]
Number item=currentTemp
Setpoint item=targetTemp
Text item=autoOffTime
Number item=heaterRemaining
}
}
```