Commit Graph
1501 Commits
Author SHA1 Message Date
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
s-hadinger 4e73601214 Strip coc parser (cosmetic) 2026-05-27 14:11:33 +02:00
Christian Baars ef35d7b6c6 Cleaner solidify (#24788) 2026-05-25 17:04:03 +02:00
Christian Baars 99fc7f87e7 use Tasmota Berry defines in coc (#24787) 2026-05-25 10:02:45 +02:00
Christian Baars 68635b9668 MI32: unify connection task (#24769) 2026-05-20 12:27:50 +02:00
Petr Golovachev 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
s-hadinger 3734308857 Matter Device non nullable attributes (#24764) 2026-05-18 10:01:12 +02:00
s-hadinger cfe25959cd Berry Matter improve async HTTP error handling (#24756) 2026-05-16 23:40:37 +02:00
s-hadinger e18035a6de Support for M5Stack Atom S3R drivers (#24747) 2026-05-15 22:37:48 +02:00
s-hadinger 5c550752c6 Move autoconf repository to ota.tasmota.com (#24745) 2026-05-15 18:42:28 +02:00
s-hadinger 4bd1e22b2e Berry apply security fixes (#24739) 2026-05-13 17:14:54 +02:00
s-hadinger 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-hadinger c68667181a Berry format() now uses internal ext_snprintf_P() for floating point formatting (#24725) 2026-05-09 10:20:33 +02:00
s-hadinger 485920a4fc Berry solidification cache (#24710) 2026-05-05 22:43:53 +02:00
s-hadinger 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-hadinger 955d36cb1f Add explicit error message when compiling for WebSockets (#24691) 2026-04-29 22:31:49 +02:00
s-hadinger d718039a52 Berry fix compilation of webfiles (#24685) 2026-04-26 21:29:26 +02:00
s-hadinger f6bcc0e16a Berry transpose C defines to Berry in tasmota_defines_for_berry.be (#24680) 2026-04-25 23:28:49 +02:00
s-hadinger 2c61b34d78 Berry add support for pre-processor (#24679) 2026-04-25 22:39:59 +02:00
s-hadinger 7c622cf5ca Berry Python port fixes (#24659) 2026-04-19 23:15:14 +02:00
s-hadinger 79a955f46b Berry faster compilation (#24656) 2026-04-18 10:09:46 +02:00
s-hadinger 820cd8466a Berry minor fixes to compilation and doc (#24655) 2026-04-17 22:58:15 +02:00
s-hadinger fa6d1183a1 Berry force type to 8 bit enum (#24654) 2026-04-17 21:44:44 +02:00
s-hadinger ec4c78629b Berry fix invalid format in string.format (#24653) 2026-04-17 18:54:17 +02:00
s-hadinger 046a7a2c79 Berry fix internal naming in lexer (#24647) 2026-04-17 10:53:02 +02:00
s-hadinger 816c9b3b1c Add README for Berry python_port 2026-04-10 21:45:57 +02:00
s-hadinger e4c286dac3 Berry crash when comparing for equality float literals on ESP32 (#24610) 2026-04-04 09:47:12 +02:00
s-hadinger 5cc4ddb5f0 Berry solidification with Python fix gc (#24601) 2026-03-29 22:00:05 +02:00
s-hadinger 26d9d6e14c Berry solidification made possible with Python runtime (#24599) 2026-03-28 09:43:06 +01:00
s-hadinger e3c9271e21 Berry revert remove BE_USE_PRECOMPILED_OBJECT (#24581) 2026-03-22 21:21:59 +01:00
s-hadinger 4b80f7e4ac Berry remove BE_USE_PRECOMPILED_OBJECT (#24565) 2026-03-17 22:06:58 +01:00
s-hadinger 3bbfc31cfe Berry improve type() builtin function (#24564) 2026-03-17 21:23:53 +01:00
s-hadinger 0aaae08e4e Matter don't advertize IPv6 global address, only link-local (#24563) 2026-03-17 20:53:26 +01:00
s-hadinger fae4dab699 Berry improve test coverage (#24553) 2026-03-15 09:06:44 +01:00
Milko Daskalov ff0609d932 LVGL Panel optimizations (#24552)
* set no wait on connect

* removed incremental draw; reduced data moving; reduced touch events

* added set_nowait method to set TCP_NODELAY socket option

* added last chunk indicator for the stream callback

* writebytes optimizations
2026-03-14 15:42:09 +01:00
s-hadinger ac782acef9 Berry remove mdns.stop() (#24549) 2026-03-13 22:49:20 +01:00
Milko Daskalov deb9bc9804 Realtime LVGL_panel screen mirroring using RLE compression (#24535)
* using lv stream callback

* added lv stream callback using rle compression

* added writebytes to submit directly from comptr bytes or string

* updated identation

* fixed identation

* stream callback cleanup

* draw incrementally

* added drag touch

* detect mouse drag

* allow multiple updates in the same chunk

* removed pixelated rendering
2026-03-09 22:44:36 +01:00
s-hadinger 1c90d59bbf Crash when shutting down Wifi with 'Wifi 0' (#24536) 2026-03-09 08:28:55 +01:00
Christian BaarsandChristian Baars b9beaf6fbd Webcam CSI: allow more complex ISP setups with config files (#24531)
Co-authored-by: Christian Baars <christianbaars@MacStudio-von-Christian.local>
2026-03-07 11:39:36 +01:00
s-hadinger c6f6b9ff35 Matter replace static value with integers (#24498) 2026-02-26 08:19:59 +01:00
s-hadinger e4c2cf5916 Berry 'tasmota.urlbecload()' superseded by Extension Manager (#24493) 2026-02-25 08:24:21 +01:00
s-hadinger 2aeb03119b Matter add USE_MATTER_VERBOSE (#24492) 2026-02-24 22:22:48 +01:00
s-hadinger 682889bd60 Matter more changes to align with spec 1.4 (#24491) 2026-02-24 20:25:44 +01:00
Christian Baars 4abafb1e17 CSI CAM: public beta test (#24489) 2026-02-24 16:01:44 +01:00
Allen Schober 598b030a2b Add an independent MQTT client for use by Berry applications and extensions (#24481)
* Add an independent MQTT client for use by Berry applications and extensions

- Introduce `mqttclient` Berry class (ESP32) for connecting to MQTT brokers with own credentials, TLS, LWT, and auto-reconnect separate from global MQTT client
- Berry `mqttclient` aims to match functionality of global MQTT client including backoff logic using Settings->mqtt_retry, mqtt_keepalive, and mqtt_socket_timeout
- Rename `retry_counter_delay` to `retry_counter_multiplier` in xdrv_02_9_mqtt for clarity and avoid redundant multiplication.

* Added `USE_BERRY_MQTTCLIENT` flag for conditional compilation of the standalone Berry MQTT client
2026-02-23 10:26:31 +01:00
s-hadinger 45f484b8ca Matter Timed Interaction Enforcement (#24477) 2026-02-21 18:04:45 +01:00
s-hadinger c83634ac21 Matter Add Mandatory Session Parameters (#24476) 2026-02-21 17:13:18 +01:00
s-hadinger ce71e721e5 Add MATTER_UI_PARAMETER_SYSTEM.md 2026-02-21 16:20:36 +01:00
s-hadinger a1f5f2b0d5 Matter improved parameters handling (#24471) 2026-02-21 10:30:27 +01:00
TheHexaMaster 809e8c4ef9 core/net: add AsyncHttpClientLight + Berry Async WebClient (with build selector) (#24451)
* Tasmota - Berry ASYNC Webclient integration

Add library.json for Async HttpClient Light

Update readme.txt for AsyncHttpClientLight

Clarified the integration of AsyncHttpClientLight with Berry webclient and improved formatting for example URLs.

AsyncHttpClientLight.cpp

Add AsyncHttpClientLight header file

Integrate ASYNC Webclient functionality

Add USE_BERRY_WEBCLIENT_ASYNC feature

USE_BERRY_WEBCLIENT_ASYNC definition for async webclient mode.

Refactor webclient to use AsyncHttpClientLight

* Revise readme for AsyncHttpClientLight updates

Updated readme.txt to reflect changes in AsyncHttpClientLight, including new core client details and operational notes.

* Update README for AsyncHttpClientLight integration
2026-02-15 10:42:00 +01:00