mirror of
https://github.com/arendst/Tasmota.git
synced 2025-07-28 13:16:32 +00:00
Merge branch 'release-7.1'
This commit is contained in:
commit
af3aa3e5aa
2
.github/issue-close-app.yml
vendored
2
.github/issue-close-app.yml
vendored
@ -10,7 +10,7 @@ comment: >-
|
|||||||
Filling the template is required so standard questions don't need to be asked again each time.
|
Filling the template is required so standard questions don't need to be asked again each time.
|
||||||
Our ability to provide assistance is greatly hampered if few minutes are not taken to complete the issue template
|
Our ability to provide assistance is greatly hampered if few minutes are not taken to complete the issue template
|
||||||
with the requested information. The details requested potentially affect which options to pursue. The small amount
|
with the requested information. The details requested potentially affect which options to pursue. The small amount
|
||||||
of time you spend completing the template will also help the volunteers providing the assistance to you, to reduce
|
of time you will spend completing the template will also help the volunteers, providing assistance to you, to reduce
|
||||||
the time required to help you.
|
the time required to help you.
|
||||||
|
|
||||||
Please, could you be so kind on completing the [issue template](https://github.com/arendst/Tasmota/issues/new/choose) in order to have more information so as to properly help you?
|
Please, could you be so kind on completing the [issue template](https://github.com/arendst/Tasmota/issues/new/choose) in order to have more information so as to properly help you?
|
||||||
|
80
MODULES.md
Normal file
80
MODULES.md
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
## Supported Modules
|
||||||
|
|
||||||
|
The following hardware modules are supported.
|
||||||
|
|
||||||
|
Module | Description
|
||||||
|
------------------|-----------------------
|
||||||
|
01 Sonoff Basic | Sonoff Basic Wifi Smart Switch
|
||||||
|
02 Sonoff RF | Sonoff RF Wifi Smart Switch with RF (434MHz) receiver
|
||||||
|
03 Sonoff SV | Sonoff SV Safe Voltage Wifi Smart Switch
|
||||||
|
04 Sonoff TH | Sonoff TH10/TH16 Wifi Smart Switch with Sensor connection
|
||||||
|
05 Sonoff Dual | Sonoff Dual Wifi Smart Switch
|
||||||
|
06 Sonoff Pow | Sonoff Pow Wifi Smart Switch with Energy Monitoring
|
||||||
|
07 Sonoff 4CH | Sonoff 4CH 4-gang Wifi Smart Switch
|
||||||
|
08 Sonoff S2X | Sonoff S20/S26 Wifi Smart Socket
|
||||||
|
09 Slampher | Sonoff Slampher Wifi Smart Light Bulb Socket with RF (434MHz) receiver
|
||||||
|
10 Sonoff Touch | Sonoff Touch Wifi Light Switch
|
||||||
|
11 Sonoff LED | Sonoff Led Wifi Led Pack (Retired)
|
||||||
|
12 1 Channel | 1 Channel Inching/Self Locking Wifi Switch 5V/12V
|
||||||
|
13 4 Channel | 4 Channel Inching/Self Locking Wifi Switch (Retired)
|
||||||
|
14 Motor C/AC | Motor Clockwise/Antoclockwise Wifi Switch (Retired)
|
||||||
|
15 ElectroDragon | Electrodragon Wifi IoT Board
|
||||||
|
16 EXS Relay(s) | Electronic Experience Store 1 or 2-gang Wifi Module
|
||||||
|
17 WiOn | WiOn Wifi Smart Socket
|
||||||
|
18 Generic | Any ESP8266/ESP8285 device like WeMos and NodeMCU
|
||||||
|
19 Sonoff Dev | Sonoff Dev Wifi Development Board
|
||||||
|
20 H801 | H801 Wifi RGBWW Led Controller
|
||||||
|
21 Sonoff SC | Sonoff SC Wifi Environmental Monitor
|
||||||
|
22 Sonoff BN-SZ | Sonoff BN-SZ01 Wifi Ceiling Led (Retired)
|
||||||
|
23 Sonoff 4CH Pro | Sonoff 4CH Pro 4-gang Wifi Smart Switch
|
||||||
|
24 Huafan SS | HuaFan Wifi Smart Socket
|
||||||
|
25 Sonoff Bridge | Sonoff RF (434MHz) transceive to Wifi Bridge
|
||||||
|
26 Sonoff B1 | Sonoff B1 Wifi RGBWW Led Bulb
|
||||||
|
27 AiLight | Ai-Thinker RGBW Led Bulb
|
||||||
|
28 Sonoff T1 1CH | Sonoff T1 1-gang Wifi Light Switch
|
||||||
|
29 Sonoff T1 2CH | Sonoff T1 2-gang Wifi Light Switch
|
||||||
|
30 Sonoff T1 3CH | Sonoff T1 3-gang Wifi Light Switch
|
||||||
|
31 Supla Espablo | 2-gang Wifi Module
|
||||||
|
32 Witty Cloud | Witty Cloud ESP8266 Wifi Development Board
|
||||||
|
33 Yunshan Relay | ESP8266 Wifi Network Relay Module
|
||||||
|
34 MagicHome | MagicHome, Flux-light and some Arilux LC10 RGB(W) Led Controller
|
||||||
|
35 Luani HVIO | Luani ESP8266 Wifi I/O Module
|
||||||
|
36 KMC 70011 | KMC Wifi Smart Socket with Energy Monitoring
|
||||||
|
37 Arilux LC01 | Arilux AL-LC01 RGB Led Controller
|
||||||
|
38 Arilux LC11 | Arilux AL-LC11 RGBWW Led Controller
|
||||||
|
39 Sonoff Dual R2 | Sonoff Dual R2 Wifi Smart Switch
|
||||||
|
40 Arilux LC06 | Arilux AL-LC06 RGB(WW) Led Controller
|
||||||
|
41 Sonoff S31 | Sonoff S31 Wifi Smart Socket with Energy Monitoring
|
||||||
|
42 Zengge WF017 | Zengge WF017 Wifi RGB(W) Led Controller
|
||||||
|
43 Sonoff Pow R2 | Sonoff Pow R2 Wifi Smart Switch with Energy Monitoring
|
||||||
|
44 Sonoff iFan02 | Sonoff iFan02 Wifi Smart Ceiling Fan with Light
|
||||||
|
45 BlitzWolf SHP | BlitzWolf BW-SHP2, BW-SHP6, HomeCube SP1, Gosund SP111, Teckin SP22 Wifi Smart Switch with Energy Monitoring
|
||||||
|
46 Shelly 1 | Shelly 1 Open Source Wifi Relay Module
|
||||||
|
47 Shelly 2 | Shelly 2 Wifi 2-gang Relay Module with Energy Monitoring
|
||||||
|
48 Xiaomi Philips | Xiaomi Philips Wifi WW Led Bulb
|
||||||
|
49 Neo Coolcam | Neo Coolcam Wifi Smart Socket
|
||||||
|
50 ESP Switch | ESP Switch 4-gang Wifi Switch with Leds
|
||||||
|
51 OBI Socket | OBI Wifi Smart Socket
|
||||||
|
52 Teckin | Teckin SP22 Wifi Smart Switch with Energy Monitoring
|
||||||
|
53 AplicWDP303075 | Aplic WDP 303075 CSL Wifi Smart Switch with Energy Monitoring
|
||||||
|
54 Tuya Dimmer | MIUO (and other Tuya based) Wifi Dimmer for Incandescent Lights and Led
|
||||||
|
55 Gosund SP1 v23 | Gosund SP1 v2.3 Wifi Smart Switch with Energy Monitoring
|
||||||
|
56 ARMTR Dimmer | ARMtronix Wifi dimmer for Incandescent Lights and Led
|
||||||
|
57 SK03 Outdoor | SK03 Outdoor Wifi Smart Switch with Energy Monitoring
|
||||||
|
58 PS-16-DZ | PS-16-DZ Wifi dimmer for Incandescent Lights and Led
|
||||||
|
59 Teckin US | Teckin SP20 and ZooZee SA102 Wifi Smart Switch with Energy Monitoring
|
||||||
|
60 Manzoku strip | Manzoku Wifi Smart Power Strip with four Relays
|
||||||
|
61 OBI Socket 2 | OBI 2 Wifi Smart Socket
|
||||||
|
62 YTF IR Bridge | YTF Infra Red Wifi Bridge
|
||||||
|
63 Digoo DG-SP202 | Digoo DG-SP202 Dual Wifi Smart Switch with Energy Monitoring
|
||||||
|
64 KA10 | Smanergy KA10 Wifi Smart Wall Switch with Energy Monitoring
|
||||||
|
65 Luminea ZX2820 | Luminea ZX2820 Wifi Smart Switch with Energy Monitoring
|
||||||
|
66 Mi Desk Lamp | Mi Desk Lamp with rotary switch and Wifi
|
||||||
|
67 SP10 | Tuya SP10 Wifi Smart Switch with Energy Monitoring
|
||||||
|
68 WAGA CHCZ02MB | WAGA life CHCZ02MB Wifi Smart Switch with Energy Monitoring
|
||||||
|
69 SYF05 | Sunyesmart SYF05 RGBWW Wifi Led Bulb
|
||||||
|
70 Sonoff L1 | Sonoff L1 light strip
|
||||||
|
71 Sonoff iFan03 | Sonoff iFan03 Wifi Smart Ceiling Fan with Light
|
||||||
|
72 EXS Dimmer | EXS Wifi Dimmer v4
|
||||||
|
|
||||||
|
Over 600 additional devices are supported using [templates](TEMPLATES.md).
|
@ -20,7 +20,7 @@ In addition to the [release webpage](https://github.com/arendst/Tasmota/releases
|
|||||||
|
|
||||||
## Development
|
## Development
|
||||||
|
|
||||||
[](https://github.com/arendst/Tasmota)
|
[](https://github.com/arendst/Tasmota)
|
||||||
[](http://thehackbox.org/tasmota/)
|
[](http://thehackbox.org/tasmota/)
|
||||||
[](https://travis-ci.org/arendst/Tasmota)
|
[](https://travis-ci.org/arendst/Tasmota)
|
||||||
|
|
||||||
|
126
RELEASENOTES.md
126
RELEASENOTES.md
@ -28,87 +28,6 @@ To save resources when TLS is enabled mDNS needs to be disabled. In addition to
|
|||||||
|
|
||||||
For initial configuration this release supports Webserver based **WifiManager** or **Serial** based command interface only. Support for **WPS** and **SmartConfig** has been removed.
|
For initial configuration this release supports Webserver based **WifiManager** or **Serial** based command interface only. Support for **WPS** and **SmartConfig** has been removed.
|
||||||
|
|
||||||
## Supported Modules
|
|
||||||
|
|
||||||
The following hardware modules are supported.
|
|
||||||
|
|
||||||
Module | Description
|
|
||||||
------------------|-----------------------
|
|
||||||
01 Sonoff Basic | Sonoff Basic Wifi Smart Switch
|
|
||||||
02 Sonoff RF | Sonoff RF Wifi Smart Switch with RF (434MHz) receiver
|
|
||||||
03 Sonoff SV | Sonoff SV Safe Voltage Wifi Smart Switch
|
|
||||||
04 Sonoff TH | Sonoff TH10/TH16 Wifi Smart Switch with Sensor connection
|
|
||||||
05 Sonoff Dual | Sonoff Dual Wifi Smart Switch
|
|
||||||
06 Sonoff Pow | Sonoff Pow Wifi Smart Switch with Energy Monitoring
|
|
||||||
07 Sonoff 4CH | Sonoff 4CH 4-gang Wifi Smart Switch
|
|
||||||
08 Sonoff S2X | Sonoff S20/S26 Wifi Smart Socket
|
|
||||||
09 Slampher | Sonoff Slampher Wifi Smart Light Bulb Socket with RF (434MHz) receiver
|
|
||||||
10 Sonoff Touch | Sonoff Touch Wifi Light Switch
|
|
||||||
11 Sonoff LED | Sonoff Led Wifi Led Pack (Retired)
|
|
||||||
12 1 Channel | 1 Channel Inching/Self Locking Wifi Switch 5V/12V
|
|
||||||
13 4 Channel | 4 Channel Inching/Self Locking Wifi Switch (Retired)
|
|
||||||
14 Motor C/AC | Motor Clockwise/Antoclockwise Wifi Switch (Retired)
|
|
||||||
15 ElectroDragon | Electrodragon Wifi IoT Board
|
|
||||||
16 EXS Relay(s) | Electronic Experience Store 1 or 2-gang Wifi Module
|
|
||||||
17 WiOn | WiOn Wifi Smart Socket
|
|
||||||
18 Generic | Any ESP8266/ESP8285 device like WeMos and NodeMCU
|
|
||||||
19 Sonoff Dev | Sonoff Dev Wifi Development Board
|
|
||||||
20 H801 | H801 Wifi RGBWW Led Controller
|
|
||||||
21 Sonoff SC | Sonoff SC Wifi Environmental Monitor
|
|
||||||
22 Sonoff BN-SZ | Sonoff BN-SZ01 Wifi Ceiling Led (Retired)
|
|
||||||
23 Sonoff 4CH Pro | Sonoff 4CH Pro 4-gang Wifi Smart Switch
|
|
||||||
24 Huafan SS | HuaFan Wifi Smart Socket
|
|
||||||
25 Sonoff Bridge | Sonoff RF (434MHz) transceive to Wifi Bridge
|
|
||||||
26 Sonoff B1 | Sonoff B1 Wifi RGBWW Led Bulb
|
|
||||||
27 AiLight | Ai-Thinker RGBW Led Bulb
|
|
||||||
28 Sonoff T1 1CH | Sonoff T1 1-gang Wifi Light Switch
|
|
||||||
29 Sonoff T1 2CH | Sonoff T1 2-gang Wifi Light Switch
|
|
||||||
30 Sonoff T1 3CH | Sonoff T1 3-gang Wifi Light Switch
|
|
||||||
31 Supla Espablo | 2-gang Wifi Module
|
|
||||||
32 Witty Cloud | Witty Cloud ESP8266 Wifi Development Board
|
|
||||||
33 Yunshan Relay | ESP8266 Wifi Network Relay Module
|
|
||||||
34 MagicHome | MagicHome, Flux-light and some Arilux LC10 RGB(W) Led Controller
|
|
||||||
35 Luani HVIO | Luani ESP8266 Wifi I/O Module
|
|
||||||
36 KMC 70011 | KMC Wifi Smart Socket with Energy Monitoring
|
|
||||||
37 Arilux LC01 | Arilux AL-LC01 RGB Led Controller
|
|
||||||
38 Arilux LC11 | Arilux AL-LC11 RGBWW Led Controller
|
|
||||||
39 Sonoff Dual R2 | Sonoff Dual R2 Wifi Smart Switch
|
|
||||||
40 Arilux LC06 | Arilux AL-LC06 RGB(WW) Led Controller
|
|
||||||
41 Sonoff S31 | Sonoff S31 Wifi Smart Socket with Energy Monitoring
|
|
||||||
42 Zengge WF017 | Zengge WF017 Wifi RGB(W) Led Controller
|
|
||||||
43 Sonoff Pow R2 | Sonoff Pow R2 Wifi Smart Switch with Energy Monitoring
|
|
||||||
44 Sonoff iFan02 | Sonoff iFan02 Wifi Smart Ceiling Fan with Light
|
|
||||||
45 BlitzWolf SHP | BlitzWolf BW-SHP2, BW-SHP6, HomeCube SP1, Gosund SP111, Teckin SP22 Wifi Smart Switch with Energy Monitoring
|
|
||||||
46 Shelly 1 | Shelly 1 Open Source Wifi Relay Module
|
|
||||||
47 Shelly 2 | Shelly 2 Wifi 2-gang Relay Module with Energy Monitoring
|
|
||||||
48 Xiaomi Philips | Xiaomi Philips Wifi WW Led Bulb
|
|
||||||
49 Neo Coolcam | Neo Coolcam Wifi Smart Socket
|
|
||||||
50 ESP Switch | ESP Switch 4-gang Wifi Switch with Leds
|
|
||||||
51 OBI Socket | OBI Wifi Smart Socket
|
|
||||||
52 Teckin | Teckin SP22 Wifi Smart Switch with Energy Monitoring
|
|
||||||
53 AplicWDP303075 | Aplic WDP 303075 CSL Wifi Smart Switch with Energy Monitoring
|
|
||||||
54 Tuya Dimmer | MIUO (and other Tuya based) Wifi Dimmer for Incandescent Lights and Led
|
|
||||||
55 Gosund SP1 v23 | Gosund SP1 v2.3 Wifi Smart Switch with Energy Monitoring
|
|
||||||
56 ARMTR Dimmer | ARMtronix Wifi dimmer for Incandescent Lights and Led
|
|
||||||
57 SK03 Outdoor | SK03 Outdoor Wifi Smart Switch with Energy Monitoring
|
|
||||||
58 PS-16-DZ | PS-16-DZ Wifi dimmer for Incandescent Lights and Led
|
|
||||||
59 Teckin US | Teckin SP20 and ZooZee SA102 Wifi Smart Switch with Energy Monitoring
|
|
||||||
60 Manzoku strip | Manzoku Wifi Smart Power Strip with four Relays
|
|
||||||
61 OBI Socket 2 | OBI 2 Wifi Smart Socket
|
|
||||||
62 YTF IR Bridge | YTF Infra Red Wifi Bridge
|
|
||||||
63 Digoo DG-SP202 | Digoo DG-SP202 Dual Wifi Smart Switch with Energy Monitoring
|
|
||||||
64 KA10 | Smanergy KA10 Wifi Smart Wall Switch with Energy Monitoring
|
|
||||||
65 Luminea ZX2820 | Luminea ZX2820 Wifi Smart Switch with Energy Monitoring
|
|
||||||
66 Mi Desk Lamp | Mi Desk Lamp with rotary switch and Wifi
|
|
||||||
67 SP10 | Tuya SP10 Wifi Smart Switch with Energy Monitoring
|
|
||||||
68 WAGA CHCZ02MB | WAGA life CHCZ02MB Wifi Smart Switch with Energy Monitoring
|
|
||||||
69 SYF05 | Sunyesmart SYF05 RGBWW Wifi Led Bulb
|
|
||||||
70 Sonoff L1 | Sonoff L1 light strip
|
|
||||||
71 Sonoff iFan03 | Sonoff iFan03 Wifi Smart Ceiling Fan with Light
|
|
||||||
72 EXS Dimmer | EXS Wifi Dimmer v4
|
|
||||||
|
|
||||||
Over 500 additional devices are supported using [templates](TEMPLATES.md).
|
|
||||||
|
|
||||||
## Provided Binary Downloads
|
## Provided Binary Downloads
|
||||||
|
|
||||||
The following binary downloads have been compiled with ESP8266/Arduino library core version **2.6.1**.
|
The following binary downloads have been compiled with ESP8266/Arduino library core version **2.6.1**.
|
||||||
@ -122,46 +41,15 @@ The following binary downloads have been compiled with ESP8266/Arduino library c
|
|||||||
- **tasmota-display.bin** = The Display version without Energy Monitoring but adds display support.
|
- **tasmota-display.bin** = The Display version without Energy Monitoring but adds display support.
|
||||||
- **tasmota-minimal.bin** = The Minimal version allows intermediate OTA uploads to support larger versions and does NOT change any persistent parameter. This version **should NOT be used for initial installation**.
|
- **tasmota-minimal.bin** = The Minimal version allows intermediate OTA uploads to support larger versions and does NOT change any persistent parameter. This version **should NOT be used for initial installation**.
|
||||||
|
|
||||||
|
[List](MODULES.md) of embedded modules.
|
||||||
|
|
||||||
[Complete list](BUILDS.md) of available feature and sensors.
|
[Complete list](BUILDS.md) of available feature and sensors.
|
||||||
|
|
||||||
## Changelog
|
## Changelog
|
||||||
|
|
||||||
### Version 7.1.0 Betty
|
### Version 7.1.1 Betty
|
||||||
|
|
||||||
- Remove update support for versions before 6.0
|
- Fix slider for devices with one or two channels like only white or white/yellow
|
||||||
- Remove driver xsns_12_ads1115_i2cdev replaced by xsns_12_ads1115
|
- Fix TasmotaSlave buffer overrun on Tele
|
||||||
- Remove most IR protocols from non dedicated IR firmware except NEC, RC5 and RC6
|
- Fix light scheme 4 speed (#7072)
|
||||||
- Change repository name from Sonoff-Tasmota to Tasmota and all code references from Sonoff to Tasmota
|
- Add support for TasmotaSlave executing commands on Tasmota
|
||||||
- Change documentation from wiki to [documentation repository](https://tasmota.github.io/docs/) by @Blakadder
|
|
||||||
- Change default GUI to dark theme
|
|
||||||
- Change ArduinoSlave to TasmotaSlave
|
|
||||||
- Change IRremoteESP8266 library to v2.7.1
|
|
||||||
- Change supported PCF8574 I2C address range to 0x20 - 0x26 allowing other I2C devices with address 0x27 to be used at the same time
|
|
||||||
- Change supported PCF8574A I2C address range to 0x39 - 0x3F allowing other I2C devices with address 0x38 to be used at the same time
|
|
||||||
- Change supported MCP230xx I2C address range to 0x20 - 0x26 allowing other I2C devices with address 0x27 to be used at the same time
|
|
||||||
- Change Reset erase end address from as seen by SDK (getFlashChipSize) to full flash size (getFlashChipRealSize)
|
|
||||||
- Change new Fade system much smoother, Speed now up to 40 (#6942, #3714)
|
|
||||||
- Fix better control of RGB/White when ``SetOption37`` >128, added ``Dimmer1`` and ``Dimmer2`` commands (#6714)
|
|
||||||
- Fix random crash caused by UPNP flood
|
|
||||||
- Fix check deepsleep for valid values in Settings (#6961)
|
|
||||||
- Fix Wifi instability when light is on, due to ``Sleep 0`` (#6961, #6608)
|
|
||||||
- Fix auto-power on/off when setting channel to non-zero or zero value, when ``SetOption68 1``
|
|
||||||
- Fix postpone saving settings to flash until Fade is complete, avoids pause in Fade
|
|
||||||
- Add support for Tuya battery powered devices (#6735)
|
|
||||||
- Add support for Honeywell I2C HIH series Humidity and Temperetaure sensor (#6808)
|
|
||||||
- Add support for Honeywell HPMA115S0 particle concentration sensor by David Hunt (#6843)
|
|
||||||
- Add support for I2C sensor TLS2591 Light Intensity sensor (#6873)
|
|
||||||
- Add command ``SetOption73 0/1`` to re-enable HTTP Cross-Origin Resource Sharing (CORS) now default disabled (#6767)
|
|
||||||
- Add command ``SetOption74 0/1`` to enable DS18x20 internal pull-up and remove define DS18B20_INTERNAL_PULLUP (#6795)
|
|
||||||
- Add command ``SetOption75 0/1`` to switch between grouptopic (0) using fulltopic replacing %topic% or (1) is cmnd/\<grouptopic\> (#6779)
|
|
||||||
- Add command ``SetOption76 0/1`` to enable incrementing bootcount when deepsleep is enabled (#6930)
|
|
||||||
- Add command ``SetOption77 0/1`` to keep power on when slider is far left
|
|
||||||
- Add command ``I2cDriver`` for I2C driver runtime control using document I2CDEVICES.md
|
|
||||||
- Add command ``TempOffset -12.6 .. 12.6`` to set global temperature sensor offset (#6958)
|
|
||||||
- Add command ``WebColor19`` to control color of Module and Name (#6811)
|
|
||||||
- Add command ``WifiPower 0 .. 20.5`` to set Wifi Output Power which will be default set to 17dBm
|
|
||||||
- Add frequency to ADE7953 energy monitor as used in Shelly 2.5 by ljakob (#6778)
|
|
||||||
- Add hide Alexa objects with friendlyname starting with '$' (#6722, #6762)
|
|
||||||
- Add Zigbee command support, considered as v1.0 for full Zigbee support
|
|
||||||
- Add hardware detection to be overruled with ``SetOption51`` (#6969)
|
|
||||||
- Add Colorpicker to WebUI by Christian Staars (#6984)
|
|
||||||
|
@ -1,8 +1,18 @@
|
|||||||
## Unreleased (development)
|
## Unreleased (development)
|
||||||
|
|
||||||
|
|
||||||
## Released
|
## Released
|
||||||
|
|
||||||
|
### 7.1.1 20191201
|
||||||
|
|
||||||
|
- Maintenance Release
|
||||||
|
|
||||||
|
### 7.1.0.1 20191130
|
||||||
|
|
||||||
|
- Fix slider for devices with one or two channels like only white or white/yellow
|
||||||
|
- Fix TasmotaSlave buffer overrun on Tele
|
||||||
|
- Fix light scheme 4 speed (#7072)
|
||||||
|
- Add support for TasmotaSlave executing commands on Tasmota
|
||||||
|
|
||||||
### 7.1.0 20191129
|
### 7.1.0 20191129
|
||||||
|
|
||||||
- Release
|
- Release
|
||||||
|
@ -20,6 +20,6 @@
|
|||||||
#ifndef _TASMOTA_VERSION_H_
|
#ifndef _TASMOTA_VERSION_H_
|
||||||
#define _TASMOTA_VERSION_H_
|
#define _TASMOTA_VERSION_H_
|
||||||
|
|
||||||
const uint32_t VERSION = 0x07010000;
|
const uint32_t VERSION = 0x07010100;
|
||||||
|
|
||||||
#endif // _TASMOTA_VERSION_H_
|
#endif // _TASMOTA_VERSION_H_
|
||||||
|
@ -154,9 +154,11 @@ const char HTTP_SCRIPT_ROOT[] PROGMEM =
|
|||||||
|
|
||||||
const char HTTP_SCRIPT_ROOT_PART2[] PROGMEM =
|
const char HTTP_SCRIPT_ROOT_PART2[] PROGMEM =
|
||||||
"function lc(v,i,p){"
|
"function lc(v,i,p){"
|
||||||
"if(v=='h'||v=='d'){" // Hue or Brightness changed so change Saturation colors too
|
"if(eb('s')){" // Check if Saturation is in DOM otherwise javascript fails on la()
|
||||||
"var sl=eb('sl4').value;"
|
"if(v=='h'||v=='d'){" // Hue or Brightness changed so change Saturation colors too
|
||||||
"eb('s').style.background='linear-gradient(to right,rgb('+sl+'%%,'+sl+'%%,'+sl+'%%),hsl('+eb('sl2').value+',100%%,50%%))';"
|
"var sl=eb('sl4').value;"
|
||||||
|
"eb('s').style.background='linear-gradient(to right,rgb('+sl+'%%,'+sl+'%%,'+sl+'%%),hsl('+eb('sl2').value+',100%%,50%%))';"
|
||||||
|
"}"
|
||||||
"}"
|
"}"
|
||||||
"la('&'+v+i+'='+p);"
|
"la('&'+v+i+'='+p);"
|
||||||
"}"
|
"}"
|
||||||
|
@ -242,6 +242,7 @@ struct LIGHT {
|
|||||||
uint8_t color_remap[LST_MAX];
|
uint8_t color_remap[LST_MAX];
|
||||||
|
|
||||||
uint8_t wheel = 0;
|
uint8_t wheel = 0;
|
||||||
|
uint8_t random = 0;
|
||||||
uint8_t subtype = 0; // LST_ subtype
|
uint8_t subtype = 0; // LST_ subtype
|
||||||
uint8_t device = 0;
|
uint8_t device = 0;
|
||||||
uint8_t old_power = 1;
|
uint8_t old_power = 1;
|
||||||
@ -1541,28 +1542,19 @@ void LightCycleColor(int8_t direction)
|
|||||||
if (Light.strip_timer_counter % (Settings.light_speed * 2)) {
|
if (Light.strip_timer_counter % (Settings.light_speed * 2)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Light.wheel += direction;
|
|
||||||
|
if (0 == direction) {
|
||||||
|
if (Light.random == Light.wheel) {
|
||||||
|
Light.random = random(255);
|
||||||
|
}
|
||||||
|
Light.wheel += (Light.random < Light.wheel) ? -1 : 1;
|
||||||
|
} else {
|
||||||
|
Light.wheel += direction;
|
||||||
|
}
|
||||||
LightWheel(Light.wheel);
|
LightWheel(Light.wheel);
|
||||||
memcpy(Light.new_color, Light.entry_color, sizeof(Light.new_color));
|
memcpy(Light.new_color, Light.entry_color, sizeof(Light.new_color));
|
||||||
}
|
}
|
||||||
|
|
||||||
void LightRandomColor(void)
|
|
||||||
{
|
|
||||||
bool update = false;
|
|
||||||
for (uint32_t i = 0; i < LST_RGB; i++) {
|
|
||||||
if (Light.new_color[i] != Light.current_color[i]) {
|
|
||||||
update = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!update) {
|
|
||||||
Light.wheel = random(255);
|
|
||||||
LightWheel(Light.wheel);
|
|
||||||
memcpy(Light.current_color, Light.entry_color, sizeof(Light.current_color));
|
|
||||||
}
|
|
||||||
|
|
||||||
memcpy(Light.new_color, Light.current_color, sizeof(Light.new_color));
|
|
||||||
}
|
|
||||||
|
|
||||||
void LightSetPower(void)
|
void LightSetPower(void)
|
||||||
{
|
{
|
||||||
// Light.power = XdrvMailbox.index;
|
// Light.power = XdrvMailbox.index;
|
||||||
@ -1652,7 +1644,7 @@ void LightAnimate(void)
|
|||||||
LightCycleColor(-1);
|
LightCycleColor(-1);
|
||||||
break;
|
break;
|
||||||
case LS_RANDOM:
|
case LS_RANDOM:
|
||||||
LightRandomColor();
|
LightCycleColor(0);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
XlgtCall(FUNC_SET_SCHEME);
|
XlgtCall(FUNC_SET_SCHEME);
|
||||||
|
@ -47,6 +47,7 @@
|
|||||||
#define CMND_FUNC_EVERY_100_MSECOND 0x04
|
#define CMND_FUNC_EVERY_100_MSECOND 0x04
|
||||||
#define CMND_SLAVE_SEND 0x05
|
#define CMND_SLAVE_SEND 0x05
|
||||||
#define CMND_PUBLISH_TELE 0x06
|
#define CMND_PUBLISH_TELE 0x06
|
||||||
|
#define CMND_EXECUTE_CMND 0x07
|
||||||
|
|
||||||
#define PARAM_DATA_START 0xFE
|
#define PARAM_DATA_START 0xFE
|
||||||
#define PARAM_DATA_END 0xFF
|
#define PARAM_DATA_END 0xFF
|
||||||
@ -142,6 +143,7 @@ struct TSLAVE {
|
|||||||
bool flashing = false;
|
bool flashing = false;
|
||||||
bool SerialEnabled = false;
|
bool SerialEnabled = false;
|
||||||
uint8_t waitstate = 0; // We use this so that features detection does not slow down other stuff on startup
|
uint8_t waitstate = 0; // We use this so that features detection does not slow down other stuff on startup
|
||||||
|
bool unsupported = false;
|
||||||
} TSlave;
|
} TSlave;
|
||||||
|
|
||||||
typedef union {
|
typedef union {
|
||||||
@ -461,9 +463,14 @@ void TasmotaSlave_Init(void)
|
|||||||
TasmotaSlave_Serial->readBytesUntil(char(PARAM_DATA_START), buffer, sizeof(buffer));
|
TasmotaSlave_Serial->readBytesUntil(char(PARAM_DATA_START), buffer, sizeof(buffer));
|
||||||
uint8_t len = TasmotaSlave_Serial->readBytesUntil(char(PARAM_DATA_END), buffer, sizeof(buffer));
|
uint8_t len = TasmotaSlave_Serial->readBytesUntil(char(PARAM_DATA_END), buffer, sizeof(buffer));
|
||||||
memcpy(&TSlaveSettings, &buffer, sizeof(TSlaveSettings));
|
memcpy(&TSlaveSettings, &buffer, sizeof(TSlaveSettings));
|
||||||
if (20191101 == TSlaveSettings.features_version) {
|
if (20191129 == TSlaveSettings.features_version) {
|
||||||
TSlave.type = true;
|
TSlave.type = true;
|
||||||
AddLog_P2(LOG_LEVEL_INFO, PSTR("Tasmota Slave Version %u"), TSlaveSettings.features_version);
|
AddLog_P2(LOG_LEVEL_INFO, PSTR("Tasmota Slave Version %u"), TSlaveSettings.features_version);
|
||||||
|
} else {
|
||||||
|
if ((!TSlave.unsupported) && (TSlaveSettings.features_version > 0)) {
|
||||||
|
AddLog_P2(LOG_LEVEL_INFO, PSTR("Tasmota Slave Version %u not supported!"), TSlaveSettings.features_version);
|
||||||
|
TSlave.unsupported = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -506,8 +513,9 @@ void (* const TasmotaSlaveCommand[])(void) PROGMEM = {
|
|||||||
void CmndTasmotaSlaveReset(void)
|
void CmndTasmotaSlaveReset(void)
|
||||||
{
|
{
|
||||||
TasmotaSlave_Reset();
|
TasmotaSlave_Reset();
|
||||||
TSlave.type = false; // Force redetection
|
TSlave.type = false; // Force redetection
|
||||||
TSlave.waitstate = 7; // give it at least 3 seconds to restart from bootloader
|
TSlave.waitstate = 7; // give it at least 3 seconds to restart from bootloader
|
||||||
|
TSlave.unsupported = false; // Reset unsupported flag
|
||||||
ResponseCmndDone();
|
ResponseCmndDone();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -536,21 +544,25 @@ void TasmotaSlave_ProcessIn(void)
|
|||||||
}
|
}
|
||||||
TasmotaSlave_Serial->read(); // read trailing byte of command
|
TasmotaSlave_Serial->read(); // read trailing byte of command
|
||||||
memcpy(&TSlaveCommand, &buffer, sizeof(TSlaveCommand));
|
memcpy(&TSlaveCommand, &buffer, sizeof(TSlaveCommand));
|
||||||
|
char inbuf[TSlaveCommand.parameter+1];
|
||||||
|
TasmotaSlave_waitForSerialData(TSlaveCommand.parameter, 50);
|
||||||
|
TasmotaSlave_Serial->read(); // Read leading byte
|
||||||
|
for (uint8_t idx = 0; idx < TSlaveCommand.parameter; idx++) {
|
||||||
|
inbuf[idx] = TasmotaSlave_Serial->read();
|
||||||
|
}
|
||||||
|
TasmotaSlave_Serial->read(); // Read trailing byte
|
||||||
|
inbuf[TSlaveCommand.parameter] = '\0';
|
||||||
|
|
||||||
if (CMND_PUBLISH_TELE == TSlaveCommand.command) { // We need to publish stat/ with incoming stream as content
|
if (CMND_PUBLISH_TELE == TSlaveCommand.command) { // We need to publish stat/ with incoming stream as content
|
||||||
char inbuf[sizeof(TSlaveCommand.parameter)+1];
|
|
||||||
TasmotaSlave_waitForSerialData(TSlaveCommand.parameter, 50);
|
|
||||||
TasmotaSlave_Serial->read(); // Read leading byte
|
|
||||||
for (uint8_t idx = 0; idx < TSlaveCommand.parameter; idx++) {
|
|
||||||
inbuf[idx] = TasmotaSlave_Serial->read();
|
|
||||||
}
|
|
||||||
TasmotaSlave_Serial->read(); // Read trailing byte
|
|
||||||
inbuf[TSlaveCommand.parameter] = '\0';
|
|
||||||
Response_P(PSTR("{\"TasmotaSlave\":"));
|
Response_P(PSTR("{\"TasmotaSlave\":"));
|
||||||
ResponseAppend_P("%s", inbuf);
|
ResponseAppend_P("%s", inbuf);
|
||||||
ResponseJsonEnd();
|
ResponseJsonEnd();
|
||||||
MqttPublishPrefixTopic_P(RESULT_OR_TELE, mqtt_data);
|
MqttPublishPrefixTopic_P(RESULT_OR_TELE, mqtt_data);
|
||||||
XdrvRulesProcess();
|
XdrvRulesProcess();
|
||||||
}
|
}
|
||||||
|
if (CMND_EXECUTE_CMND == TSlaveCommand.command) { // We need to execute the incoming command
|
||||||
|
ExecuteCommand(inbuf, SRC_IGNORE);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user