A Home Assistant custom component to control Sonoff smart devices with original eWeLink firmware over LAN and/or cloud.
SonoffLAN is a custom integration for Home Assistant that allows users to control Sonoff smart devices—like switches, sensors, and power monitors—directly from their home automation setup. It connects to devices using their original eWeLink firmware over local network (LAN) and/or cloud, solving the problem of vendor lock-in without requiring firmware modifications.
Home Assistant users who own Sonoff devices and want to integrate them into their local smart home ecosystem while retaining stock firmware features.
Developers choose SonoffLAN because it provides reliable, dual-protocol access to Sonoff hardware without the complexity and risk of flashing custom firmware, offering seamless integration with Home Assistant's automation capabilities.
Control Sonoff Devices with eWeLink (original) firmware over LAN and/or Cloud from Home Assistant
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Simultaneously uses LAN and cloud connections, with auto mode switching for fallback, ensuring device availability even when local networks are unstable.
Works with stock eWeLink firmware, eliminating the risk and effort of installing custom firmware like Tasmota while retaining manufacturer features.
Controls a wide range of Sonoff devices, including switches, power monitors, temperature sensors, RF bridges, and cameras, as documented in DEVICES.md.
Provides instant device status changes through local multicast or cloud WebSocket connections, enabling responsive home automation.
The README admits that local connections can be unreliable, with devices sometimes disappearing from the network or failing to respond, requiring cloud fallback.
Starting in 2026, power sensors won't update via cloud, and some devices like THR316D/THR320D require cloud for thermostat control, limiting offline functionality.
Requires proper multicast (mDNS/zeroconf) configuration, which can be problematic in Docker, VMs, or with certain routers, as highlighted in common issues.