arendst/Tasmota

GitHub: arendst/Tasmota

为ESP8266和ESP32设备提供完全本地化控制的替代固件,支持OTA更新、多协议通信和灵活的自动化规则。

Stars: 24193 | Forks: 5065

![Tasmota logo](/tools/logo/TASMOTA_FullLogo_Vector.svg#gh-light-mode-only)![Tasmota logo](/tools/logo/TASMOTA_FullLogo_Vector_White.svg#gh-dark-mode-only) 适用于基于 [ESP8266](https://en.wikipedia.org/wiki/ESP8266) 和 [ESP32](https://en.wikipedia.org/wiki/ESP32) 设备的替代固件,具有 **通过 webUI 轻松配置、OTA 更新、使用定时器或规则进行自动化、可扩展性以及完全通过 MQTT、HTTP、Serial 或 KNX 进行本地控制** 的特性。 _为 PlatformIO 编写。_ [![GitHub version](https://img.shields.io/github/release/arendst/Tasmota.svg)](http://ota.tasmota.com/tasmota/release) [![GitHub download](https://img.shields.io/github/downloads/arendst/Tasmota/total.svg)](https://github.com/arendst/Tasmota/releases/latest) [![License](https://img.shields.io/github/license/arendst/Tasmota.svg)](LICENSE.txt) [![Discord](https://img.shields.io/discord/479389167382691863.svg?logo=discord&logoColor=white&color=5865F2&label=Discord)](https://discord.gg/Ks2Kzd4)
**鉴于当前事态,我们希望支持 _PlatformIO 项目_ 背后的人们,特别是 Ivan Kravets,并祝愿他们有力量协助阻止战争。参阅 [platformio-is-ukrainian-project-please-help-us-stop-the-war](https://community.platformio.org/t/platformio-is-ukrainian-project-please-help-us-stop-the-war/26330) 了解您可以做些什么。**
## 简易安装 可以使用 [Tasmota WebInstaller](https://tasmota.github.io/install/) 轻松完成 Tasmota 的初始安装。 [![GitHub stars](https://img.shields.io/github/stars/arendst/Tasmota.svg?style=social&label=Star)](https://github.com/arendst/Tasmota/stargazers) [![GitHub forks](https://img.shields.io/github/forks/arendst/Tasmota.svg?style=social&label=Fork)](https://github.com/arendst/Tasmota/network) [![donate](https://img.shields.io/badge/donate-PayPal-blue.svg)](https://paypal.me/tasmota) 请参阅 [RELEASENOTES.md](https://github.com/arendst/Tasmota/blob/master/RELEASENOTES.md) 获取发布信息。 固件二进制文件可从 http://ota.tasmota.com/tasmota/release/ 下载,ESP32 二进制文件可从 http://ota.tasmota.com/tasmota32/release/ 下载。 ## 开发 [![Dev Version](https://img.shields.io/badge/development%20version-v15.2.x.x-blue.svg)](https://github.com/arendst/Tasmota) [![Download Dev](https://img.shields.io/badge/download-development-yellow.svg)](http://ota.tasmota.com/tasmota/) [![Tasmota CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/692e2350a6035610.svg)](https://github.com/arendst/Tasmota/actions/workflows/build_all_the_things.yml) [![Build_development](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/d35a31d4fd035611.svg)](https://github.com/arendst/Tasmota/actions/workflows/Tasmota_build_devel.yml) 请参阅 [CHANGELOG.md](CHANGELOG.md) 获取详细的变更信息。 除非您的 Tasmota 设备出现问题或缺乏您需要的功能,否则请不要动您的设备 —— 既然它能正常工作,就不要做不必要的更改!如果发布版本(即 master 分支)在您的设备和配置下表现出异常行为,您应该升级到最新的开发版本,看看您的问题是否已解决,因为先前版本或开发版本中的某些错误可能已经得到解决。 每次成功编译并提交到开发分支的代码,都会在 http://ota.tasmota.com/tasmota/ 发布新的二进制文件(此网址也可用于 OTA 更新)。需要注意的是,这些二进制文件基于当前的开发代码库。这些提交已经过尽可能多的测试,通常相当稳定。然而,要在数百种不同类型的设备上测试所有可用的配置选项是不可行的。 请注意,与任何升级一样,设备有可能无法按预期工作。您必须始终考虑到这种可能性:如果 OTA 升级失败,您可能需要通过串行编程接口刷写设备。即使是 master 发布版本,在升级正在生产中或难以触及的设备之前,您也应该始终尝试测试该设备或类似的样机。并且,一如既往,在开始任何固件更新之前,请备份设备配置。 ## 免责声明 :warning: **触电危险** :warning: 如果您的设备连接到市电(交流电源),如果安装不当,将有触电危险。如果您不知道如何安装,请致电电工(***注意:*** 某些国家禁止在没有持证电工在场的情况下进行安装)。记住:_**安全第一**_。如果您不确切地知道自己在做什么,那么为了您自己、您的家人和您的家园,这不值得冒险。切勿在设备连接到市电(交流电源)时,通过串行编程接口进行修改或尝试刷写设备。 对于使用本软件,或本站点或任何相关站点的任何成员提供的安装、任何提示、建议、视频等,我们不承担任何责任或义务。 ## 注意 除非新设备需要新功能的额外代码,否则请不要要求添加新设备。如果设备未列为模块,请先尝试使用 [Templates](https://tasmota.github.io/docs/Templates)。如果未在 [Tasmota Device Templates Repository](http://templates.blakadder.com) 中列出,请创建您自己的 [Template](https://tasmota.github.io/docs/Templates#creating-your-template)。 ## 快速安装 从 http://ota.tasmota.com/tasmota/release/ 或 http://ota.tasmota.com/tasmota32/release/ 下载已发布的二进制文件之一,并[使用我们的安装指南](https://tasmota.github.io/docs/Getting-Started)将其刷写到您的硬件。 ## 重要用户编译信息 如果您想自行编译 Tasmota,请注意以下几点: - 对于基于 ESP8285 的设备,仅支持 Flash Mode **DOUT**。不要使用 Flash Mode DIO / QIO / QOUT,因为这可能会导致设备变砖。 - 对于基于 ESP8285 的设备,Tasmota 使用不带 spiffs 的 1M 链接脚本 **1M (no SPIFFS)** 以获得最佳代码空间。 - 要在编译时更改 Tasmota,请使用 `user_config_override.h` 文件。它确保在下载和编译新版本时保留您的自定义设置。您必须从提供的 `user_config_override_sample.h` 文件制作副本,并添加您的设置覆盖。 ## 配置信息 请参阅我们[文档](https://tasmota.github.io/docs)中的安装和配置文章。 ## 迁移信息 有关如何迁移到主要版本的说明,请参阅 [迁移路径](https://tasmota.github.io/docs/Upgrading#migration-path)。 **不要从 minimal 版本升级到 minimal 版本。这很可能会在某个时候失败,并需要通过串口刷写。** 如果您必须使用 minimal 版本,请在应用下一个 minimal 版本之前,始终 OTA 到同一版本的完整版本。 由于动态设置更新,请注意以下版本中断: 1. 迁移到 **Sonoff-Tasmota 3.9.x** 2. 迁移到 **Sonoff-Tasmota 4.x** 3. 迁移到 **Sonoff-Tasmota 5.14** 4. 迁移到 **Sonoff-Tasmota 6.7.1** (http://ota.tasmota.com/tasmota/release_6.7.1/sonoff.bin) - 注意下划线,因为旧版本不支持连字符 5. 迁移到 **Tasmota 7.2.0** (http://ota.tasmota.com/tasmota/release-7.2.0/tasmota.bin) --- 参数存储布局的重大更改 --- 6. 迁移到 **Tasmota 8.5.1** (http://ota.tasmota.com/tasmota/release-8.5.1/tasmota.bin) --- 内部 GPIO 功能表示的重大更改 --- 7. 迁移到 **Tasmota 9.1** (http://ota.tasmota.com/tasmota/release-9.1.0/tasmota.bin.gz) 8. 升级到 **最新版本** (http://ota.tasmota.com/tasmota/release/tasmota.bin.gz) 虽然回退或降级是常见的做法,但由于新版本中设置的添加或更改,它从未被支持过。从 **v9.1.0 Imogen** 版本开始,内部 GPIO 功能表示已更改,因此只能回退到安装 **v9.1.0** 之前的最新 GPIO 配置。 ## 支持信息 有关支持的设备数据库,请参阅 [Tasmota Device Templates Repository](https://templates.blakadder.com) 如果您正在寻找关于 **Tasmota** 的支持,有以下可用选项: ### 文档 * [文档站点](https://tasmota.github.io/docs):关于如何刷写、配置、使用和扩展 Tasmota 的信息 * [FAQ 和故障排除](https://tasmota.github.io/docs/FAQ/):关于常见问题和解决方案的信息。 * [命令信息](https://tasmota.github.io/docs/Commands):关于 Tasmota 支持的所有命令的信息。 ### 支持社区 * [Tasmota Discussions](https://github.com/arendst/Tasmota/discussions):用于 Tasmota 使用问题、功能请求和项目。 * [Tasmota Users Chat](https://discord.gg/Ks2Kzd4):用于支持、故障排除和一般问题。您有更好的机会从 Tasmota 社区成员那里获得快速解答。 * [在 Issues 中搜索](https://github.com/arendst/Tasmota/issues):通过搜索当前或已关闭的 issue,您可能会找到问题的答案。 * [软件问题报告](https://github.com/arendst/Tasmota/issues/new?template=Bug_report.md):用于报告 Tasmota 软件的问题。 ### 非官方社区资源 * [Tasmota-DE](https://t.me/TasmotaDE):一个与 Tasmota 相关的德语 Telegram 群组。 ## 致谢 帮助维持项目运营的人员: - Sfromis 提供广泛的用户支持 - Barbudor 提供用户支持以及代码修复和补充 - David Lang 提供初步问题解决和代码优化 - Heiko Krupp 贡献了 IRSend、HTU21、SI70xx 和 Wemo/Hue 仿真驱动程序 - Wiktor Schmidt 贡献了 Travis CI 实现 - Thom Dietrich 贡献了 PlatformIO 优化 - Marinus van den Broek 贡献了他的 EspEasy 基础工作 - Pete Ba 贡献了更用户友好的能耗监控校准 - Lobradov 提供编译优化技巧 - Flexiti 贡献了最初的定时器实现 - reloxx13 贡献了他的 [TasmoAdmin](https://github.com/reloxx13/TasmoAdmin) 管理工具 - Joachim Banzhaf 贡献了他的 TSL2561 库和驱动程序 - Andre Thomas 提供了许多驱动程序 - Gijs Noorlander 贡献了他的 MHZ19、SenseAir 和更新的 PubSubClient 驱动程序 - Erik Montnemery 贡献了他的 HomeAssistant Discovery 概念和许多代码调优技巧 - Federico Leoni 提供持续的 HomeAssistant Discovery 支持 - Aidan Mountford 贡献了他的 HSB 支持 - Daniel Ztolnai 贡献了他的 Serial Bridge 实现 - Gerhard Mutz 贡献了多种传感器和显示驱动程序、日出/日落和脚本功能 - Nuno Ferreira 贡献了他的 HC-SR04 驱动程序 - Adrian Scillato 贡献了他的(安全)修复以及 KNX 的实现和维护 - Gennaro Tortone 贡献了 Eastron 驱动程序的实现和维护 - Raymond Mouthaa 管理 Wemos Wiki 信息 - Norbert Richter 贡献了他的 [decode-config.py](https://github.com/tasmota/decode-config) 工具 - Joel Stein, digiblur 和 Shantur Rathore 贡献了他们的 Tuya 研究和驱动程序 - Frogmore42 提供了许多问题解答 - Jason2866 提供 platformio 支持并提供了许多问题解答 - Blakadder 管理文档站点并提供模板管理 - Stephan Hadinger 重构了灯光驱动程序,增强了 HueEmulation、LVGL、Zigbee 和 Berry 支持 - tmo 设计了官方 Tasmota logo - Stefan Bode 贡献了他的 Shutter 和 Deep sleep 驱动程序 - Jacek Ziółkowski 贡献了他的 [TDM](https://github.com/jziolkowski/tdm) 管理工具和 [Tasmotizer](https://github.com/tasmota/tasmotizer) 刷写工具 - Christian Staars 贡献了 NRF24L01 和 HM-10 蓝牙传感器支持 - Paul Diem 贡献了 UDP Group 通信支持 - Jörg Schüler-Maroldt 贡献了他最初的 ESP32 移植 - Javier Arigita 贡献了他的恒温器驱动程序 - Simon Hailes 贡献了 ESP32 蓝牙扩展 - 更多提供技巧、Wips、Pocs、PR 和捐赠的人 ## 许可证 本程序根据 GPL-3.0-only 授权
标签:Domoticz, ESP32, ESP8266, HomeAssistant, HTTP控制, IoT, KNX, OTA更新, PlatformIO, Tasmota, TCP/UDP协议, UML, WebUI, 串口通信, 家庭助理, 嵌入式系统, 开源固件, 开源物联网, 开源硬件, 微控制器, 智能家居, 智能家居自动化, 替代固件, 本地控制, 物联网, 设备驱动