2017-08-08 15:08:08 +01:00
## Sonoff-Tasmota
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-14 13:39:16 +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)
[![License ](https://img.shields.io/github/license/arendst/Sonoff-Tasmota.svg )](https://github.com/arendst/Sonoff-Tasmota/blob/development/LICENSE.txt)
2018-04-15 09:18:48 +01:00
If you like **Sonoff-Tasmota** , give it a star, or fork it and contribute!
2018-04-14 13:39:16 +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)
[![GitHub forks ](https://img.shields.io/github/forks/arendst/Sonoff-Tasmota.svg?style=social&label=Fork )](https://github.com/arendst/Sonoff-Tasmota/network)
2018-05-01 11:42:17 +01:00
### Development
2018-04-14 13:39:16 +01:00
[![Build Status ](https://img.shields.io/travis/arendst/Sonoff-Tasmota.svg )](https://travis-ci.org/arendst/Sonoff-Tasmota)
2018-05-24 13:25:52 +01:00
Current version is **5.14.0b** - See [sonoff/_releasenotes.ino ](https://github.com/arendst/Sonoff-Tasmota/blob/development/sonoff/_releasenotes.ino ) for change information.
2017-08-08 15:08:08 +01:00
2018-04-02 10:24:36 +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.
< 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 )
2017-11-07 14:57:24 +00:00
- [iTead 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-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 )
- [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 )
- [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-04-23 15:59:04 +01:00
### Firmware release information
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 |
| 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 |
| USE_SENSEAIR | x | x | - | x | x |
| USE_PMS5003 | x | x | - | x | x |
| USE_NOVA_SDS | x | - | - | x | x |
| USE_PZEM004T | x | x | - | x | x |
| USE_SERIAL_BRIDGE | x | - | - | x | x |
2018-05-15 16:13:51 +01:00
| USE_SDM120 | - | - | - | - | 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 | - | - | - | - | - |
| USE_ARILUX_RF | x | x | - | x | x |
| USE_SR04 | x | - | - | x | x |
2018-04-23 16:10:50 +01:00
2018-04-23 16:18:24 +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 |
|-----------------------------|--------|---------|---------|------|------------|
| ESP/Arduino lib v2.3.0 | 529k | 490k | 429k | 538k | 554k |
| ESP/Arduino lib v2.4.0 | 534k | 498k | 436k | 542k | 558k |
| ESP/Arduino lib v2.4.1 | 536k | 501k | 439k | 545k | 560k |
2018-04-15 09:18:48 +01:00
2018-04-23 15:59:04 +01:00
### Contribute
2018-04-15 09:18:48 +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 09:18:48 +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
#### 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 BME680 ](https://github.com/adafruit/Adafruit_BME680 )
- [Adafruit Sensor ](https://github.com/adafruit/Adafruit_Sensor )
- [Adafruit SGP30 ](https://github.com/adafruit/Adafruit_SGP30 )
- [ArduinoJson ](https://arduinojson.org/ )
- [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 )
- [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
- reloxx13 for his [SonWeb ](https://github.com/reloxx13/SonWEB ) management tool
- 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-04-19 19:27:57 +01:00
This program is licensed under GPL-3.0