Skip to content

Instantly share code, notes, and snippets.

@Koenkk
Last active December 23, 2025 20:59
Show Gist options
  • Select an option

  • Save Koenkk/bfd4c3d1725a2cccacc11d6ba51008ba to your computer and use it in GitHub Desktop.

Select an option

Save Koenkk/bfd4c3d1725a2cccacc11d6ba51008ba to your computer and use it in GitHub Desktop.
Zigbee2MQTT latest-dev changelog

Improvements

  • #11062 Aqara T1/T1M ceiling light: support for RGB dynamic effects and ring light individual segment control (@absent42)
  • #11053 Inovelli: added toggle option for parameter 130 (firmware 3.0+) (@InovelliUSA)
  • #11047 Aqara T2: support dynamic RGB effects (@absent42)
  • #29406 Lincukoo SZLR08: support detection_distance (@Koenkk)
  • #11041 Third Reality 3RSPE01044BZ and 3RSP02064Z: support more features (@3reality-support)
  • #10990 Sinope TH1123ZB(-G2)/TH1124ZB(-G2): expose ecoMode (@lemoinem)
  • #10986 Schneider Electric 545D6514: support indicator mode (@as8net)
  • #10975 BITUO TECHNIK SPM01-U01: support OTA (@mrmaximas)

Fixes

  • #30137 Biome floating promises detection (@Nerivec)
  • #30216 Don't fail to start when removing old log directory fails (@Koenkk)
  • #30324 Log dir tz format not working on some systems (@Nerivec)
  • #30297 Proper timezone in logs dir (@Nerivec)
  • #30065 Remove extra > in onboarding (@Bi11)
  • #11075 Dresden Elektronik FLS-A: support OTA (@fst-dresden-elektronik)
  • #11073 Dresden Elektronik FLS-CT: support OTA and add color temp range (@fst-dresden-elektronik)
  • #11074 Dresden Elektronik FLS-PP: add color temp range (@fst-dresden-elektronik)
  • #11079 Gas meter state updated to made it HA friendly (@IgnacioHR)
  • #11088 SONOFF S60ZBTPF: add labels for energy today/yesterday/month (@leonardstruck)
  • #11064 Thaleos Thermostats: fix various energy conversions (@Gouar)
  • #11068 Update Philips device descriptions and models (@danielpetrovic)
  • #29928 Add more Tuya TS0726_X_gang models (@Koenkk)
  • #11051 SONOFF TRVZB: expose schedule per day (@abaddon)
  • #30090 Tuya CK-BL702-AL-01: fix turning ON when sending OFF (@Koenkk)
  • #11004 Tuya BAC-002: improve integration (@kuposcar)
  • #11009 Tuya _TZE284_cwyqwqbf: expose battery state (@depuits)
  • #10996 Eurotronic SPZB0001: fix setting of setpoint (@johannes-mueller)
  • #30147 Moes BHT-002: change max temperature limit to 80 (@Koenkk)
  • #30052 Nous E9: fix integration (@Koenkk)
  • #30160 Tuya TS011F_wall_outlet: expose child lock (@Koenkk)
  • #10636 Tuya TS0601_water_valve: rework integration (@Kigrou)
  • #10983 Enhance ZCL specification (@Nerivec)
  • #11008 Light Solutions 91-943: support color and color temp (@simon-bd)
  • #11005 Onokom: fix descriptions (@zwg3)
  • #10911 SONOFF SNZB-02: relax reporting intervals (@auanasgheps)
  • #10993 Biome floating promises detection (@Nerivec)
  • #10994 Develco SIRZB-111: add to warning info reverse list (@Zingo89)
  • #29931 Moes ZM-104B-M (_TZ3000_qaa59zqd): enable power outage memory (@Koenkk)
  • #10991 Plugwise 170-01: improve integration (@bouwew)
  • #10998 Schneider Electric WDE002386: improve integration (@rettelx)
  • #10987 Sinope TH1123ZB-G2 and TH1124ZB-G2: swap sensing and off values for backlight dimming modes (@lemoinem)
  • #10988 Third Reality 3RSB01085Z: fix actions (@3reality-support)
  • #30063 Tuya RB-SRAIN01: expose illumance as illuminance_raw (@Koenkk)
  • #10862 Wirenboard WB-MSW-ZIGBEE v.4: fix custom cluster (@BurchuMikhail)
  • #10967 Onokom: various updates (@zwg3)
  • #10968 Third Reality 3RSB01085Z: various updates (@3reality-support)
  • #10959 Bosch BTH-R*: Tweak attribute reporting config (@burmistrzak)
  • #30058 SONOFF S60ZBTPF: add missing energy expose (@Koenkk)
  • #29833 Sunricher SR-ZG9092A: fix configure failing (@Koenkk)
  • #23155 Tuya _TZ3000_x3ewpzyr: disable unecessary polling for some versions (@Koenkk)
  • #30054 Tuya TRV602Z: fix invalid time (@Koenkk)
  • #1597 Adapter detection lowercase vid/pid (@Nerivec)
  • #1598 OnZclPayload crash when invalid post read (@Nerivec)
  • #1593 ZStack: map all data confirm errors (@Koenkk)
  • #1584 Biome floating promises detection (@Nerivec)
  • #1590 DeCONZ: enable APS ACKs per request if the first request fails (@manup)
  • #1503 Enhance ZCL specification (@Nerivec)
  • #1589 Improve some USB discovery (@Nerivec)
  • #1587 Use cheaper async mutex in place of 1-queue (@Nerivec)
  • #1585 Ember: revert queueMicrotask change (@Nerivec)
  • #1583 Ember: ASH layer optimizations (@Nerivec)
  • #1582 Ember: tweak error logging (@Nerivec)
  • #1580 Guard against a undefined device on data receipt (@bobrippling)

