Notes
- In #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 Add
clear_cacheoption to device remove request (@Nerivec) - #32625 Home Assistant: add discovery support for Tuya infrared receiver (learn mode) and emitter features (@jbouwh)
Improvements
- #12757 SONOFF SNZB-09P: improve battery handling and expose more alarm options (@CubeZ2mDeveloper)
- #12787 Sunricher dimmers: add minimum PWM (@niracler)
- #12764 Philips Hue plugs: expose Power-on behavior (@andrei-lazarov)
- #12523 NodOn SDO-4-1-00:add configureReporting for ssIasZone/zoneStatus (@nthiers)
- #12548 NodOn SEM-4-1-00: add energy reset, configureReporting and apparent power (@nthiers)
- #12733 Shelly Presence Gen4 (S4SN-0U61X): full sensor and zone configuration (@krobipd)
- #12758 Third Reality 3RDS17BZ: expose
delay_open(@3reality-support) - #12727 SONOFF SONOFF SNZB-02B/02M/02UL: add dewpoint and VPD (@CubeZ2mDeveloper)
- #12659 Shelly WS90: expose solar capacitor voltage (@sschwieb)
- #12690 EWeLink CK-BL702-MSW-01(7010) / Mumubiz CZV20: expose countdown auto-off timer (@juslex)
- #12670 Shelly WS90: expose battery voltage (@andrei-lazarov)
- #12687 SONOFF SWV Gen 2: add unified imperial gallon support (@CubeZ2mDeveloper)
- #12691 Tuya TS0002_power: expose per-endpoint countdown auto-off timer (@juslex)
- #12662 Aqara SSWQD22LM: support more features (@blakegong)
- #12665 Philips 929004308301: support color (@mrtncode)
- #12654 Wiren Board WB-MSW-ZIGBEE_v.4_official: expose IR transceiver controls (@u236)
- #12634 Zozung/Tuya based IR blasters: add support for Home Assistant infrared timings (@jbouwh)
- #1825 Handle
specialin ZCL spec (@Nerivec) - #1819 Allow to remove device from cache on request (@Nerivec)
Fixes
- #32535
experimental_event_entitiesandlegacy_action_sensorrequire restart (@andrei-lazarov) - #32662 Avoid running resolveDefinition in parallel (@luar123)
- #32619 Drop redundant types js yaml (@cany748)
- #31947 Fix restartRequired flag (@andrei-lazarov)
- #32603 Home Assistant: discover device trigger when mqtt output = attribute_and_json and add warnings about incompatible settings (@andrei-lazarov)
- #32544 Home Assistant: fix action published to wrong topic (@luar123)
- #32676 Publish groups on device leave (@Nerivec)
- #32486 Refresh exposes after manual device configure (@MaxRink)
- #32643 Remove json-stable-stringify-without-jsonify dep (@Nerivec)
- #32683 Replace jszip with fflate (@cany748)
- #32579 Replace rimraf with native fs.rmSync (@cany748)
- #32620 Replace source-map-support with native Node source map support (@cany748)
- #32508 Support Node 26, remove Node 20 support (@Koenkk)
- #12770 Schneider Electric: fix dimming mode (@svhelge)
- #12812 Shelly 1/1 Mini, 1PM/1PM Mini: merge identical variants into whitelabels (@krobipd)
- #32703 Sinopé TH1400ZB: expose
floor_temperatureandroom_temperature(@Koenkk) - #12814 SONOFF ZBM5: fix configure failing (@andrei-lazarov)
- #12818 Tuya
_TZ3000_w0qqde0gand_TZ3000_typdpbpg: removeswitch_type_button(@andrei-lazarov) - #12817 Tuya TS011F_plug_1: fix current scale (@andrei-lazarov)
- #12801 Tuya TS0601_water_valve and TS0601_water_meter: fix battery voltage expose (@Liionboy)
- #12791 Expose Tuya infrared learning ir code switch as button to Home Assistant (@jbouwh)
- #12772 LEDVANCE 4099854295232/4099854293276: silence periodic divisor-constant reports (@krobipd)
- #12802 Namron 4512758: expose Namron custom attributes (@svhelge)
- #12805 RTX ZVG1: Enable Tuya time sync (@andrei-lazarov)
- #12811 Shelly S4SN-0071A/S4SN-0071Z: merge Flood and Flood S into one definition (@krobipd)
- #12804 Smarthjemmet.dk devices: make
switchTypewritable (@mortenmoulder) - #12795 Somfy Glydea: fix incorrect position reported (@darkl0rd)
- #12793 Tuya AY-204Z: fix occupancy and battery reporting (@minorMismatch)
- #12798 Tuya TS011F_with_threshold: change min
over_voltage_thresholdrange to 90 (@galvesribeiro) - #12808 Wirenboard WB-MSW-ZIGBEE v.4: correct CO2 unit (@u236)
- #12789 Haozee HZ-SL10: fix light sensor DP commands (@13717033460)
- #12782 Nous L14: query on device announce (@andrei-lazarov)
- #12769 Shelly: remove shellyPowerFactorInt16Fix (@hpuac)
- #12778 Simplify template on infrared receiver entity to avoid warnings when the value is reset (@jbouwh)
- #12777 Smarli S-ZB-COV1-R251: disable unintended optimistic write of cover position (@loocd)
- #12774 Sonoff MINI-ZBRBS: add missing 'none' (0) value for
motor_travel_calibration_action(@bueste) - #12771 Tuya IR: clear last published timings and add override option for HA
value_template(@jbouwh) - #12760 HOBEIAN ZG-302ZM: fix auto on/off lookup (@nico1080)
- #12738 Fix vendor casing to prevent duplicates (@andrei-lazarov)
- #12737 Improve infrared emitter description (@jbouwh)
- #12729 NodOn SIN-4-1-20/SIN-4-1-21/SIN-4-2-20: fix wired input, endpoint 242 and identify (@nthiers)
- #12736 Shelly 2PM Gen4: switch input mode is mapped to the wrong endpoints in switch mode (@krobipd)
- #12747 Shelly Gen4: harden switch and button input handling (@krobipd)
- #12735 Shelly Gen4: stop offering settings the device cannot report (@krobipd)
- #12732 Shelly Gen4: stop reading through the RPC cluster (@krobipd)
- #12749 Shelly Gen4: write only the given Wi-Fi fields (@krobipd)
- #12748 Shelly WS90: discard non-value markers and recover the rain rate after a counter reset (@krobipd)
- #12750 Shelly: do not serialize RPC transactions of different devices against each other (@krobipd)
- #32647 Tuya TS0601_floor_thermostat: fix date/time (@Koenkk)
- #12069 Tuya ZY-M100-24GV3: drop bogus 0 sensitivity reads from device (@jameshobden)
- #12755 Yale SOLIS01: fix operation event decoding and battery scale; drop state derivation from ymc_action (@juslex)
- #12718 Add Legrand 600090A white-label (@andrei-lazarov)
- #12711 SONOF MINI-ZBRBS: fix configure failing (@bueste)
- #12708 Allow schema and type override for Home Assistant infrared discovery type (@jbouwh)
- #12715 BTicino F20T60A and FC80GCS: remove unused converters (@andrei-lazarov)
- #12704 Aqara DS-K02D/DS-K02E: fix ghost events (@glueckstein)
- #12699 Aqara T3: improve definition (@blakegong)
- #12701 EGLO 900878: add whitelabel of 900024/12253 (@krobipd)
- #12648 HEIMAN M1-PE : optimize reporting config (@Leo2442926161)
- #12676 Aqara ZNCLBL01LM: normalize terminal drift (@martinfrancois)
- #12675 Change action_transition_time unit to seconds (@andrei-lazarov)
- #12686 Innr RB 279 T: fix color temperature range (@Burki24)
- #12685 Leviton DG3HL: expose and preserve dimmer configuration (@PaulMcMillan)
- #12668 Paul Neuhaus lights: fix color and temperature control (@andrei-lazarov)
- #12689 Tuya: TS1201: fix discovery and add expose zosung learned timings (@jbouwh)
- #12650 Moes ZC-LS02: battery polling + stop mcuVersion flood (@Rhaiderr)
- #12656 SONOFF MINIZB1GS: update inchingControlSet timeout (@CubeZ2mDeveloper)
- #12647 SONOFF: restore composite exposes for irrigation settings (@CubeZ2mDeveloper)
- #12651 Tuya RB-SRAIN01: invert cleaning_reminder (@andrei-lazarov)
- #12644 HEIMAN HS1SA-E Plus: fix smoke level (@Leo2442926161)
- #12646 Tuya: fix negative numbers in datapoints (@andrei-lazarov)
- #12624 Aqara PS-S04D: fix battery never reporting (@hajarada)
- #12626 Definition generator: fix occupancy sensor on multi endpoint device (@luar123)
- #12628 ENGO E40: expose battery information of TRV and firmware info TRV (@henkiejan1)
- #12629 Tuya ZN2S-RS02E: fix endpoints (@hesham1216)
- #12605 Develco ZHEMI101: fix incorrect power report (@derabbink)
- #12616 Moes BHT-002: fix max
current_heating_setpoint(@emolenev) - #12622 Moes ZC-LS02: fix
motor_direction(@Rhaiderr) - #32460 Müller Licht 404021: fix detection (@Koenkk)
- #12612 Namron Simplify: refactor dimmer converter functions (@xses79)
- #12615 NYCE NCZ-3011-HA: fix IAS enrollment during reconfigure (@derabbink)
- #12620 Shelly: keep cover tilt controls visible when supported (@MaxRink)
- #12593 Third Reality 3RVS01031Z: improve definition (@3reality-support)
- #12619 Tuya cover moesCalibrationTime ENUM8 -> UINT16 (@junaidsurve)
- #32204 Tuya TS0505B_2: fix color control (@Koenkk)
- #12603 Tuya TS0726_1_gang and TS0726_2_gang: expose
indicator_mode(@chou0706) - #12609 Universal Electronics Inc XHS2-UE: fix battery voltage curve (@klinquist)
- #12597 Soma SmartShades3: remove tilt control (@smenzer)
- #12600 SONOFF SWV: fix configure when optional attribute is unsupported (@klinquist)
- #12598 Tuya TS011F_with_threshold: expose
child_lock(@olegos37) - #12595 Tuya: fix weather crash due to missing await (@Nerivec)
- #1830 Add support for some recent
EzspValueId(@Nerivec) - #1816 Optimize attribute reads during interview logic (@Nerivec)
- #1804 Greenpower: fix attr parsing (@Nerivec)
- #1809 NYCE NCZ-3011-HA: enable interviewQuirks (@derabbink)
Frontend
- #644 fix: Replace jszip with fflate (@cany748)
- #627 fix: translate remaining English strings in ptbr (@inacionery)
- #628 fix: add Legrand OUI (@andrei-lazarov)
- #634 fix: add STMicrolectronics OUI (@andrei-lazarov)
- #638 feat: allow to clear cache when removing device (@Nerivec)
- #612 fix: fix "disable periodic reporting" label (@andrei-lazarov)
- #610 feat: change "support" display to use definition source (@Nerivec)
- #614 fix: cleanup i18n (@Nerivec)
- #615 fix: improve source labeling (@Nerivec)
- #620 fix: fix rounded corners on some buttons (@andrei-lazarov)
- #623 feat: Add "Zigbee manufacturer" tooltip (@andrei-lazarov)
- #580 feat: Improve firmware versions display (@andrei-lazarov)
- #613 feat: add vendor image lookup (@luar123)
- #574 fix: use regions in icon_map and fix typo (@andrei-lazarov)
- #576 fix: add Develco OUI (@burmistrzak)
- #592 fix: min and max Group ID (@andrei-lazarov)
New supported devices
This release adds support for 51 devices:
- #12813
BHT-209-GCZBBeca Battery Zigbee thermostat with dry contact for boiler control (@Rolleroo) - #12809
929004321001Philips Hue Play Floor lamp large (@jonas0b1011001) - #12807
BAC-001Tuya Heating/cooling thermostat with fan control (@dansity) - #12751
GWA1201Gewiss Chorus on/off switch (@LucaCh92) - #12796
S4SN-0071ZShelly Flood S Gen 4 (@krobipd) - #12794
TO-WK-2W/BNova Digital Topazio 2 gang switch with socket (@raphic-nh) - #12800
ZBCMR-02Nova Digital Roller Blind Motor (@bmnascimento) - #12776
EZ-104UPTExcellux Contact sensor and vibration sensor (@iotRobot) - #12784
SAV-DL6IN-24V-12WSavolar Zigbee 12W Downlight RGB+CCT with external antenna design (@Aogu181) - #12768
SWS-IZNobø Mode switch (Home/Sleep/Away/Vacation) (@jostein87-blip) - #12788
ZF24ProTuya Tuya Temperature & Humidity Human Presence Sensor (@tiankakeji-cloud) - #12765
TS0201-LCD-SlDSlacky-DIY Tuya temperature and humidity sensor with LCD display and custom firmware (@slacky1965) - #12765
Router-ZG-807Z-SlDSlacky-DIY Tuya router with custom firmware (@slacky1965) - #12734
_TZE200_rgeapp2cTuya Semicom touch panel: 2 switches + 2 shutters (@Simchon) - #12746
_TZE28C1000000_jlbsptklTuya Human sresence sensor 1-gang smart switch (@tiankakeji-cloud) - #12746
_TZE28C1000000_jaunkx9gTuya Human presence sensor 2-gang smart switch (@tiankakeji-cloud) - #12746
_TZE28C1000000_usmqzgdmTuya Human presence sensor 3-gang smart switch (@tiankakeji-cloud) - #12742
91-943-PRO-RGBCWLight Solutions 5-in-1 RGBCCT LED controller (@andrei-lazarov) - #12754
RCL 241 TInnr Round Ceiling Light (42cm)- Warm to Cool White (@MrThyrox) - #12752
SEM-4-3-20NodOn 3CT Energy Meter (@nthiers) - #12719
eMotion AirLinknLink Battery-Powered mmWave Presence Multi-Sensor (@andrei-lazarov) - #12722
EZMB-RGB-TW-I2CAwoX EGLO Connect-Z LED G95 13.5W RGB + tunable white (@GeGerardo) - #12728
POK018PushOk Hardware Battery powered loudspeaker (@zombierzn) - #12712
CCT-IPaulmann Tunable white light controller with integrated motion sensor (tested with Skyla 948.64) (@SeoFood) - #12705
TP-WGZBASONOFF Zigbee thermostat panel (@CubeZ2mDeveloper) - #12714
ZSS-QT-LTH-CMoes Smart 3-in-1 brightness, temperature and humidity sensor (@Hotelk52339) - #12700
TO-DM-W/BNova Digital Topazio 1 gang Zigbee dimmer switch (@raphic-nh) - #12695
ZNYB01LMAqara Smart bathroom heater T1 (@Kevin6872) - #12693
LPC-V1Pulsar LLC Leak protection controller (@DmitryMolokanov) - #12658
NFZB-2Nova Digital 2-Gang switch with backlight, countdown and inching (@trzenaro) - #12684
SR-2421-Z2D8CSunricher Zigbee to DALI controller (@niracler) - #12678
TO-WK-1W/BNova Digital Topazio 1 gang switch with socket (@raphic-nh) - #12663
SSWQDYH02Aqara Spotlight V1 (@blakegong) - #11734
_TZE284_0kihjsysEyZEE 5-Gang TZExxx Zigbee Touch Switch (@shsurury) - #12649
100050060900Atlantic Group Galapagos electric radiator (@ptondereau) - #12637
SMRZB-342Frient Smart DIN Relay 2 (@OudeKaas69) - #12521
AY-601ZLAOYAN 1 gang switch module - without neutral wire (@zyjsmile857) - #12521
AY-602ZLAOYAN 2 gang switch module - without neutral wire (@zyjsmile857) - #12521
AY-603ZLAOYAN 3 gang switch module - without neutral wire (@zyjsmile857) - #12633
Dongle-PP10SONOFF Dongle Plus CC2674P10 (CC2674P10) with router firmware (@CubeZ2mDeveloper) - #12630
ZRS-USC-WHMoes Smart curtain switch (@radinsky) - #12520
AY02SZAOYAN Vibration sensor (@zyjsmile857) - #12518
AY205ZAOYAN PIR 24Ghz human presence sensor (@zyjsmile857) - #12519
AY208ZAOYAN 24G millimeter wave human presence sensor (@zyjsmile857) - #12623
EC1366Villeroy & Boch My View mirror cabinet (@mkrle) - #12613
RCL 242 CInnr Round ceilng light (42cm) - white and colour (@hidrissi-hass) - #12604
SE-RZ11Sercomm Boiler control relay module used in Enel Homix system (@matitalatina) - #12618
ZM6LT1Moes Smart 1-phase energy power meter with CT sensor clamp (@pranjal-joshi) - #12517
AY-204ZXAOYAN 24Ghz millimeter wave and T&H sensor (@zyjsmile857) - #12602
TOQCB2-80-2PTongou Smart circuit breaker (2P) (@aavdberg) - #12594
ZSN-03PNovato Temperature & humidity sensor (@bilgi-source)
Fixed device detections
- #32707 Detect
_TZE284_qvzsq3s2as Tuya PA-44Z (@Koenkk) - #12781 Detect
_TZE204_zhiqbr7las Skydance WZ5_rgbcct (@Gridban) - #12786 Detect
_TZE2841000000_bw4ayyehas Tuya ZD24_Presence_Sensor (@tiankakeji-cloud) - #12762 Detect
_TZ3210_r3wubmyhas Nous P8Z (@andrei-lazarov) - #12753 Detect
_TZ3210_htdm5hvwas Nous P4Z (@andrei-lazarov) - #12741 Detect
_TZE284_aoah6bv8as Moes JKD-513COM-Z (@wilsto) - #12724 Detect
_TZ3000_46vasa5has Tuya TS011F_2_gang_wall (@arpena) - #12721 Detect
SLZB-06Mg26Uas SMLIGHT SLZB-06M (@Psykosoldier) - #12698 Detect
_TZ3000_w0qqde0gas Nous A1Z (@andrei-lazarov) - #12702 Detect
_TZE28C1000000_68utemioas Tuya TS0601_dimmer_1_gang_1 (@andrei-lazarov) - #12703 Detect
_TZE28C1000000_xvywzhmias Zemismart ZN-USC1U-HT (@andrei-lazarov) - #12696 Detect Shyugj MotionSensor-ZB3.0 as HZC Electric S902M-ZG (@andrei-lazarov)
- #12692 Detect
AY-101Zas Tuya TS0203 andAY301Zas Tuya WHD02 (@zyjsmile857) - #12661 Detect
AY222Zas TS0207_water_leak_detector andAY201Zas ZG-227ZL (@zyjsmile857) - #12664 Detect
FB56-COS02HM1.4as Feibit SCA01ZB (@svhelge) - #12660 Detect
LGT011as Philips 046677590161 (@Koenkk) - #12645 Detect _TZE204_qtnjuoae as RTX ZVG1 (@molusk)
- #12636 Detect
_TZE28C1000000_hgeqeyuvas ZT24 and_TZE28C1000000_pzm3wab5as ZX24 (@tiankakeji-cloud) - #32496 Detect
_TZE2841000000_rccxox8pas Tuya PA-44Z (@Koenkk) - #12610 Detect
_TZ3210_lqb7lcq9as Nova Digital SA-WK (@felipemathies) - #12621 Detect
LIGHTIFY Conv Under Cabinet TWas Sylvania 72569 (@SiliconAvatar)