arendst/Tasmota
GitHub: arendst/Tasmota
为ESP8266和ESP32设备提供完全本地化控制的替代固件,支持OTA更新、多协议通信和灵活的自动化规则。
Stars: 24193 | Forks: 5065

适用于基于 [ESP8266](https://en.wikipedia.org/wiki/ESP8266) 和 [ESP32](https://en.wikipedia.org/wiki/ESP32) 设备的替代固件,具有 **通过 webUI 轻松配置、OTA 更新、使用定时器或规则进行自动化、可扩展性以及完全通过 MQTT、HTTP、Serial 或 KNX 进行本地控制** 的特性。
_为 PlatformIO 编写。_
[](http://ota.tasmota.com/tasmota/release)
[](https://github.com/arendst/Tasmota/releases/latest)
[](LICENSE.txt)
[](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 的初始安装。 [](https://github.com/arendst/Tasmota/stargazers) [](https://github.com/arendst/Tasmota/network) [](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/ 下载。 ## 开发 [](https://github.com/arendst/Tasmota) [](http://ota.tasmota.com/tasmota/) [](https://github.com/arendst/Tasmota/actions/workflows/build_all_the_things.yml) [](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 授权
**鉴于当前事态,我们希望支持 _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 的初始安装。 [](https://github.com/arendst/Tasmota/stargazers) [](https://github.com/arendst/Tasmota/network) [](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/ 下载。 ## 开发 [](https://github.com/arendst/Tasmota) [](http://ota.tasmota.com/tasmota/) [](https://github.com/arendst/Tasmota/actions/workflows/build_all_the_things.yml) [](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, 串口通信, 家庭助理, 嵌入式系统, 开源固件, 开源物联网, 开源硬件, 微控制器, 智能家居, 智能家居自动化, 替代固件, 本地控制, 物联网, 设备驱动