# Belkin WeMo Binding
This binding integrates the Belkin WeMo Family (opens new window). Integration happens either through the WeMo Link bridge, which acts as an IP gateway to Zigbee devices, or through Wi-Fi connection to standalone devices.
# Supported Things
The WeMo binding supports the Socket, Outdoor Plug, Insight, Light Switch, Motion, Dimmer, Coffee Maker and Maker devices, as well as the WeMo Link bridge with WeMo LED bulbs. The binding also supports the Crock-Pot Smart Slow Cooker, Mr. Coffee Smart Coffee Maker, Holmes Smart Air Purifier, Holmes Smart Humidifier, and Holmes Smart Heater.
# Discovery
WeMo devices are discovered through UPnP discovery service in the network. Devices will appear in the Inbox and can be easily added as Things.
# Binding Configuration
The binding does not need any configuration.
# Thing Configuration
For manual Thing configuration, you need to know the UDN of a WeMo device. It can be obtained most easily by performing auto-discovery before configuring the Thing manually.
Most devices share the udn configuration parameter:
| Configuration Parameter | Description |
|---|---|
| udn | The UDN identifies the WeMo device |
# WeMo LED Light
For LED lights paired to a WeMo Link bridge, use the following configuration parameter:
| Configuration Parameter | Description |
|---|---|
| deviceID | The device ID identifies one certain WeMo light |
# WeMo Insight Switch
The WeMo Insight Switch has some additional parameters for controlling the behavior of the currentPower channel.
This channel reports the current power consumption in watts.
The internal theoretical accuracy is 5 mW (three decimals).
These raw values are reported with high frequency; often multiple updates occur within a single second.
For example, the sequence 40.440 W, 40.500 W and 40.485 W would result in the channel being updated with values rounded to the nearest integer: 40 W, 41 W and 40 W, respectively.
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 uses a one-minute default period. This is combined with a delta trigger value, which defaults to 1 W. This means the channel is updated only when one of the following conditions is met:
- 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 it prevents excessive logging and persistence caused by temporary small changes and rounding.
- The rounded value received is more than 1 W different from the previous value. When changes occur quickly, the channel is updated immediately.
| 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 watts) |
The moving average calculation can be disabled by setting either currentPowerSlidingSeconds or currentPowerDeltaTrigger to 0.
This causes the channel to be updated the same way as in openHAB versions prior to 3.3.
# Channels
Devices support some of the following channels:
| Channel Type | Item Type | Description | Available on Thing |
|---|---|---|---|
| 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, Air Purifier and Humidifier |
| lastChangedAt | DateTime | Date and time the device was last turned on or off. | 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 in total. | Insight |
| timespan | Number | Time in seconds over which onTotal applies. Typically 2 weeks, except when 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 |
| currentPowerRaw | Number:Power | Current power consumption of an Insight device with full precision (5 mW accuracy, three decimals; 0 if switched off). | Insight |
| energyToday | Number:Energy | Energy in watt-hours used today. | Insight |
| energyTotal | Number:Energy | Energy in watt-hours used in total. | Insight |
| standbyLimit | Number:Power | Minimum energy draw in watts to register device as switched on (default 8 W, 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. | Coffee Maker |
| modeTime | Number | Current amount of time, in minutes, that the Coffee Maker has been in the current mode. | Coffee Maker |
| timeRemaining | Number | Remaining brewing time of a WeMo Coffee Maker. | Coffee Maker |
| waterLevelReached | Switch | Indicates if the WeMo Coffee Maker needs to be refilled. | Coffee Maker |
| cleanAdvise | Switch | Indicates if a WeMo Coffee Maker needs to be cleaned. | Coffee Maker |
| filterAdvise | Switch | Indicates if a WeMo Coffee Maker needs the filter changed. | Coffee Maker |
| brewed | DateTime | Date/time the Coffee Maker last completed brewing coffee. | Coffee Maker |
| lastCleaned | DateTime | Date/time the Coffee Maker last completed cleaning. | Coffee Maker |
| brightness | Number | Brightness of a WeMo LED or Dimmer Switch. | LED, Dimmer Switch |
| faderCountDownTime | Number | Dimmer fading duration time in minutes. | Dimmer Switch |
| faderEnabled | Switch | Switch the fader ON/OFF. | Dimmer Switch |
| timerStart | Switch | Switch the fading timer ON/OFF. | Dimmer Switch |
| nightMode | Switch | Switch the night mode ON/OFF. | Dimmer Switch |
| startTime | DateTime | Time when the night mode starts. | Dimmer Switch |
| endTime | DateTime | Time when the night mode ends. | Dimmer Switch |
| nightModeBrightness | Number | Brightness used in night mode. | Dimmer Switch |
| cookMode | String | Shows the operation mode of a WeMo Crock-Pot (OFF, WARM, LOW, HIGH). | Crock-Pot |
| warmCookTime | Number | Shows the timer settings for warm cooking mode. | Crock-Pot |
| lowCookTime | Number | Shows the timer settings for low cooking mode. | Crock-Pot |
| highCookTime | Number | Shows the timer settings for high cooking mode. | Crock-Pot |
| cookedTime | Number | Shows the elapsed cooking time. | Crock-Pot |
| purifierMode | String | Run mode 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. | Air Purifier, Humidifier |
| filterPresent | Switch | Indicates the presence of an air filter. | Air Purifier |
| humidifierMode | String | Run mode 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 | Run mode 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 |
# Full Example
demo.things:
wemo:socket:Switch1 "DemoSwitch" @ "Office" [udn="Socket-1_0-221242K11xxxxx"]
wemo:motion:Sensor1 "MotionSensor" @ "Entrance" [udn="Sensor-1_0-221337L11xxxxx"]
wemo:insight:Insight1 "Insight" @ "Attic" [udn="Insight-1_0-xxxxxxxxxxxxxx", currentPowerSlidingSeconds=120, currentPowerDeltaTrigger=2]
Bridge wemo:bridge:Bridge-1_0-231445B010xxxx [udn="Bridge-1_0-231445B010xxxx"] {
MZ100 94103EA2B278xxxx "DemoLight1" @ "Living" [ deviceID="94103EA2B278xxxx" ]
MZ100 94103EA2B278xxxx "DemoLight2" @ "Living" [ deviceID="94103EA2B278xxxx" ]
}
demo.items:
// 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" }
Number:Power InsightPower { channel="wemo:insight:Insight-1_0-xxxxxxxxxxxxxx:currentPower" }
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" }
// Coffee Maker
Switch CoffeeSwitch { channel="wemo:coffee:Coffee-1_0-231445B010xxxx:state" }
String CoffeeMode { channel="wemo:coffee:Coffee-1_0-231445B010xxxx:coffeeMode" }
Number CoffeeModeTime { channel="wemo:coffee:Coffee-1_0-231445B010xxxx:modeTime" }
Number CoffeeModeRemaining { channel="wemo:coffee:Coffee-1_0-231445B010xxxx:timeRemaining" }
Switch CoffeeWater { channel="wemo:coffee:Coffee-1_0-231445B010xxxx:waterLevelReached" }
Switch CoffeeCleanAdvise { channel="wemo:coffee:Coffee-1_0-231445B010xxxx:cleanAdvise" }
Switch CoffeeFilterAdvise { channel="wemo:coffee:Coffee-1_0-231445B010xxxx:filterAdvise" }
DateTime CoffeeLastCleaned { 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:
sitemap demo label="Main Menu"
{
Frame {
// Switch
Switch item=DemoSwitch
// LightSwitch
Switch item=LightSwitch
// Motion
Switch item=MotionSensor
Text item=MotionSensorLastChanged icon="clock"
// Insight
Switch item=InsightSwitch
Number item=InsightPower
Number item=InsightLastOn
Number item=InsightToday
Number item=InsightTotal
// LED Bulb
Switch item=LED1
Slider item=dLED1
Switch item=LED2
Slider item=dLED2
//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
// Coffee Maker
Switch item=CoffeeSwitch
Text item=CoffeeMode
Number item=CoffeeModeTime
Number item=CoffeeModeRemaining
Switch item=CoffeeWater
Switch item=CoffeeCleanAdvise
Switch item=CoffeeFilterAdvise
DateTime item=CoffeeLastCleaned
// 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
Switch item=humidifierMode label="Humidity Mode" mappings=[OFF="OFF", MIN="Min", LOW="Low", MED="Med", HIGH="High", MAX="Max"]
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
}
}