# Zigbee2MQTT changelog > A Zigbee-to-MQTT bridge that frees your smart-home devices from vendor apps. - Vendor: Koen Kanters - Category: Developer Tools - Official site: https://www.zigbee2mqtt.io - Tracked by: What's New (https://whatsnew.fyi/product/zigbee2mqtt) - Harvested from: GitHub (Koenkk/zigbee2mqtt) - Entries below: 10 (newest first) What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. ## Releases ### 2.13.0 - Date: 2026-08-01 - Version: 2.13.0 - Original notes: https://github.com/Koenkk/zigbee2mqtt/releases/tag/2.13.0 - Permalink: https://whatsnew.fyi/product/zigbee2mqtt/releases/2.13.0 - **removed** — Support for Node.js 20 has been removed due to end-of-life status - **added** — Add `clear_cache` option to device remove request - **added** — Home Assistant: add discovery support for Tuya infrared receiver (learn mode) and emitter features - **changed** — SONOFF SNZB-09P: improve battery handling and expose more alarm options - **changed** — Sunricher dimmers: add minimum PWM - **changed** — Philips Hue plugs: expose Power-on behavior - **changed** — NodOn SDO-4-1-00: add configureReporting for ssIasZone/zoneStatus - **changed** — NodOn SEM-4-1-00: add energy reset, configureReporting and apparent power - **changed** — Shelly Presence Gen4 (S4SN-0U61X): full sensor and zone configuration - **changed** — Third Reality 3RDS17BZ: expose `delay_open` - **changed** — SONOFF SNZB-02B/02M/02UL: add dewpoint and VPD - **changed** — Shelly WS90: expose solar capacitor voltage - **changed** — EWeLink CK-BL702-MSW-01(7010) / Mumubiz CZV20: expose countdown auto-off timer - **changed** — Shelly WS90: expose battery voltage - **changed** — SONOFF SWV Gen 2: add unified imperial gallon support - **changed** — Tuya TS0002_power: expose per-endpoint countdown auto-off timer - **changed** — Aqara SSWQD22LM: support more features - **changed** — Philips 929004308301: support color - **changed** — Wiren Board WB-MSW-ZIGBEE_v.4_official: expose IR transceiver controls - **changed** — Zozung/Tuya based IR blasters: add support for Home Assistant infrared timings - **fixed** — Home Assistant: discover device trigger when mqtt output = attribute_and_json and add warnings about incompatible settings #### Notes - In [#32508](https://github.com/Koenkk/zigbee2mqtt/issues/32508), support for Node.js 20 has been removed due to end-of-life status. If you run Zigbee2MQTT on bare metal, please upgrade to Node.js 24 or 26. #### Features - [#32631](https://github.com/Koenkk/zigbee2mqtt/issues/32631) Add `clear_cache` option to device remove request (@Nerivec) - [#32625](https://github.com/Koenkk/zigbee2mqtt/issues/32625) Home Assistant: add discovery support for Tuya infrared receiver (learn mode) and emitter features (@jbouwh) #### Improvements - [#12757](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12757) SONOFF SNZB-09P: improve battery handling and expose more alarm options (@CubeZ2mDeveloper) - [#12787](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12787) Sunricher dimmers: add minimum PWM (@niracler) - [#12764](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12764) Philips Hue plugs: expose Power-on behavior (@andrei-lazarov) - [#12523](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12523) NodOn SDO-4-1-00:add configureReporting for ssIasZone/zoneStatus (@nthiers) - [#12548](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12548) NodOn SEM-4-1-00: add energy reset, configureReporting and apparent power (@nthiers) - [#12733](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12733) Shelly Presence Gen4 (S4SN-0U61X): full sensor and zone configuration (@krobipd) - [#12758](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12758) Third Reality 3RDS17BZ: expose `delay_open` (@3reality-support) - [#12727](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12727) SONOFF SONOFF SNZB-02B/02M/02UL: add dewpoint and VPD (@CubeZ2mDeveloper) - [#12659](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12659) Shelly WS90: expose solar capacitor voltage (@sschwieb) - [#12690](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12690) EWeLink CK-BL702-MSW-01(7010) / Mumubiz CZV20: expose countdown auto-off timer (@juslex) - [#12670](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12670) Shelly WS90: expose battery voltage (@andrei-lazarov) - [#12687](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12687) SONOFF SWV Gen 2: add unified imperial gallon support (@CubeZ2mDeveloper) - [#12691](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12691) Tuya TS0002_power: expose per-endpoint countdown auto-off timer (@juslex) - [#12662](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12662) Aqara SSWQD22LM: support more features (@blakegong) - [#12665](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12665) Philips 929004308301: support color (@mrtncode) - [#12654](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12654) Wiren Board WB-MSW-ZIGBEE_v.4_official: expose IR transceiver controls (@u236) - [#12634](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12634) Zozung/Tuya based IR blasters: add support for Home Assistant infrared timings (@jbouwh) - [#1825](https://github.com/Koenkk/zigbee-herdsman/issues/1825) Handle `special` in ZCL spec (@Nerivec) - [#1819](https://github.com/Koenkk/zigbee-herdsman/issues/1819) Allow to remove device from cache on request (@Nerivec) #### Fixes - [#32535](https://github.com/Koenkk/zigbee2mqtt/issues/32535) `experimental_event_entities` and `legacy_action_sensor` require restart (@andrei-lazarov) - [#32662](https://github.com/Koenkk/zigbee2mqtt/issues/32662) Avoid running resolveDefinition in parallel (@luar123) - [#32619](https://github.com/Koenkk/zigbee2mqtt/issues/32619) Drop redundant types js yaml (@cany748) - [#31947](https://github.com/Koenkk/zigbee2mqtt/issues/31947) Fix restartRequired flag (@andrei-lazarov) - [#32603](https://github.com/Koenkk/zigbee2mqtt/issues/32603) Home Assistant: discover device trigger when mqtt output = attribute_and_json and add warnings about incompatible _[Truncated at 4000 characters — full notes: https://github.com/Koenkk/zigbee2mqtt/releases/tag/2.13.0]_ ### 2.12.1 - Date: 2026-07-01 - Version: 2.12.1 - Original notes: https://github.com/Koenkk/zigbee2mqtt/releases/tag/2.12.1 - Permalink: https://whatsnew.fyi/product/zigbee2mqtt/releases/2.12.1 - **added** — IKEA E2134: support on duration and trigger condition - **added** — OWON PIR313-E: expose battery percentage and configure reporting - **added** — SONOFF SNZB-02LD: support OTA - **added** — SONOFF TRV-ZBT: support multi-schedule group, valve calibration, and history improvements - **fixed** — Aqara DS-K02D/DS-K02E: fix stale actions being published - **added** — Aqara UT-A01E: support OTA - **changed** — Bosch RM230Z: make HA climate modes configurable - **added** — HEIMAN M1-PE: expose temperature and humidity - **changed** — Mark meter voltage telemetry diagnostic for HA - **added** — Yoolax TS0301_dual_rail_2: real-time position and separate rail covers - **added** — Bosch RM230Z: expose weekly schedule - **changed** — Shelly 2PM: make cover tilt configurable - **changed** — Develco ZHEMI101: improve integration - **added** — Shelly gen4: add button mode scene actions (single/double/triple/hold) - **added** — SONOFF SNZB-02DR2: expose temperature_sensor_select and external_temperature - **added** — Support for EmberZNet 9.1.0 (EZSP v19 / v2026.6.0) - **added** — Support for Sonoff Dongle-PP10 auto-discovery - **added** — Add mqtt.server_name option to override TLS SNI - **changed** — Home Assistant: allow discovery user overrides to win over converter - **fixed** — Home Assistant: support cooling setpoint in climate discovery #### Improvements - [#12566](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12566) IKEA E2134: support on duration, trigger condition (@jeslinmx) - [#12583](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12583) OWON PIR313-E: expose battery percentage and configure reporting (@gluoncompany) - [#12572](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12572) SONOFF SNZB-02LD: support OTA (@myyorick) - [#12559](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12559) SONOFF TRV-ZBT: support multi-schedule group, valve calibration, and history improvements (@CubeZ2mDeveloper) - [#32059](https://github.com/Koenkk/zigbee2mqtt/issues/32059) Aqara DS-K02D/DS-K02E: fix stale actions being published (@Koenkk) - [#1210](https://github.com/Koenkk/zigbee-OTA/pull/1210) Aqara UT-A01E: support OTA (@Koenkk) - [#12498](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12498) Bosch RM230Z: make HA climate modes configurable (@MaxRink) - [#12535](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12535) HEIMAN M1-PE : expose temperature and humidity (@Leo2442926161) - [#12531](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12531) Mark meter voltage telemetry diagnostic for HA (@MaxRink) - [#12533](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12533) Yoolax TS0301_dual_rail_2: real-time position and separate rail covers (@msitt) - [#12508](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12508) Bosch RM230Z: expose weekly schedule (@MaxRink) - [#12497](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12497) Shelly 2PM: make cover tilt configurable (@MaxRink) - [#12493](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12493) Develco ZHEMI101: improve integration (@derabbink) - [#12465](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12465) Shelly gen4: add button mode scene actions (single/double/triple/hold) (@SebiGo) - [#12463](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12463) SONOFF SNZB-02DR2: expose `temperature_sensor_select` and `external_temperature` (@shaggyone) - [#12448](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12448) Tuya TS130F_xbexmf8h: expose switch type (@andrei-lazarov) - [#12434](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12434) Heiman S1RM-E: add alarm muted state at low level of alarm and pre-heating state (@Leo2442926161) - [#12441](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12441) Tuya TS130F cover controllers: expose switch type (@andrei-lazarov) - [#12412](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12412) Heiman: add reading temperature, humidity and co attributes during paring (@Leo2442926161) - [#12385](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12385) Add support for Namron Zigbee Edge Thermostat (4566702/4566703/4512783/4512784) (@xses79) - [#12411](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12411) OWON: support more variants (AC201P_019E, AC221_019E, DWS332-E) (@jacky202509) - [#12420](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12420) Schneider Electric CCT5010-0003: add switchActions and remove support for power on behaviour (@svhelge) - [#1800](https://github.com/Koenkk/zigbee-herdsman/issues/1800) Support for EmberZNet 9.1.0 (EZSP v19 / v2026.6.0) (@Nerivec) - [#1797](https://github.com/Koenkk/zigbee-herdsman/issues/1797) Support for Sonoff Dongle-PP10 auto-discovery (@CubeZ2mDeveloper) #### Fixes - [#32417](https://github.com/Koenkk/zigbee2mqtt/issues/32417) Add `mqtt.server_name` option to override TLS SNI (@rohankapoorcom) - [#32311](https://github.com/Koenkk/zigbee2mqtt/issues/32311) Docker: bump alpine from 3.23 to 3.24 (@dependabot[bot]) - [#32356](https://github.com/Koenkk/zigbee2mqtt/issues/32356) Home Assistant: add conductivity discovery for soil_fertility (@danielbrunt57) - [#32361](https://github.com/K _[Truncated at 4000 characters — full notes: https://github.com/Koenkk/zigbee2mqtt/releases/tag/2.12.1]_ ### 2.12.0 - Date: 2026-06-09 - Version: 2.12.0 - Original notes: https://github.com/Koenkk/zigbee2mqtt/releases/tag/2.12.0 - Permalink: https://whatsnew.fyi/product/zigbee2mqtt/releases/2.12.0 - **fixed** — Fix MALFORMED_COMMAND error when updating Philips Hue devices - **added** — Add ability to abort running OTA - **changed** — Aqara FP1: expose configured regions - **changed** — Plugwise 170-01: add OpenTherm controls, battery type, and product variant - **changed** — Third Reality 3RVS01031Z: support more features - **added** — Support for Frient install codes - **changed** — Enable APS layer encryption for Zigbee Direct cluster operations - **fixed** — Aqara FP300 (PS-S04D): configure reporting for presence and PIR - **fixed** — EGLO 901463: mark as whitelabel of EBF_RGB_Zm - **fixed** — IKEA VINDSTYRKA: allow reading VOC index - **fixed** — IOTPerfect PF-PM02D-TYZ: expose fault - **fixed** — Moes SYT-ZB01: fix rotation events - **fixed** — Moes ZS-SR-EUC: fix incorrect position - **fixed** — Moes ZWV-YC: fix device not controllable - **fixed** — Schneider Electric WDE002386: fix configure failing - **fixed** — Sonoff SNZB-04PR2: fix battery voltage reporting - **fixed** — Use coord address when gppNwkAddr not present in GP frame for tempMaster - **fixed** — Ember: skip backup devices without a link key in FORM_BACKUP - **fixed** — Zoh: only close port (if needed) on init port failure - **fixed** — DefaultRsp matching for OTA #### Notes - This hotfix release fixes the `MALFORMED_COMMAND` error when updating Philips Hue devices (https://github.com/Koenkk/zigbee2mqtt/issues/32168) #### Features - [#32022](https://github.com/Koenkk/zigbee2mqtt/issues/32022) Add ability to abort running OTA (@Nerivec) #### Improvements - [#12378](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12378) Aqara FP1: expose configured regions (@mayongze) - [#12404](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12404) Plugwise 170-01: OpenTherm controls, battery type, product variant (@SaiPraveen22) - [#12400](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12400) Third Reality 3RVS01031Z: support more features (@3reality-support) - [#1778](https://github.com/Koenkk/zigbee-herdsman/issues/1778) Support for Frient install codes (@burmistrzak) - [#1759](https://github.com/Koenkk/zigbee-herdsman/issues/1759) Add ability to abort running OTA (@Nerivec) - [#1762](https://github.com/Koenkk/zigbee-herdsman/issues/1762) Enable APS layer encryption for Zigbee Direct cluster operations (@burmistrzak) #### Fixes - [#12383](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12383) Aqara FP300 (PS-S04D): configure reporting for presence and PIR (@drauziooppenheimer) - [#12391](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12391) EGLO 901463: mark as whitelabel of EBF_RGB_Zm (@panther7) - [#12392](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12392) IKEA VINDSTYRKA: Allow reading VOC index (@andrei-lazarov) - [#12397](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12397) IOTPerfect PF-PM02D-TYZ: expose fault (@andrei-lazarov) - [#12402](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12402) Moes SYT-ZB01: fix rotation events (@andrei-lazarov) - [#12379](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12379) Moes ZS-SR-EUC: fix incorrect position (@javivarguitas) - [#12396](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12396) Moes ZWV-YC: fix device not controllable (@FranzFelberer) - [#12381](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12381) Move various device specific converters from fromZigbee.ts and toZigbee.ts (@svhelge) - [#12398](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12398) Schneider Electric WDE002386: fix configure failing (@svhelge) - [#12377](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12377) Sonoff SNZB-04PR2: fix battery voltage reporting (@N3rdix) - [#12387](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12387) Tuya TS0601_vibration_alarm_sensor: improve UX and clean code (@andrei-lazarov) - [#12395](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12395) Use coord address when `gppNwkAddr` not present in GP frame for `tempMaster` (@Nerivec) - [#12368](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12368) Add Tuya _TZE2841000000_0ints6wl and _TZE2841000000_hdml1aav (@iotRobot) - [#12367](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12367) Develco SPLZB-132: set powerOnBehaviour to false (@svhelge) - [#12346](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12346) GIEX GX06: add soil sensor brightness level (@Giexperience) - [#12372](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12372) Move various device specific converters from fromZigbee.ts and toZigbee.ts (@svhelge) - [#12365](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12365) Efekta: correction of measurement units (@smartboxchannel) - [#12362](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12362) Heiman HS1RM-EF: add private cluster (@Leo2442926161) - [#12360](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12360) Move various device specific converters from fromZigbee.ts and toZigbee.ts (@svhelge) - [#12363](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12363) Third Reality: r _[Truncated at 4000 characters — full notes: https://github.com/Koenkk/zigbee2mqtt/releases/tag/2.12.0]_ ### 2.11.0 - Date: 2026-06-01 - Version: 2.11.0 - Original notes: https://github.com/Koenkk/zigbee2mqtt/releases/tag/2.11.0 - Permalink: https://whatsnew.fyi/product/zigbee2mqtt/releases/2.11.0 - **added** — Allow to disable external JS extensions - **changed** — External extensions and external converters are now disabled by default for new installations - **changed** — Heiman HM-636THV-AC-M: expose more features - **changed** — NodOn SEM-4-1-00: expose power_apparent - **changed** — PushOk POK019: expose additional window handle status values - **changed** — Scimagic 1-ZB-WSD: expose more features - **changed** — Schneider Electric CCT595011: expose sensitivity_level - **changed** — Moes ZWV-YC: expose countdown, battery_state and error_status - **changed** — Third Reality: expose led_brightness - **changed** — Aqara DWZTCGQ11LM: support static action - **changed** — Candeo C203, C204, DM204 and DM204v2: add minimum brightness level setting - **changed** — Aqara W600: expose running_state from valve position - **changed** — Philips 929003017102: enable OTA - **changed** — Shelly S4SN-0071A: expose trouble - **changed** — Add parsing for more GreenPower frames - **added** — Add support for Zigbee Direct cluster - **fixed** — Use Jinja-safe property access in HA discovery templates - **fixed** — Fix default value of optimistic group setting - **fixed** — Prevent invalid external JS file name on save #### Notes - External extensions and external converters are now disabled by default **for new installations**. You can enable them using the configuration [enable_external_js](https://www.zigbee2mqtt.io/guide/configuration/all-settings.html#enable-external-js) in `advanced` section. See [more details](https://www.zigbee2mqtt.io/guide/installation/14_securing.html#external-extensions-and-converters). #### Features - [#31826](https://github.com/Koenkk/zigbee2mqtt/issues/31826) Allow to disable external JS extensions (@Nerivec) #### Improvements - [#12313](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12313) Heiman HM-636THV-AC-M: expose more features (@Leo2442926161) - [#12335](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12335) NodOn SEM-4-1-00: expose `power_apparent` (@Paulo-89) - [#12341](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12341) PushOk POK019: expose additional window handle status values (@zombierzn) - [#12325](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12325) Scimagic 1-ZB-WSD: expose more features (@nilservice) - [#12298](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12298) Schneider Electric CCT595011: expose `sensitivity_level` (@svhelge) - [#12283](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12283) Moes ZWV-YC: expose countdown, battery_state and error_status (@FranzFelberer) - [#12265](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12265) Third Reality: expose `led_brightness` (@3reality-support) - [#12250](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12250) Aqara DWZTCGQ11LM: support `static` action (@absent42) - [#12240](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12240) Candeo C203, C204, DM204 and DM204v2: add minimum brightness level setting (@candeodevelopment) - [#12167](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12167) Aqara W600: expose running_state from valve position (@nilvanis) - [#12188](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12188) Philips 929003017102: enable OTA (@mundschenk-at) - [#12164](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12164) Shelly S4SN-0071A: expose `trouble` (@yo3gnd) - [#12166](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12166) Tuya circuit breakers: refactor breaker fault (@GrumpyMeow) - [#12162](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12162) Woolley BSD29/BSD59: expose power on behaviour (@Xplouder) - [#1732](https://github.com/Koenkk/zigbee-herdsman/issues/1732) Add parsing for more GreenPower frames (@Nerivec) - [#1761](https://github.com/Koenkk/zigbee-herdsman/issues/1761) Add support for Zigbee Direct cluster (@Nerivec) #### Fixes - [#31930](https://github.com/Koenkk/zigbee2mqtt/issues/31930) Use Jinja-safe property access in HA discovery templates (@yo3gnd) - [#32054](https://github.com/Koenkk/zigbee2mqtt/issues/32054) Fix default value of "optimistic" group setting (@andrei-lazarov) - [#32037](https://github.com/Koenkk/zigbee2mqtt/issues/32037) Prevent invalid external JS file name on save (@Nerivec) - [#31930](https://github.com/Koenkk/zigbee2mqtt/issues/31930) Use Jinja-safe property access in HA discovery templates (@yo3gnd) - [#12355](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12355) Nous D4Z: expose alarms configuration (@andrei-lazarov) - [#12356](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12356) Profalux MOT-C2Z10: fix fingerprint (@residentphil74-hub) - [#12354](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12354) Shelly 2PM Gen4 (Cover mode): fix fingerprint for firmware 2.0.0-beta1 (@hoellen) - [#12303](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12303) Tuya ZY-ZHPS01-24G: correct presence parser and add dis_current polling (@rafieshaki) - [#12344](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12344) Acova Alcantara 2 and _[Truncated at 4000 characters — full notes: https://github.com/Koenkk/zigbee2mqtt/releases/tag/2.11.0]_ ### 2.10.1 - Date: 2026-05-07 - Version: 2.10.1 - Original notes: https://github.com/Koenkk/zigbee2mqtt/releases/tag/2.10.1 - Permalink: https://whatsnew.fyi/product/zigbee2mqtt/releases/2.10.1 - **fixed** — Fix several Tuya device attributes that were not updating or writable - **added** — Shelly 1 Gen 4: support switch_mode and switch_type - **added** — Tuya ERS-10TZBVK-AA: expose action_brightness_delta and action_color_temperature_delta - **added** — Tuya TS0601_multifunction_switch: add inching, indicator mode, fix dp in timer device - **added** — Excellux ZG-104PLV: expose vibration_count - **added** — Plugwise 170-01: expose max/min heat/cool setpoint limit - **added** — SONOFF MINI-ZBDIM: expose max brightness threshold - **added** — Tuya TS0601_pir_solar: expose alarm_time and alarm_mode - **changed** — Hue: always add 'sunrise' to effects list - **added** — Shelly Power Strip 4 Gen4 (S4PL-00416EU): add per-socket power_on_behavior - **fixed** — Replace deprecated url.parse - **fixed** — Heiman HS1RM: add switch type and fix diagnostic issue - **fixed** — Plugwise 170-01: add entity category to min/max heat/cool setpoint limits - **fixed** — Move _TZ3000_cziew6eu to TS0726_3_gang_scene_switch - **fixed** — Novato ZIS-01P: add datapoints - **fixed** — Plugwise 170-01: improve reporting configuration - **fixed** — Tuya TS130F and Moes MS-108ZR: fix various attributes not updating - **fixed** — Tuya: fix UNSUPPORTED_CLUSTER when setting switch_type - **fixed** — Danfoss: rename adaptionRunControl state none to idle #### Notes - This hotfix release fixes several Tuya device attributes that were not updating or writable (https://github.com/Koenkk/zigbee2mqtt/issues/31851, https://github.com/Koenkk/zigbee2mqtt/issues/31835, https://github.com/Koenkk/zigbee2mqtt/issues/31850) #### Improvements - [#12096](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12096) Shelly 1 Gen 4: support switch_mode and switch_type (@SebiGo) - [#12127](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12127) Tuya ERS-10TZBVK-AA: expose `action_brightness_delta` and `action_color_temperature_delta` (@TheUnlimited64) - [#12105](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12105) Tuya TS0601_multifunction_switch: add inching, indicator mode, fix dp in timer device (@ohadvano) - [#12074](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12074) Excellux ZG-104PLV: expose `vibration_count` (@iotRobot) - [#12115](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12115) Plugwise 170-01: expose max/min heat/cool setpoint limit (@michelotten) - [#12116](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12116) SONOFF MINI-ZBDIM: expose max brightnes threshold (@storm1ng) - [#12124](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12124) Tuya TS0601_pir_solar: expose `alarm_time` and `alarm_mode` (@andrei-lazarov) - [#12087](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12087) Hue: always add 'sunrise' to effects list (@Mihonarium) - [#12086](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12086) Shelly Power Strip 4 Gen4 (S4PL-00416EU): add per-socket power_on_behavior (@coyotte508) #### Fixes - [#31845](https://github.com/Koenkk/zigbee2mqtt/issues/31845) Replace deprecated `url.parse` (@Nerivec) - [#12135](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12135) Heiman HS1RM: add switch type and fix diagnostic issue (@Leo2442926161) - [#12137](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12137) Plugwise 170-01: add entity category to min/max heat/cool setpoint limits (@michelotten) - [#12125](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12125) Move `_TZ3000_cziew6eu` to TS0726_3_gang_scene_switch (@andrei-lazarov) - [#12103](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12103) Novato ZIS-01P: add datapoints (@andrei-lazarov) - [#12114](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12114) Plugwise 170-01: improve reporting configuration (@michelotten) - [#31851](https://github.com/Koenkk/zigbee2mqtt/issues/31851) Tuya TS130F and Moes MS-108ZR: fix various attributes not updating (@Koenkk) - [#31916](https://github.com/Koenkk/zigbee2mqtt/issues/31916) Tuya: fix UNSUPPORTED_CLUSTER when setting switch_type (@Koenkk) - [#12109](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12109) Danfoss: rename adaptionRunControl state none to idle (@storm1ng) - [#12094](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12094) Develco EMIZB-132: expose `producedEnergy` (@svhelge) - [#12036](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12036) Inovelli: clean up biome-ignore comments (@rohankapoorcom) - [#12095](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12095) Legrand/BTicino K4003C: fix broken state reporting (@murarustefaan) - [#12093](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12093) Novato ZIS-01P: fix datapoints (@bilgi-source) - [#12090](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12090) Philips Hue: fix native transition time (@Mihonarium) - [#12100](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12100) Tuya _TZB210_rs0ufzwg: fix state lost after on -> off -> on (@Goldmensch) - [#12091](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12091) Tuya TLC2206: fix power source (@andrei-lazarov) - [#31835](https://github.com/Koenkk/zigbee2mqtt/issues/31835) Tuya TS0505B_2: fi _[Truncated at 4000 characters — full notes: https://github.com/Koenkk/zigbee2mqtt/releases/tag/2.10.1]_ ### 2.10.0 - Date: 2026-05-01 - Version: 2.10.0 - Original notes: https://github.com/Koenkk/zigbee2mqtt/releases/tag/2.10.0 - Permalink: https://whatsnew.fyi/product/zigbee2mqtt/releases/2.10.0 - **added** — Home Assistant: add group entities in discovery config - **changed** — Acova ALCANTARA3: add electrical measurement support (apparent power) - **changed** — Aqara W600: add battery, valve alarm and open window indicators - **changed** — Aqara W600: add schedule support - **changed** — Datek Idlock: refactor - **changed** — Efekta: support more features for various devices - **changed** — HEIMAN HS1SA-E Plus and HM 636: support temperature offset - **changed** — Shelly 2PM Gen4: support switch mode - **changed** — Shelly: expose switch inputs and input mode configuration for Gen4 1/1PM/1PM Mini/2PM - **changed** — Yale YMC420-W: expose action - **changed** — Aqara W600: refactor implementation - **changed** — Danfoss 014G2461: expose more features - **changed** — Hue lights: support hue_native_control - **changed** — Aqara W600: add external temperature support - **changed** — Danfoss Icon2: support OTA - **changed** — Plugwise 170-01: expose more features - **changed** — Add SLZB-06MG26U router variant - **changed** — Mumubiz TYZGTH4CH-D1RF: expose inching switch - **changed** — Third Reality 3RPL01084Z: expose color temp - **changed** — Inovelli: add new dumb switch detection parameter (fw 3.07+) #### Features - [#31663](https://github.com/Koenkk/zigbee2mqtt/issues/31663) Home Assistant: add group entities in discovery config (@hoellen) #### Improvements - [#12045](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12045) Acova ALCANTARA3: add electrical measurement support (apparent power) (@maxiiss) - [#12024](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12024) Aqara W600: add battery, valve alarm and open window indicators (@nilvanis) - [#12022](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12022) Aqara W600: add schedule support (@nilvanis) - [#12060](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12060) Datek Idlock: refactor (@svhelge) - [#12068](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12068) Efekta: support more features for various devices (@smartboxchannel) - [#12037](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12037) HEIMAN HS1SA-E Plus and HM 636: support temperature offset (@Leo2442926161) - [#12011](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12011) Shelly 2PM Gen4: support switch mode (@SebiGo) - [#12059](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12059) Shelly: Expose switch inputs and input mode configuration for Gen4 1/1PM/1PM Mini/2PM (@SebiGo) - [#12040](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12040) Yale YMC420-W: expose action (@rubempoli) - [#11991](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11991) Aqara W600: refactor implementation (@nilvanis) - [#12026](https://github.com/Koenkk/zigbee-herdsman-converters/issues/12026) Danfoss 014G2461: expose more features (@storm1ng) - [#11655](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11655) Hue lights: support `hue_native_control` (@Mihonarium) - [#11987](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11987) Aqara W600: add external temperature support (@nilvanis) - [#11985](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11985) Danfoss Icon2: support OTA (@Maxxis20) - [#11970](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11970) Plugwise 170-01: expose more features (@svhelge) - [#11969](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11969) Add SLZB-06MG26U router variant (@Nerivec) - [#11948](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11948) Mumubiz TYZGTH4CH-D1RF: expose inching switch (@DooMMasteR) - [#11960](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11960) Third Reality 3RPL01084Z: expose color temp (@3reality-support) - [#11870](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11870) Inovelli: add new dumb switch detection parameter (fw 3.07+) (@InovelliUSA) - [#11938](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11938) Third Reality 3RDP01072Z: support `red_led_brightness` (@3reality-support) - [#11883](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11883) Inovelli: add per-model firmware gating for device attributes (@rohankapoorcom) - [#11912](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11912) Third Reality 3RPL01084Z: expose more features (@3reality-support) - [#11861](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11861) Sinope TH1300ZB: expose `floor_temperature` and `room_temperature` (@arsenicks) - [#11858](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11858) Danfoss 014G2461: expose scheduling functionality (@svhelge) - [#11856](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11856) Shelly SBHT-103C: support light level (@benmaximov) - [#11832](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11832) SONOFF SWV: expose more features (@vitalybibikov) #### Fixes - [#31668](https://github.com/Koenkk/zigbee2mqtt/issues/31668) Clarify units of pause_on_backoff_gt (@toastedcornflakes) - [#31735](https://github.com/Koenkk/zigbee2mqtt/issues/31735) Improve _[Truncated at 4000 characters — full notes: https://github.com/Koenkk/zigbee2mqtt/releases/tag/2.10.0]_ ### 2.9.2 - Date: 2026-04-01 - Version: 2.9.2 - Original notes: https://github.com/Koenkk/zigbee2mqtt/releases/tag/2.9.2 - Permalink: https://whatsnew.fyi/product/zigbee2mqtt/releases/2.9.2 - **changed** — Improve IKEA KAJPLATS device support - **changed** — Improve Tuya water sprinklers device support - **changed** — Support more features for Netica FRZ1 - **changed** — Support more features for SONOFF SWV-ZNE - **changed** — Various improvements for SONOFF S60ZBTPF and S60ZBTPG - **added** — Expose humidity for NodON FPS-4-1-00 - **changed** — Support more features for Third Reality 3RTHS0324Z - **changed** — Support more features for ZB-IR01 - **changed** — Support more features for Third Reality 3RPL01084Z - **changed** — Support more features for Third Reality 3RWK0148Z - **added** — Expose more features for Tuya TS0601_switch_6_gang - **added** — Allow to set gas counter value for MiCASAGasCounter - **added** — Add toggle to 4 buttons and long press to 1 button for Shelly remotes - **added** — Add support for double, triple, and long events for Shelly SBBT-104CUS - **added** — Support OTA for Third Reality 3RSB02015Z - **changed** — General thermostat improvements - **added** — Support lower, upper, middle limits control for Zemismart ZM25TQ - **fixed** — Export definition version - **fixed** — Home Assistant: fix entity names for derived weather sensors by removing device_class #### Improvements - [#11849](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11849) Improve IKEA KAJPLATS (@andrei-lazarov) - [#11802](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11802) Improve Tuya water sprinklers (@andrei-lazarov) - [#11848](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11848) Netica FRZ1: support more features (@syenchuk) - [#11847](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11847) SONOFF SWV-ZNE: support more features (@CubeZ2mDeveloper) - [#11762](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11762) SONOFF S60ZBTPF and S60ZBTPG: various improvements (@CubeZ2mDeveloper) - [#11746](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11746) NodON FPS-4-1-00: expose humidity (@KipK) - [#11733](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11733) Third Reality 3RTHS0324Z: support more features (@3reality-support) - [#11710](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11710) ZB-IR01: support more features (@xsp1989) - [#11714](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11714) Third Reality 3RPL01084Z: support more features (@3reality-support) - [#11713](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11713) Third Reality 3RWK0148Z: support more features (@3reality-support) - [#11704](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11704) Tuya TS0601_switch_6_gang: expose more features (@edusouzadias) - [#11705](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11705) MiCASAGasCounter: allow to set gas counter value (@IgnacioHR) - [#11688](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11688) Shelly remotes: Add toggle to 4 buttons, add long press to 1 button (@andrei-lazarov) - [#11678](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11678) Shelly SBBT-104CUS: Add support for double, triple, and long events (@Estrobeda) - [#11682](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11682) Third Reality 3RSB02015Z: support OTA (@3reality-support) - [#11614](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11614) General thermostat improvements (@jpaju) - [#11625](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11625) Zemismart ZM25TQ: support lower, upper, middle limits control (@nilvanis) #### Fixes - [#31270](https://github.com/Koenkk/zigbee2mqtt/issues/31270) Export definition version (@andrei-lazarov) - [#31234](https://github.com/Koenkk/zigbee2mqtt/issues/31234) Home Assistant: fix entity names for derived weather sensors by removing `device_class` (@danielpetrovic) - [#31298](https://github.com/Koenkk/zigbee2mqtt/issues/31298) Match new cluster-related typing from ZH (@Nerivec) - [#31273](https://github.com/Koenkk/zigbee2mqtt/issues/31273) Reintroduce onboarding improvements (@Nerivec) - [#11829](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11829) Aqara DJT12LM: fix movement value (@absent42) - [#11806](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11806) Move attribute develcoAlarmOffDelay from ZH to ZHC (@svhelge) - [#11815](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11815) Move custom attribute operationalStatus from ZH to ZHC (lib/ubisys.ts) (@svhelge) - [#11811](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11811) Move fourNoksHysteresisLow/High custom attributes from ZH to ZHC (@svhelge) - [#11816](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11816) Move Legrand custom attributes from ZH to ZHC (@svhelge) - [#11814](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11814) Move plugwiseCalibrateValve custom command from ZH to ZHC (@svhelge) - [#11801](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11801) Move two Stelpro attributes in hvacThermostat from ZH to ZHC (@svhelge) - [#11805](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11805) Move V _[Truncated at 4000 characters — full notes: https://github.com/Koenkk/zigbee2mqtt/releases/tag/2.9.2]_ ### 2.9.1 - Date: 2026-03-02 - Version: 2.9.1 - Original notes: https://github.com/Koenkk/zigbee2mqtt/releases/tag/2.9.1 - Permalink: https://whatsnew.fyi/product/zigbee2mqtt/releases/2.9.1 - **fixed** — Fix onboarding issue introduced in 2.9.0 #### Notes - This is a hotfix release to fix the onboarding issue (https://github.com/Koenkk/zigbee2mqtt/issues/31225) introduced in 2.9.0. #### Fixes - [#31228](https://github.com/Koenkk/zigbee2mqtt/issues/31228) Fix onboarding (@Koenkk) ### 2.9.0 - Date: 2026-03-01 - Version: 2.9.0 - Original notes: https://github.com/Koenkk/zigbee2mqtt/releases/tag/2.9.0 - Permalink: https://whatsnew.fyi/product/zigbee2mqtt/releases/2.9.0 - **changed** — Improve onboarding - **changed** — Aqara ZNDDQDQ11LM, ZNDDQDQ12LM, ZNDDQDQ13LM: expose more features - **added** — SONOFF TRVZB: support smart_temperature_control - **changed** — Develco IOMZB-110: add pulse trigger and rework integration - **added** — ENGO E40: support OFF mode - **changed** — Tuya TS0601_fan_dimmer_and_light_switch: improve support - **added** — Sunricher SR-ZG2868EK7-CCT: expose scene actions - **added** — Tuya F3Pro: add weather display support - **added** — BITUO TECHNIK SPM02 and SDM01: add per-phase energy - **changed** — ENGO EONE-230W: various improvements - **added** — Tuya M9Pro: support additional features - **changed** — Schneider Electric EKO07259: enhance device support - **added** — Stello/Stelpro: expose additional features - **changed** — LiXee ZLinky: use reportable attribute for pricing period (LTARF) - **added** — Schneider Electric 545D6102: add support for indicators and switch actions - **fixed** — Home Assistant: add measurement state_class to _count entities - **fixed** — Home Assistant: add state_class: measurement for external_humidity and occupancy_level - **fixed** — Home Assistant: add weather station sensor discovery lookup entries - **fixed** — Home Assistant: discover temperature_probe as temperature device_class - **fixed** — Home Assistant: expose siren entity for IAS warning devices - **fixed** — Fix Home Assistant options cannot be updated while running - **fixed** — Improve configure attempts lazy+cleanup - **fixed** — Improve startup signals behavior - **fixed** — Aqara QBKG34LM: fix configure failing - **removed** — HOBEIAN ZG-204ZK: remove unsupported illuminance - **fixed** — Nous B5Z and B6Z: fix detection - **fixed** — Nous E12: various fixes - **fixed** — Amina S: fix energy reporting - **fixed** — Tuya TS0501B_dimmer: expose color temperature #### Improvements - [#31152](https://github.com/Koenkk/zigbee2mqtt/issues/31152) Improve onboarding (@Nerivec) - [#11618](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11618) Aqara ZNDDQDQ11LM, ZNDDQDQ12LM, ZNDDQDQ13LM: expose more features (@hen6e) - [#11466](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11466) SONOFF TRVZB: support `smart_temperature_control` (@CubeZ2mDeveloper) - [#11578](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11578) Develco IOMZB-110: add pulse trigger and rework integration (@svhelge) - [#11543](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11543) ENGO E40: support OFF mode (@adorobis) - [#11544](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11544) Tuya TS0601_fan_dimmer_and_light_switch: improve support (@rftafas) - [#11524](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11524) Sunricher SR-ZG2868EK7-CCT: expose scene actions (@ctournayre) - [#11523](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11523) Tuya F3Pro: add weather display support (@l1berat0r) - [#11504](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11504) BITUO TECHNIK SPM02 and SDM01: add per-phase energy (@script0803) - [#11384](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11384) ENGO EONE-230W: various improvements (@PaTara43) - [#11500](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11500) Tuya M9Pro: support additional features (@l1berat0r) - [#11477](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11477) Schneider Electric EKO07259: enhance device support (@svhelge) - [#11444](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11444) Stello/Stelpro: expose additional features (@lit-af) - [#10903](https://github.com/Koenkk/zigbee-herdsman-converters/issues/10903) LiXee ZLinky: use reportable attribute for pricing period (LTARF) (@sbraz) - [#11458](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11458) Schneider Electric 545D6102: add support for indicators and switch actions (@lajtmaN) - [#11437](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11437) Shelly WS90: expose more sensors (@danielpetrovic) - [#11455](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11455) Zemismart ZMS-206US-X: add support for setting switches names with UTF8 support (@aryelevin) - [#11416](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11416) Moes ZHT-S01: improve schedule handling (@mr-brune) - [#11438](https://github.com/Koenkk/zigbee-herdsman-converters/issues/11438) Schneider Electric EKO07259: remove attributes not present and implement Schneider Electric custom clusters and attributes (@svhelge) #### Fixes - [#31151](https://github.com/Koenkk/zigbee2mqtt/issues/31151) Fix Home Assistant options cannot be updated while running (@Koenkk) - [#30978](https://github.com/Koenkk/zigbee2mqtt/issues/30978) Home Assistant: add `measurement` `state_class` to `_count` entities (@DataGhost) - [#31022](https://github.com/Koenkk/zigbee2mqtt/issues/31022) Home Assistant: add `state_class: measurement` for `external_humidity` and `occupancy_level` (@Koenkk) - [#31136](https://github.com/Koenkk/zigbee2mqtt/issues/31136) Home Assistant: add weather station sensor discovery lookup entries (@danielpetrovic) - [#30862](https://github.com/Koenkk/zigbee2mqtt/issues/30862) Home Assistant: discover `temperature_probe` as `temperature` `device_class` (@Koenkk) - [#31000](https://github.com/Koenkk/zigbee2mqtt/issues/31000) Home Assistant: expose siren entity for IAS warning devices (@snazzybean) - [#31022](https://github.com/Koenkk/zigbee2mqtt/issues/31022) Home Assistant: set `state_class` `measurement` for `external_temperature` (@Koenkk) - [#31126](https://github.com/Koenkk/zigbee2mqtt/issues/31126) Improve configure attempts lazy+cleanup (@Nerivec) - [#31130](https://github.com/Koenkk/zigbee2mqtt/issues/31130) Improve startup signals b _[Truncated at 4000 characters — full notes: https://github.com/Koenkk/zigbee2mqtt/releases/tag/2.9.0]_ ### 2.8.0 - Date: 2026-02-01 - Version: 2.8.0 - Original notes: https://github.com/Koenkk/zigbee2mqtt/releases/tag/2.8.0 - Permalink: https://whatsnew.fyi/product/zigbee2mqtt/releases/2.8.0 - **added** — Allow users to upload custom OTA files directly through the frontend for flashing custom firmwares to devices - **changed** — Complete re-implementation of the OTA functionality with modified logging format during OTA updates - **fixed** — Home Assistant: set state class to measurement for illuminane_raw - **fixed** — Home Assistant: add gas device class - **fixed** — Home Assistant: change device_class of eco2 to volatile_organic_compounds_parts - **fixed** — Home Assistant: discover temperature sensor for thermostats - **fixed** — Home Assistant: expose group settings override - **fixed** — Home Assistant: mark load_estimate as state_class measurement - **fixed** — Home Assistant: treat Area1-4Occupancy as occupancy - **fixed** — Home Assistant: use temperature_delta for calibration - **fixed** — Log error before renaming failed to load converters - **fixed** — Network map: escape double-quotes and backslashes in device attributes - **fixed** — OTA availability detection #### Features - This release features a complete re-implementation of the OTA functionality (thanks to @Nerivec!). Users can now upload custom OTA files directly through the frontend, simplifying the process of flashing custom firmwares to e.g. Tuya devices. Please note that this update modifies the logging format during OTA updates. For a full breakdown of the changes, see [#30566](https://github.com/Koenkk/zigbee2mqtt/pull/30566).