Commit Graph
2472 Commits
Author SHA1 Message Date
Theo Arends e077f6a34d Add complete SPS30 library 2026-06-01 17:46:57 +02:00
s-hadingerandGitHub a2032b7ec1 Fix Crash when MQTT-TLS when tcp connection failed (#24798) 2026-05-28 22:37:35 +02:00
7873a9f284 Matter Zigbee bridge: route per-endpoint friendly names to correct endpoint (#24709)
* Matter Zigbee bridge: route per-endpoint friendly names to correct endpoint

The Matter to Zigbee bridge mapped each Matter endpoint to a Zigbee
shortaddr only, losing endpoint information. For multi-endpoint
devices (e.g. 2-channel on/off relays), every Matter command routed
to Zigbee endpoint 1 and incoming reports updated all Matter plugins
targeting that device.

Changes in Matter_z_Zigbee.be:

* New "<device>:<N>" explicit syntax for per-endpoint targeting,
  e.g. zigbee_device:"my_device:2" routes Matter to Zigbee endpoint 2.

* Per-endpoint friendly name auto-resolution as a fallback: when no
  explicit ":N" is given and the config string is a non-hex name,
  the mapper queries ZbName once at first resolve and walks the
  response to find the source endpoint. Preserves the existing
  Tasmota convention of per-endpoint friendly names set via
  ZbName <dev>,<name>,<ep>.

* Outgoing: pass the original config string verbatim in the ZbSend
  Device field. ZbSend's parseDeviceFromName resolves per-endpoint
  friendly names natively. Adds explicit Endpoint field when known.

* Incoming: filter Matter_Zigbee.attributes_final by attr_list._src_ep
  when the mapper has a known endpoint. The frame parameter is
  always nil at this call site (caller passes nullptr), so the
  filter relies on the attribute list's source endpoint instead.

* Boot probe (probe_zb_values) is now endpoint-aware: triggers a
  ZbRead per attribute the plugin tracks for the specific endpoint.
  Avoids the previous merged-state pollution where probe pushed the
  same device.info() to all plugins targeting the same shortaddr.
  Single-endpoint configs keep the cheap cached probe (no extra
  Zigbee traffic).

Backwards compatibility preserved for shortaddr / integer / device-
level friendly name configs - default endpoint behavior is unchanged.

Tested on a 2-channel Zigbee on/off device paired to a Tasmota
Zigbee gateway, verified bidirectional in Apple Home.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* Delet solidify file

---------

Co-authored-by: Paul de Monchy <paul.de.monchy@gmail.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: s-hadinger <49731213+s-hadinger@users.noreply.github.com>
2026-05-28 19:56:04 +02:00
joluxerandGitHub 58b7d9d639 JsonParser: fix NULL deref on OOM in token buffer access paths (#24792)
On platforms without exceptions (-fno-exceptions, e.g. ESP8266),
new[] returns nullptr on allocation failure instead of throwing.
The missing NULL check caused a hard crash (load/store to address
derived from nullptr+offset) whenever the token buffer could not
be allocated.

Fix all four paths that dereference _tokens without a NULL guard,
and implement the existing TODO in parse() to ensure _token_len=0
invariant holds after OOM, consistent with the zero-error design.
2026-05-27 23:31:32 +02:00
s-hadingerandGitHub 4e73601214 Strip coc parser (cosmetic) 2026-05-27 14:11:33 +02:00
Christian BaarsandGitHub ef35d7b6c6 Cleaner solidify (#24788) 2026-05-25 17:04:03 +02:00
Christian BaarsandGitHub 99fc7f87e7 use Tasmota Berry defines in coc (#24787) 2026-05-25 10:02:45 +02:00
a027be81f6 Fix I80 pushColors swap logic for parallel displays (#24770)
Co-authored-by: Christian Baars <christianbaars@MacStudio-von-Christian.local>
2026-05-20 13:52:46 +02:00
Christian BaarsandGitHub 68635b9668 MI32: unify connection task (#24769) 2026-05-20 12:27:50 +02:00
Frederick BlaisandGitHub e6d471f25f Add descriptor-driven ST7305 uDisplay packing (#24738) 2026-05-19 12:24:18 +02:00
Petr GolovachevandGitHub 0a5311c3ee VID6608: add hardware RMT support for Automotive gauge driver (#24759)
* Replace old software-defined library arduino-vid6608 with hw-defined esp-32-vid6608

* VID6608: Rework integration to allow select RMT/SW method by using the `VID6608_RMT` option

* VID6608: Tune library inclusion for RMT version

* The RMT version is not supported on ESP32-C2, library excluded
* Add more clear error message, if RMT is requested, but not supported
2026-05-18 17:40:13 +02:00
Petr GolovachevandGitHub dd1468b47e Fix for TasmotaLEDPusher configutation (#24760)
Library does not have user-defines include and ignores actual confiuration via `user_config_*.h` files
2026-05-18 11:08:02 +02:00
s-hadingerandGitHub 3734308857 Matter Device non nullable attributes (#24764) 2026-05-18 10:01:12 +02:00
Christian BaarsandGitHub 2666434b90 BearSSL: update SHA functions for breaking change of IDF 5.5 (#24757) 2026-05-17 13:21:37 +02:00
s-hadingerandGitHub cfe25959cd Berry Matter improve async HTTP error handling (#24756) 2026-05-16 23:40:37 +02:00
Jason2866andGitHub 5bfdcca07f Clarify dns_save4 handling in IPv6 only case (#24752)
Added comments to clarify the handling of dns_save4 during IPv6 only scenarios.
2026-05-16 21:00:54 +02:00
s-hadingerandGitHub e18035a6de Support for M5Stack Atom S3R drivers (#24747) 2026-05-15 22:37:48 +02:00
s-hadingerandGitHub 5c550752c6 Move autoconf repository to ota.tasmota.com (#24745) 2026-05-15 18:42:28 +02:00
s-hadingerandGitHub 87107b7950 USE_UNIVERSAL_TOUCH no more forced when USE_UNIVERSAL_DISPLAY is enabled (#24743) 2026-05-13 23:28:39 +02:00
s-hadingerandGitHub 7a21f72f70 rename GPIO_DISPLAY_RESET and update GPIOs (#24742) 2026-05-13 22:42:25 +02:00
s-hadingerandGitHub 4bd1e22b2e Berry apply security fixes (#24739) 2026-05-13 17:14:54 +02:00
s-hadingerandGitHub 4f37c1da4a LVGL splash screen uses default Montserrat-14 instead of Montserrat-20 on small screens (#24735) 2026-05-11 22:37:05 +02:00
s-hadingerandGitHub 47b80b961d uDisplay logs polished (#24734) 2026-05-11 22:04:55 +02:00
Jacek ZiółkowskiandGitHub 0c85dbc039 Add RX Enable GPIO support for Modbus (#24726)
* Add RX Enable GPIO support for Modbus

* fix typo

* fix typo in language files
2026-05-11 10:53:07 +02:00
s-hadingerandGitHub c68667181a Berry format() now uses internal ext_snprintf_P() for floating point formatting (#24725) 2026-05-09 10:20:33 +02:00
s-hadingerandGitHub 485920a4fc Berry solidification cache (#24710) 2026-05-05 22:43:53 +02:00
s-hadingerandGitHub 487d4a7165 Berry first try for preprocessor to implement conditional logging (#24692)
* Berry first try for preprocessor to implement conditional logging

* Update solidified
2026-04-29 22:40:57 +02:00
s-hadingerandGitHub 955d36cb1f Add explicit error message when compiling for WebSockets (#24691) 2026-04-29 22:31:49 +02:00
s-hadingerandGitHub d718039a52 Berry fix compilation of webfiles (#24685) 2026-04-26 21:29:26 +02:00
s-hadingerandGitHub f6bcc0e16a Berry transpose C defines to Berry in tasmota_defines_for_berry.be (#24680) 2026-04-25 23:28:49 +02:00
s-hadingerandGitHub 2c61b34d78 Berry add support for pre-processor (#24679) 2026-04-25 22:39:59 +02:00
274d8f0895 I2S: fix mkv muxing for files (#24666)
Co-authored-by: Christian Baars <christianbaars@Mac-mini-von-Christian.local>
2026-04-21 17:57:09 +02:00
s-hadingerandGitHub 7c622cf5ca Berry Python port fixes (#24659) 2026-04-19 23:15:14 +02:00
s-hadingerandGitHub 79a955f46b Berry faster compilation (#24656) 2026-04-18 10:09:46 +02:00
s-hadingerandGitHub 820cd8466a Berry minor fixes to compilation and doc (#24655) 2026-04-17 22:58:15 +02:00
s-hadingerandGitHub fa6d1183a1 Berry force type to 8 bit enum (#24654) 2026-04-17 21:44:44 +02:00
s-hadingerandGitHub ec4c78629b Berry fix invalid format in string.format (#24653) 2026-04-17 18:54:17 +02:00
s-hadingerandGitHub 046a7a2c79 Berry fix internal naming in lexer (#24647) 2026-04-17 10:53:02 +02:00
Jason2866andGitHub ae6f350b29 full picolib compability (#24598) 2026-04-14 21:20:33 +02:00
s-hadingerandGitHub 816c9b3b1c Add README for Berry python_port 2026-04-10 21:45:57 +02:00
s-hadingerandGitHub e4c286dac3 Berry crash when comparing for equality float literals on ESP32 (#24610) 2026-04-04 09:47:12 +02:00
s-hadingerandGitHub 5cc4ddb5f0 Berry solidification with Python fix gc (#24601) 2026-03-29 22:00:05 +02:00
s-hadingerandGitHub 26d9d6e14c Berry solidification made possible with Python runtime (#24599) 2026-03-28 09:43:06 +01:00
Theo Arends 59c4d772c5 ESP8266 Remove unused I2C slave support 2026-03-26 18:00:21 +01:00
s-hadingerandGitHub e3c9271e21 Berry revert remove BE_USE_PRECOMPILED_OBJECT (#24581) 2026-03-22 21:21:59 +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
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