Skip to content

zigbee2mqtt

v2.12.1 Maintenance

This release keeps dependencies and maintenance posture current for teams operating this tool.

Published 26d Home Automation
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Affected surfaces

crypto_tls deps

Summary

AI summary

Broad release touches Frontend, Fixed device detections, @andrei-lazarov, and @MaxRink.

Full changelog

Improvements

  • #12566 IKEA E2134: support on duration, trigger condition (@jeslinmx)
  • #12583 OWON PIR313-E: expose battery percentage and configure reporting (@gluoncompany)
  • #12572 SONOFF SNZB-02LD: support OTA (@myyorick)
  • #12559 SONOFF TRV-ZBT: support multi-schedule group, valve calibration, and history improvements (@CubeZ2mDeveloper)
  • #32059 Aqara DS-K02D/DS-K02E: fix stale actions being published (@Koenkk)
  • #1210 Aqara UT-A01E: support OTA (@Koenkk)
  • #12498 Bosch RM230Z: make HA climate modes configurable (@MaxRink)
  • #12535 HEIMAN M1-PE : expose temperature and humidity (@Leo2442926161)
  • #12531 Mark meter voltage telemetry diagnostic for HA (@MaxRink)
  • #12533 Yoolax TS0301_dual_rail_2: real-time position and separate rail covers (@msitt)
  • #12508 Bosch RM230Z: expose weekly schedule (@MaxRink)
  • #12497 Shelly 2PM: make cover tilt configurable (@MaxRink)
  • #12493 Develco ZHEMI101: improve integration (@derabbink)
  • #12465 Shelly gen4: add button mode scene actions (single/double/triple/hold) (@SebiGo)
  • #12463 SONOFF SNZB-02DR2: expose temperature_sensor_select and external_temperature (@shaggyone)
  • #12448 Tuya TS130F_xbexmf8h: expose switch type (@andrei-lazarov)
  • #12434 Heiman S1RM-E: add alarm muted state at low level of alarm and pre-heating state (@Leo2442926161)
  • #12441 Tuya TS130F cover controllers: expose switch type (@andrei-lazarov)
  • #12412 Heiman: add reading temperature, humidity and co attributes during paring (@Leo2442926161)
  • #12385 Add support for Namron Zigbee Edge Thermostat (4566702/4566703/4512783/4512784) (@xses79)
  • #12411 OWON: support more variants (AC201P_019E, AC221_019E, DWS332-E) (@jacky202509)
  • #12420 Schneider Electric CCT5010-0003: add switchActions and remove support for power on behaviour (@svhelge)
  • #1800 Support for EmberZNet 9.1.0 (EZSP v19 / v2026.6.0) (@Nerivec)
  • #1797 Support for Sonoff Dongle-PP10 auto-discovery (@CubeZ2mDeveloper)

