A Wemo Platform Plugin for Homebridge
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.



npm package

donate Slack Channel

Belkin WeMo Platform plugin for the awesome Homebridge project.

Currently supports

  • Wemo Switch
  • Wemo Light Switch
  • Wemo Dimmer (As Light Switch, no dimming)
  • Wemo Insight Switch
  • Wemo Bulb (via Wemo Link - on/off/brightness)
  • Wemo Maker (as Garage Door Opener or Switch with Contact Sensor)
  • Wemo Motion
  • Wemo NetCam (Sensor)


  1. Install homebridge using: npm install -g homebridge
  2. Install this plugin using: npm install -g homebridge-platform-wemo
  3. Update your configuration file. See the sample below.


Recently refactored to increase speed of operation and update on/off/brightness status more reliably.

  1. npm update -g homebridge-platform-wemo


Configuration sample:

   "platforms": [
           "platform": "BelkinWeMo",
           "name": "WeMo Platform"

Optional parameters:

noMotionTimer is optional, defaults to 60 and applies to WeMo Motion only. It is a timer in seconds for how long after motion is not detected that the state is changed.

doorOpenTimer is optional, defaults to 15 and applies to WeMo Maker only (Garage Door Opener mode). The time in seconds for how long it takes the garage door to open. It is used to generate the Open state after the door has been requested to Open, due to only having one input. If Sensor is set to No in the WeMo app, the time is also used to generate the Closed state (Not Recommended)

ignoredDevices is optional. Expects an array of serial numbers, any devices found with matching serial numbers will be skipped or removed from Homebridge

manualDevices is optional. Expects an array of device setup urls (eg. "") to be configured manually outside the device discovery process

discovery is optional, defaults to true. A way to disable device discovery if not required

wemoClient is optional. Expects an object of initialisation parameters to be passed to wemo-client.

   "platforms": [
           "platform": "BelkinWeMo",
           "name": "WeMo Platform",
           "noMotionTimer": 60,
           "ignoredDevices": [],
           "manualDevices": [],
           "discovery": true,
           "wemoClient": {         // this is an example, please don't copy and paste this.
               port: 1234,
               discover_opts: {
                   unicastBindPort: 1235
               listen_interface: 'wlan0'


Credit goes to


Published under the MIT License.