Commit Graph

1502 Commits

Author SHA1 Message Date
Theo Arends
c15ea2852e Fix RTSP strncpy buffer overflow 2026-06-10 14:35:35 +02:00
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