Skip to content

Provide ESP8266 based itead Sonoff with Web, MQTT and OTA firmware using Arduino IDE, enhanced with I2C options

License

Notifications You must be signed in to change notification settings

BMBIT-oss/Sonoff-Tasmota

 
 

Repository files navigation

Stefan Bode fork of Tasmota-Master

I keep this version in sync with the current development of the master. Anyhow my use case is a little bit different. Even, if I have some SONOFF devices, I like to build(solder) my own based on different versions of the ESP8266, depending on my different requirements (batterie, external Antenna, add on I2C devices and others). Additionally I try to improve the overall project.

Additional features:

  • DeepSleep support up to 136 Years (deepsleep=xxx [sec]). Support also 1day or more deepsleep. Just define deepsleep e.g. 1 day = 86400. (wakes up every hour for <0.3 seconds until time reached. just set deepsleep through serial or MQTT to a value in sec from 10 - 4.294.967.295 (136 Years :-))
  • Improved Startuptime incl TLS MQTT and measurement in <9 sek
  • Support for I2C 8-channel DIO extension board PCF-8574 (large extension to support 32 relays and pulsetimers on 8 relays (can be changed by changing constant MAX_PULSETIMER).
  • Support CHIRP moisture sensor.
  • Report total UPTIME (seconds) between two deepsleep cycle. This allows to see uptime, even if connect was not successfull or there was a reboot. Using RTC memory to ensure correct uptime
  • Added support of "counterdevider[1..MAX_COUNTERS]" (serial and MQTT command), to count only the 1 count every counterdeviderX impulses (max 65.000 impulses = 1 count, default 1s).

Sonoff-Tasmota

Alternative firmware for ESP8266 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.

GitHub version GitHub download License

If you like Sonoff-Tasmota, give it a star, or fork it and contribute! GitHub stars GitHub forks

Development

Build Status

Current version is 5.13.1a - See sonoff/_releasenotes.ino for change information.

Quick install

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.

Important User Compilation Information

If you want to compile Sonoff-Tasmota yourself keep in mind the following:

  • Only Flash Mode DOUT is supported. Do not use Flash Mode DIO / QIO / QOUT as it might seem to brick your device. See Wiki for background information.
  • Sonoff-Tasmota uses a 1M linker script WITHOUT 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 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.

Version Information

  • Sonoff-Tasmota 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 and Module.
  • After reboot select config menu again or use commands GPIOs and GPIO to change GPIO with desired sensor.

See Wiki for more information.
See Community for forum and more user experience.

The following devices are supported:

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.

Available Features and Sensors

Feature or Sensor sonoff classic minimal knx allsensors
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
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
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
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

Typical file size

ESP/Arduino library version sonoff classic minimal knx allsensors
ESP/Arduino lib v2.3.0 526k 488k 427k 535k 549k
ESP/Arduino lib v2.4.0 531k 496k 435k 540k 552k
ESP/Arduino lib v2.4.1 534k 499k 437k 543k 555k

Contribute

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
  • donating to acquire hardware for testing and implementing or out of gratitude

donate

Credits

Libraries used

Libraries used with Sonoff-Tasmota are:

People inspiring me

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 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
  • Daniel Ztolnai for his Serial Bridge implementation
  • 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
  • Raymond Mouthaan for managing Wemos Wiki information
  • Norbert Richter, Frogmore42 and Jason2866 for providing many issue answers
  • Many more providing Tips, Pocs or PRs

License

This program is licensed under GPL-3.0

About

Provide ESP8266 based itead Sonoff with Web, MQTT and OTA firmware using Arduino IDE, enhanced with I2C options

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 64.3%
  • C 19.9%
  • HTML 12.7%
  • JavaScript 1.2%
  • CSS 0.8%
  • Makefile 0.5%
  • Other 0.6%