Mirror of arendst/Tasmota@github.com - Open-source firmware for ESP8266/8285/32-based smart home products
Go to file
Theo Arends b56109d34e
Merge pull request #9996 from Staars/HM10
HM10: do not crash with zero sensors
2020-11-27 18:28:22 +01:00
.github Added code has to compile without warnings 2020-11-15 20:54:07 +01:00
api Add support for gzipped binaries 2020-01-06 16:10:44 +01:00
include TLS+AWS IoT optimization for speed, code and memory footprint 2019-06-19 09:49:48 +02:00
lib IRremoteESP8266 library from v2.7.12 to v2.7.13 2020-11-25 19:41:51 +01:00
pio-tools Rename pio folder to pio-tools solve linux build errors 2020-11-17 22:01:42 +01:00
tasmota Merge pull request #9996 from Staars/HM10 2020-11-27 18:28:22 +01:00
tools Move some firmware files around 2020-11-27 15:56:30 +01:00
.gitattributes Fix xsns_26_lm75ad.ino line endings 2018-06-25 17:35:42 +02:00
.gitignore Update .gitignore 2020-11-04 17:30:09 +01:00
.gitpod.Dockerfile Update .gitpod.Dockerfile 2020-09-29 08:46:35 +02:00
.gitpod.yml Identitation :-( 2020-09-30 10:32:06 +02:00
.travis.yml.off Support for Vietnamese language translations 2020-10-12 11:29:36 +02:00
API.md changed links to new docs architecture 2020-03-29 23:28:41 +02:00
BUILDS.md Update BUILDS.md 2020-11-22 14:43:14 +01:00
CHANGELOG.md Update changelog 2020-11-27 18:26:56 +01:00
CODE_OF_CONDUCT.md https://www.contributor-covenant.org/version/2/0/code_of_conduct/code_of_conduct.md 2020-10-06 21:53:42 -04:00
CONTRIBUTING.md Replace Travis with general CI tests 2020-05-26 14:25:33 +02:00
Doxyfile Change binary names from sonoff to tasmota 2019-10-27 12:44:37 +01:00
FIRMWARE.md Bump dev version to 9.0.0.1 2020-10-02 12:22:01 +02:00
I2CDEVICES.md Add support for EZO PMP 2020-11-07 01:41:22 -08:00
LICENSE.txt v5.1.0 2017-05-13 13:02:10 +02:00
MODULES.md Update template information 2020-11-01 12:01:51 +01:00
README.md Add OTA download path to migration data 2020-11-10 10:39:36 +01:00
RELEASENOTES.md Update changelog 2020-11-27 18:26:56 +01:00
TEMPLATES-PRE9.md Add v9 templates 2020-11-21 12:27:11 +01:00
TEMPLATES.md Add v9 templates 2020-11-21 12:27:11 +01:00
esp32_partition_app1572k_ffat983k.csv scripter esp32 flash file ffat support 2020-08-09 10:58:22 +02:00
esp32_partition_app1984k_ffat12M.csv scripter esp32 flash file ffat support 2020-08-09 10:58:22 +02:00
esp32_partition_app1984k_spiffs60k.csv Update esp32_partition_app1984k_spiffs60k.csv 2020-06-06 06:38:12 +02:00
esp32_partition_app1984k_spiffs64k.csv Add files via upload 2020-04-14 20:16:57 +02:00
platformio.ini Esptool 3.0 from Platformio registry 2020-11-19 19:32:49 +01:00
platformio_override_sample.ini use release_v3.3-solo1-4b325f52e 2020-11-22 16:50:32 +01:00
platformio_tasmota32.ini Make ESP32 HTTP upload buffer size equal to ESP8266 2020-11-25 13:02:46 +01:00
platformio_tasmota_env.ini -mno-target-align 2020-11-05 07:45:35 +00:00
platformio_tasmota_env32.ini Update platformio_tasmota_env32.ini 2020-11-13 19:08:54 +01:00
uncrustify.cfg Gitpod optimize 2020-09-28 16:29:54 +02:00

README.md

Tasmota logo

Alternative firmware for ESP8266 based devices with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Written for PlatformIO with limited support for Arduino IDE.

GitHub version GitHub download License Chat Gitpod Ready-to-Code

If you like Tasmota, give it a star, or fork it and contribute!

GitHub stars GitHub forks donate

See RELEASENOTES.md for release information.

In addition to the release webpage the binaries can also be downloaded from http://ota.tasmota.com/tasmota/release/

Development

Dev Version Download Dev Tasmota CI Tasmota ESP32 CI Build_firmware

See CHANGELOG.md for detailed change information.

Unless your Tasmota powered device exhibits a problem or you need to make use of a feature that is not available in the Tasmota version currently installed on your device, leave your device alone - it works so don't make unnecessary changes! If the release version (i.e., the master branch) exhibits unexpected behaviour for your device and configuration, you should upgrade to the latest development version instead to see if your problem is resolved as some bugs in previous releases or development builds may already have been resolved.

The Tasmota development codebase is checked every 1-2 hours for changes. If new commits have been merged and they compile successfuly, new binary files for every variant will be posted at http://ota.tasmota.com/tasmota/ (this web address can be used for OTA updates too). It is important to note that these binaries are based on the current development codebase. These commits are tested as much as is possible and are typically quite stable. However, it is infeasible to test on the hundreds of different types of devices with all the available configuration options permitted.

Note that there is a chance, as with any upgrade, that the device may not function as expected. You must always account for the possibility that you may need to flash the device via the serial programming interface if the OTA upgrade fails. Even with the master release, you should always attempt to test the device or a similar prototype before upgrading a device which is in production or is hard to reach. And, as always, make a backup of the device configuration before beginning any firmware update.

Disclaimer

⚠️ DANGER OF ELECTROCUTION ⚠️

If your device connects to mains electricity (AC power) there is danger of electrocution if not installed properly. If you don't know how to install it, please call an electrician (Beware: certain countries prohibit installation without a licensed electrician present). Remember: SAFETY FIRST. It is not worth the risk to yourself, your family and your home if you don't know exactly what you are doing. Never tinker or try to flash a device using the serial programming interface while it is connected to MAINS ELECTRICITY (AC power).

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.

Note

Please do not ask to add new devices unless it requires additional code for new features. If the device is not listed as a module, try using Templates first. If it is not listed in the Tasmota Device Templates Repository create your own Template.

Quick Install

Download one of the released binaries from https://github.com/arendst/Tasmota/releases and flash it to your hardware using our installation guide.

Important User Compilation Information

If you want to compile 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.
  • Tasmota uses a 1M linker script WITHOUT spiffs 1M (no SPIFFS) for optimal code space.
  • To make compile time changes to Tasmota use the user_config_override.h file. It assures keeping your custom settings when you download and compile a new version. You have to make a copy from the provided user_config_override_sample.h file and add your setting overrides.

Configuration Information

Please refer to the installation and configuration articles in our documentation.

Migration Information

See wiki 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.7.1 (http://ota.tasmota.com/tasmota/release-6.7.1/)
  5. Migrate to Tasmota 7.2.0 (http://ota.tasmota.com/tasmota/release-7.2.0/)

--- Major change in parameter storage layout ---

  1. Migrate to Tasmota 8.5.1 (http://ota.tasmota.com/tasmota/release-8.5.1/)

--- Major change in internal GPIO function representation ---

  1. Migrate to Tasmota 9.1 (http://ota.tasmota.com/tasmota/release-9.1.0/)

While fallback or downgrading is common practice it was never supported due to Settings additions or changes in newer releases. Starting with version v9.0.0.1 the internal GPIO function representation has changed in such a way that fallback is only possible to the latest GPIO configuration before installing v9.0.0.1.

Support Information

For a database of supported devices see Tasmota Device Templates Repository

If you're looking for support on Tasmota there are some options available:

Documentation

Support's Community

  • Tasmota Forum: For usage and discussions.
  • Tasmota Support Chat: For support, troubleshooting and general questions. You have better chances to get fast answers from members of the Tasmota Community.
  • Search in Issues: You might find an answer to your question by searching current or closed issues.

Developers' Community

  • Bug Report: For reporting Bugs of Tasmota Software.
  • Feature Request: For requesting features/functions to Tasmota Software.
  • Troubleshooting: As a last resort, you can open new Troubleshooting issue on GitHub if the solution could not be found using the other channels. Just remember: the more info you provide the more chances you'll have to get an accurate answer.
  • Issue a question: As a last resort, you can open a new Question issue on GitHub if the answer could not be found using the other channels. Just remember: the more info you provide the more chances you'll have to get an accurate answer.

Contribute

You can contribute to 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
  • contributing missing documentation for features and devices

donate

Credits

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
  • Erik Montnemery for his HomeAssistant Discovery concept and many code tuning tips
  • Federico Leoni for continued HomeAssistant Discovery support
  • Aidan Mountford for his HSB support
  • Daniel Ztolnai for his Serial Bridge implementation
  • Gerhard Mutz for multiple sensor & display drivers, Sunrise/Sunset, and scripting
  • 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
  • Andre Thomas for providing thehackbox OTA support and daily development builds
  • Joel Stein, digiblur and Shantur Rathore for their Tuya research and driver
  • Frogmore42 for providing many issue answers
  • Jason2866 for platformio support and providing many issue answers
  • Blakadder for managing the new document site and providing template management
  • Stephan Hadinger for refactoring light driver, enhancing HueEmulation and Zigbee support
  • tmo for designing the official Tasmota logo
  • Stefan Bode for his Shutter and Deep sleep drivers
  • Jacek Ziółkowski for his TDM management tool and Tasmotizer flashing tool
  • Christian Staars for NRF24L01 and HM-10 Bluetooth sensor support
  • Paul Diem for UDP Group communication support
  • Jörg Schüler-Maroldt for his initial ESP32 port
  • Javier Arigita for his thermostat driver
  • Many more providing Tips, Wips, Pocs, PRs and Donations

License

This program is licensed under GPL-3.0