Update changelogs

This commit is contained in:
Theo Arends 2024-02-03 17:23:07 +01:00
parent 55259aa8c5
commit 92b8bb3c9b
3 changed files with 25 additions and 16 deletions

View File

@ -8,7 +8,8 @@ All notable changes to this project will be documented in this file.
- HASPmota support for `min` and `max` attribute in `slider` (#20582)
- ESP32-C3 support for GPIO11 (#18350)
- ESP32 support for Shelly Plus Add-On using DS18x20 or DHT11/AM2301/DHT21/DHT22/AM2302/AM2321/SI7021 on GPIO0/1 (#20580)
- Berry add `introspect.contains` and `bytes.addfloat`
- ESP32 MI32 Legacy initial support for sensors using BTHOME packet format (#20625)
- Berry `introspect.contains` and `bytes.addfloat` (#20635)
### Breaking Changed
@ -19,6 +20,7 @@ All notable changes to this project will be documented in this file.
- ESP32 Core3 platform update from 2024.01.11 to 2024.01.12 (#20576)
- Utouch optimizations, rgb i2c init (#20596)
- GPIO Viewer update from 1.0.7 to 1.5.0
- Miel HVAC lower the minimum temperature to 10C (#20628)
### Fixed
- Berry C mapping, raise an error if too many arguments are sent (#20604)

View File

@ -133,8 +133,8 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm
- ESP32 used UART information
- ESP32 support GPIOViewer when ``define USE_ESP32_GPIO_VIEWER`` is enabled
- ESP32 MI BLE support for Xiaomi LYWSD02MMC [#20381](https://github.com/arendst/Tasmota/issues/20381)
- ESP32 support for Shelly Plus Add-On using DS18x20 or DHT11/AM2301/DHT21/DHT22/AM2302/AM2321/SI7021 on GPIO0/1 (#20580)
[#20580](https://github.com/arendst/Tasmota/issues/20580)
- ESP32 support for Shelly Plus Add-On using DS18x20 or DHT11/AM2301/DHT21/DHT22/AM2302/AM2321/SI7021 on GPIO0/1 [#20580](https://github.com/arendst/Tasmota/issues/20580)
- ESP32 MI32 Legacy initial support for sensors using BTHOME packet format [#20625](https://github.com/arendst/Tasmota/issues/20625)
- ESP32-C3 support for GPIO11 [#18350](https://github.com/arendst/Tasmota/issues/18350)
- Berry GPIO viewer initial version using async webserver [#20416](https://github.com/arendst/Tasmota/issues/20416)
- Berry `introspect.set()` for class attributes [#20339](https://github.com/arendst/Tasmota/issues/20339)
@ -152,6 +152,7 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm
- Berry solidification of strings longer than 255 bytes [#20529](https://github.com/arendst/Tasmota/issues/20529)
- Berry syntax coloring for Notepad++ by FransO [#20541](https://github.com/arendst/Tasmota/issues/20541)
- Berry/Zigbee web hook per device for customized status display [#20542](https://github.com/arendst/Tasmota/issues/20542)
- Berry `introspect.contains` and `bytes.addfloat` [#20635](https://github.com/arendst/Tasmota/issues/20635)
- Zigbee ``ZbEmulation`` to selectively exclude some devices from Hue/Alexa emulation [#20552](https://github.com/arendst/Tasmota/issues/20552)
- LVGL `lv.str_arr` [#20480](https://github.com/arendst/Tasmota/issues/20480)
- LVGL option to add `lv.keyboard` extra widget [#20496](https://github.com/arendst/Tasmota/issues/20496)
@ -176,6 +177,7 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm
- Web file upload response on upload error [#20340](https://github.com/arendst/Tasmota/issues/20340)
- Header `Host` is now collected by Webserver [#20446](https://github.com/arendst/Tasmota/issues/20446)
- Utouch optimizations, rgb i2c init [#20596](https://github.com/arendst/Tasmota/issues/20596)
- Miel HVAC lower the minimum temperature to 10C [#20628](https://github.com/arendst/Tasmota/issues/20628)
- Webcam tweaks [#20451](https://github.com/arendst/Tasmota/issues/20451)
- IP stack compatible with new Core3 IPv6 implementation [#20509](https://github.com/arendst/Tasmota/issues/20509)
- Refactored Pio filesystem download script [#20544](https://github.com/arendst/Tasmota/issues/20544)

View File

@ -58,24 +58,23 @@ enum GVPinTypes {
GV_DigitalPin = 0,
GV_PWMPin = 1,
GV_AnalogPin = 2,
#ifdef GV_INPUT_DETECTION
GV_InputPin = 3,
GV_InputPullUp = 4,
GV_InputPullDn = 5
#endif // GV_INPUT_DETECTION
};
typedef struct {
ESP8266WebServer *WebServer;
Ticker ticker;
String baseUrl;
int lastPinStates[MAX_GPIO_PIN];
uint32_t lastSentWithNoActivity;
uint32_t freeHeap;
uint32_t freePSRAM;
uint32_t sampling;
uint16_t port;
int8_t lastPinStates[MAX_GPIO_PIN];
bool sse_ready;
bool init_done;
} tGV;
tGV* GV = nullptr;
WiFiClient GVWebClient;
@ -94,6 +93,7 @@ int GetPinMode(uint8_t pin) {
uint32_t port = digitalPinToPort(pin);
volatile uint32_t *reg = portModeRegister(port);
if (*reg & bit) { return OUTPUT; } // ESP8266 = 0x01, ESP32 = 0x03
// Detecting INPUT_PULLUP doesn't function consistently
volatile uint32_t *out = portOutputRegister(port);
return ((*out & bit) ? INPUT_PULLUP : INPUT); // ESP8266 = 0x02 : 0x00, ESP32 = 0x05 : x01
}
@ -140,6 +140,8 @@ void GVBegin(void) {
void GVHandleRoot(void) {
GVCloseEvent();
GV->init_done = false;
char* content = ext_snprintf_malloc_P(HTTP_GV_PAGE,
SettingsTextEscaped(SET_DEVICENAME).c_str(),
GV->baseUrl.c_str(),
@ -299,15 +301,7 @@ void GVMonitorTask(void) {
String jsonMessage = "{";
for (uint32_t pin = 0; pin < MAX_GPIO_PIN; pin++) {
int currentState = 0;
/*
// Skip unconfigured GPIO
uint32_t pin_type = GetPin(pin) / 32;
if (GPIO_NONE == pin_type) {
pintype = GV_DigitalPin;
originalValue = 0;
// currentState = 0;
}
*/
#ifdef ESP32
// Read PWM GPIO
int pwm_resolution = ledcReadDutyResolution(pin);
@ -371,7 +365,18 @@ void GVMonitorTask(void) {
}
}
jsonMessage += "}";
if (hasChanges) {
if (!GV->init_done) {
// Show at least configured GPIOs
for (uint32_t pin = 0; pin < MAX_GPIO_PIN; pin++) {
uint32_t pin_type = GetPin(pin) / 32;
if (pin_type != GPIO_NONE) {
GV->lastPinStates[pin] = -1;
}
}
GV->init_done = true;
}
else if (hasChanges) {
GVEventSend(jsonMessage.c_str(), "gpio-state", millis());
}