Commit Graph

1501 Commits

Author SHA1 Message Date
lePaulo
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 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