mirror of
https://github.com/arendst/Tasmota.git
synced 2025-07-23 10:46:31 +00:00
Bump version v13.3.0.3
This commit is contained in:
parent
a13e83e1e6
commit
3e3bfccb58
25
CHANGELOG.md
25
CHANGELOG.md
@ -3,7 +3,24 @@ All notable changes to this project will be documented in this file.
|
|||||||
|
|
||||||
## [Unreleased] - Development
|
## [Unreleased] - Development
|
||||||
|
|
||||||
## [13.3.0.2]
|
## [13.3.0.3]
|
||||||
|
### Added
|
||||||
|
- Berry `debug.caller` (#20470)
|
||||||
|
- GPIO Viewer user selection of assets website now defaults to `https://ota.tasmota.com/tasmota|tasmota32/gpio_viewer/assets`
|
||||||
|
|
||||||
|
### Breaking Changed
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- SML update (#20474)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Scripter memory leak in `>w x` (#20473)
|
||||||
|
- ESP8266 GPIO Viewer exception 9 on reading Analog GPIO
|
||||||
|
|
||||||
|
### Removed
|
||||||
|
|
||||||
|
|
||||||
|
## [13.3.0.2] 20240111
|
||||||
### Added
|
### Added
|
||||||
- HASPmota type `chart` (#20372)
|
- HASPmota type `chart` (#20372)
|
||||||
- Berry add support for `tcpclientasync` in `tcpserver` (#20401)
|
- Berry add support for `tcpclientasync` in `tcpserver` (#20401)
|
||||||
@ -20,9 +37,6 @@ All notable changes to this project will be documented in this file.
|
|||||||
- Berry provide lightweight options for `tasmota.wifi/eth/memory/rtc` (#20448)
|
- Berry provide lightweight options for `tasmota.wifi/eth/memory/rtc` (#20448)
|
||||||
- Berry `tasmota.webcolor` (#20454)
|
- Berry `tasmota.webcolor` (#20454)
|
||||||
- Support for pipsolar inverter (#20408)
|
- Support for pipsolar inverter (#20408)
|
||||||
- Berry `debug.caller`
|
|
||||||
|
|
||||||
### Breaking Changed
|
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
- Renamed button "Consoles" to "Tools"
|
- Renamed button "Consoles" to "Tools"
|
||||||
@ -35,9 +49,6 @@ All notable changes to this project will be documented in this file.
|
|||||||
### Fixed
|
### Fixed
|
||||||
- ESP32 Zigbee Aqara attributes (#20452)
|
- ESP32 Zigbee Aqara attributes (#20452)
|
||||||
|
|
||||||
### Removed
|
|
||||||
|
|
||||||
|
|
||||||
## [13.3.0.1] 20240101
|
## [13.3.0.1] 20240101
|
||||||
### Added
|
### Added
|
||||||
- Support for Sonoff Basic R4 Magic Switch (#20247)
|
- Support for Sonoff Basic R4 Magic Switch (#20247)
|
||||||
|
@ -116,12 +116,13 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm
|
|||||||
|
|
||||||
[Complete list](BUILDS.md) of available feature and sensors.
|
[Complete list](BUILDS.md) of available feature and sensors.
|
||||||
|
|
||||||
## Changelog v13.3.0.2
|
## Changelog v13.3.0.3
|
||||||
### Added
|
### Added
|
||||||
- Support for CST816S touch interface [#20213](https://github.com/arendst/Tasmota/issues/20213)
|
- Support for CST816S touch interface [#20213](https://github.com/arendst/Tasmota/issues/20213)
|
||||||
- Support for Sonoff Basic R4 Magic Switch [#20247](https://github.com/arendst/Tasmota/issues/20247)
|
- Support for Sonoff Basic R4 Magic Switch [#20247](https://github.com/arendst/Tasmota/issues/20247)
|
||||||
- Display of active drivers using command ``status 4``
|
- Display of active drivers using command ``status 4``
|
||||||
- GPIO Viewer to see realtime GPIO states. Enable with define USE_GPIO_VIEWER
|
- GPIO Viewer to see realtime GPIO states. Enable with define USE_GPIO_VIEWER
|
||||||
|
- GPIO Viewer user selection of assets website now defaults to `https://ota.tasmota.com/tasmota|tasmota32/gpio_viewer/assets`
|
||||||
- NeoPool hydrolysis FL1 and Redox flag [#20258](https://github.com/arendst/Tasmota/issues/20258)
|
- NeoPool hydrolysis FL1 and Redox flag [#20258](https://github.com/arendst/Tasmota/issues/20258)
|
||||||
- Support negative power on BL0942 using index 5..8 [#20322](https://github.com/arendst/Tasmota/issues/20322)
|
- Support negative power on BL0942 using index 5..8 [#20322](https://github.com/arendst/Tasmota/issues/20322)
|
||||||
- Support for pipsolar inverter [#20408](https://github.com/arendst/Tasmota/issues/20408)
|
- Support for pipsolar inverter [#20408](https://github.com/arendst/Tasmota/issues/20408)
|
||||||
@ -139,6 +140,7 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm
|
|||||||
- Berry `webserver.header` to read browser sent headers [#20447](https://github.com/arendst/Tasmota/issues/20447)
|
- Berry `webserver.header` to read browser sent headers [#20447](https://github.com/arendst/Tasmota/issues/20447)
|
||||||
- Berry provide lightweight options for `tasmota.wifi/eth/memory/rtc` [#20448](https://github.com/arendst/Tasmota/issues/20448)
|
- Berry provide lightweight options for `tasmota.wifi/eth/memory/rtc` [#20448](https://github.com/arendst/Tasmota/issues/20448)
|
||||||
- Berry `tasmota.webcolor` [#20454](https://github.com/arendst/Tasmota/issues/20454)
|
- Berry `tasmota.webcolor` [#20454](https://github.com/arendst/Tasmota/issues/20454)
|
||||||
|
- Berry `debug.caller` [#20470](https://github.com/arendst/Tasmota/issues/20470)
|
||||||
- HASPmota `haspmota.page_show()` to change page [#20333](https://github.com/arendst/Tasmota/issues/20333)
|
- HASPmota `haspmota.page_show()` to change page [#20333](https://github.com/arendst/Tasmota/issues/20333)
|
||||||
- HASPmota type `chart` [#20372](https://github.com/arendst/Tasmota/issues/20372)
|
- HASPmota type `chart` [#20372](https://github.com/arendst/Tasmota/issues/20372)
|
||||||
- Matter support for password for remote Tasmota devices [#20296](https://github.com/arendst/Tasmota/issues/20296)
|
- Matter support for password for remote Tasmota devices [#20296](https://github.com/arendst/Tasmota/issues/20296)
|
||||||
@ -154,11 +156,13 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm
|
|||||||
- Support syslog updates every sleep or every second if `#define SYSLOG_UPDATE_SECOND` [#20260](https://github.com/arendst/Tasmota/issues/20260)
|
- Support syslog updates every sleep or every second if `#define SYSLOG_UPDATE_SECOND` [#20260](https://github.com/arendst/Tasmota/issues/20260)
|
||||||
- Header `Host` is now collected by Webserver [#20446](https://github.com/arendst/Tasmota/issues/20446)
|
- Header `Host` is now collected by Webserver [#20446](https://github.com/arendst/Tasmota/issues/20446)
|
||||||
- Webcam tweaks [#20451](https://github.com/arendst/Tasmota/issues/20451)
|
- Webcam tweaks [#20451](https://github.com/arendst/Tasmota/issues/20451)
|
||||||
|
- SML update [#20474](https://github.com/arendst/Tasmota/issues/20474)
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
- CVE-2021-36603 Cross Site Scripting (XSS) vulnerability [#12221](https://github.com/arendst/Tasmota/issues/12221)
|
- CVE-2021-36603 Cross Site Scripting (XSS) vulnerability [#12221](https://github.com/arendst/Tasmota/issues/12221)
|
||||||
- Syslog server warning caused by lack of <PRI> field and hostname starting with 'z' [#14689](https://github.com/arendst/Tasmota/issues/14689)
|
- Syslog server warning caused by lack of <PRI> field and hostname starting with 'z' [#14689](https://github.com/arendst/Tasmota/issues/14689)
|
||||||
- Support for Domoticz floor/room topics. Regression from v12.0.1 [#20299](https://github.com/arendst/Tasmota/issues/20299)
|
- Support for Domoticz floor/room topics. Regression from v12.0.1 [#20299](https://github.com/arendst/Tasmota/issues/20299)
|
||||||
|
- Scripter memory leak in `>w x` (#20473)[#20473](https://github.com/arendst/Tasmota/issues/20473)
|
||||||
- ESP32 piezo ceramic buzzer doesn't buzz [#20118](https://github.com/arendst/Tasmota/issues/20118)
|
- ESP32 piezo ceramic buzzer doesn't buzz [#20118](https://github.com/arendst/Tasmota/issues/20118)
|
||||||
- ESP32 Zigbee Aqara attributes [#20452](https://github.com/arendst/Tasmota/issues/20452)
|
- ESP32 Zigbee Aqara attributes [#20452](https://github.com/arendst/Tasmota/issues/20452)
|
||||||
- LVGL fix type for lv_imgbtn [#20354](https://github.com/arendst/Tasmota/issues/20354)
|
- LVGL fix type for lv_imgbtn [#20354](https://github.com/arendst/Tasmota/issues/20354)
|
||||||
|
@ -20,6 +20,6 @@
|
|||||||
#ifndef _TASMOTA_VERSION_H_
|
#ifndef _TASMOTA_VERSION_H_
|
||||||
#define _TASMOTA_VERSION_H_
|
#define _TASMOTA_VERSION_H_
|
||||||
|
|
||||||
const uint32_t TASMOTA_VERSION = 0x0D030002; // 13.3.0.2
|
const uint32_t TASMOTA_VERSION = 0x0D030003; // 13.3.0.3
|
||||||
|
|
||||||
#endif // _TASMOTA_VERSION_H_
|
#endif // _TASMOTA_VERSION_H_
|
||||||
|
@ -471,6 +471,7 @@
|
|||||||
// #define USE_WEBSEND_RESPONSE // Enable command WebSend response message (+1k code)
|
// #define USE_WEBSEND_RESPONSE // Enable command WebSend response message (+1k code)
|
||||||
// #define USE_WEBGETCONFIG // Enable restoring config from external webserver (+0k6)
|
// #define USE_WEBGETCONFIG // Enable restoring config from external webserver (+0k6)
|
||||||
// #define USE_GPIO_VIEWER // Enable GPIO Viewer to see realtime GPIO states (+4k code)
|
// #define USE_GPIO_VIEWER // Enable GPIO Viewer to see realtime GPIO states (+4k code)
|
||||||
|
// #define GV_BASE_URL "https://thelastoutpostworkshop.github.io/microcontroller_devkit/gpio_viewer/assets/"
|
||||||
// #define GV_SAMPLING_INTERVAL 100 // [GvSampling] milliseconds - Use Tasmota Scheduler (100) or Ticker (20..99,101..1000)
|
// #define GV_SAMPLING_INTERVAL 100 // [GvSampling] milliseconds - Use Tasmota Scheduler (100) or Ticker (20..99,101..1000)
|
||||||
#define USE_EMULATION_HUE // Enable Hue Bridge emulation for Alexa (+14k code, +2k mem common)
|
#define USE_EMULATION_HUE // Enable Hue Bridge emulation for Alexa (+14k code, +2k mem common)
|
||||||
#define USE_EMULATION_WEMO // Enable Belkin WeMo emulation for Alexa (+6k code, +2k mem common)
|
#define USE_EMULATION_WEMO // Enable Belkin WeMo emulation for Alexa (+6k code, +2k mem common)
|
||||||
|
@ -26,7 +26,19 @@
|
|||||||
|
|
||||||
#define GV_KEEP_ALIVE 1000 // milliseconds - If no activity after this do a heap size event anyway
|
#define GV_KEEP_ALIVE 1000 // milliseconds - If no activity after this do a heap size event anyway
|
||||||
|
|
||||||
#define GV_BASE_URL "https://thelastoutpostworkshop.github.io/microcontroller_devkit/gpio_viewer/assets/"
|
//#define GV_BASE_URL "https://thelastoutpostworkshop.github.io/microcontroller_devkit/gpio_viewer/assets/"
|
||||||
|
#ifdef ESP8266
|
||||||
|
#ifndef GV_BASE_URL
|
||||||
|
#undef GV_BASE_URL // Fix compiler warning
|
||||||
|
#define GV_BASE_URL "https://ota.tasmota.com/tasmota/gpio_viewer/assets/"
|
||||||
|
#endif
|
||||||
|
#endif // ESP8266
|
||||||
|
#ifdef ESP32
|
||||||
|
#ifndef GV_BASE_URL
|
||||||
|
#undef GV_BASE_URL // Fix compiler warning
|
||||||
|
#define GV_BASE_URL "https://ota.tasmota.com/tasmota32/gpio_viewer/assets/"
|
||||||
|
#endif
|
||||||
|
#endif // ESP32
|
||||||
|
|
||||||
const char *GVRelease = "1.0.7";
|
const char *GVRelease = "1.0.7";
|
||||||
|
|
||||||
@ -196,6 +208,7 @@ void GVMonitorTask(void) {
|
|||||||
for (uint32_t pin = 0; pin < MAX_GPIO_PIN; pin++) {
|
for (uint32_t pin = 0; pin < MAX_GPIO_PIN; pin++) {
|
||||||
int currentState = 0;
|
int currentState = 0;
|
||||||
/*
|
/*
|
||||||
|
// Skip unconfigured GPIO
|
||||||
uint32_t pin_type = GetPin(pin) / 32;
|
uint32_t pin_type = GetPin(pin) / 32;
|
||||||
if (GPIO_NONE == pin_type) {
|
if (GPIO_NONE == pin_type) {
|
||||||
pintype = GV_DigitalPin;
|
pintype = GV_DigitalPin;
|
||||||
@ -204,6 +217,7 @@ void GVMonitorTask(void) {
|
|||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
#ifdef ESP32
|
#ifdef ESP32
|
||||||
|
// Read PWM GPIO
|
||||||
int pwm_resolution = ledcReadDutyResolution(pin);
|
int pwm_resolution = ledcReadDutyResolution(pin);
|
||||||
if (pwm_resolution > 0) {
|
if (pwm_resolution > 0) {
|
||||||
pintype = GV_PWMPin;
|
pintype = GV_PWMPin;
|
||||||
@ -213,6 +227,7 @@ void GVMonitorTask(void) {
|
|||||||
#endif // ESP32
|
#endif // ESP32
|
||||||
|
|
||||||
#ifdef ESP8266
|
#ifdef ESP8266
|
||||||
|
// Read PWM GPIO
|
||||||
int pwm_value = AnalogRead(pin);
|
int pwm_value = AnalogRead(pin);
|
||||||
if (pwm_value > -1) {
|
if (pwm_value > -1) {
|
||||||
pintype = GV_PWMPin;
|
pintype = GV_PWMPin;
|
||||||
@ -222,11 +237,22 @@ void GVMonitorTask(void) {
|
|||||||
#endif // ESP8266
|
#endif // ESP8266
|
||||||
|
|
||||||
else if (AdcPin(pin)) {
|
else if (AdcPin(pin)) {
|
||||||
|
// Read Analog (ADC) GPIO
|
||||||
pintype = GV_AnalogPin;
|
pintype = GV_AnalogPin;
|
||||||
|
/*
|
||||||
|
#ifdef ESP32
|
||||||
originalValue = AdcRead(pin, 2);
|
originalValue = AdcRead(pin, 2);
|
||||||
int adc_resolution = (1 << AdcResolution()) - 1;
|
#endif // ESP32
|
||||||
currentState = changeUIntScale(originalValue, 0, adc_resolution, 0, 255); // bring back to 0..255
|
#ifdef ESP8266
|
||||||
} else {
|
// Fix exception 9 if using ticker - GV.sampling != 100 (CallChain: (phy)pm_wakeup_init, (adc)test_tout, ets_timer_arm_new, delay, AdcRead, String6concat, MonitorTask)
|
||||||
|
originalValue = (GV.sampling != 100) ? analogRead(pin) : AdcRead(pin, 1);
|
||||||
|
#endif // ESP8266
|
||||||
|
*/
|
||||||
|
originalValue = AdcRead1(pin);
|
||||||
|
currentState = changeUIntScale(originalValue, 0, AdcRange(), 0, 255); // bring back to 0..255
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// Read digital GPIO
|
||||||
pintype = GV_DigitalPin;
|
pintype = GV_DigitalPin;
|
||||||
int value = digitalRead(pin);
|
int value = digitalRead(pin);
|
||||||
originalValue = value;
|
originalValue = value;
|
||||||
|
@ -324,8 +324,8 @@ void AdcInit(void) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t AdcResolution(void) {
|
uint32_t AdcRange(void) {
|
||||||
return ANALOG_RESOLUTION;
|
return ANALOG_RANGE;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool AdcPin(uint32_t pin) {
|
bool AdcPin(uint32_t pin) {
|
||||||
@ -337,6 +337,14 @@ bool AdcPin(uint32_t pin) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint16_t AdcRead1(uint32_t pin) {
|
||||||
|
#ifdef ESP32
|
||||||
|
return analogReadMilliVolts(pin) / (ANALOG_V33*1000) * ANALOG_RANGE; // go back from mV to ADC
|
||||||
|
#else
|
||||||
|
return analogRead(pin);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
uint16_t AdcRead(uint32_t pin, uint32_t factor) {
|
uint16_t AdcRead(uint32_t pin, uint32_t factor) {
|
||||||
// factor 1 = 2 samples
|
// factor 1 = 2 samples
|
||||||
// factor 2 = 4 samples
|
// factor 2 = 4 samples
|
||||||
@ -348,17 +356,10 @@ uint16_t AdcRead(uint32_t pin, uint32_t factor) {
|
|||||||
uint32_t samples = 1 << factor;
|
uint32_t samples = 1 << factor;
|
||||||
uint32_t analog = 0;
|
uint32_t analog = 0;
|
||||||
for (uint32_t i = 0; i < samples; i++) {
|
for (uint32_t i = 0; i < samples; i++) {
|
||||||
#ifdef ESP32
|
analog += AdcRead1(pin);
|
||||||
analog += analogReadMilliVolts(pin); // get the value corrected by calibrated values from the eFuses
|
|
||||||
#else
|
|
||||||
analog += analogRead(pin);
|
|
||||||
#endif
|
|
||||||
delay(1);
|
delay(1);
|
||||||
}
|
}
|
||||||
analog >>= factor;
|
analog >>= factor;
|
||||||
#ifdef ESP32
|
|
||||||
analog = analog/(ANALOG_V33*1000) * ANALOG_RANGE; // go back from mV to ADC
|
|
||||||
#endif
|
|
||||||
return analog;
|
return analog;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user