Windfront

  • #376 fix: proper zigbee gamuts (@Nerivec)
  • fix: ensure valid response for backup topic
  • #370 fix: preserve aspect ratio of device image (@domotick)
  • #368 feat: add color spaces support (@Nerivec)
  • #363 feat: revamp select (@Nerivec)
  • #357 fix: better handle last_seen: "disable" (@Nerivec)
  • fix: enforce device tile height to avoid grid weirdness
  • fix: initial activity for multi-instance
  • fix: "Coordinator - Device left" display bug

Frontend

New supported devices

This release adds support for 56 devices:

  • #11065 CS-T2C EZVIZ Open/close sensor (@Gouar)
  • #11082 EKAC-T3096Z Ekaza 2 channel dimmer (@cleciusjm)
  • #11077 FLS-H Dresden Elektronik Zigbee Light Link wireless electronic ballast (@fst-dresden-elektronik)
  • #30319 GWA1231 Gewiss Shutter actuator (@Koenkk)
  • #11027 HS1SA Heiman Smoke detector (@Leo2442926161)
  • #11027 HS2WL Heiman Water leakage sensor (@Leo2442926161)
  • #11087 MDGARD401 Müller Licht tint Flores Gen2 garden light (@shaker85)
  • #11085 MS-104CZ Moes 3 gang switch module (@sdbldn)
  • #11085 ZT-B-EU1 Moes Scene remote with 1 key (@sdbldn)
  • #11085 ZT-B-EU2 Moes Scene remote with 2 keys (@sdbldn)
  • #11085 ZT-B-EU3 Moes Scene remote with 3 keys (@sdbldn)
  • #11061 TS0601_smart_scene_knob Tuya Smart scene knob controller with 4 buttons (@Bjk8kds)
  • #11055 25EB-1/30-TYZ Shaman Motorized roller shade (@muzo178)
  • #11060 91-947-micro Light Solutions Micro dimmer 200W (@TermeHansen)
  • #11058 929003809201 Philips Hue White and Color Ambiance GU10 (Centura - Silver) (@chris-1243)
  • #11057 TZ-ZT01_GA4 Tuya Temperature & humidity Sensor with external probe (@joscha82)
  • #11040 1245600 Somfy Tilt only 50 WF (tilt only) (@christianvaes)
  • #11042 3RSM0347Z Third Reality Smart Soil Moisture Sensor Gen2 (@3reality-support)
  • #11043 EKAT-T304Z Ekaza Universal smart IR remote control (@juliomelo)
  • #30273 TS0301_cover_1 Tuya Cover motor (@Koenkk)
  • #30262 TS0601_cover_12 Tuya Curtain motor (@Koenkk)
  • #11036 7859 ENVILAR ZigBee DIN Rail Smart Dimmer (@simonbrunemark)
  • #11024 929002966402 Philips Hue White and Color Ambiance Surimu sqaure panel 60x60 cm (@chris-1243)
  • #11024 929002966501 Philips Hue White and Color Ambiance Surimu rectangle panel 30x120 cm (@chris-1243)
  • #11024 929002966502 Philips Hue White and Color Ambiance Surimu rectangle panel 30x120 cm (@chris-1243)
  • #11024 929003598001 Philips Hue White and Color Ambiance Surimu square panel 30x30 cm (@chris-1243)
  • #11024 929003598002 Philips Hue White and Color Ambiance Surimu square panel 30x30 cm (@chris-1243)
  • #11024 929003598102 Philips Hue White and Color Ambiance Surimu round panel (@chris-1243)
  • #11033 929003856401 Philips Hue White 75W A19- E26 smart bulb (1100lm) (@The-Croz)
  • #11030 929003856501 Philips Hue white A21 bulb E26 with Bluetooth (1600 Lumen) (@mikedodo)
  • #29144 929004297501 Philips Hue Devote M Ceiling Light White & Color Ambiance (White) (@Koenkk)
  • #11021 CCTFR6710 Schneider Electric Heating thermostat (@maclow92)
  • #11037 MONO iD4 Bubendorff Rroller shutter (@Neonox31)
  • #11025 MYQ-RM25-1.3/25-BZ Tuya Tubular roller blind motor (@csutcliff)
  • #11038 RB 256 C Innr Smart Mini Bulb Colour E14 (@chris-1243)
  • #11022 ZBTS60-01 AVATTO 1 gang switch module with backlight (@Bart-VanDerGucht)
  • #11022 ZBTS60-03 AVATTO 3 gang switch module with backlight (@Bart-VanDerGucht)
  • #11022 ZBTS60-04 AVATTO 4 gang switch module with backlight (@Bart-VanDerGucht)
  • #11000 ZS-SF00 Arteco Soil fertility sensor (@MasterFeige)
  • #11013 SBHT-203C Shelly Humidity & temperature sensor (@rhtenhove)
  • #11012 S4DM-0A101WWL Shelly Dimmer Gen4 (@antegallya)
  • #10992 92900336667 Philips Hue white ambiance GU10 with Bluetooth (@wollew)
  • #10976 MSA201Z Merrytek 24 GHz human presence sensor (TS0601, _TZE284_ajuasrmx) (@javierguede)
  • #10917 SM0501 SIMON 3 gang smart dimming switch (@Crasher-stack)
  • #10979 6254380 CTM Lyng 2.0 Stove guard (@HenrikHills)
  • #10963 9290012574 Philips Hue White and Color Ambiance B22/E27 806lm (@neyzm)
  • #10970 P2-WT TCL Water leak detector (@devkaiwang)
  • #10978 PIMS3028 KnockautX Cover plug-in receiver multi STAK 3/STAS 3 (@phiphi060)
  • #10908 SR-ZG9001T2-SW Sunricher Zigbee 2-gang touch panel (@niracler)
  • #10941 SRP-ZG9105-CV Sunricher Constant voltage Zigbee LED driver (@jabe93)
  • #10980 X99-G-kbFan-1g-ZG-LN-11 Coswall Fan & light switch (@rftafas)
  • #10964 067767 Legrand Wireless Color Ambiance Switch 067767/68/69 - 077710L (@arnauddeslandes)
  • #10962 929003853404 Philips Hue white ambiance and color 810lm A60 E27 (@chris-1243)
  • #10962 929003853803 Philips Hue white ambiance and color 1100lm A19 E26 (@chris-1243)
  • #10958 ZM4LT3 Moes 3-gang switch module (@andrei-lazarov)
  • #10961 ZMS-208US-3 Zemismart Smart screen switch 3 gang (@Rod-Persky)

