Commit Graph
1525 Commits
Author SHA1 Message Date
s-hadinger 9fac74bac5 Berry rare register allocation bug (#25010) 2026-09-06 13:04:54 +02:00
gudinis e17a83c510 Matter: fix autoconfiguration after configuration reset (#24997) 2026-09-05 13:56:40 +02:00
s-hadinger a3c97ad00a Berry sortedmap support for json.dump (#24999) 2026-09-02 23:07:06 +02:00
Theo Arends da3e0d12cb Simplify berry virtual buttons 2026-09-02 17:49:22 +02:00
Theo Arends 079718527b Add Berry virtual button support 2026-09-02 15:18:49 +02:00
Theo Arends 559a9e0275 Fix berry I2C driver message 2026-09-01 15:36:51 +02:00
Christian Baars 48393544b5 MI32: improve dashboard and widget handling (#24972)
- Preserve fractional values in Berry MI32.set_temp() and MI32.set_hum().
- Limit saved MI32 configurations safely to 32 sensors.
- Respect the configured temperature unit (SetOption8) in dashboard temperature and dew-point values.
- Update browser-side age counters using real elapsed time.
- Allow a Berry widget response to contain multiple independent cards.
- Send dashboard metrics in a dedicated response every ten seconds.
- Pause dashboard polling while the browser tab is hidden.
- Display chained knob button presses as their numeric count.
- Various small improvements.
2026-08-22 12:49:16 +02:00
s-hadinger ff8130c59a Berry fix sortedmap to act like a map (#24964) 2026-08-18 10:17:24 +02:00
s-hadinger fc2b58652d Berry make sortedmap subclass of map (#24961) 2026-08-18 08:27:41 +02:00
s-hadinger db56cd62aa Berry extend sortedmap constructor (#24955) 2026-08-12 17:02:22 +02:00
Christian Baars b626d38df1 Fixes broken sensor table layout when HTTP/MQTT bridges run alongside local sensors (#24953) 2026-08-12 16:49:43 +02:00
s-hadinger 650d525699 Berry json.dump() works with subclasses of map and list (#24954) 2026-08-12 15:41:17 +02:00
Christian BaarsandChristian Baars d8578c5a3f add remote devices via MQTT (#24951)
Co-authored-by: Christian Baars <christianbaars@MacStudio-von-Christian.local>
2026-08-12 07:49:44 +02:00
s-hadinger fabc35f034 Minor fixes in LList (#24927) 2026-07-31 16:15:03 +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-hadinger e352266405 Berry fix warnings when running unit tests (#24859) 2026-06-26 15:52:27 +02:00
s-hadinger 39ad0f57a4 Berry bytes methods setbits/getbits transposed to native and support for big endian (#24857) 2026-06-26 09:23:33 +02:00
Štěpán Dalecký 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-hadinger 43a5153cab Berry more multiple minor fixes (#24843) 2026-06-16 09:34:55 +02:00
s-hadinger 88eff2ce51 AsyncHttpClientLifght code analysis (#24841) 2026-06-15 22:11:49 +02:00
s-hadinger bd466806fe Berry optimized solidified structures for code constants and maps (#24838) 2026-06-14 20:59:19 +02:00
s-hadinger b29f6926e1 Berry fix rare GC bug in deinit (#24837) 2026-06-14 19:54:35 +02:00
s-hadinger 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
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