Fixes

  • #32417 Add mqtt.server_name option to override TLS SNI (@rohankapoorcom)
  • #32311 Docker: bump alpine from 3.23 to 3.24 (@dependabot[bot])
  • #32356 Home Assistant: add conductivity discovery for soil_fertility (@danielbrunt57)
  • #32361 Home Assistant: allow discovery user overrides to win over converter (@MaxRink)
  • #32380 Home Assistant: apply expose-level Home Assistant discovery metadata (@MaxRink)
  • #32439 Home Assistant: mark device settings as config (@Komzpa)
  • #32377 Home Assistant: mark legacy action sensors diagnostic (@MaxRink)
  • #32378 Home Assistant: mark thermostat configuration switches as config (@MaxRink)
  • #32379 Home Assistant: pass device options to HA discovery overrides (@MaxRink)
  • #32411 Home Assistant: support cooling setpoint in climate discovery (@kirovilya)
  • #32392 Home Assistant: unit conversion for derived weather sensors by restoring device_class with name preservation (@danielpetrovic)
  • #32255 Improve zigbee2mqtt maintenance path (@quyentonndbs)
  • #32258 Republish bridge/state online when HA comes online (@kryoz-ddp)
  • #12545 Tuya TS011F_plug_1 _TZ3008_reatplte: report correct voltage/power (@Nirostar)
  • #12577 Aqara PS-S04D: adjust min/step values for absence delay timer (@absent42)
  • #12574 Legrand 067772: expose as switch (@svhelge)
  • #12581 Schneider Electric 41EPBDWCLMZ/354PBDMBTZ: expose level_config (on_level, current_level_startup) (@bdnstn)
  • #32423 Tuya TS011F_with_threshold: fix over current and under voltage limits (@Koenkk)
  • #12554 Bacchus Mercury_3ph_Counter: expose energy_combined (@Bacchus777)
  • #12511 Heimgard SLM-2: fix volume levels (@bskjon)
  • #12553 Scneider Eletric MEG5116-0300/MEG5171-0000 and WDE002386: expose flash_on_click indicator_mode (@lajtmaN)
  • #12550 Shelly: fix Wi-Fi readback via RPC fallback (@MaxRink)
  • #12560 SONOFF SNZB-09P: fix alarm duration not applied on first automation trigger (@CubeZ2mDeveloper)
  • #12552 Tuya _TZ3000_yi0n4xfd: expose temperature and temperature_threshold (@Koenkk)
  • #12557 Tuya TS0601_smart_scene_knob: Allow brightness 255 (@andrei-lazarov)
  • #12513 Bosch RN230Z: make relay support optional (@MaxRink)
  • #12509 Handle named custom raw attribute responses (@MaxRink)
  • #12547 NodOn SDC-4-1-00: fix dry contact sensor (inverted logic, wrong attribute, add reporting) (@nthiers)
  • #12525 Shelly: fix switch input endpoint discovery (@MaxRink)
  • #12541 Tuya _TZ3290_gnl5a6a5xvql7c2a: remove battery (@andrei-lazarov)
  • #12532 Tuya TS0505B_1: add Emos white-labels (@Golbinex)
  • #12540 Wyze WLCKG1: prevent stale raw frames (@dkneeland)
  • #12514 Mark battery state exposes as diagnostic (@MaxRink)
  • #12510 SONOFF SWV-ZNE: expose valve settings as scalar controls (@MaxRink)
  • #5266 SONOFF SWV: update valve_work_state description (@Koenkk)
  • #12512 ThirdReality 3RSM0147Z: soil moisture fallback (@MaxRink)
  • #5255 Tuya TS0505B_1: add Hatsy SDL-312Z whitelabel (@Koenkk)
  • #12526 Type HA discovery override options (@MaxRink)
  • #12505 Excellux ZG-104PLV: fix expose presence as binary occupancy (@nielsbauman)
  • #12496 GIEX QT06_2 : fix irrigation time exposes (@Domi920)
  • #32342 L&S Lighting 756200643: remove unsupported battery expose (@Koenkk)
  • #12491 Lupus 12050: fix electrical measurement values (@derabbink)
  • #11605 Ronco RM28-LE: improve integration (@fals3illusion)
  • #12506 Shelly S4SN-0U61X: discover presence zones (@MaxRink)
  • #12495 SONOFF SWV: allow partial water valve composite settings (@MaxRink)
  • #12488 AOYAN: add device white labels (@zyjsmile857)
  • #12486 Sylvania 74388: fix battery percentage (@klinquist)
  • #12482 Unref timers (@Nerivec)
  • #12478 Lonsonho ZB-RGBCW: fix configure failing (@andrei-lazarov)
  • #12477 NodOn FPS-4-1-00 and SIN-4-FP-20: add missing endpoint (@nthiers)
  • #12471 Tongou TO-Q-SYS-JZT: allow changing control_mode (@andrei-lazarov)
  • #32348 Tuya _TZ3000_excgg5kb: expose switch_type (@Koenkk)
  • #12470 Tuya TS0601_3gang_rkbxtclc: fix individual channel control (@andrei-lazarov)
  • #12472 Tuya: fix localTempCalibration1 decode for offsets above 5.5 °C (@stackdiver)
  • #12464 Namron 4512791: Write min/max brightness and dimming speed to device (@xses79)
  • #12466 Tongou TO-Q-SYS-JZT: expose control_mode (@Romulas-12)
  • #12460 Tuya _TZ3000_9ni6xxld: poll electrical measurements (@lebdim)
  • #12462 Wyze: fix hourly false locked state (@dkneeland)
  • #12452 Inovelli: immediately clear notificationComplete events (@wingrunr21)
  • #12433 Acova Alcantara 3: add back local_temperature (@DeadlockState)
  • #12436 BTicino K4027C/L4027C/N4027C/NT4027C: add new hardware version (@matitalatina)
  • #32306 Tuya TYBAC-006: fix current_heating_setpoint step size (@Koenkk)
  • #12438 Wyze WLCKG1: fix lock state reporting (@dkneeland)
  • #12430 Eurotronic COZB0001: add custom attributes to HVAC thermostat cluster (@svhelge)
  • #12421 Legrand ZLGP14/ZLGP15/ZLGP16: disable OTA support (@alexhk)
  • #12429 Plugwise: enable write access for custom attributes (@svhelge)
  • #31958 Tuya TS0505B_2: color not controllable (@Koenkk)
  • #12431 Tuya TS0601_dimmer_1_gang_1: suppress stale periodic state report (@EdeMeijer)
  • #12424 Tuya water level sensors: expose features and fix units (@andrei-lazarov)
  • #32059 Aqara DS-K02D/DS-K02E: fix ghost events (@Koenkk)
  • #12415 AVATTO TS0601_thermostat_14: fix battery low state (@andrei-lazarov)
  • #12414 Legrand 067755: fix description (@alexhk)
  • #12413 Schneider Electric S320522W: fix configure failing (@svhelge)
  • #12266 Shelly S4SN-0071A: fix configure failing (@Koenkk)
  • #1799 ZStack: increase BDB commissioning timeout from 60s to 100s (@bobtheskull-flameeyes)
  • #1795 Fix min and max Group ID (@andrei-lazarov)
  • #1793 OTA: fix possible race condition with abort (@Nerivec)
  • #1779 Zboss: emit disconnected on unexpected port close (@tostmann)
  • #1780 Zoh: prioritize 16-bit address for ZCL to match waitress logic (@tostmann)

