Commit Graph
21491 Commits
Author SHA1 Message Date
Jason2866andGitHub 5bc33d3fdd Update Platforms to 2026.04.xx (#24635)
* Update Tasmota ESP32 version in PR template

* Update platform URL to version 2026.04.00

* Update platform URLs in platformio_tasmota32.ini
2026-04-12 15:41:10 +02:00
Jason2866andGitHub 6db42be41f fix zopfli import error (#24631) 2026-04-11 23:55:01 +02:00
Theo Arends 3ed46799be Add dragino SN50v3 mode0 safeguard 2026-04-11 12:15:49 +02:00
s-hadingerandGitHub 816c9b3b1c Add README for Berry python_port 2026-04-10 21:45:57 +02:00
BenjaminandGitHub 25bd61489d Update SH1106_display.ini (#24627)
Added correct DC-DC initialisation for SH1106. Seee datasheet page 22.

Command 0x8D is unknown to SH1106 resulting in unstable DC-DC operation and no display operation.
2026-04-10 17:48:42 +02:00
Theo Arends dceae31457 Add Dragino SN50v3 mode 0 decoding 2026-04-10 16:53:28 +02:00
Theo Arends d3ef7adb2d Fix removal offlines from list 2026-04-09 13:39:38 +02:00
Theo Arends a6089173ce Add HAss discovery to DDS75L and LHT52 2026-04-06 15:16:58 +02:00
Theo Arends 0cb2de76d1 Fix LoRaWan millis overflow (#24373)
- Fix lock/unlock icons
2026-04-06 12:54:13 +02:00
Theo Arends 62637ad16a Fix LoRaWan millis overflow (#24373)
- Fix lock/unlock icons
2026-04-06 12:47:08 +02:00
Theo Arends d588821f26 Update changelogs 2026-04-04 11:23:17 +02:00
s-hadingerandGitHub e4c286dac3 Berry crash when comparing for equality float literals on ESP32 (#24610) 2026-04-04 09:47:12 +02:00
Theo Arends fcef1b63b0 Add support for Shelly Pro EM-50 (#24604) 2026-04-03 11:46:31 +02:00
Theo Arends 7db333010b Prep Shelly Pro EM support 2026-03-31 14:25:09 +02:00
Theo Arends 74099b54e3 Fix Shelly Dimmer 2 serial timeout regression from v15.2.0.1 (#24560) 2026-03-30 14:38:20 +02:00
Theo Arends f56d12b1bf Add Drivers PCA9685 and PCF8574 multi I2C bus support 2026-03-30 12:07:22 +02:00
s-hadingerandGitHub 5cc4ddb5f0 Berry solidification with Python fix gc (#24601) 2026-03-29 22:00:05 +02:00
Theo Arends c207cc27ae Add PWM driver PCA9685 multi I2C bus support 2026-03-28 17:28:35 +01:00
s-hadingerandGitHub 26d9d6e14c Berry solidification made possible with Python runtime (#24599) 2026-03-28 09:43:06 +01:00
Jason2866andGitHub ee93c18e2e Prepare switch to IDF 5.5.3 based Tasmota Arduino (#24597)
* C2 Hybrid Compile safeboot
* Refactor firmware size check to use size tool output and regex.
2026-03-27 17:35:54 +01:00
Theo Arends 1f0e3f768d Update RELEASENOTES.md 2026-03-27 16:17:46 +01:00
Theo Arends 59c4d772c5 ESP8266 Remove unused I2C slave support 2026-03-26 18:00:21 +01:00
Jason2866andGitHub dd79556b29 fix: C++26 warning (#24586) 2026-03-26 14:29:42 +01:00
Jason2866andGitHub be7ab64492 Remove debug leftovers (#24595)
* Comment out check-wrapped-lwip-sntp-calls.py script

Comment out the check-wrapped-lwip-sntp-calls.py script in platformio.ini.

* Delete pio-tools/check-wrapped-lwip-sntp-calls.py
2026-03-26 14:21:10 +01:00
Theo Arends 84d456dbfc Remove obsolete sntp_stop() calls (#24593) 2026-03-26 10:53:32 +01:00
the-way-of-A-WildandGitHub 86bc033c86 Neutralize lwIP SNTP client to prevent heap drain on WiFi reconnects (#24593)
The ESP8266 SDK automatically invokes sntp_init() via
netif_sta_status_callback on every WiFi reconnect. This results in repeated
allocations of UDP PCBs (udp_new()), leading to heap exhaustion and
potential lwIP timeout list corruption due to unmatched sntp_stop() calls.

Tasmota does not use the lwIP SNTP client and relies solely on WifiGetNtp()
for time synchronization. To avoid unnecessary resource usage, wrap and
neutralize sntp_init() and sntp_stop() with no-op implementations.

This prevents UDP PCB allocations and avoids issues caused by repeated
initialization during reconnect cycles.

Additionally, a PlatformIO post-build script has been added to validate
that the linker wraps are correctly applied. The script runs after ELF
generation and uses xtensa-lx106-elf-nm to inspect symbols, ensuring that
the __wrap_sntp_init and __wrap_sntp_stop functions are present in the
final firmware. If the wrappers are missing, the build fails.

Confirmed via firmware disassembly:
- Single call site in netif_sta_status_callback
- Requires linker wraps: --wrap=sntp_init,--wrap=sntp_stop

Fixes: #24566
2026-03-26 10:42:02 +01:00
sfromisandGitHub 4384f9c98a Update my_user_config.h, USER_MODULE (#24590)
`#define MODULE USER_MODULE` needed to have `USER_TEMPLATE` string enabled by default. Better have this hint included in the file.
2026-03-25 12:28:34 +01:00
Christian AndersenandGitHub 3b92a1303a Suppress SML MQTT publish until valid meter data received (#24587)
Use existing dvalid[] array to gate JSON and immediate MQTT output,
preventing initial zero values from corrupting HA statistics on restart.

Signed-off-by: Christian Andersen <public@milindur.de>
2026-03-25 12:27:36 +01:00
Theo Arends 58b7d85c9e Update change logs 2026-03-23 15:54:47 +01:00
beed56f7fc NeoPool always output valid sensitive data (#24573)
Co-authored-by: Norbert Richter <nr@prsolution.eu>
2026-03-23 15:49:33 +01:00
Petr GolovachevandGitHub 57b513b5ed vid6608-xdrv-92: allow set max steps per-motor (#24575) 2026-03-23 15:49:09 +01:00
d1a1bf15c1 NeoPool fix possible IntegerDivideByZero (#24578)
Co-authored-by: Norbert Richter <nr@prsolution.eu>
2026-03-23 15:48:23 +01:00
s-hadingerandGitHub e3c9271e21 Berry revert remove BE_USE_PRECOMPILED_OBJECT (#24581) 2026-03-22 21:21:59 +01:00
Theo Arends 38be7c7e23 Add I2C Bus2 support to GDK101 2026-03-21 23:05:40 +01:00
Theo Arends 3f38fe289e Refactor use of MAX_I2C 2026-03-21 22:08:51 +01:00
Theo Arends 954a048d39 Fix command I2CDriver for over 96 2026-03-21 17:23:19 +01:00
Jason2866andGitHub 35cd817aeb add clangd config (#24571) 2026-03-19 17:28:15 +01:00
Theo Arends 7246748ffb Stop sntp every minute (#24566) 2026-03-19 16:39:33 +01:00
Theo Arends 7fed51de31 Add Environment sensor SCD30 second I2C bus support 2026-03-18 21:53:05 +01:00
Theo Arends 36c71bb2ea Quick Fix ESP8266 I2C Clock Stretch limit
- It seems the current implementation fails to set the clock stretch limit using functions from Wire library; It's set to 0 whatever the user wants it to be. This quick fix at least sets a default of 150ms to allow clock stretch to be used for devices that need it. It fixes support for Sensirion SCD30 and SGP30 which rely on clock stretching.. I'll dive deeper to solve the Wire provided functions.
2026-03-18 20:47:00 +01:00
Jason2866andGitHub 475881a0e0 optimize C5 / C6 safeboot (#24569)
- enable ETHERNET W5500
- disable not common ethernet Phy
2026-03-18 18:48:59 +01:00
Jason2866andGitHub d7533aae2b fix: Regression from PR #24518 forgotten change ESP8266WebServer to TasmotaWebServer (#24568)
* Change Webserver type from ESP8266WebServer to TasmotaWebServer
* Cast webcam resolution to int32_t in WcSetup calls
2026-03-18 16:39:55 +01:00
Jason2866andGitHub 7f9fdb7255 Platform 2026.03.50 to support IDF 55 (#24567) 2026-03-18 14:16:45 +01:00
378e1547c2 Fix uDisplay case 'T' parsing corruption for I80 parallel displays + WT32-SC01 Plus descriptor (#24506)
- Skip :TI (touch I2C) and :TS (touch SPI) lines in case 'T' of the uDisplay
  descriptor parser. These touch config lines are handled separately by
  xdsp_17_universal.ino via strstr(), but case 'T' was matching on the first
  character and unconditionally writing the subsequent values into
  panel_config->epd.lut_full_time/lut_partial_time/update_time. In the
  PanelConfigUnion, these EPD fields overlap with I80 panel bus pin config
  (cs_pin, dc_pin, wr_pin, rd_pin, data_pins), causing parallel displays to
  silently receive corrupted GPIO pin assignments and fail to render.

  The fix checks if the character after 'T' is 'I' or 'S' and skips EPD timing
  parsing for those lines. EPD descriptors using :T,<timing> continue to work
  as before.

- Remove dead reference to berry.lvgl_panel_loaded in xdrv_54_lvgl.ino.
  The member was removed from BerrySupport in commit e4c2cf591 (Berry Extension
  Manager) but the reference in start_lvgl() was left behind, causing a compile
  error when USE_BERRY_LVGL_PANEL is defined.

- Add verified display descriptor for WT32-SC01 Plus (ESP32-S3, ST7796U 480x320,
  8-bit parallel I80, FT5206 capacitive touch). Tested on Tasmota v15.3.0.1 with
  LVGL 9.5.0.

Co-authored-by: Ari Friedman <afriedman@millsupplyco.com>
2026-03-17 22:28:32 +01:00
s-hadingerandGitHub 4b80f7e4ac Berry remove BE_USE_PRECOMPILED_OBJECT (#24565) 2026-03-17 22:06:58 +01:00
s-hadingerandGitHub 3bbfc31cfe Berry improve type() builtin function (#24564) 2026-03-17 21:23:53 +01:00
s-hadingerandGitHub 0aaae08e4e Matter don't advertize IPv6 global address, only link-local (#24563) 2026-03-17 20:53:26 +01:00
Theo Arends 17b1a64bee Fix I2cSetClock() 2026-03-16 17:11:42 +01:00
Theo Arends 72111857ce Fix ESP8266 heap drain and exception 29 when DHCP provides NTP server (#24515) 2026-03-16 12:14:35 +01:00
Jason2866andGitHub c446b9a87e Picolib (#24558) 2026-03-16 00:23:12 +01:00