Releases: Koenkk/zigbee2mqtt
Releases · Koenkk/zigbee2mqtt
2.7.0
Features
- #29730 Add
actionbridge/request API (@Nerivec)- This enables resetting Philips Hue devices using their serial number (thanks for all the reverse engineering @Mstrodl!):

- This enables resetting Philips Hue devices using their serial number (thanks for all the reverse engineering @Mstrodl!):
- #29750 Add new bind/reporting/map features (@Nerivec)
Improvements
- #10880 Iris iL07_1: expose battery (@martynwendon)
- #10876 Aqara T2, T1, T1M and T1: support more features (@absent42)
- #10863 Third Reality 3RDP01072Z: support additional features (@3reality-support)
- #10861 Third Reality 3RSB02015Z: support more features (@3reality-support)
- #10800 Add actions (@Nerivec)
- #27452 SONOFF S60ZBTPF: expose
energy(@Koenkk) - #10787 Aqara W100: re-work support (@KipK)
- #10793 IKEA E2204/2206: expose
child_lockandled_enable(@chris-1243) - #10733 MultIR MIR-SM200: expose
silence(@yuanxin32323) - #10770 Profalux MAI-ZTM20C: expose actions and battery voltage (@KipK)
- #10762 Tuya TGM50-ZB: expose
ecopreset (@lexeyus) - #10746 DOMRAEM DOM-Z-105P: support dimmer mode (@powerrffs)
- #10754 Innr RC 210 and RC 250: expose battery (@ActuallyRuben)
- #10699 Manage exit/entry delay for IAS ACE devices (@johnrvt)
- #10752 Shelly WS90: expose wind, UV and rain data (@Hutch67)
- #10729 Tuya TS0601_3_phase_clamp_meter: support high-precision AC frequency (@jacky202509)
- #10724 Aqara ZNJLBL01LM: support
reverse_direction(@deiger) - #10711 SONOFF TRVZB: add temporary mode (@liangjia2019)
- #10700 LEDVANCE 4099854293276: support OTA (@Koenkk)
- #10693 Moes ZHT-SR: fix incorrect time (@AudreynHeadburn)
- #10675 Develco/Frient REXZB-111: re-work implementation (@antoineraulin)
- #10659 Shelly S4SW-002P16EU-SWITCH: support more features through RPC cluster (@DataGhost)
- #10676 Tonguo TOQCB2-80: expose
auto_reclosing(@vdiogo) - #10657 MultIR MIR-IL100: expose illuminance (@yuanxin32323)
- #10634 Frient EMIZB-151: expose produced energy (@Fabiancrg)
- #1559 Add
sendRawAPI to Controller (@Nerivec) - #1561 Add new bind/reporting/map features (@Nerivec)
- #1544 Support custom stack config for ZoH (@Nerivec)
Fixes
- #29754 Add port 8080
EXPOSEto container (@lxfrdl) - #29842 Home Assistant: expose
current_humidityforclimatedevices exposinghumidity(@burmistrzak) - #29854 Reporting payload detection fixes (@Nerivec)
- #10885 Aqara PS-S04D: fix illegal characters in HA error (@absent42)
- #10902 Aqara lights: fix manufacturerCode (@absent42)
- #10886 Paulmann 500.46: add new fingerprint (@lehneres)
- #10704 LiXee ZLinky: move cluster definition to ZHC + default to 2 decimals places for kWh precision (@sbraz)
- #10868 SlackDiy: update manuf_name values (@slacky1965)
- #10871 Third Reality 3RDP01072Z: update endpoint names (@3reality-support)
- #29825 COZB0001, CoZB_dha and MAI-ZTM20C: fix configure failing (@Koenkk)
- #10866 SONOFF: update externalSwitchTriggerMode to category config (@LucasHagen)
- #10860 Tuya TS0501B: support do not disturb (@andrei-lazarov)
- #10845 Sonoff TRVZB: prevent out of range local temperature calibration offset (@curdbecker)
- #10847 Third Reality 3RWS18BZ: fix
water_leak_buzzer_alarm_mode(@3reality-support) - #10856 Wirenboard WB-MSW-ZIGBEE v.4: add
sprutDeviceBasecustom cluster (@BurchuMikhail) - #10840 Innr RB and BB 262: fix description and OTA (@cooperaj)
- #29759 Moes ZM-104B-M: disable unsupported power on behaviour (@Koenkk)
- #10830 Perenio PEHPL0X: fix
consumed_energyunit (@Stonos) - #10796 Tuya CK-BL702-AL-01: expose power on behaviour (@Bjk8kds)
- #10818 Tidy up ZYXH products (@Bjk8kds)
- #10810 Tongou TOQCB2-80: fix
commandMcuVersionResponsespamming (@Koenkk) - #10804 Slacky-DIY THERM_SLACKY_DIY_R0A: various fixes (@slacky1965)
- #10790 Third Reality 3RWS18BZ: various updates (@3reality-support)
- #29673 Woolley BSD29/BSD59: dont' respond to genTime request (@Koenkk)
- #10781 EFEKTA_CO2_Smart_Monitor_Gen2: fix invert_logic_onoff (@smartboxchannel)
- #10750 Rename EfektaLab vendor to EFEKTA (@Bjk8kds)
- #10783 ZigbeeTLc: fix measurement interval max value (@nchieffo)
- #29548 Develco SPLZB-131: fix configure failing (@Koenkk)
- #10761 Tuya: correct spelling of "siren" in vibration-related entities (@senorosoftware)
- #10726 Aqara FP300: fix detection range labels (@kpustelnik)
- #10722 Bosch BTH-R*: Rename key to
window_detection(@burmistrzak) - #10709 Bosch BTH-RM: Expose all
system_modefor compatibility (@burmistrzak) - #10737 Efekta: correct some data types (@smartboxchannel)
- #10635 Frient EMIZB-151: fix configure failing (@Fabiancrg)
- #10743 Rename Namron AS to Namron (@LarsSimonsen)
- #10753 Rename TS0601_human_presence (@Bjk8kds)
- #10730 SONOFF TRVZB: move weekly schedule to config section (@blacknell)
- #10732 Tuya: correct spelling of "siren" in vibration-related entities (@senorosoftware)
- #10701 Bosch BTH-RM: explicitly enable reporting (@burmistrzak)
- #26470 OSRAM 4058075816459: fix actions for button 3 and 4 (@Koenkk)
- #10717 SONOFF SNZB-02: move incorrect control entities to configuration section (@blacknell)
- [#10715](Koenkk/zigbee-herdsman-converters#10...
2.6.3
Improvements
- #10600 Tuya TS0601_water_meter: expose more
faultoptions (@Liionboy) - #10573 Tuya TZE284_6teua268: improve integration (@ChristianGr1974)
- #10555 Tuya TS0001_switch_module: expose indicator mode (@andrei-lazarov)
- #10458 Frient EMIZB-151: expose energy tiers (@Fabiancrg)
- #10469 Tuya TS0601_water_meter: improve integration (@Liionboy)
- #10471 Aqara SRTS-A01: expose
local_temperature(@allexoll) - #10484 AVATTO TS0601_thermostat_14: improve integration (@ff12)
- #10423 Shelly: Improve Wi-Fi cluster attributes handling (@dan-danache)
- #10401 Innr RCL 231 T: support OTA (@chris-1243)
- #10387 Schneider Electric EKO07259: update temperature range for thermostat (@torhelge02)
- #10369 Bosch BSEN-W: re-work implementation to expose all official features (@DerDreschner)
- #897 Aqara JY-GZ-01AQ: support OTA (@Koenkk)
- #10356 Third Reality 3RWS18BZ: support
siren_on_offandsiren_minutes(@3reality-support) - #10344 Aqara ZNQBKG43LM and ZNQBKG44LM: fix actions (@mirackle-spb)
- #10238 Aqara W100: add thermostat mode functions (@greenspeedracer)
- #10276 Shelly: support Wi-Fi configuration for Gen4 devices (@dan-danache)
- #10251 Aqara FP1E: improvements and support more features (@kpustelnik)
- #10215 Tuya _TZE204_3regm3h6: support
radiators_without_integrated_regulation(@mmorelon) - #10119 Tuya M8Pro: add weather info support (@l1berat0r)
- #10071 Philips 929004581801 and 929004284702: support gradients (@Koenkk)
- #10139 SOMFY 1245602: support identify (@malyutki)
- #10118 Scneider Electric S520619: support more features (@dvandonkelaar)
- #1517 Add support for daylight saving time in
genTimecluster (@DerDreschner) - #1522 Support for EmberZNet 8.2.2 (EZSP v18 / v2025.6.2) (@Nerivec)
Fixes
- #28843 Add pi cooling demand to Home Assistant auto discovery (@dvandonkelaar)
- #29322 Fix
onEventcalled twice first time when device options are changed (@Koenkk) - #29354 Fix input onboarding environment variable disabled check (@jetersen)
- #29211 Home Assistant: fix device and group configuration URL (@Koenkk)
- #29188 Home Assistant: make PI heating demand from writable (@DerDreschner)
- #28797 Remove Moment.js dependency (@Koenkk)
- #29131 Rename
ZigBee->Zigbee(@Koenkk) - #29284 Require at least Node ^20.15.0 (@Koenkk)
- #29285 Require at least Node ^22.2.0 (@Koenkk)
- #10606 Eurotronic CoZB_dha: expose
current_heating_setpoint(@FrankBakkerNl) - #10594 Third Reality 3RSB02015Z: add
totalCycleTimesandlastRemainingBatteryPercentage(@3reality-support) - #10574 Tuya TS011F_plug: use polling appVersion 192 (@singler)
- #10561 AVATTO ME167_1
_TZE200_p3dbf6qs: fix weekly schedule day mapping (@manu469) - #10520 Fix duplicate poll when interval option changes (@Koenkk)
- #10582 LiXee ZLinky: rename misspelt SMAXSN attributes (@sbraz)
- #10562 Moes ZG-101ZD: fix actions missing (@prehor)
- #10559 Philips Datura: refactor models in devices list (@TronickDev)
- #26215 Tuya TS0601_soil_3: fix battery % (@Koenkk)
- #10584 Tuya ZG-204ZK and ZG-204ZM: various fixes (@13717033460)
- #10586 Zemismart ZMO-606-S2: improve integration (@bernardesarthur)
- #10529 Improve store (@Nerivec)
- #10514 Fix
pilot_wire_modeexpose values (@Gouar) - #10485 LiXee ZLinky: fix polling interval + improve option descriptions (@sbraz)
- #10519 LiXee ZLinky: handle empty TIC command list (@sbraz)
- #10515 Remove duplicate
meta.multiEndpointfrom generated definition (@Koenkk) - #10511 Use node:zlib for crc calc (@Nerivec)
- #10526 Woox R9077: disable color power on behaviour and do not disturb (@Koenkk)
- #10497 Remove empty
metafrom generated definition (@Koenkk) - #10481 Apply suggested fixes from Biome (@DerDreschner)
- #10480 Bosch: remove duplicate definition of
initTestModecommand inssIasZone(@DerDreschner) - #10474 Candeo C210: fix commands always timing out (@asdfgeoff)
- #10453 MultIr: update model from
MIR-IL100-ZBtoMIR-IL100(@yuanxin32323) - #10448 Tuya: disable
manuSpecificTuya.mcuSyncTimefor devices which don't need it (@Koenkk) - #10454 Tuya: migrate datapoint converters to modernExtend (@Koenkk)
- #10434 Moes ZHT-S03: adjust
temperature_deltamin and step value (@Liionboy) - #10417 Girier JR-ZPM01: remove unsupported indicator mode (@Bjk8kds)
- #10404 Bosch BSD-2 (Smoke alarm II): re-work implementation (@DerDreschner)
- #10396 Heiman: move custom cluster to zigbee-herdsman-converters (@madmalkav)
- #10408 PTVO: various improvements (@ptvoinfo)
- #10389 Sinopé TH1123ZB-G2: fix energy value (@AlexandreJubert)
- #29034 Tuya _TZ3000_okaz9tjs: fix configure failing (@Koenkk)
- #10370 Develco MOSZB-140: reduce reporting interval (@gluoncompany)
- #10324 IKEA E2013: fix contact state for devices with firmware build 20230406 (@coldfire0200)
- #28486 Moes SFL02-Z-*: disable mcuSyncTime (@Koenkk)
- #4289 Schneider Electric CCT5010-0001: disable power on behaviour (@Koenkk)
- #10368 Third Reality 3RSP02064Z: add more attributes to private cluster (@3reality-support)
- #28452 Tuya TS0601_cover_11: fix integration (@Koenkk)
- #10309 Bosch BTH-RA / BTH-RM / BTH-RM230Z thermostats: rework implementation (@DerDreschner)
- [#28808](https://github.com/Koenkk/zigbee2mq...
2.6.2
Notes
- The new Windfront frontend is now the default frontend. Feedback can still be provided in #28442. Special thanks to @Nerivec for all his hard work, don't forget to buy him a coffee ☕!
Improvements
- #10049 MiBoxer FUT089Z remote: converter improvements & fixes (@slugzero)
- #10102 Namron 4512760: support electricity measurements (@StuYarrow)
- #10072 Tuya ZG-227Z-z: support calibration (@igorlistopad)
- #10068 Schneider Electric MUR36014: support
indicator_mode(@schauveau) - #10055 Bosch Door/Window Contact II: Overwork devices to match official features (@DerDreschner)
- #10034 Bosch BSEN-M: use
iasZoneStatusto determine if test mode is active or not and harden deferred occupancy turn-off (@DerDreschner) - #10036 Sunricher SR-ZG9101SAC-HP-SWITCH-2CH: support external switch type (@niracler)
- #10025 Bosch BSEN-M: re-name and overwork the device (@DerDreschner)
- #10026 Bosch BSIR-EZ: add support for external alarm triggers (@DerDreschner)
- #10023 Candeo C-ZB-SEMO: support more features (@candeodevelopment)
- #10011 Amina S: support
charge_limit_with_on_off(@jondavidsson) - #10004 Support genAnalogInput/genAnalogOutput cluster for definition generator (@tomaszduda23)
- #9984 Support Telink encrypted OTAs (@liangjia2019)
- #9958 Sber: SBDV-00199 add covers mode, SBDV-00196,00199,00202 add diagnostics (@avzasorin-sd)
- #9969 Niko: enable OTA for various devices (@TroublingFox125)
- #9941 Bosch
BMCT-RZ/BMCT-DZ: rework both devices to expose all official features (@DerDreschner) - #9943 Bosch BWA-1, BSIR-EZ and RFPR-ZB-SH-EU: support OTA updates (@DerDreschner)
- #9938 Tuya MG-ZG01W: support more features (@bernardesarthur)
- #9867 Add FZ typing (@Nerivec)
- #1418 Make profileId overwritable per frame to support custom Shelly clusters (@SvenKirschbaum)
Fixes
- #28583 Fix
DatabaseEntry with ID 'X' does not existwhen adding device to delete group ID (@Koenkk) - #28364 Handle empty or null Home Assistant name in device settings (@SixFive7)
- #28560 HomeAssistant: add
default_entity_idto discovery message (@Koenkk) - #28546 Make windfront the default frontend (@Koenkk)
- #10114 Tuya _TYZB01_ttvdudvx: remove tamper as it's not supported (@llljjj7)
- #10106 Third Reality: 3RSB02015Z and 3RCB01057Z: update private clusters (@3reality-support)
- #10081 Develco MOSZB-140: reporting configuration to fix excessive reports (@gluoncompany)
- #10098 Eurotronic COZB0001: add new fingerprint (@gummiangler)
- #10101 MAZDA TR-M2Z: fix
local_temperature_calibration(@Nopraz) - #10075 Ubisys: correctly handle device setup (@sjorge)
- #10065 Inovelli: fix parsing of custom cluster attribute (@InovelliUSA)
- #28455 Tuya ME201WZ: disable mcu version response (@Koenkk)
- #10054 Yokis: new cluster definitions, new device and updates on existing devices (@LaurentChardin)
- #10074 Zemismart ZMS-206EU: add radar and correct inverted switch color ON/OFF (@bernardesarthur)
- #10063 Bosch BSP-FD: add support for the device and add auto-off feature for all smart plug compact (@DerDreschner)
- #10051 Fixed BSEED outlets' whiteLabels (@andrei-lazarov)
- #28680 Innr RCL 232 C: enable OTA (@Koenkk)
- #10053 Lumi: fix battery modernExtend (@kpustelnik)
- #10050 Schneider Electric MUR36014: improve support (@schauveau)
- #10030 SUTON STB3L-125-ZJ: fix
Error: Expected string or number, got: undefined(@Koenkk) - #10041 Third Reality 3RSS009Z: update private cluster (@3reality-support)
- #10043 Eurotronic COZB0001: add new model (@Koenkk)
- #10037 Legrand 67772: remove dimmer converters (@OlivierMarty)
- #10018 Third Reality 3RSP019BZ: add
allowBind(@3reality-support) - #9889 Tuya PJ-1203A: add a configuration option to invert reported energy flow direction (@l1berat0r)
- #9998 EWeLink CK-BL702-AL-01_1: fix various issues (@l1berat0r)
- #10003 OSRAM 4058075816459: fix action list (@MageFroh)
- #28470 SONOFF S60ZBTPF: reset current and power when OFF (@Koenkk)
- #9987 Bosch BSIR-EZ: re-implement the device from scratch (@DerDreschner)
- #9994 Tuya TS020C: fix integration (@iMouath)
- #9982 IHsenso _TZ3000_pgq7ormg : support more features (@andrei-lazarov)
- #9983 Inovelli VZM31-SN/VZM36: ignore transition on light.turn_off (@rohankapoorcom)
- #28585 Moes ZHT-SR: fix
mcuVersionRequesterror (@Koenkk) - #9981 Tuya HY607W-3A: fix mode_state handling (@sigmich)
- #9975 SONOFF SWV: fix
cyclic_quantitative_irrigation(@liangjia2019) - #28564 Zemismart ZMS-206EU-X: fix
mcuVersionRequesterror (@Koenkk) - #9956 NEO NAS-WR01B: fix configure failing (@jactmp)
- #28039 SmartThings IM6001-MPP01: fix battery drain (@Koenkk)
- #9957 Vesternet: update devices fingerprints (@eltobu)
- #27922 Innr OFL 142 C: disable unsupported power on behaviour (@Koenkk)
- #28486 Tuya: fix
mcuSyncTimeerror for various devices (@Koenkk) - #9925 Third Reality: add
allowBindto3rPlugSpecialcluster(@3reality-support) - #28455 Tuya PJ-1203A: fix
mcuVersionRequesterror (@Koenkk) - #28495 Eurotronic SPZB0001: fix configure failing (@Koenkk)
- #28465 Hive SLR1B: fix temperature_setpoint_hold_duration description (@Koenkk)
- #28450 Lutron LZL4BWHL01 and Z3-1BRL: fix
action_levelnull(@Koenkk) - #9920 Third Reality: extend `3rPlugG...
2.6.1
Notes
- In the October release the new Windfront frontend will become the default. Make sure to check it out and provide your feedback in #28442. In case you encounter bugs, submit a new issue here. This means that:
- If you have no specific frontend configured, Windfront will be used
- It's still possible to use the legacy frontend, but note that it will not receive any new features
- Some URLs in the Windfront frontend have been changed, make sure to update your bookmarks in case you had them.
- Various changes have been made which can break external converters, especially Tuya devices will be affected. In case your external converter does not work anymore please submit an issue.
- Due to the added support of ZCL non-values (values used to indicate "unavailable state", calibrating, etc.) if you see a device value not being updated when you usually did before (albeit to a weird value like -367.68°C), it could be the sensor of the device is temporarily unavailable.
Improvements
- #9892 Gledopto GL-S-006P: expose power on behaviour (@alxwtf)
- #9888 Schneider Electric S520619: support cooling setpoint (@pcurt)
- #9865 Bosch
BSP-FZ2(Plug compact II): Support reset of energy meter and lower min value change on electricityMeter reporting (@DerDreschner) - #9869 Onokom: various improvements (@Ziracul)
- #9849 Zemismart TB26-3: support more features (@bernardesarthur)
- #838 SONOFF SNZB-05P: support OTA (@Koenkk)
- #9834 Shelly 2PM: support cover and switch mode (@jfmlima)
- #9806 Soil Pro: support measurement mode selection (@SimplaHome)
- #9816 WDE002386: add more features (@rettelx)
- #9798 SONOFF SNZB-02P: add more features (@laity-w-sudo)
- #9735 Add support for Inovelli's custom ledEffectComplete command (@rohankapoorcom)
- #28165 Bosch BMCT-DZ: support OTA (@Koenkk)
- #9736 Shelly 2PM: support tilt (@Kipjr)
- #9730 Tuya TRV601 and TS0601_thermostat_1: support new options (@bernardesarthur)
- #1459 Autotype ZCL clusters (@Nerivec)
- #9753 Sinope: support electrical measurements for some devices (@chdagenais)
Fixes
- #28202 Always unlink
node_modulessymlinks on stop (@Nerivec) - #28192 Home Assistant: set icon and state class for orientation sensors (@mik-laj)
- #28329 Home Assistant: use "occupancy" device_class for human presence sensors (@jspiros)
- #28160 Remove 60 MB (28%) of dev dependencies from Docker image (@krkk)
- #28209 Set minimum for some settings (@Nerivec)
- #28257 Support for new ZH typing (@Nerivec)
- #27984 Update to refactored zhc api and fix
onEvent(stop)not being called when device is force removed (@Koenkk) - #28389 Update zigbee2mqtt-windfront to 2.0.0 (@Nerivec)
- #9896 Legrand ZLGP17/ZLGP18: fix missing up and down long press action (@chris-1243)
- #9883 Clicksmart+ CMA30651: fix integration (@dodger421)
- #9588 Tuya _TZE204_ltwbm23f: fix local temperature calibration step size (@Koenkk)
- #9891 Tuya BLE-YL01: improve integration (@xvolte)
- #9877 Sunricher SR-ZG9101SAC-HP-SWITCH-2CH: fix configure failing (@chris-1243)
- #9870 Create inovelliMMWave modern extend to relocate mmWave commands and support future expansion (@rohankapoorcom)
- #9852 Bosch
BMCT-SLZ: various enhancements and fixes (@DerDreschner) - #9848 Correct vendor from GiEX to GIEX (@bernardesarthur)
- #9835 Create custom modernExtend classes to use with Inovelli devices (@rohankapoorcom)
- #9786 Tuya
_TZ3000_okaz9tjs: fix configure failing (@Koenkk) - #9854 Various code fixes (@Nerivec)
- #28198 Girier JR-ZPM01: fix configure failing (@Koenkk)
- #9828 Tuya HY607W-3A: various improvements (@sigmich)
- #9822 Arteco ZS-301Z: expose soil moisture (@MasterFeige)
- #9821 Inovelli: Fix broken on/off command with recent code cleanup (@InovelliUSA)
- #9769 CK-BL702-AL-01_1: improve converter (@l1berat0r)
- #9812 Tuya BLE-YL01: Ph value if Ph > 99 (@xvolte)
- #9779 Adjust to new typing from ZH, fix discovered issues (@Nerivec)
- #834 SONOFF SNZB-02P: enable OTA (@Koenkk)
- #9757 Inovelli: re-use on_off and light_onoff_brightness converters (@rohankapoorcom)
- #9800 ROB_200-018-0: fix exposed actions (@bramnauta)
- #27525 Aqara WS-K07E and WS-K08E: fix configure failing (@Koenkk)
- #9796 Develco: split sirzb110 and sirzb111 converter due missing temperature sensor on sirzb-111 (@ruant)
- #9785 Tuya TS110E_2gang_2: remove duplicated options (@bernardesarthur)
- #9693 Add
deviceargument topostProcessConvertedFromZigbeeMessage(@Koenkk) - #27915 Aqara VC-X01D: fix battery % divided by 2 (@Koenkk)
- #9780 Aqara WS-K02E: fix wireless endpoint (@Holbert)
- #9775 Expose
rawDataonFz.Message.meta(@Koenkk) - #9650 Refactor onEvent (@Koenkk)
- #9781 Rename
MOEStoMoes(@bernardesarthur) - #28187 SONOFF S60ZBTPF: fix power not updating (@Koenkk)
- #9766 Tuya BLE-YL01: improve stability (@xvolte)
- #9679 Tuya cluster name convention (@Nerivec)
- #9783 Vesternet VES-ZB-HLD-017: add new fingerprint (@rabb13)
- #27525 Aqara WS-K07E and WS-K08E: fix configure failing (@Koenkk)
- #9754 Cleanup for Koenkk/zigbee-herdsman#1424 (@Nerivec)
- #4018 Connecto COZIGPMS: remove not supported battery expose (@Koenkk)
- #28177 Fix state not reported for some Ledvane plugs (@Koenkk)
- #9756 Inovelli VZM31: temporarily remove fanTimerMode (@rohankapoorcom)
- #28099 Tuya _TZE284_ye5jkfsb: fix
local_temperaturedivided by 10 (@Koenkk) - #9016 Tuya PJ-1203A: fix timestamp exposes (@Koenkk)
- [#28133](https://github.com/Koenkk/zigbee2mqt...
2.6.0
Features
Improvements
- #27557 ICasa ICZB-RM11S: expose
action_group(@Koenkk) - #9704 POK010: add humidity (@zombierzn)
- #9685 Tuya TS0601_dimmer_3: expose
light_type(@bernardesarthur) - #28056 Frient SMRZB-153 and EMIZB-151: enable OTA (@Koenkk)
- #9668 Philips 9290035639: improve
contactreliability by using manuspecific cluster (@sjorge) - #9657 Bosch BMCT-SLZ: support electrical measurements (@LukeLR)
- #9632 Danfoss Icon: support more features (@AivCho123)
- #9622 S520530W: expose action (@wlmitch)
- #9567 Enhance light_colortemp_move converter to support min/max constraints (@nohat)
- #9577 Novato ZPV-01: support battery (@NTV20244)
- #1449 Support custom clusters for groups (@Nerivec)
- #1444 Support for more install code formats (@Nerivec)
Fixes
- #27892 Erroneous Health OS memory percent calculation (@Nerivec)
- #28013 Exit with code 2 when adapters disconnects (@Koenkk)
- #27961 Fix settings schema defaults (@Nerivec)
- #28132 Ignore symbolic links in
dataduring backup (@robvanoostenrijk) - #27988 Improve startup settings validation (@Nerivec)
- #27837 Log error message when external JS fails to load (@Boris-c)
- #28076 Publish definition source in
bridge/devices(@Nerivec) - #28057 Publish endpoint names in
bridge/devices(@Nerivec) - #27983 Set MQTT retain and qos=1 on (re)connect (@megapearl)
- #28011 Various fixes to align behaviors (+add benchmarks for dev) (@Nerivec)
- #9712 Allow light messages to pass a null state to indicate no state change (@ams2990)
- #9713 Inovelli: add MoveToLevel support (@ams2990)
- #27980 SONOFF SWV: fix on_time multiplied by 10 (@Koenkk)
- #9717 Tuya TS0601_water_valve: fix temperature conversion (@ccfiel)
- #9691 Add some options to QA and Girier devices (@bernardesarthur)
- #9700 Don't throw
Failed to apply calibration towhen value is an empty string (@Koenkk) - #9687 LiXee zlinky: fix default value for measurement_poll_chunk in description (@sbraz)
- #9683 Set calibration option step at 0.1 (@Nerivec)
- #9681 Tuya BLE-YL01: improve reliability (@jl1990)
- #9680 Candeo C210 and LC20: various improvements (@candeodevelopment)
- #9664 HOBEIAN ZG-223Z: fix illumunace unit (@Foxhill67)
- #9669 Ubisys H1: improve code (@sjorge)
- #9627 Develco SPLZB-131: disable unsupported power on behaviour (@senna1992)
- #9630 OWON THS317-ET: expose battery voltage (@senna1992)
- #9660 ROB_200-026-1: improve code (@laurensdehoorne)
- #9655 Tuya TS0726_1_gang_scene_switch: fix scene action (@devkaiwang)
- #18704 Tuya: log data query failure (@Koenkk)
- #9628 Ubisys H1: expose battery voltage (@senna1992)
- #9643 Candeo: small improvements (@candeodevelopment)
- #9646 Eco-Dim.07/Eco-Dim.10: fix description (@hmmbob)
- #9641 MAZDA TR-M2Z: fix local temperature calibration (@Nopraz)
- #9645 Minor code cleanup (@Nerivec)
- #9623 Fix ZG-101ZD and ZG-303Z bug (@13717033460)
- #9617 EWeLink CK-BL702-AL-01_1: fix not controllable (@Koenkk)
- #9614 Inovelli: add P34 to VZM32-SN (@InovelliUSA)
- #27968 Tuya ZG-205ZL: add far and near motion_state values (@Koenkk)
- #9612 Tuya
_TZ3000_ww6drja5: fix use reporting instead of polling (@Koenkk) - #9608 Tuya TS0601_knob_dimmer_switch: fix control (@vecapetr)
- #9609 ZG9098A-Win: configure reporting and endpoint (@niracler)
- #9594 Develco (Frient) KEPZB-110: fix tamper and battery values (@johnrvt)
- #9596 Inovelli VZM30-SN: add outputMode parameter (@rohankapoorcom)
- #9597 Inovelli: support
fanTimerModefor all devices (@rohankapoorcom) - #9588 Tuya _TZE204_aoclfnxz: fix local temperature calibration step size (@brvn0)
- #9593 Tuya TS0601_knob_dimmer_switch: fix state control (@vecapetr)
- #27833 Tuya TS0601_water_switch: fix state not controllable (@Koenkk)
- #27915 Aqara VC-X01D: fix battery % divided by 2 (@Koenkk)
- #9578 TS0505B_1 transition fixes (@Ten0)
- #27914 Tuya TS0601_air_quality_sensor: fix formaldehyd and voc units (@Koenkk)
- #27833 Tuya TS0601_water_switch: fix battery % (@Koenkk)
- #27859 Smartwings WM25L-Z: fix power source (battery) (@Koenkk)
- #9573 Tuya TS0601_knob_dimmer_switch: fix endpoints (@vecapetr)
- #28078 Deconz reject with error instead of string (@Koenkk)
- #1466 Code cleanup (@Nerivec)
- #1456 Improve perf with ZCL getters, align manuf code behavior (@Nerivec)
- #1455 Remove unnecessary throwing (@Nerivec)
- #1451 Improve perf when cloning cluster entries (@Nerivec)
- #1453 Remove duplicate logic to set reportable properties (@Nerivec)
- #1445 DeCONZ: Joining bug in some setups and endpoint configuration (@manup)
- #1441 DeCONZ: ZGP implementation (@manup)
- #1439 Extend hvacThermostat with Danfoss specific attributes (@AivCho123)
- #1440 DeCONZ: Disable APS ACKs to not block queues for now (@manup)
Frontend
- 1844371 fix duplicate endpoints in endpoint picker (@Koenkk)
- c0ab978 fix multi-endpoint light support (#2515) (@Koenkk)
New supported devices
This release adds support for 43 devices:
2.5.1
2.5.0
Notes
- Based on the feedback in #27564 a lot of improvements have been done to new Windfront frontend. The improved version also adds support for the new health feature (thanks @Nerivec!).
- The deCONZ driver has been completely refactored. It now supports backups and channel changing (thanks @manup!).
Features
Improvements
- #9568 Sunricher SR-ZG9001K8-DIM: support multi endpoint commands for on/off and level control (@niracler)
- #9564 Saswell SEA801-Zigbee/SEA802-Zigbee: expose
anti_scaling(@DataGhost) - #9554 Sunricher SR-ZG9032A-MW: support more features (@niracler)
- #9546 Ubisys H10: support cooling (@sjorge)
- #9536 Tuya TS0601_cover_6: support
illuminance(@00svd00) - #9532 Third Reality 3RSM0147Z: expose soil moisture (@3reality-support)
- #787 Aqara ZNJLBL01LM: support OTA (@Koenkk)
- #9407 AwoX 33952: support more actions (@OUARZA)
- #9489 Bed.box: support more features (@eXist-FraGGer)
- #9455 Add neutral current support (@Ruubah)
- #9460 Aqara KD-R01D: add
hold,doubleandreleaseactions (@mricsi97) - #9463 Aqara KD-R01D: support multi-click (@mricsi97)
- #9465 Aqara ZNXDD01LM: support
on_level(@kevintong116) - #9450 Tuya M8Pro: support more features (@reineruhry)
- #9445 Innr RF 271 T and RF 273 T: enable OTA (@Koenkk)
- #1434 Support discovery for SONOFF Dongle Plus MG21 and MG24 (@CubeZ2mDeveloper)
- #1417 Refactor and improve of Deconz adapter (@manup)
- #1428 Support for EmberZNet 8.2.0 (EZSP v17 / v2025.6.0) (@Nerivec)
Fixes
- #27690 Bump Alpine to 3.22 (@Koenkk)
- #27691 Fix devices not immediately marked as offline when timeout expires (@Koenkk)
- #27702 Generate group ID if empty string given (@Nerivec)
- #27642 Rename fix typo in backoff settings (@Koenkk)
- #9560 Improvements for LoraTap SC500ZBv2 and for Nous B4Z (with common reusability) (@weichenb)
- #9558 Inovelli VZM32-SN: remove extra mmwave Control Command (@InovelliUSA)
- #9537 Adjust the reporting frequency threshold of some Bituo devices (@script0803)
- #9534 Amina S: fix charge limit reading (@thorgan3)
- #9523 Aqara JY-GZ-01AQ: improve battery % calculation (@weichenb)
- #27080 SONOFF TRVZB: fix
Exception while calling fromZigbee converter: Expected one of: 0, 1, got: '2'}(@Koenkk) - #9519 Efekta high_co2_gas: fix
INVALID_DATA_TYPE(@smartboxchannel) - #27758 EWeLink CK-BL702-AL-01_1: fix integration (@Koenkk)
- #9501 Fix detection of SR-ZG9101SAC-HP-SWITCH-2CH (@chris-1243)
- #27724 Third Reality 3RSB22BZ: fix power source (@Koenkk)
- #64 Convert color x/y string to number (@Koenkk)
- #9482 Candeo C-ZB-SEMO: improve illuminance reading (@candeodevelopment)
- #9472 Tuya TS0726: fix scene actions (@devkaiwang)
- #9462 Aqara S04D: fix threshold scale (@jamesonuk)
- #27615 Aqara SRTS-A01: fix
Value: '2' not found in: [0, 1](@Koenkk) - #9461 EFEKTA_eTH102z: fix
inverttype (@smartboxchannel) - #9458 Neo NAS-PS10B2: fix
lux_valueandmotion_sensitivity(@poeggi) - #23946 Tuya BLE-YL01: improve reporting stability (@Koenkk)
- #9452 Third Reality: update 3R plug gen3/e3/UZ1 and add private cluster (@3reality-support)
- #27140 SmartThings IM6001-MPP01: fix configure failing (@Koenkk)
- #1432 DeCONZ: handle race condition between APS confirm/indication timeouts (@manup)
- #1422 Fix interview failing for HOBEIAN devices (@13717033460)
- #1380 Enable serial port locking by default for ZiGate (@puddly)
Frontend
- 9c2ee5e add missing button label (#2505) (@kriths)
- bf56810 various fixes (#2503) (@Nerivec)
- bea922e when OTA file version is negative number return N/A (#2499) (@Ricc68)
New supported devices
This release adds support for 44 devices:
- #9565
C-ZB-SR5BRCandeo Zigbee scene switch remote - 5 button rotary (@candeodevelopment) - #9552
L14Nous Smart water valve (@1tigris1) - #9563
ZBM5-1C-80/86SONOFF Zigbee Smart one-channel wall switch (type 80/86). (@Gatsby-2024) - #9563
ZBM5-2C-80/86SONOFF Zigbee Smart two-channel wall switch (type 80/86). (@Gatsby-2024) - #9563
ZBM5-3C-80/86SONOFF Zigbee Smart three-channel wall switch (type 80/86). (@Gatsby-2024) - #9551
R3 Smart SwitchTuya Circuit Breaker/Switch (@Boris-c) - #9555
ZG-807ZHOBEIAN USB signal repeater (@13717033460) - #9555
ZG-101ZSHOBEIAN Star Ring 4 Gang Scene Switch (@13717033460) - #9555
ZG-305ZHOBEIAN undefined (@13717033460) - #9548
_TZE284_debczeciiHseno Human presence sensor (@Koenkk) - #9553
A7ZNous Smart ZigBee Socket (@1tigris1) - #9556
E9Nous Zigbee gas sensor (@1tigris1) - #9557
TS0201-z-SlDSlacky-DIY Tuya temperature and humidity sensor with custom Firmware (@slacky1965) - #9557
ZG-222ZA-z-SlDSlacky-DIY Tuya water leak sensor with custom firmware (@slacky1965) - #27677
ZC-LS02Moes Roller blind motor (@Koenkk) - #9540
SR-ZG2819S-DIMSunricher ZigBee dim remote (@niracler) - #9525
SZLMR10Lincukoo Human Motion & Presence Sensor (@joliam) - #9525
CZF02Lin...
2.4.0
Notes
- This release comes with a new frontend called zigbee2mqtt-windfront which is an improved version of the current frontend developed by @Nerivec. To enable this new frontend set the following in your
configuration.yaml:Feedback on this new frontend can be given in #27564frontend: enabled: true package: zigbee2mqtt-windfront
- For bare metal installations: support for NodeJS 18 has been dropped.
Improvements
- #27489 WindFront new frontend support (@Nerivec)
- #9386 B-parasite: expose identify (@reyhard)
- #9391 Enable battery voltage reporting on some IKEA devices (@vulpes2)
- #9412 POK002_POK007: expose
max_moisture(@zombierzn) - #9263 SONOFF S60ZBTPF and S60ZBTPG: expose more features (@Gatsby-2024)
- #9348 Tuya SPM02V2.5: expose
data_report_duration(@script0803) - #9328 Add
_TZ3000_lzdjjfssand update Sunricher SR-ZG2858A (@chris-1243) - #9333 Third Reality 3RSPE02065Z, 3RSPU01080Z and 3RSP02064Z: support
ac_frequencyandpower_factor(@3reality-support) - #9307 SONOFF S60ZBTPF: support electricity measurements (@ccorderor)
- #9305 Support OTA for Bosch BMCT-SLZ (@DerDreschner)
- #9278 Shelly S4SW-*: enable energy measurements (@marce14-git)
- #1408 Add conditional fieldControl fields to genOta commands (@Koenkk)
Fixes
- #27551 API missing a few request endpoints (@Nerivec)
- #27397 Don't copy external JS to
distfolder (@Koenkk) - #27348 Drop Node 18 support, add 24 (@Koenkk)
- #27333 Fix bind/unbind by coordinator ieeeAddr not working (@Koenkk)
- #27519 Fix import error on Windows (ERR_UNSUPPORTED_ESM_URL_SCHEME) (@kirovilya)
- #27520 HA integration for external sensors Aqara W100 (@kirovilya)
- #27308 Improve update script (@0xdefec71f)
- #27225 Only send JSON state over WebSocket (@Koenkk)
- #27386 Rerun onboarding if Z2M start failed after previous onboarding (@Nerivec)
- #27332 Trim name on rename (@Koenkk)
- #9431 Harmonize capitalization of vendor names (@sbraz)
- #9423 3RDP01072Z: fix divisor (@3reality-support)
- #9394 Add some new HOBEIAN models (@13717033460)
- #9424 Bacchus: change electicity meter reporting (@Bacchus777)
- #9420 M515EGBZTN: fix integration (@dannyuk1982)
- #9419 3RDTS01056Z: fix configure failing on battery reporting (@chris-1243)
- #27167 Add various TS0726 models (@Koenkk)
- #9417 Improve modernExtend default args (@Koenkk)
- #9375 3RSB02015Z: fix
3rSmartBlindGen2SpecialClustercluster (@3reality-support) - #9415 Aqara W100: improve integration (@kirovilya)
- #9416 Configure battery attributes only for a single endpoint (@Koenkk)
- #9368 Fix OTA hardware version check (@Koenkk)
- #9383 Senoro.Win: fix alarm (@ChristianGr1974)
- #9399 SNZB02-LD: remove non-working options (@chris-1243)
- #9408 THERM_SLACKY_DIY_R01: fix some converters (@slacky1965)
- #9385 Tuya TS0001_power: fix power monitoring for appVersion: 100 & 162, manufName: _TZ3000_xkap8wtb (@tgechev)
- #27455 Fix RADION TriTech ZB typo (@Koenkk)
- #9363 Tuya MG-ZG01W: simplify integration (@hexchain)
- #9357 3RTHS24BZ: fix power source (@chris-1243)
- #9354 Efekta: support
lux_factorfor various devices (@smartboxchannel) - #9358 Philips 4034031P7: add color temp range (@chris-1243)
- #27305 Zemismart ZMS-206US-4: allow to
nameforl4(@Koenkk) - #9349 3RDP01072Z: add private cluster (@3reality-support)
- #9347 Fix typo in modernExtend and fromZigbee (@chris-1243)
- #20959 Remove
coolrunning_statefrom_TZE200_aoclfnxz(@Koenkk) - #9339 Tuya NAS-PS10B2: fix
work_modeandlux_value(@poeggi) - #9331 GWRJN5169: improve integration (@igo-r)
- #9330 Improvements for varoius Zigbee TLC devices (@igo-r)
- #9313 Tuya TS0726_3_gang_scene_switch: add missing action (@anyhow-sg-smarthome)
- #9311 Move some AVATTO devices from
tuya.tstoavatto.ts(@bernardesarthur) - #9306 SlackDiy: address preset and measurement preset for electricity meter (@slacky1965)
- #27269 Tuya TS0203: fix contact incorrectly going to
true(@Koenkk) - #9303 Expose Tilt for Schneider/Merten MEG5113-0300/MEG5165-0000 (@maxhamilius)
- #9284 Fix various null checks (@Koenkk)
- #9294 HK-SL-DIM-AU-R-A support externalSwitchType (@niracler)
- #9298 Innr FL 142 C and FL 122 C: support OTA (@Koenkk)
- #9295 Superled 70012: disable effect (@ikke-t)
- #9293 Update Sunricher 4 channel remotes (@chris-1243)
- #9291 EFEKTA_AQ_Smart_Monitor: fix integration (@smartboxchannel)
- #9288 Fix Inovelli UI LED1-7 to API 0-6 for individualLedEffect (@sprior)
- #9285 Fix some duplicate model identifiers (@Koenkk)
- #9282 Tuya TLC2206: fix power source (@k2extreme)
- #9275 Update Philips Tento lights (@chris-1243)
- #9273 Improve IKEA light unfreeze logic (@lbschenkel)
- #9274 Update SNZB-02LD description (@chris-1243)
- #1396 Add support for generic science-related clusters (@Nerivec)
- #1403 ZStack: add additional logging when comparing adapter state with config (@Koenkk)
Frontend
2.3.0
Notes
- A development environment for external converters is now available.
- This release brings improvements to the availability feature, this slightly changes the behaviour, see #26811 for more details.
Features
- #26823 Allow scheduling OTA on device request (@Nerivec)
- #26811 Availability improvements (@Nerivec)
Improvements
- #9224 Immax 07505L: add more features (@gmartin42)
- #9174 Gledopto GL-D-015P: support power on behaviour (@Aogu181)
- #8637 Workaround IKEA bulbs freezing during a brightness & color transition (@bobrippling)
- #9152 Aqara Z1 Pro Led toggle (@utegental)
- #9144 Update PMM-300Z2 and PMM-300Z3 (@shinasys)
- #9133 Tuya TS0001_power: support OTA (@mrmaximas)
- #9125 Zen Zen-01-W: support fan mode and state (@yukinmax)
- #1391 Expose interviewState (@Koenkk)
- #1382 Add SberDevices manufacturer code (@avzasorin-sd)
- #1381 Add Tunneling cluster commands (@avzasorin-sd)
Fixes
- #27194 Add icon example to settings schema (@andy-vdg)
- #27163 Add interview state (@Koenkk)
- #27032 Do not call start() on extensions twice when starting (@pyos)
- #27025 Don't allow publishing wildcards in MQTT topic (@Koenkk)
- #27093 Guard against ZHC throwing (@Nerivec)
- #27150 Migrate to Biome (@Nerivec)
- #27063 OnEvent fixes (@Nerivec)
- #25417 Use Alpine 3.21 for arm v6 and v7 (@Koenkk)
- #27105 Use Map for State (@Nerivec)
- #9266 GIEX GX03: fix
valve_2status (@Giexperience) - #9250 Third Reality 3RDP01072Z: fix energy value (@3reality-support)
- #27217 SONOFF ZBM5-1C-120: fix state postfixed with endpoint name (@Koenkk)
- #9242 Fix modern extends numeric/binary not configuring attributes (@canardos)
- #9248 Sonoff ZBM5-1C-120: fix state (@oun)
- #9246 Third Reality 3RDTS01056Z power source (@chris-1243)
- #9225 Add endpoint suffix to level_config converter result (@avirakesh)
- #9233 EFEKTA_iAQ_S_III: fix illuminance (@smartboxchannel)
- #9217 Tuya ZG-101Z/D: expose
operation_mode(@kbullet) - #9203 Add endpoint name postfix to color cluster state (@avirakesh)
- #9202 Tuya _TZ3000_xkap8wtb: fix configure failing (@rodionos)
- #9198 AVATTO LZWSM16-2 & LZWSM16-3: fix power source (@mrmaximas)
- #9196 Fix color temp not reported correctly for multi endpoint lights (@avirakesh)
- #9200 Iluminize 5110.40: enable reporting (@niracler)
- #25053 Fix some
_TZ3000_abrsvsouincorrectly detected as ZG-101Z/D (@Koenkk) - #25971 Bosch BTH-RA: fix
pi_heating_demandnot settable via HA (@Koenkk) - #9175 Lincukoo SZLR08 and SZLM04U improvements (@joliam)
- #9183 Vimar 14595.0: fix endpoint (@saveriol)
- #9178 Fix typos (@Rotzbua)
- #9048 Allow scheduling OTA on device request (@Nerivec)
- #9169 Do not throw when exposes function throws (@Nerivec)
- #3681 Rename
TS0601_smart_CO_air_boxtoDCR-CO(@Koenkk) - #9159 Tuya TS0601_smart_CO_air_box: fix
carbon_monodixeexpose (@marcelhoogantink) - #9156 Zen-01-W: expose battery voltage (@yukinmax)
- #9143 Added update frequency adjustment for some Bituo Tuya devices (@script0803)
- #9150 Aqara WS-K02E: fix endpoints (@davidlday)
- #27046 Fix error in Zosung converter (@Koenkk)
- #9142 Third Reality 3RWK0148Z: fix
wateringTimestype (@3reality-support) - #9147 TS stricter (@Nerivec)
- #8741 Bosch BSIR-EZ: fix tamper (@Koenkk)
- #9130 Semver validation before comparison (@Nerivec)
- #9120 Add battery voltage to pvvx/ZigbeeTLc devices (@jpbede)
- #26993 Tuya ZY-M100-S_2: fix illuminance not updating (@Koenkk)
- #1387 Migrate to Biome (@Koenkk)
- #1386 Improve Green Power processing (@Nerivec)
- #1378 Support for Sonoff Dongle Max auto-discovery (@CubeZ2mDeveloper)
Frontend
- e68072e show interview state on device page (#2466) (@Koenkk)
- 7d2e12b reconnect instead of reloading page on auth error (#2461) (@sarthurdev)
- b9acc54 add support for scheduled OTA (#2449) (@sarthurdev)
- 8970463 Use modal for authentication (#2455) (@sarthurdev)
New supported devices
This release adds support for 71 devices:
- #9260
TH-S04DAqara Climate Sensor W100 (@kirovilya) - #9261
ZBN-JT-63Tuya Din rail switch with power monitoring (@uhodav) - #9265
ZHT-002Moes ZHT series thermostat (@sdbldn) - #9254
70012SuperLED SÄVY NUPPI, Zigbee LED-dimmer, triac, 5-200W (@ikke-t) - #9259
GWA1501Gewiss Contact interface - 2 channels (@dan-danache) - #9256
Open_PM_MonitorEFEKTA PM1, PM2.5, PM10 Monitor with retro-style analog indicator and RGB backlight (@smartboxchannel) - #9249
TLC2206Tuya Water level sensor (@k2extreme) - #9243
81998AduroSmart ERIA built-in on/off relay (with power measurements) (@pokersfang) - #9243
81949AduroSmart ERIA built-in dimmer module (with power measurements) (@pokersfang) - #9241
8719514434592Philips Hue Play gradient lightstrip for PC 3x 24/27 (@chris-1243) - #9245
POK017PushOk Hardware Battery powered greenhouse vent (@zombierzn) - [#9239](https://github.com/Koenk...
2.2.1
Notes
- This is a hot-fix release to fix various issues introduced in 2.2.0.
- For bare metal installations (not when using Docker or HA addon): it is recommended to update your NodeJS version to 22 (otherwise you might experience #26937)
Fixes
- #26947 Fix issue with some settings when migrating from 1.x.x to 2.2.x (@Nerivec)
- #26988 Fix settings being overwriting when env var is set to a ref (@Koenkk)
- #9116 Fixed pairing of Livolo TI0001 switches (@flaterichd)
- #9115 Tuya ZY-M100-S_2: fix presence and illuminance (@Jernau)
- #9110 Configure reporting for various Sunricher devices (@niracler)
- #26939 Fix LiXee devices causing
mqtt disconnected due to malformed(@Koenkk) - #9109 LiXee: fix
kwhPrecision is not definederror (@Koenkk) - #9111 Tuya TS0002_limited: support countdown (@mrmaximas)
- #9103 Fix GL-C-007-2ID not being detected correctly (@Xyaren)
Frontend
- 7e72b00 Fix offline showing when availability is not enabled (@Koenkk)
- 403ffac Improve typing & icons (@Nerivec)
New supported devices
This release adds support for 3 devices:
- #25053
ZG-101Z/DTuya Smart knob (@Koenkk) - #9107
S4SW-001P8EUShelly 1PM Mini Gen 4 (@marce14-git) - #9107
S4SW-001P16EUShelly 1PM Gen 4 (@marce14-git)

