Alternative firmware for ESP based devices like iTead Sonoff with web, timers, 'Over The Air' (OTA) firmware updates and sensors support, allowing control under Serial, HTTP, MQTT and KNX, so as to be used on Smart Home Systems. Written for Arduino IDE and PlatformIO.
WESPOTA is fork of Sonoff-Tasmota, which is a great alternative firmware for ESP8255 based devices like iTead Sonoff. While Sonoff-Tasmota is focused vertically to support special devices, WESPOTA is focused on horizontal scalablilty, to support as much devices as possible. Sonoff-Tasmota is used as code base, while I am still a contributor of the project. But with WESPOTA, we can do things, that would normally violate the Sonoff-Tasmota coding policies, set by its founder and core developers. Therefore WESPOTA exists, where for e.g. other devices are supported natively, like LC-Technology boards...
If you like WESPOTA, give it a star, or fork it and contribute!
See RELEASENOTES.md for release information.
In addition to the release webpage the binaries can also be OTA downloaded from https://wespota.verbotene.zone/release/
See RELEASENOTES.md for release information and src/_changelog.ino for detailed change information.
The development codebase is checked hourly for changes and if new commits have been merged and compile successfuly they will be posted at https://wespota.verbotene.zone/ (this web address can be used for OTA too). It is important to note that these are based on the current development codebase and it is not recommended to flash it to devices used in production or which are hard to reach in the event that you need to manually flash the device if OTA failed. The last compiled commit number is also posted on the same page along with the current build status (if a firmware rebuild is in progress).
An ESP or firmware compatible device is not a toy. It may use Mains AC so there is a danger of electrocution if not installed properly. If you don't know how to install it, please call an electrician. Remember: SAFETY FIRST. It is not worth to risk yourself, your family and your home if you don't know exactly what you are doing. Never try to flash a Sonoff device while it is connected to MAINS AC.
We don't take any responsibility nor liability for using this software nor for the installation or any tips, advice, videos, etc. given by any member of this site or any related site.
Download one of the released binaries from https://github.com/VerboteneZone/WESPOTA/releases and flash it to your hardware as documented in the wiki.
If you want to compile WESPOTA yourself keep in mind the following:
- Only Flash Mode DOUT is supported, for now. Do not use Flash Mode DIO / QIO / QOUT as it might seem to brick your device. See Wiki for background information.
- WESPOTA uses a 1M linker script WITHOUT spiffs 1M (no SPIFFS) for optimal code space. If you compile using ESP/Arduino library 2.3.0 then download the provided new linker script to your Arduino IDE or Platformio base folder. Later version of ESP/Arduino library already contain the correct linker script. See Wiki > Prerequisite.
- To make compile time changes to WESPOTA it can use the
user_config_override.h
file. It assures keeping your settings when you download and compile a new version. To useuser_config.override.h
you will have to make a copy of the provideduser_config.override_sample.h
file and add your setting overrides. To enable the override file you will need to use a compile define as documented in theuser_config_override_sample.h
file.
- WESPOTA provides all (Sonoff) modules in one file and starts with module Sonoff Basic.
- Once uploaded select module using the configuration webpage or the commands
Modules
andModule
. - After reboot select config menu again or use commands
GPIOs
andGPIO
to change GPIO with desired sensor.
See Wiki for more information.
See Community for forum.
The following devices are supported:
- iTead Sonoff Basic (R2)
- iTead Sonoff RF
- iTead Sonoff SV
- iTead Sonoff TH10/TH16 with temperature sensor
- iTead Sonoff Dual (R2)
- iTead Sonoff Pow with Energy Monitoring
- iTead Sonoff Pow R2 with Energy Monitoring
- iTead Sonoff 4CH (R2)
- iTead Sonoff 4CH Pro (R2)
- iTead Sonoff S20 Smart Socket
- Sonoff S22 Smart Socket
- iTead Sonoff S26 Smart Socket
- iTead Sonoff S31 Smart Socket with Energy Monitoring
- iTead Slampher
- iTead Sonoff Touch
- iTead Sonoff T1
- iTead Sonoff SC
- iTead Sonoff Led
- iTead Sonoff BN-SZ01 Ceiling Led
- iTead Sonoff B1
- iTead Sonoff iFan02
- iTead Sonoff RF Bridge 433
- iTead Sonoff Dev
- iTead 1 Channel Switch 5V / 12V
- iTead Motor Clockwise/Anticlockwise
- Electrodragon IoT Relay Board
- AI Light or any my9291 compatible RGBW LED bulb
- H801 PWM LED controller
- MagicHome PWM LED controller
- AriLux AL-LC01, AL-LC06 and AL-LC11 PWM LED controller
- Supla device - Espablo-inCan mod. for electrical Installation box
- BlitzWolf BW-SHP2 Smart Socket with Energy Monitoring
- Luani HVIO board
- Wemos D1 mini
- HuaFan Smart Socket
- Hyleton-313 Smart Plug
- Allterco Shelly 1
- Allterco Shelly 2 with Energy Monitoring
- NodeMcu and Ledunia
- ESP01 and based boards, like LC Technology
- KS-602 based switches like GresaTek, Jesiya, NewRice, Lyasi etc
You can contribute to WESPOTA by
- providing Pull Requests (Features, Proof of Concepts, Language files or Fixes)
- testing new released features and report issues
- donating to acquire hardware for testing and implementing or out of gratitude
Libraries used with WESPOTA are:
- ESP8266 core for Arduino
- Adafruit CCS811
- Adafruit ILI9341
- Adafruit LED Backpack
- Adafruit SGP30
- Adafruit SSD1306
- Adafruit GFX
- ArduinoJson
- arduino mqtt
- Bosch BME680
- C2 Programmer
- esp-epaper-29-ws-20171230-gemu
- esp-knx-ip
- I2Cdevlib
- IRremoteEsp8266
- JobaTsl2561
- Liquid Cristal
- MultiChannelGasSensor
- NeoPixelBus
- NewPing
- OneWire
- PubSubClient
- rc-switch
People helping to keep the show on the road:
- David Lang providing initial issue resolution and code optimizations
- Heiko Krupp for his IRSend, HTU21, SI70xx and Wemo/Hue emulation drivers
- Wiktor Schmidt for Travis CI implementation
- Thom Dietrich for PlatformIO optimizations
- Marinus van den Broek for his EspEasy groundwork
- Pete Ba for more user friendly energy monitor calibration
- Lobradov providing compile optimization tips
- Flexiti for his initial timer implementation
- reloxx13 for his TasmoAdmin management tool
- Joachim Banzhaf for his TSL2561 library and driver
- Gijs Noorlander for his MHZ19, SenseAir and updated PubSubClient drivers
- Emontnemery for his HomeAssistant Discovery concept and many code tuning tips
- Aidan Mountford for his HSB support
- Daniel Ztolnai for his Serial Bridge implementation
- Gerhard Mutz for his SGP30, Sunrise/Sunset and display support drivers
- Nuno Ferreira for his HC-SR04 driver
- Adrian Scillato for his (security)fixes and implementing and maintaining KNX
- Gennaro Tortone for implementing and maintaining Eastron drivers
- Raymond Mouthaan for managing Wemos Wiki information
- Norbert Richter for his decode-config.py tool
- Joel Stein and digiblur for their Tuya research and driver
- Frogmore42 and Jason2866 for providing many issue answers
- Many more providing Tips, Pocs or PRs
I am a contributor of the origin project Sonoff-Tasmota. After developing drivers, like MPU6050, some things where declined by the core developers, like native support for LC Technology boards. Because of people who need this driver natively and don't want to add rules by hand to make this work partially in Tasmota, I decided to fork the hole project and change some things, that I cannot change in the origin project, because of some self set policies by the author of Sonoff-Tasmota. Don't get me wrong, I realy respect the opinion of T. Arends and his roadmap for Sonoff-Tasmota. So to prevent interest conflicts, a fork is the best solution at this point. And here it is ;-)
This program is licensed under GPL-3.0