Shelly 1 with Custom Tasmota Firmware

Overview

In this tutorial we will see how to flash a Shelly 1 with Tasmota and set it up with Home Assistant

Things you will need
  • Windows Computer 
  • USB to Serial Converter (amazon)
  • Shelly 1 (amazon)
  • GPIO male to female jumpers, or cut some small paperclips to use the ones that come with the USB to Serial Converter
  • Flashing tool (link)
    • Scroll down to the "Assets" dropdown menu and download a file that looks like: "ESPEasy_ESP32_mega-20??????.zip"
  • Tasmota firmware file (link)
    • Download the latest Tasmota file. It should look like: "tasmota.bin"
Steps
  1. Change the jumper on the Shelly 1 from AC to DC. AC is the factory setting. This is important otherwise you can fry your Shelly 1 or anything connected to it.
  2. Connect your GPIO wires according to the table:
    USB to Serial Adapter Shelly 1

    VCC

    3.3V
    GND GND
    TX TXD
    RX RXD
      GPIO0 (for flashing mode)
  3.  Put the switch on the Shelly 1 to v5
  4. While plugging in your Serial Adapter into your computer, simultaneously connect the GPIO0 wire from the Shelly 1 to the GND terminal on the Serial Adapter. There is a small amount of bare metal exposed for the GND terminal that you can touch.
  5. Hold the GPIO0 to the GND for 10 seconds. This will put the Shelly 1 in flashing mode. Note: no lights or any other indication will let your know that it is infact in flashing mode. 
  6.  Unzip the flashing tool downloaded earlier and open the folder
  7. Copy and paste the "tasmota.bin" file into the root directory of the flashing tool software.
  8. Launch the program: "FlashESP8266.exe"
  9. On your computer go into your "Device Manager"
    1. Windows XP & 7: Click on the start menu -> right click "Computer" -> click on "Manage" -> click on "Device Manager" -> click on "Ports (COM & LPT)
  10. Take note of what COM port your Serial Adapter is on.
  11. Go back to the flashing tool and select the correct COM port
  12. Select the firmware bin file that your downloaded 
  13. Click "Flash"
  14. A command prompt will popup. Do not unplug anything.
  15. After about 1-2 minutes it will say it has completed. Close the program.
  16. Unplug the serial adapter and then plug it back in to get the Shelly 1 out of flashing mode.
  17. On your computer, go to your available WiFi networks, you should see one called "tasmota xxxxxx", connect to it. 
    1. You may have to unplug and plug the Serial Adapter back in a couple times. It may take 1-2 minutes for the new Wifi network to appear. 
    2. If you do not see the Wifi network after some time, see if you can view it from another device. If your still cannot with another device, then the Shelly 1 may not have flashed. Re-check your wires and start back at step #4.
  18. After connecting to the new Wifi network a splash screen will pop up. Type in your Wifi SSID and password to tell the Shelly to connect to your home network.
  19. After your Shelly 1 reboots, look in your routers DHCP list and find the ip address that it is connected too. If you cannot access your router's DHCP list you may try some free software that allows you to view devices on your network:
    1. Windows (MyLanViewer)
    2. MacOs (LanScan)
  20. Once your find the ip address type it into your browser, you should be taken to a Tasmota configuration webpage
  21. Click on "Configuration" -> click on "Configure Module"
  22. From the dropdown menu select "Shelly 1" -> click "Save" and your device will reboot.
  23. If you do not have a MQTT Broker setup, visit this simple tutorial to set one up and then proceed to the next step (Setup a MQTT Broker)
  24. Switch over to your Home Assistant webpage and navigate to "Configuration" -> "Integrations"
  25. Click on the "+ Add Integration" and find the "Tasmota" integration and install it. 
  26. Click "submit" -> "Finish"