Categories: Home Automation

Fix Your Smart Home – Stop Tasmota Devices From Switching Randomly

Lights Mysteriously Turning On ?

While working on fixing my KuLED light switches from magically but unexpectedly switching on, I found this great post and video from The Hookup regarding how to stop Wifi switches flashed with Tasmota open source firmware from seemingly being switched on by ghosts.

Me when my lights unexpectedly turned on at 2 AM in the morning.

MQTT Retain Settings

As Rob explains, most of the time this random switching is caused by MQTT retain commands that are not in sync between your hub (e.g., Home Assistant) and the Tasmota device.

A Ghostly Example

Rob gives a common example of the problem:

  1. Turn on your device using Home Assistant.
  2. Turn it off using the physical switch.
  3. Unplug the device, wait 10 seconds, and plug it back into the wall.
  4. Wait and see if the device turns back on.

I tried this on a Sonoff-modified desk lamp that was experiencing the random switching. After following the steps I re-plugged it into the wall, and after about 2 seconds it turned back on exhibiting this “ghostly” behavior.

Fix Your Retain Settings

The fix for 90% of cases is the following (for a detailed explanation and coverage of some specific use cases see The Hookup’s post)

    Change Retain to False in Your Home Assistant Configuration File

  1. Add “retain:false” to each of your Tasmota device switches in your Home Assistant configuration.yaml file.

    Change Retain Related Settings in the Tasmota Console of Each Device

  2. In your browser, navigate to the internal ip of your Tasmota device (e.g., 192.168.X.X, click on “Console”).

  3. Type in the following command (this is a one-line backlog command that combines the various commands that The Hookup provides):
    Backlog switchretain off; buttonretain on; buttonretain off; PowerOnState 3; PowerRetain on;

    as shown below:

  4. Restart Home Assistant

  5. On one of my devices, I also had to delete the Tasmota device from my Home Assistant integration (Configuration->Integrations->Tasmota) before restarting Home Assistant.
  6. Delete Your MQTT Topics

    In addition to the above steps, I also had to use Mqtt Explorer (an excellent free MQTT client available in the Windows store) to delete the MQTT retain messages manually. Instead of hunting all the relevent topics down, I decided to delete ALL the MQTT topics held by the broker as all my devices will simply recreate them (your setup may be different or there might be historical data that you don’t want to lose so you may want to think a little before deleting all your topics).

    Without deleting the MQTT retain messages, my devices were turning OFF on a reconnect if the WiFi disconnected. If you watch Rob’s video he explains how the broker will keep MQTT retain messages forever unless they are manually deleted. The switchretain/buttonretain Tasmota commands in the second step above are intended to do that but they didn’t work for my KULED switches.

If the above doesn’t work for you, you probably have an incorrect value in one of your Tasmota settings. Try setting the Tasmota device back to its defaults and then configure your Tasmota from scratch. Then try the above again.

Charlie

Recent Posts

Using WP-CLI to Access MySQL Running in A LAMP Docker Container

WP-CLI is a great command line tool to help you manage Wordpress. I had trouble…

3 months ago

Dunzip – Download and Unzip in Linux With One Command

Tired of downloading zip or tar files, decompressing, and then having to delete the compressed…

3 months ago

Backing Up an SD Card or Hard Drive to A VHD File (Virtual Hard Disk)

  The Microsoft Virtual Hard Disk - An Ideal Backup Image Format Microsoft's Virtual Hard…

4 months ago

Ultimate Ad-Free Browsing

Browser getting cluttered with Ads ? Want to achieve a nearly total ad-free browsing experience…

9 months ago

How to Monitor Your Home Remotely With Skype

Want to peek in on your dog ? Have an elderly parent or friend that…

9 months ago

Freedom from Ads with Pi-Hole and Macvlan

Block Ads to Your Entire Network Using Pi-Hole Pi-Hole is a fantastic ad-blocking software that…

10 months ago