2018-04-02 21:56:12 +01:00
## Sonoff-Tasmota
2017-08-08 15:08:08 +01:00
2018-04-19 19:27:57 +01:00
Alternative firmware for _ESP8266 based devices_ like [iTead ](https://www.itead.cc/ ) _**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.
2018-04-02 21:41:04 +01:00
[![GitHub version ](https://img.shields.io/github/release/arendst/Sonoff-Tasmota.svg )](https://github.com/arendst/Sonoff-Tasmota/releases/latest)
[![GitHub download ](https://img.shields.io/github/downloads/arendst/Sonoff-Tasmota/total.svg )](https://github.com/arendst/Sonoff-Tasmota/releases/latest)
2018-04-02 22:08:42 +01:00
[![License ](https://img.shields.io/github/license/arendst/Sonoff-Tasmota.svg )](https://github.com/arendst/Sonoff-Tasmota/blob/development/LICENSE.txt)
2018-04-02 21:41:04 +01:00
2018-04-15 16:07:47 +01:00
If you like **Sonoff-Tasmota** , give it a star, or fork it and contribute!
2018-07-02 13:49:58 +01:00
2018-04-15 16:07:47 +01:00
[![GitHub stars ](https://img.shields.io/github/stars/arendst/Sonoff-Tasmota.svg?style=social&label=Star )](https://github.com/arendst/Sonoff-Tasmota/stargazers)
2018-04-02 21:41:04 +01:00
[![GitHub forks ](https://img.shields.io/github/forks/arendst/Sonoff-Tasmota.svg?style=social&label=Fork )](https://github.com/arendst/Sonoff-Tasmota/network)
2018-07-02 13:49:58 +01:00
[![donate ](https://img.shields.io/badge/donate-PayPal-blue.svg )](https://paypal.me/tasmota)
2017-08-08 15:08:08 +01:00
2018-05-01 11:42:17 +01:00
### Development
2018-04-02 22:11:54 +01:00
[![Build Status ](https://img.shields.io/travis/arendst/Sonoff-Tasmota.svg )](https://travis-ci.org/arendst/Sonoff-Tasmota)
2018-04-02 21:59:25 +01:00
2018-08-17 10:10:21 +01:00
Current version is **6.1.1.x** - See [sonoff/_releasenotes.ino ](https://github.com/arendst/Sonoff-Tasmota/blob/development/sonoff/_releasenotes.ino ) for release information and [sonoff/_changelog.ino ](https://github.com/arendst/Sonoff-Tasmota/blob/development/sonoff/_changelog.ino ) for change information.
2018-04-02 21:52:24 +01:00
2018-06-11 18:42:30 +01:00
### Disclaimer
:warning: **DANGER OF ELECTROCUTION** :warning:
A Sonoff device is not a toy. It uses 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.
2018-05-29 23:24:10 +01:00
### Quick Install
2018-04-02 10:31:05 +01:00
Download one of the released binaries from https://github.com/arendst/Sonoff-Tasmota/releases and flash it to your hardware as documented in the wiki.
2017-08-08 15:08:08 +01:00
2018-04-02 10:31:05 +01:00
### Important User Compilation Information
If you want to compile Sonoff-Tasmota yourself keep in mind the following:
2017-08-08 15:08:08 +01:00
2018-04-02 10:24:36 +01:00
- Only Flash Mode **DOUT** is supported. Do not use Flash Mode DIO / QIO / QOUT as it might seem to brick your device. See [Wiki ](https://github.com/arendst/Sonoff-Tasmota/wiki/Theo's-Tasmota-Tips ) for background information.
2018-05-24 13:25:52 +01:00
- Sonoff-Tasmota 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 ](https://github.com/arendst/Sonoff-Tasmota/wiki/Prerequisite ).
2018-04-02 10:34:49 +01:00
- To make compile time changes to Sonoff-Tasmota it can use the ``user_config_override.h`` file. It assures keeping your settings when you download and compile a new version. To use ``user_config.override.h`` you will have to make a copy of the provided ``user_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 the ``user_config_override_sample.h`` file.
2017-08-08 15:08:08 +01:00
### Version Information
2017-09-08 10:21:54 +01:00
- Sonoff-Tasmota provides all (Sonoff) modules in one file and starts with module Sonoff Basic.
2017-08-08 15:08:08 +01:00
- Once uploaded select module using the configuration webpage or the commands ```Modules``` and ```Module```.
- After reboot select config menu again or use commands ```GPIOs``` and ```GPIO``` to change GPIO with desired sensor.
2018-07-06 17:00:50 +01:00
### Migration Information
2018-07-02 13:49:58 +01:00
See [wiki migration path ](https://github.com/arendst/Sonoff-Tasmota/wiki/Upgrade#migration-path ) for instructions how to migrate to a major version. Pay attention to the following version breaks due to dynamic settings updates:
1. Migrate to **Sonoff-Tasmota 3.9.x**
2. Migrate to **Sonoff-Tasmota 4.x**
3. Migrate to **Sonoff-Tasmota 5.14**
4. Migrate to **Sonoff-Tasmota 6.x**
### Support Information
2017-08-08 15:08:08 +01:00
< img src = "https://github.com/arendst/arendst.github.io/blob/master/media/sonoffbasic.jpg" width = "250" align = "right" / >
See [Wiki ](https://github.com/arendst/Sonoff-Tasmota/wiki ) for more information.< br />
See [Community ](https://groups.google.com/d/forum/sonoffusers ) for forum and more user experience.
The following devices are supported:
2017-11-07 14:57:24 +00:00
- [iTead Sonoff Basic ](https://www.itead.cc/smart-home/sonoff-wifi-wireless-switch-1.html )
- [iTead Sonoff RF ](https://www.itead.cc/smart-home/sonoff-rf.html )
- [iTead Sonoff SV ](https://www.itead.cc/smart-home/sonoff-sv.html )< img src = "https://github.com/arendst/arendst.github.io/blob/master/media/sonoff_th.jpg" width = "250" align = "right" />
- [iTead Sonoff TH10/TH16 with temperature sensor ](https://www.itead.cc/smart-home/sonoff-th.html )
2017-12-01 14:59:53 +00:00
- [iTead Sonoff Dual (R2) ](https://www.itead.cc/smart-home/sonoff-dual.html )
2018-04-20 16:43:20 +01:00
- [iTead Sonoff Pow with Energy Monitoring ](https://www.itead.cc/smart-home/sonoff-pow.html )
- [iTead Sonoff Pow R2 with Energy Monitoring ](https://www.itead.cc/sonoff-pow-r2.html )
2018-04-22 15:56:51 +01:00
- [iTead Sonoff 4CH (R2) ](https://www.itead.cc/smart-home/sonoff-4ch.html )
- [iTead Sonoff 4CH Pro (R2) ](https://www.itead.cc/smart-home/sonoff-4ch-pro.html )
2018-06-29 12:48:19 +01:00
- [iTead Sonoff S20 Smart Socket ](https://www.itead.cc/smart-socket.html )
2017-12-28 12:43:51 +00:00
- [Sonoff S22 Smart Socket ](https://github.com/arendst/Sonoff-Tasmota/issues/627 )
2018-06-29 12:48:19 +01:00
- [iTead Sonoff S26 Smart Socket ](https://www.itead.cc/sonoff-s26-wifi-smart-plug.html )
2018-02-04 17:09:09 +00:00
- [iTead Sonoff S31 Smart Socket with Energy Monitoring ](https://www.itead.cc/sonoff-s31.html )
2017-11-07 14:57:24 +00:00
- [iTead Slampher ](https://www.itead.cc/slampher.html )
2017-12-01 14:59:53 +00:00
- [iTead Sonoff Touch ](https://www.itead.cc/sonoff-touch.html )
2017-11-07 14:57:24 +00:00
- [iTead Sonoff T1 ](https://www.itead.cc/sonoff-t1.html )
- [iTead Sonoff SC ](https://www.itead.cc/sonoff-sc.html )
2018-04-22 15:56:51 +01:00
- [iTead Sonoff Led ](https://www.itead.cc/sonoff-led.html )< img src = "https://github.com/arendst/arendst.github.io/blob/master/media/sonoff4chpror2.jpg" height = "250" align = "right" />
2017-11-07 14:57:24 +00:00
- [iTead Sonoff BN-SZ01 Ceiling Led ](https://www.itead.cc/bn-sz01.html )
- [iTead Sonoff B1 ](https://www.itead.cc/sonoff-b1.html )
2018-06-30 17:50:10 +01:00
- [iTead Sonoff iFan02 ](https://www.itead.cc/sonoff-ifan02-wifi-smart-ceiling-fan-with-light.html )
2017-11-07 14:57:24 +00:00
- [iTead Sonoff RF Bridge 433 ](https://www.itead.cc/sonoff-rf-bridge-433.html )
2017-08-08 15:08:08 +01:00
- [iTead Sonoff Dev ](https://www.itead.cc/sonoff-dev.html )
- [iTead 1 Channel Switch 5V / 12V ](https://www.itead.cc/smart-home/inching-self-locking-wifi-wireless-switch.html )
- [iTead Motor Clockwise/Anticlockwise ](https://www.itead.cc/smart-home/motor-reversing-wifi-wireless-switch.html )
- [Electrodragon IoT Relay Board ](http://www.electrodragon.com/product/wifi-iot-relay-board-based-esp8266/ )
2017-12-28 12:43:51 +00:00
- AI Light or any my9291 compatible RGBW LED bulb
- H801 PWM LED controller
- [MagicHome PWM LED controller ](https://github.com/arendst/Sonoff-Tasmota/wiki/MagicHome-LED-strip-controller )
- AriLux AL-LC01, AL-LC06 and AL-LC11 PWM LED controller
- [Supla device - Espablo-inCan mod. for electrical Installation box ](https://forum.supla.org/viewtopic.php?f=33&t=2188 )
2018-07-02 13:25:02 +01:00
- [BlitzWolf BW-SHP2 Smart Socket with Energy Monitoring ](https://www.banggood.com/BlitzWolf-BW-SHP2-Smart-WIFI-Socket-EU-Plug-220V-16A-Work-with-Amazon-Alexa-Google-Assistant-p-1292899.html )
2017-12-28 12:43:51 +00:00
- [Luani HVIO board ](https://luani.de/projekte/esp8266-hvio/ )
2018-02-15 11:29:07 +00:00
- Wemos D1 mini, NodeMcu and Ledunia
2017-09-08 10:07:04 +01:00
2018-05-29 23:24:10 +01:00
### Firmware Release Information
2018-04-23 15:59:04 +01:00
Different firmware images are released based on Features and Sensors selection guided by code and memory usage.
- The Minimal version allows intermediate OTA uploads to support larger versions and does NOT change any persistent parameter.
- The Classic version allows single OTA uploads as did the previous Sonoff-Tasmota versions.
2018-04-23 16:18:24 +01:00
#### Available Features and Sensors
2018-04-23 16:08:41 +01:00
| Feature or Sensor | sonoff | classic | minimal | knx | allsensors |
2018-04-23 15:59:04 +01:00
|--------------------------------|--------|---------|---------|-----|------------|
| MY_LANGUAGE en-GB | x | x | x | x | x |
| MQTT_LIBRARY_TYPE PUBSUBCLIENT | x | x | x | x | x |
| USE_DOMOTICZ | x | x | - | x | x |
| USE_HOME_ASSISTANT | x | x | - | x | x |
| USE_MQTT_TLS | - | - | - | - | - |
| USE_KNX | - | - | - | x | - |
| USE_WEBSERVER | x | x | x | x | x |
| USE_EMULATION | x | x | - | - | x |
| USE_DISCOVERY | x | x | - | x | x |
| WEBSERVER_ADVERTISE | x | x | - | x | x |
| MQTT_HOST_DISCOVERY | x | x | - | x | x |
| USE_TIMERS | x | - | - | x | x |
| USE_TIMERS_WEB | x | - | - | x | x |
| USE_SUNRISE | x | - | - | x | x |
| USE_RULES | x | - | - | x | x |
2018-04-23 16:08:41 +01:00
| | | | | | |
2018-04-23 15:59:04 +01:00
| USE_ADC_VCC | x | x | x | x | x |
| USE_DS18B20 | x | x | - | x | - |
| USE_DS18x20 | - | - | - | - | x |
| USE_DS18x20_LEGACY | - | - | - | - | - |
| USE_I2C | x | x | - | x | x |
| USE_SHT | x | x | - | x | x |
| USE_SHT3X | x | x | - | x | x |
| USE_HTU | x | x | - | x | x |
2018-07-03 11:48:56 +01:00
| USE_LM75AD | x | - | - | x | x |
2018-04-23 15:59:04 +01:00
| USE_BMP | x | x | - | x | x |
| USE_BME680 | - | - | - | - | x |
| USE_SGP30 | x | - | - | x | x |
| USE_BH1750 | x | x | - | x | x |
| USE_VEML6070 | - | - | - | - | x |
| USE_TSL2561 | - | - | - | - | x |
2018-05-15 16:13:51 +01:00
| USE_SI1145 | - | - | - | - | x |
2018-04-23 15:59:04 +01:00
| USE_ADS1115 | - | - | - | - | x |
| USE_ADS1115_I2CDEV | - | - | - | - | - |
| USE_INA219 | - | - | - | - | x |
| USE_MGS | - | - | - | - | x |
| USE_SPI | - | - | - | - | - |
| USE_MHZ19 | x | x | - | x | x |
2018-07-06 17:00:50 +01:00
| USE_SENSEAIR | x | - | - | x | x |
| USE_PMS5003 | x | - | - | x | x |
2018-04-23 15:59:04 +01:00
| USE_NOVA_SDS | x | - | - | x | x |
2018-07-06 17:00:50 +01:00
| USE_PZEM004T | x | - | - | x | x |
2018-04-23 15:59:04 +01:00
| USE_SERIAL_BRIDGE | x | - | - | x | x |
2018-07-06 17:00:50 +01:00
| USE_SDM120 | - | - | - | - | x |
| USE_SDM630 | - | - | - | - | x |
2018-04-23 15:59:04 +01:00
| USE_IR_REMOTE | x | x | - | x | x |
| USE_IR_HVAC | - | - | - | - | x |
| USE_IR_RECEIVE | x | - | - | x | x |
| USE_WS2812 | x | x | - | x | x |
| USE_WS2812_DMA | - | - | - | - | - |
2018-07-06 17:00:50 +01:00
| USE_ARILUX_RF | x | - | - | x | x |
2018-04-23 15:59:04 +01:00
| USE_SR04 | x | - | - | x | x |
2018-07-03 11:48:56 +01:00
| USE_RF_FLASH | x | - | - | x | x |
2018-04-23 16:10:50 +01:00
2018-07-06 17:00:50 +01:00
#### Typical file size
2018-04-23 16:10:50 +01:00
2018-05-15 16:13:51 +01:00
| ESP/Arduino library version | sonoff | classic | minimal | knx | allsensors |
|-----------------------------|--------|---------|---------|------|------------|
2018-07-14 17:07:25 +01:00
| ESP/Arduino lib v2.3.0 | 538k | 490k | 407k | 548k | 562k |
| ESP/Arduino lib v2.4.0 | 543k | 498k | 414k | 553k | 565k |
| ESP/Arduino lib v2.4.1 | 544k | 500k | 416k | 555k | 567k |
2018-07-06 17:00:50 +01:00
See [Tasmota ESP/Arduino library version related issues ](https://github.com/arendst/Sonoff-Tasmota/wiki/Theo's-Tasmota-Tips#20180523---relation-tasmota-and-esp8266arduino-core-version ) for more information.
2018-04-15 16:07:47 +01:00
2018-04-23 15:59:04 +01:00
### Contribute
2018-04-15 16:07:47 +01:00
You can contribute to Sonoff-Tasmota by
- providing Pull Requests (Features, Proof of Concepts, Language files or Fixes)
- testing new released features and report issues
2018-04-22 13:01:32 +01:00
- donating to acquire hardware for testing and implementing or out of gratitude
2018-04-15 16:07:47 +01:00
[![donate ](https://img.shields.io/badge/donate-PayPal-blue.svg )](https://paypal.me/tasmota)
2018-04-23 15:59:04 +01:00
### Credits
2018-04-23 16:14:19 +01:00
2018-05-29 23:24:10 +01:00
#### Libraries Used
2018-04-23 15:59:04 +01:00
Libraries used with Sonoff-Tasmota are:
- [ESP8266 core for Arduino ](https://github.com/esp8266/Arduino )
- [Adafruit SGP30 ](https://github.com/adafruit/Adafruit_SGP30 )
- [ArduinoJson ](https://arduinojson.org/ )
2018-07-06 17:00:50 +01:00
- [Bosch BME680 ](https://github.com/BoschSensortec/BME680_driver )
- [C2 Programmer ](http://app.cear.ufpb.br/~lucas.hartmann/tag/efm8bb1/ )
2018-04-23 15:59:04 +01:00
- [Esp8266MqttClient ](https://github.com/tuanpmt/ESP8266MQTTClient )
- [esp-knx-ip ](https://github.com/envy/esp-knx-ip )
- [esp-mqtt-arduino ](https://github.com/i-n-g-o/esp-mqtt-arduino )
2018-07-06 17:00:50 +01:00
- [ESPAsyncUDP ](https://github.com/me-no-dev/ESPAsyncUDP )
2018-04-23 15:59:04 +01:00
- [I2Cdevlib ](https://github.com/jrowberg/i2cdevlib )
- [IRremoteEsp8266 ](https://github.com/markszabo/IRremoteESP8266 )
- [JobaTsl2561 ](https://github.com/joba-1/Joba_Tsl2561 )
- [MultiChannelGasSensor ](http://wiki.seeedstudio.com/Grove-Multichannel_Gas_Sensor/ )
- [NeoPixelBus ](https://github.com/Makuna/NeoPixelBus )
- [OneWire ](https://github.com/PaulStoffregen/OneWire )
- [PubSubClient ](https://github.com/knolleary/pubsubclient )
2018-04-23 16:14:19 +01:00
#### People inspiring me
2018-04-23 15:59:04 +01:00
People helping to keep the show on the road:
2018-04-23 16:18:24 +01:00
- David Lang providing initial issue resolution and code optimizations
2018-04-23 15:59:04 +01:00
- Heiko Krupp for his IRSend, HTU21, SI70xx and Wemo/Hue emulation drivers
- Wiktor Schmidt for Travis CI implementation
- Thom Dietrich for PlatformIO optimizations
2018-04-23 16:18:24 +01:00
- Marinus van den Broek for his EspEasy groundwork
2018-04-23 15:59:04 +01:00
- Pete Ba for more user friendly energy monitor calibration
- Lobradov providing compile optimization tips
- Flexiti for his initial timer implementation
2018-06-26 16:47:10 +01:00
- reloxx13 for his [TasmoAdmin ](https://github.com/reloxx13/TasmoAdmin ) management tool
2018-04-23 15:59:04 +01:00
- Joachim Banzhaf for his TSL2561 library and driver
- Gijs Noorlander for his MHZ19 and SenseAir drivers
- Emontnemery for his HomeAssistant Discovery concept and many code tuning tips
- Aidan Mountford for his HSB support
2018-04-23 16:18:24 +01:00
- Daniel Ztolnai for his Serial Bridge implementation
2018-04-23 15:59:04 +01:00
- Gerhard Mutz for his SGP30 and Sunrise/Sunset driver
- Nuno Ferreira for his HC-SR04 driver
- Adrian Scillato for his (security)fixes and implementing and maintaining KNX
2018-05-15 16:13:51 +01:00
- Gennaro Tortone for implementing and maintaining Eastron drivers
2018-04-23 15:59:04 +01:00
- Raymond Mouthaan for managing Wemos Wiki information
- Norbert Richter, Frogmore42 and Jason2866 for providing many issue answers
- Many more providing Tips, Pocs or PRs
2017-09-08 10:07:04 +01:00
### License
2018-03-07 22:35:16 +00:00
This program is licensed under GPL-3.0