Fixed device detections

  • #11086 Detect _TZ3000_nxdziqzc as Tuya TS0215A_sos (@Scooty66)
  • #11081 Detect PLUG EU EM T, black as Ledvance 4099854295256 (@chris-1243)
  • #11052 Detect _TZ3210_b8jdosxo as Moes ZB-TDD6-RCW-4 (@reey)
  • #11059 Detect _TZE204_8fffc3kb as Gledopto GL-SPI-206P (@clumsy-stefan)
  • #11054 Detect _TZE284_xnwxmj8z as Tuya MG-ZG01W (@krishnachytanya)
  • #30258 Detect _TZ3000_hgm6k8ku as HOBEIAN ZG-807Z (@Koenkk)
  • #29928 Detect _TZ3000_lcjsewlo as Tuya TS0726_3_gang (@Koenkk)
  • #11048 Detect _TZ3002_a4kvf6zd, _TZ3002_ybtqbyk3 and _TZ3002_hkaktryd as Tuya TS0726_x_gang_scene_switch (@schumaher87)
  • #11045 Detect _TZE210_m6lwazh9 as Tuya TS0601_cover_3 (@dtswk)
  • #30258 Detect _TZ3000_hgm6k8ku as Tuya TS0207_repeater (@Koenkk)
  • #30246 Detect lumi.light.agl007 and lumi.light.agl008 as Aqara T2_E27 (@Koenkk)
  • #11016 Detect _TZ3210_sw9uxoea as LUUMR 10010128 (@kristoflemmens)
  • #30198 Detect _TZE200_dcnsggv as Tuya TS0601_dimmer_5 (@Koenkk)
  • #30179 Detect _TZE284_clm4gdw4 as Tuya TS0601_cover_10 (@Koenkk)
  • #11007 Detect _TZE204_xibaabmu and _TZE284_xibaabmu as Zemismart ZMS-206US-4 (@bernardesarthur)
  • #11001 Detect B3876M9 as Arteco ZP-301Z (@MasterFeige)
  • #30122 Detect _TZE284_gaj531w3 as Yushun YS-MT750L (@Koenkk)
  • #30124 Detect ZSDR-850 as Trust ZSDR-850 (@Koenkk)
  • #30092 Detect _TZ3000_b4awzgct as Tuya SH-SC07 (@Koenkk)
  • #10973 Detect _TZ3210_wbsgmojq as Moes ZB-LZD10-RCW (@FVerhamme)
  • #10920 Detect ZS-304Z as Arteco ZS-304Z (@MasterFeige)
  • #10960 Detect _TZ3000_amdymr7l as BlitzWolf BW-SHP13 (@mike81gr)
  • #10957 Detect zbeacon as zbeacon DS01 (@neyzm)

