Skip to content

tbaur/homebridge-myleviton

homebridge-myleviton

Tests npm version npm downloads Node.js Homebridge License

Control your My Leviton Decora Smart WiFi devices through Apple HomeKit using Homebridge.

Features

Device Control

  • Automatic Discovery — Instantly finds all devices from your My Leviton account
  • Full Dimmer Support — On/off and brightness control (1-100%)
  • Fan Speed Control — 4-speed fan controllers (25/50/75/100%)
  • Switches & Outlets — On/off control for all switch and outlet types
  • Motion Sensors — D2MSD motion dimmers expose both dimmer and motion sensor

Reliability

  • Real-Time Updates — Instant state sync via WebSocket
  • Automatic State Sync — Polls device state every 30 seconds as safety net
  • Rate Limiting — Prevents API throttling (300 requests/minute)
  • Circuit Breaker — Graceful degradation during API outages
  • Auto-Reconnect — Automatically recovers from connection issues
  • State Persistence — Faster startup with cached device data
  • Token Auto-Refresh — Seamless authentication management

Quality

  • 400+ Tests — Comprehensive test suite with 95%+ code coverage
  • Child Bridge Support — Run as isolated bridge for maximum stability
  • Flexible Logging — Debug, info, warn, error levels + JSON structured logs
  • No Analytics — Zero tracking or data collection
  • Well Documented — Detailed docs for users and developers

Quick Start

1. Install

Homebridge UI (recommended):
Plugins → Search homebridge-myleviton → Install

Command line:

npm install -g homebridge-myleviton

2. Configure

Add to your Homebridge config:

{
  "platforms": [
    {
      "platform": "MyLevitonDecoraSmart",
      "name": "My Leviton",
      "email": "[email protected]",
      "password": "yourpassword"
    }
  ]
}

3. Restart Homebridge

Your devices will appear in the Home app automatically.

Supported Devices

Type Examples
Dimmers DW6HD, D26HD, DW1KD, DW3HL, D23LP, DWVAA, D2ELV, D2710
Switches DW15S, D215S
Outlets DW15P, DW15A, DW15R, D215P, D215O
Fans DW4SF, D24SF
Motion Dimmers D2MSD

Configuration Options

name is required by Homebridge UI and identifies this plugin instance in logs (defaults to "My Leviton").

Option Required Description
name Plugin instance name shown in Homebridge logs
email My Leviton account email
password My Leviton account password
loglevel debug, info (default), warn, error
pollInterval Seconds between state updates (default: 30)
connectionTimeout API/WebSocket timeout in ms (default: 10000)
excludedModels Device models to skip, e.g. ["DW15P"]
excludedSerials Device serials to skip
structuredLogs Output logs as JSON for log aggregation tools

Not Working?

  1. Check credentials — Must match the My Leviton app exactly
  2. Check device status — Devices must be online in My Leviton app
  3. Enable debug logs — Set "loglevel": "debug" and restart
  4. Restart Homebridge — Required after any config change

Requirements

  • Homebridge 1.6.0+ or 2.0+
  • Node.js 20+
  • My Leviton account with registered devices

More Info

License

Copyright 2026 tbaur

Licensed under the Apache License, Version 2.0. See LICENSE file for details.