How to install Sonoff LAN on Home Assistant

In the past, if you wanted to get your Sonoff devices working with Home Assistant, then you would have no choice but to flash them with custom firmware such Tasmota. However, with the development of the Sonoff LAN integration for Home Assistant (by AlexxIT), you are now able to use most of your existing Sonoff devices with Home Assistant without custom firmware such as Tasmota.

The Sonoff LAN integration into Home Assistant allows your Home Assistant setup to interface directly with your Sonoff devices over your local area network (LAN Mode) without routing though the eWeLink servers. This means that your Sonoff devices will work over your local area network even if you don’t have a working internet connection. You will however still need to pair your Sonoff devices with the eWeLink app during the initial setup. After that is done though, you can block access to the eWeLink services in your router (if you have privacy concerns) and your Sonoff devices will continue to function though Home Assistant. I chose not to block access to the eWeLink servers as I do use the app from time to time.

For the full list of supported Sonoff devices, visit the AlexxIT GitHub page.

Sonoff LAN: Step-by-step installation instructions

The best way to install the Sonoff Lan integration is via the Installing the Home Assistant Community Store (HACS). HACS works by pulling custom integrations, plugins and themes off the GitHub repositories in which they are stored. It then cleverly manages the installation and updates of these custom integrations, plugins and themes via a nice GUI. So, before we install Sonoff lan, we will need to setup Home Assistant Community Store (HACS).

Installing the Home Assistant Community Store (HACS)

Step 1: Downloading hacs.zip from GitHub

Go to the HACS GitHub repository in the link below and download the repository hacs.zip file at the bottom of the page under the ‘Assets’ heading: https://github.com/hacs/integration/releases/latest

Step 2: Extracting the hacs.zip file

Extract the hacs.zip file to give you a hacs folder with the following files.

HACS extracted folder

Step 3: Copying the hacs folder to Home Assistant

Now you need to copy the hacs folder (from the extracted hacs.zip) and paste it into the custom_components folder in your Home Assistant setup. If you don’t already have a custom_components folder in your Home Assistant folder, then you can just create it yourself.

Now restart your Home Assistant server

I use the ‘Samba share’ Official add-on which creates a network drive of my Home Assistant config directory. This makes it really easy to copy files from your PC to your Home Assistant setup.

Home Assistant custom_components folder

Step 4: Creating a GitHub Token

HACS programatically interfaces with GitHub in order to manage the installation and updates of these custom integrations, plugins and themes via a nice GUI. To do this HACS needs a GitHub Token to be generated to that your Home Assistant server can issue commands to GitHub.

To Generate a GitHub token, create a GitHub account if you don’t already have one and then open Settings, Developer settings, Personal access tokens or just clock on the following URL: https://github.com/settings/tokens

Next you will need to click on the ‘Generate new token’ button, name your token and then click the ‘Generate token’ button at the bottom of the page.

Then make a copy of the token that is generated. Don’t loose this as the taken will only be shown to you once on this screen.

Generating a new personal access token on GitHub

Step 5: Adding the HACS Integration

To setup the HACS integration, open up your Home Assistant , click on Configuration, Integrations and then the big orange + button in the bottom right of the screen. Search for HACS, click on HACS (Home Assistant Community Store) and then open the configuration screen.

Now, simply paste in your GitHub access token from Step 4, select the check boxes in the configuration screen and click the submit button.

Once complete, you will notice that HACS will appear in your Home Assistant menu bar. Then just wait for HACS to update all the repositories associated with Home Assistant. Once that is complete, just read the onboarding screens.

Great HACS video guide by DrZzs

Installing Sonoff LAN in HACS

Now that you have the HACS integration installed, you can make a start installing Sonoff LAN.

Step 1: Searching for the Sonoff LAN integration in HACS

Click on HACS in the Home Assistant menu bar, then click on Integrations in the top menu and search for Sonoff. This will display the Sonoff LAN integration. Click on this to open Sonoff LAN.

Sonoff LAN in HACS

Step 2: Install Sonoff LAN integration

Next, click on install to install Sonoff LAN on your Home Assistant server.

Step 3: Updating your Configuration file

Next you will need to update your Home Assistant configuration.yaml file to include the following lines. This configuration allow the Sonoff LAN integration to login to your eWeLink account and retrieve all of your Sonoff devices. The parameter ‘reload: always’ will reload Sonoff devices every time you restart Home Assistant and ‘reload: once’ will only load Sonoff devices the first time you start the Sonoff LAN integration.

# Unflashed SONOFF devices
  username: !secret sonoff_username
  password: !secret sonoff_password
  reload: always
Configuring Sonoff LAN in the configuration.yaml

Step 4: Restart Home Assistant and search for Sonoff devices

Restart Home Assistant and search for Sonoff devices on your Home Assistant, Developer Tools, States. You should see a list of all of your Sonoff devices 🙂

Sonoff LAN devices

Great Sonoff LAN video guide by DrZzs

Recent Posts