Changelog generator error

  • add: HS8OS, HS1SA, HS2WD, HS2WL (#11027) (facb181) (model 'HS8OS' does not exist)
  • add: HS8OS, HS1SA, HS2WD, HS2WL (#11027) (facb181) (model ' HS2WD' does not exist)
  • NO_ISSUE Enhance ZCL specification (@null)
@mattia9508
Copy link

Buonasera a tutti, chiedo gentilmente se è possibile aggiungere il seguente dispositivo:

image

https://italian.alibaba.com/product-detail/subject-1600753083531.html?from=share&ckvia=share_80DFED87F71A45E98E35F2B59887F5D0&needReward=true

export default {
zigbeeModel: ['TS0601'],
model: 'TS0601',
vendor: '_TZE204_o9d1hdma',
description: 'Automatically generated definition',
extend: [],
meta: {},
};

il dispositivo in questione è praticamente identico ad un dispositivo presente nella lista dispositivi supportati, ne ho 6 in casa mi piacerebbe tantissimo vederli funzionare
https://www.zigbee2mqtt.io/devices/AE-669K.html

Grazie per il vostro prezioso aiuto

Mattia

@MattiaMarchiorato
Copy link

@mattia9508 ciao,

puoi usare un external converter

guarda qui

@mattia9508
Copy link

mattia9508 commented Oct 13, 2025 via email

@Norbertcb
Copy link

Bonjour
Pouvez vous ajouter cet appareil SMT10020 de schneider svp, c'est un capteur d'echauffement des cables

@lalik77
Copy link

lalik77 commented Oct 23, 2025

Hi can you add motion and light sensor.
This is the generated external converter :

const {identify, iasZoneAlarm, battery, illuminance} = require('zigbee-herdsman-converters/lib/modernExtend');


const definition = {
    zigbeeModel: ['TS0601'],
    model: 'TS0601',
    vendor: '_TZE200_na5qlzow',
    description: 'Automatically generated definition',
    extend: [identify(), iasZoneAlarm({"zoneType":"generic","zoneAttributes":["alarm_1","alarm_2","tamper","battery_low"]}), battery(), illuminance()],
    meta: {},
};

module.exports = definition;
2025-10-20_19-06-18 2025-10-20_19-24-36

@raduten
Copy link

raduten commented Oct 26, 2025

Another tuya temp/humidity with clock device

export default {
zigbeeModel: ['TS0601'],
model: 'TS0601',
vendor: '_TZE284_cwyqwqbf',
description: 'Automatically generated definition',
extend: [],
};
image

@jeanlouisbiset
Copy link

Hello can you add the necessary definition for an AVATTO ZDMS16-2
It is a Zigbee Module 2 channels Dimmer.
This is the generated external converter :

{
"last_seen": "2025-11-04T18:34:39.089Z",
"linkquality": 160,
"device": {
"applicationVersion": 78,
"dateCode": "",
"friendlyName": "0xa4c1385b98ce2ed7",
"hardwareVersion": 1,
"ieeeAddr": "0xa4c1385b98ce2ed7",
"manufacturerID": 4417,
"manufacturerName": "_TZE284_jtbgusdc",
"networkAddress": 12724,
"powerSource": "Mains (single phase)",
"stackVersion": 0,
"type": "Router",
"zclVersion": 3
}
}

const definition = {
zigbeeModel: ['TS0601'],
model: 'TS0601',
vendor: '_TZE284_jtbgusdc',
description: 'Automatically generated definition',
extend: [],
meta: {},
};

module.exports = definition;

Thanks for your efforts.
Kind regards.

@bernardesarthur
Copy link

Hello can you add the necessary definition for an AVATTO ZDMS16-2 It is a Zigbee Module 2 channels Dimmer. This is the generated external converter :

{ "last_seen": "2025-11-04T18:34:39.089Z", "linkquality": 160, "device": { "applicationVersion": 78, "dateCode": "", "friendlyName": "0xa4c1385b98ce2ed7", "hardwareVersion": 1, "ieeeAddr": "0xa4c1385b98ce2ed7", "manufacturerID": 4417, "manufacturerName": "_TZE284_jtbgusdc", "networkAddress": 12724, "powerSource": "Mains (single phase)", "stackVersion": 0, "type": "Router", "zclVersion": 3 } }

const definition = { zigbeeModel: ['TS0601'], model: 'TS0601', vendor: '_TZE284_jtbgusdc', description: 'Automatically generated definition', extend: [], meta: {}, };

module.exports = definition;

Thanks for your efforts. Kind regards.

That manufacturerID is already supported. Are you using the last version of Zigbee2MQTT?

@jeanlouisbiset
Copy link

Reading your answer I went back to my Jeedom and saw that my Zigbee2MQTT version was 1.42.0.
I upgraded to 2.6.3 and then miracle, the module is correctly working.
Many thanks for your quick reaction. I will now buy several modules to go further.
Have a nice day!
Zigbee2MQTT WindFront

@Frikk
Copy link

Frikk commented Nov 23, 2025

Could anyone more skilled than me in Z2M add the new Namron Zigbee Thermostat?
Article No: 4512776
Name: Namron Zigbee termostat for panelovn PRO hvit
Product page link: https://www.elektroimportoren.no/namron-zigbee-termostat-for-panelovn-pro-hvit/4512776/Product.html

I have a Namron Zigbee panel heater released before the new thermostats + oven line were released. I suspect this new thermostat would act much the same way as the existing Namron 540139X would (https://www.zigbee2mqtt.io/devices/540139X.html)

If i could help in any way, please let me know.

Generated external definition (from Z2M Dev Console)

import * as m from 'zigbee-herdsman-converters/lib/modernExtend';

export default {
    zigbeeModel: ['Panel Heater'],
    model: 'Panel Heater',
    vendor: 'NAMRON AS',
    description: 'Automatically generated definition',
    extend: [m.electricityMeter()],
};
{
    "description": "Automatically generated definition",
    "exposes": [
        {
            "access": 5,
            "description": "Instantaneous measured power",
            "label": "Power",
            "name": "power",
            "property": "power",
            "type": "numeric",
            "unit": "W"
        },
        {
            "access": 5,
            "description": "Measured electrical potential value",
            "label": "Voltage",
            "name": "voltage",
            "property": "voltage",
            "type": "numeric",
            "unit": "V"
        },
        {
            "access": 5,
            "description": "Instantaneous measured electrical current",
            "label": "Current",
            "name": "current",
            "property": "current",
            "type": "numeric",
            "unit": "A"
        },
        {
            "access": 5,
            "description": "Sum of consumed energy",
            "label": "Energy",
            "name": "energy",
            "property": "energy",
            "type": "numeric",
            "unit": "kWh"
        },
        {
            "access": 1,
            "category": "diagnostic",
            "description": "Link quality (signal strength)",
            "label": "Linkquality",
            "name": "linkquality",
            "property": "linkquality",
            "type": "numeric",
            "unit": "lqi",
            "value_max": 255,
            "value_min": 0
        }
    ],
    "model": "Panel Heater",
    "options": [
        {
            "access": 2,
            "description": "Calibrates the power value (percentual offset), takes into effect on next report of device.",
            "label": "Power calibration",
            "name": "power_calibration",
            "property": "power_calibration",
            "type": "numeric",
            "value_step": 0.1
        },
        {
            "access": 2,
            "description": "Number of digits after decimal point for power, takes into effect on next report of device. This option can only decrease the precision, not increase it.",
            "label": "Power precision",
            "name": "power_precision",
            "property": "power_precision",
            "type": "numeric",
            "value_max": 3,
            "value_min": 0
        },
        {
            "access": 2,
            "description": "Calibrates the voltage value (percentual offset), takes into effect on next report of device.",
            "label": "Voltage calibration",
            "name": "voltage_calibration",
            "property": "voltage_calibration",
            "type": "numeric",
            "value_step": 0.1
        },
        {
            "access": 2,
            "description": "Number of digits after decimal point for voltage, takes into effect on next report of device. This option can only decrease the precision, not increase it.",
            "label": "Voltage precision",
            "name": "voltage_precision",
            "property": "voltage_precision",
            "type": "numeric",
            "value_max": 3,
            "value_min": 0
        },
        {
            "access": 2,
            "description": "Calibrates the current value (percentual offset), takes into effect on next report of device.",
            "label": "Current calibration",
            "name": "current_calibration",
            "property": "current_calibration",
            "type": "numeric",
            "value_step": 0.1
        },
        {
            "access": 2,
            "description": "Number of digits after decimal point for current, takes into effect on next report of device. This option can only decrease the precision, not increase it.",
            "label": "Current precision",
            "name": "current_precision",
            "property": "current_precision",
            "type": "numeric",
            "value_max": 3,
            "value_min": 0
        },
        {
            "access": 2,
            "description": "Calibrates the energy value (percentual offset), takes into effect on next report of device.",
            "label": "Energy calibration",
            "name": "energy_calibration",
            "property": "energy_calibration",
            "type": "numeric",
            "value_step": 0.1
        },
        {
            "access": 2,
            "description": "Number of digits after decimal point for energy, takes into effect on next report of device. This option can only decrease the precision, not increase it.",
            "label": "Energy precision",
            "name": "energy_precision",
            "property": "energy_precision",
            "type": "numeric",
            "value_max": 3,
            "value_min": 0
        }
    ],
    "source": "generated",
    "supports_ota": false,
    "vendor": "NAMRON AS"
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment