Tasmota

ESP8266的替代固件,具有使用webUI轻松配置、OTA更新、使用计时器或规则的自动化、可扩展性以及对MQTT、HTTP、Serial或KNX的完全本地控制。「Alternative firmware for ESP8266 with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX.」

Github星跟踪图

Tasmota

基于 ESP8266 的设备的备用固件,可使用 webUI 轻松配置,OTA 更新,使用计时器或规则进行自动化,可扩展性以及对 MQTT、HTTP、Serial 或 KNX 的完全本地控制。 是为 PlatformIO 所写的,对 Arduino IDE 的支持有限。

有关发布信息,请参见 RELEASENOTES.md

发行版网页外,还可以从 http://thehackbox.org/tasmota/release/ 下载二进制文件。

开发

有关详细的更改信息,请参见 tasmota/CHANGELOG.md

除非您使用 Tasmota 供电的设备出现问题,或者您需要使用设备上当前安装的 Tasmota 版本中不提供的功能,否则请不要理会设备 -- 它可以正常工作,所以请不要进行不必要的更改!如果发行版本(即 master 分支)对您的设备和配置表现出意外的行为,则应升级到最新的开发版本,以查看问题是否得到解决,因为先前发行版或开发版本中的某些错误可能已经解决了。

每 1-2 小时检查一次 Tasmota 开发代码库是否有更改。如果新的提交已合并并且可以成功编译,则每个变体的新二进制文件将发布在 http://thehackbox.org/tasmota/ (此网址也可用于 OTA 更新)。最后编译的提交编号也显示在同一页面上。重要的是要注意,这些二进制文件基于当前的开发代码库。这些提交经过尽可能多的测试,并且通常非常稳定。但是,在所有可用配置选项允许的情况下,无法在数百种不同类型的设备上进行测试。

请注意,与任何升级一样,设备可能无法正常运行。如果 OTA 升级失败,则必须始终考虑可能需要通过串行编程接口刷新设备的可能性。即使使用主发行版,在升级生产中或难以到达的设备之前,也应始终尝试测试设备或类似的原型。而且,一如既往,在开始任何固件更新之前,请备份设备配置。

免责声明

警告电气危险警告!

如果您的设备连接到主电源(交流电源),则如果未正确安装,则有触电的危险。如果您不知道如何安装,请致电电工(请注意:某些国家/地区禁止在没有许可电工的情况下进行安装)。切记:安全第一。如果您不知道自己在做什么,那么对自己,您的家人和您的家不值得冒险。当设备连接到电网电源(交流电源)时,切勿修补或尝试使用串行编程接口闪烁设备。

对于使用此软件,本网站或任何相关网站的任何成员提供的安装或任何提示,建议,视频等,我们不承担任何责任。

注意

除非要求新功能的附加代码,否则请不要添加新设备。如果该设备未列为模块,请首先尝试使用模板。如果未在 Tasmota 设备模板存储库中列出,请创建自己的模板。

快速安装

https://github.com/arendst/Tasmota/releases 下载发行的二进制文件之一,并使用我们的安装指南将其刷新到您的硬件中。

重要的用户编译信息

如果您想自己编译 Tasmota,请记住以下几点:

仅支持 Flash Mode DOUT。请勿使用 Flash Mode DIO/QIO/QOUT,因为它可能会使您的设备变砖。

Tasmota 使用一个 1M 的链接描述文件,但不浪费 1M(没有 SPIFFS)以获得最佳代码空间。

要对 Tasmota 进行编译时更改,请使用 user_config_override.h 文件。当您下载并编译新版本时,它可以确保保留您的自定义设置。您必须从提供的 user_config_override_sample.h 文件中进行复制,并添加设置替代。要启用覆盖,您必须按照 user_config_override_sample.h 文件中的说明设置编译定义。

配置信息

请参考我们文档中的安装和配置文章。

迁移信息

有关如何迁移到主要版本的说明,请参见 wiki 迁移路径。由于动态设置更新,请注意以下版本中断:

  1. 迁移到 Sonoff-Tasmota 3.9.x
  2. 迁移到 Sonoff-Tasmota 4.x
  3. 迁移到 Sonoff-Tasmota 5.14
  4. 迁移到 Sonoff-Tasmota 6.x
  5. 迁移到 Tasmota 7.x

---参数存储布局的重大变化---

  1. 迁移到 Tasmota 8.1
  2. 迁移到 Tasmota 8.x

支持信息

有关支持的设备的数据库,请参见 Tasmota 设备模板存储库

如果您想在 Tasmota 上寻求支持,可以使用以下选项:

文档

支持社区

  • Tasmot a论坛:有关用法和讨论。
  • Tasmota支持聊天室:有关支持,故障排除和一般性问题。您更有机会从Tasmota社区成员那里获得快速解答。
  • 搜索问题:您可以通过搜索当前或已解决的问题来找到问题的答案。

开发者社区

  • 错误报告:用于报告Tasmota软件的错误。
  • 功能请求:用于向 Tasmota 软件请求功能。
  • 故障排除:如果无法使用其他渠道找到解决方案,则可以在GitHub上打开新的故障排除问题。请记住:您提供的信息越多,获得准确答案的机会就越多。
  • 发出问题:如果无法使用其他渠道找到答案,则可以在GitHub上打开新的Question问题。请记住:您提供的信息越多,获得准确答案的机会就越多。

贡献

您可以通过以下方式为塔斯莫塔做贡献

  • 提供拉取请求(功能,概念证明,语言文件或修复程序)
  • 测试新发布的功能并报告问题
  • 捐赠以获取用于测试和实施的硬件或出于谢意
  • 提供缺少的功能和设备文档

许可

本程序使用 GPL-3.0 授权。


(The first version translated by vz on 2020.08.02)

主要指标

概览
名称与所有者arendst/Tasmota
主编程语言C
编程语言PHP (语言数: 18)
平台Embedded Systems
许可证GNU General Public License v3.0
所有者活动
创建于2017-01-28 13:37:08
推送于2025-05-13 06:53:07
最后一次提交2025-04-16 11:46:39
发布数115
最新版本名称v14.6.0 (发布于 )
第一版名称v3.9.5 (发布于 )
用户参与
星数23.1k
关注者数618
派生数4.9k
提交数20.5k
已启用问题?
问题数9748
打开的问题数5
拉请求数6056
打开的拉请求数6
关闭的拉请求数1014
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?

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 Arduino IDE and PlatformIO.

GitHub version
GitHub download
License
Chat

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://thehackbox.org/tasmota/release/

Development

Dev Version
Download Dev
Build Status

See tasmota/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://thehackbox.org/tasmota/ (this web address can be used for OTA updates too). The last compiled commit number is also indicated on the same page. 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

:warning: DANGER OF ELECTROCUTION :warning:

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. To enable the override you have to set a compile define as documented in the user_config_override_sample.h file.

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.x
  5. Migrate to Tasmota 7.x

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

  1. Migrate to Tasmota 8.1
  2. Migrate to Tasmota 8.x

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
  • 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 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 and Jason2866 for providing many issue answers
  • Blakadder for editing the wiki 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
  • Many more providing Tips, Wips, Pocs, PRs and Donations

License

This program is licensed under GPL-3.0