Commit Graph
2498 Commits
Author SHA1 Message Date
s-hadingerandGitHub 6fbf626977 MQTT more hardening and fixes from pubsub3 (#24920) 2026-07-26 21:54:04 +02:00
s-hadingerandGitHub 2d340102a3 PubSub lib renamed TasmotaPubSub, hardening fixes and comprehensive non-regression tests (#24916) 2026-07-23 20:49:54 +02:00
s-hadingerandGitHub c144ac9639 TLS support for EC P-384 curve in server certificate (#24909) 2026-07-20 21:40:53 +02:00
gionagandGitHub 3dd46b0b44 Fix ESP8266 crash-loop on PZEM/Modbus: move stray delay() inside rx-enable guard (#24886) 2026-07-20 15:52:18 +02:00
s-hadingerandGitHub 5614aaec2a HASPmota and LVGL stripes widget (#24907) 2026-07-18 17:34:55 +02:00
Christian BaarsandGitHub a1639507d1 Udisp SPI fix for mono color display (#24899)
* fix union offset for SPI mono display

* fix debug log to correcty use USE_UNIVERSAL_TOUCH
2026-07-14 19:03:57 +02:00
5acc4a368b Add Matter virtual IR HVAC thermostat support (#24821)
* Add Matter virtual IR HVAC thermostat support

Introduce a generic Matter thermostat plugin and a virtual HVAC plugin that maps thermostat state changes to Tasmota IRHVAC commands.

Add virtual HVAC option switches for IRHVAC boolean options such as Econo, Quiet, Turbo, Light, Filter, Clean, Beep, and iFeel. These option endpoints are attached to the HVAC endpoint PartsList instead of being listed as top-level aggregator parts.

Expose the new virtual device types in the Matter UI and refresh endpoint PartsList attributes when endpoint composition changes.

* Warn on invalid Matter v.HVAC vendor

* Fix regression

* Matter virtual IR HVAC thermostat support

* Revert

---------

Co-authored-by: Jean-Laurent Girod <macjl@users.noreply.github.com>
Co-authored-by: s-hadinger <49731213+s-hadinger@users.noreply.github.com>
2026-07-07 20:00:24 +02:00
s-hadingerandGitHub 0e4f4c7a97 HASPmota new style for demo (#24875) 2026-07-05 17:54:01 +02:00
s-hadingerandGitHub aec8e2395a HASPmota ability to set default screen background on p0b0 object (#24874) 2026-07-04 12:47:01 +02:00
s-hadingerandGitHub e352266405 Berry fix warnings when running unit tests (#24859) 2026-06-26 15:52:27 +02:00
s-hadingerandGitHub 39ad0f57a4 Berry bytes methods setbits/getbits transposed to native and support for big endian (#24857) 2026-06-26 09:23:33 +02:00
Theo Arends ee435ea968 Fix possible buffer overflow 2026-06-22 15:24:06 +02:00
Štěpán DaleckýandGitHub 6c208a6b5f Enhance Matter plugin functionality for On/Off control and add support for Global Scene Control and related commands (#24854) 2026-06-21 10:18:54 +02:00
s-hadingerandGitHub ba6159f78a Berry LVGL mapping refactor (#24844) 2026-06-16 12:32:38 +02:00
s-hadingerandGitHub 43a5153cab Berry more multiple minor fixes (#24843) 2026-06-16 09:34:55 +02:00
s-hadingerandGitHub 88eff2ce51 AsyncHttpClientLifght code analysis (#24841) 2026-06-15 22:11:49 +02:00
s-hadingerandGitHub bd466806fe Berry optimized solidified structures for code constants and maps (#24838) 2026-06-14 20:59:19 +02:00
s-hadingerandGitHub b29f6926e1 Berry fix rare GC bug in deinit (#24837) 2026-06-14 19:54:35 +02:00
s-hadingerandGitHub fc1c2a563f Berry fix rare GC bug in bytecode (#24836) 2026-06-14 19:35:49 +02:00
Theo Arends c15ea2852e Fix RTSP strncpy buffer overflow 2026-06-10 14:35:35 +02:00
Theo Arends cd38f60218 Change Sensirion_Core library from v0.7.2 to arduino-core v0.7.3 2026-06-05 16:42:08 +02:00
Theo Arends 01d044cedc Changed SCD30 library FrogmoreScd30 to Sensirion arduino-i2c-scd30 v1.1.1 2026-06-05 15:31:11 +02:00
Theo Arends 6191473dfd Changed SCD4x library FrogmoreScd40 to Sensirion arduino-i2c-scd4x v1.1.0
- Bump version v15.4.0.3
2026-06-03 17:18:28 +02:00
Theo Arends 82e987a4d6 Cleanup SPS30 driver 2026-06-02 11:06:33 +02:00
Theo Arends 2c86fa57a2 Update SEN5x library - no functional change 2026-06-01 18:08:35 +02:00
Theo Arends 2169441925 Rename library stcc4 to official name 2026-06-01 17:52:48 +02:00
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