Frontend

  • #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 41 devices:

  • #12569 1800194 SOMFY Situo 1 channel blinds remote (@joneshf)
  • #32440 929004610601 Philips Hue White and Color Lightstrip Flux (16ft) (@Koenkk)
  • #12591 C200 Aqara Curtain motor (@yunji9687)
  • #12587 HM-5HA-E Heiman Heat detector (@Leo2442926161)
  • #12590 MINI-ZB1GS SONOFF Zigbee smart switch (@CubeZ2mDeveloper)
  • #12588 SISWD11-ZB Mercator Ikuü Inline module dimmer switch (@OzGav)
  • #12589 SNZB-02UL SONOFF E-ink screen temperature and humidity sensor (@CubeZ2mDeveloper)
  • #12582 WB-MSW-ZIGBEE_v.4_official Wiren Board Wall-mounted multi sensor with official Wiren Board firmware (@u236)
  • #12575 4099854461767/4099854461774 OSRAM SMART+ LED PAR16 50 GU10 - Tunable White (@crinec)
  • #12567 HZ-SL10 Haozee Soil moisture sensor (@13717033460)
  • #12567 ZG-210Z HOBEIAN Pressure Sensing Strap/Bed Occupancy Sensor (@13717033460)
  • #12534 1245993 SOMFY Sonesse 40 WireFree Zigbee Li-ion USB-C roller shade (@mikesorrenti)
  • #12546 9290042970A Philips Hue wired wall switch module (@jonas0b1011001)
  • #12536 EZ-L01NTH Excellux Probe Temperature && Temperature && Humidity with LCD (@iotRobot)
  • #12539 RCS-ST16-z-SlD Slacky-DIY Socket EKF with power monitoring with custom firmware (@slacky1965)
  • #12539 LDR-GU10-Mod Svetomaniya Smart light Ledron LDR-GU10 with new firmware (@slacky1965)
  • #12543 ZBN-DJ-63 Tuya Smart circuit breaker (@dMopp)
  • #12530 QZ-4x4-6 W/B Nova Digital Quartzo 6 gang switch (@nd10-sac)
  • #12492 929004294901 Philips Hue Essential lightstrip (5m) (@Gi007i)
  • #12490 ND-01 NoDieby Infrasonic intrusion detector (@MarianKuschel)
  • #12483 110308 AwoX Connect.Z GU10 tunable white (@sutregutt)
  • #12480 NCZ-3014-HA Nyce Garage door tilt sensor (@derabbink)
  • #12475 HT-SLM-3 Heimgard Technologies Entry (PIN/RFID) door lock (@oddeirik)
  • #12451 _TZ3210_qlmnxmac Melery 2 gang power point with power monitoring (@phyzical)
  • #12197 1241754 SOMFY Sonesse 28 WF roller shades (external battery) (@alex-oswald)
  • #12457 CK-TLSR8656-SS5-02(7014) eWeLink Temperature & humidity sensor (@wildrun0)
  • #12453 EKVZ-T1016 EKAZA Vibration sensor (@luyzfernando08)
  • #12458 MG3-5RZ eWeLink Zigbee human presence radar (5.8 GHz) (@MajiamiQ)
  • #12456 T20S3Z ORVIBO MixSwitch 3 gangs (@Nerivec)
  • #12437 929003812701 Philips Hue Xamento White and Color Ambiance GU10 (Black) (@pieterb26)
  • #12445 929004308301 Philips Hue Turaco outdoor wall light (@mrtncode)
  • #12442 KS-604S Mifra 2 gang wall outlet, with USB (@edestecd)
  • #12427 msh.ina226 MySmartHouse MSH 9-26V, 5A DC Power Meter (@Fiery-Fenix)
  • #12427 msh.ina226m MySmartHouse MSH 9-26V, 5A DC Power Meter, with CPU temperature support (@Fiery-Fenix)
  • #12427 msh.pzem MySmartHouse MSH 100A AC DIN Power Meter (@Fiery-Fenix)
  • #12427 msh.pzem.dc MySmartHouse MSH 9-30V, 50-300A DC Power Meter (@Fiery-Fenix)
  • #12435 S4DM-0010WW Shelly Dimmer 0/1-10V PM Gen4 (@dwtaylornz)
  • #12423 929004611301 Philips Hue Xamento White and Color Ambiance GU10 (white) (@Sjrd83)
  • #12406 SSWQD22LM Aqara Spotlight T2 Pro (@yhbyhb)
  • #12408 929004308401 Philips Hue White and Color Ambiance Lucca Outdoor wall light (@ArtjomE)
  • #12580 TO-6 W/B Nova Digital Topazio 6 gang Zigbee wall switch (@raphic-nh)

Fixed device detections

  • #12571 Detect _TZE210_yqwse3h5 as Tuya TS0301_dual_rail (@Sinaloit)
  • #12573 Detect _TZE28C1000000_y4jqpry8 as Zemismart ZMS-206US-4 (@Lukkasss)
  • #12556 Detect MLI switch01 as Müller Licht 404021 (@andrei-lazarov)
  • #12562 Detect _TZE200_osmxri8y as Tuya ZB-Sm (@Koenkk)
  • #12555 Detect _TZE28C1000000_e4pf6l87 as Zemismart ZMS-206EU-3 (@andrei-lazarov)
  • #12537 Detect _TZ3000_gazjngjl as Zemismart ZIGBEE-B09-UK (@tl-zigbee)
  • #12544 Detect _TZ3210_aksyshpw as Tuya TS0003_switch_module_2 (@andrei-lazarov)
  • #12542 Detect _TZE28C1000000_chbyv06x as DYGSM DY-RQ500A (@andrei-lazarov)
  • #12515 Detect LGT016 as Philips 046677590161 (@5and0)
  • #12494 Detect _TZ3210_nuenzetq as Tuya ZG-2002-RF (@glywk)
  • #12473 Detect _TZ3008_1a8m8wd6 as Nous A7Z (@andrei-lazarov)
  • #12474 Detect `_TZE284_kv1nvirl as Tongou TOQCB2-80 (@CelerPi)
  • #12476 Detect _TZE28C1000000_jtbgusdc as AVATTO ZDMS16-2 (@andrei-lazarov)
  • #12468 Detect _TZ3000_ky0fq4ho as Tuya TS011F_din_smart_relay_polling (@pss34)
  • #12467 Detect _TZE284_xpq2rzhq as Moes ZSS-QY-HP (@chindrisadrian)
  • #12447 Detect _TZ3210_wts1g2oh as Tuya TS0004_switch_module_2 (@andrei-lazarov)
  • #12455 Detect _TZE2841000000_nhgdf6qr as Tuya TS0601_soil_3 (@Sedreco)
  • #12461 Detect _TZE2841000000_tgrzpqf4 as Tuya TS0601_soil_3 (@mainmind83)
  • #32327 Detect LCX024 as Phililps 929004581901 (@Koenkk)
  • #12443 Detect _TZ3000_pftj0i7z as Tuya TS004F (@gwurb)
  • #32313 Detect _TZE28C1000000_z5jz7wpo as Tuya TS0601_fan_switch (@Koenkk)
  • #12426 Detect _TZ3000_9tg32trw as Tuya TS011F_3_gang (@edestecd)
  • #12422 Detect _TZ3000_gsat0axs as Tuya TS0001_power (@andrei-lazarov)
  • #12405 Detect _TZ3000_ovbvmhiq as Tuya TS0726_1_gang (@chou0706)
  • #27819 Detect _TZE284_qtnjuoae as RTX ZVG1 (@Koenkk)

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track zigbee2mqtt

Get notified when new releases ship.

Sign up free

About zigbee2mqtt

Zigbee to MQTT bridge , get rid of your proprietary Zigbee bridges

All releases →

Related context

Beta — feedback welcome: [email protected]