Skip to content

Releases: make-all/tuya-local

2025.12.0 Turn on the Christmas lights

07 Dec 08:46
2025.12.0
178aeec

Choose a tag to compare

Highlights

  • improvements to lock, light, climate, button and siren platforms
  • 20 new devices, improvements to 22 others, plus across the board improvements to many mode
  • new translations for mode selects and (audio) volume number entities

Breaking changes

  • weekit_kettle: removed the separate switch which was replaced by the water_heater entity's operation_mode in June 2025.
  • select entities for mode (and some variations of that name) are now split by category into "kettle_mode", "light_mode", "mode", "activation_mode", "bidet_mode", "curtain_mode", "chlorination_mode", "alarm_mode", "air_mode", "cleaning_mode", "washing_mode", "menu", "charging_mode" and translations provided.
    • due to the extent and non-consistent nature of these changes, migration is not possible and automations, UI etc will need updating manually.

New devices

Improvements to existing devices

  • ledvance_smart_plabl100x25b: improve light availability #4024
  • depuley_smart_ceiling_fan: split CCT and RGB lights #4024
  • keyun_rgb_ceilingfan: split CCT and RGB lights #4024
  • orison_chanfok_neo_fan_light: split CCT and RGB lights #4024
  • miheat_th11wf_thermostat: add boost countdown, fix energy scale #4021 by @flow-c
  • advwin_6l_petfeeder: add compatible papifeed product #4038 by @Juniewicz
  • rgbled_garland: add Moes and Lampoteka products #4028, #4030
  • electriq_cd12pro_dehumidifier: added child lock #4036 by @steaura
  • loonas_curtain: add compatible Nordice product #4018
  • electriq_cd20pro_dehumidifier: add compatible CD12Pro-LE model #4029
  • eeese_carl_dehumidifier: add defrost binary sensor #4059 by @yurgh
  • immax_neolite_weatherstation: match Raddy WF-120P without reports from outdoor unit #4041, #4047
  • homvana_h111s_humidifier: add another product id #4062 by @emrikol
  • vine_tj550_thermostat: make sleep switch optional #4064
  • etop_ht_thermostat: add compatible BVF 801 thermostat #4079
  • zemismart_spm02d2tw_energymeter: correct energy sensor #4081
  • ipengen_goe3116a_evcharger: shuffle energy dps #4057
  • aeratron_ae3plus_fan: add compatible XCWIIE fan with light #4085
  • daizuki_heatpump: modernize and add compatible TCL AirMax #4051 by @jaredhobbs
  • ilife_a30_pro_vacuum: rework start and pause functions #4086
  • vonroc_wifi_heater: support new firmware preset modes #4094 by @danyrd92
  • raykube_a1promax_lock: make compatible with Raykube A1 Ultra #4096
  • dishwashers: standardize mode select options
  • multiple devices: disable factory reset buttons by default
  • various devices: standardize and translation mode selects #1708
  • various devices: translate volume number entities #1708
  • many device configs improved to match the new schema for AI agents

General improvements

  • buttons can now be marked as diagnostic (for new HA identity class in HA 2025.12) #4020
  • siren tone is no longer overwritten by turn_on actions when it does not need to be. #4048
  • lock unlock by code no longer includes the admin flag, based on observed behaviour of actual locks #4013
  • light: set the light's minimum range without scaling when the request is for a brightness of 1 #4060
  • climate: allow precision to be specified for current_temperature #4051

Translation improvements

  • Select entities for selecting modes of various types are translated #1708
  • Number entities for controlling volume (audio) are translated #1708

Development improvements

  • added AGENTS.md files to help AI agents understand the code layout and how to create correct config files
  • added "util/entities.py", for finding configs containing matching entities to help with translations and other uses #1708
  • output file and line info from test_device_config.py, to help surface errors in PRs.
  • eliminate warnings about async test fixtures not awaited and event loop scope

2025.11.2 Redirectioning

23 Nov 12:59
2025.11.2
c178e45

Choose a tag to compare

Highlights

  • 14 new devices, improvements to 11 others
  • new translations for Do not disturb switches, Minimum and maximum temperatures

Breaking changes

  • Minimum and Maximum temperature entities have been standardized for translation. Some devices that used different naming have been migrated to the standard names, but some manual updates may still be required.

New devices

  • EASTtime D401 water purifier #3954 by @edwinyoo44
  • Amenzo dishwasher #3935
  • Intaflo Intabloc air-water heat pump #3936
  • WarmeHaus Thermostatic towel rail heating element #3946 by @dtaylor7
  • Homvana H111S humidifier #3940
  • FeelNeedy P-LFP01 camera pet feeder #3949
  • HHC AM68 curtain motor #3968
  • Zemismart SPM02-D2TW 3-phase energy meter #3984 by @emcyaman
  • dLuft Smart Flow ventilation fan #3986
  • Cecotec ReadyWarm 2000 Max Box ceramic heater #3991
  • Prism+ Oasis Pro ceiling fan with RGBCCT light #3997
  • TW-12W relay board #3007
  • Aktobis DHW-870FW dehumidifier #3172
  • Geyserwise MWS water heater #3544, #3971 by @Waz-Cpt

Improvements to existing devices

  • neopower_heat_pump_water_heater: correct performance mapping #3975 by @banemonster
  • dewin_kws306wf_energymeter: add support for Komsi model #3987
  • immax_neolite_weatherstation: add outdoor battery and wind direction sensors #3963 by @veista
  • lehmann_lhohc2013c_radiator: add compatible Jocel JCT007452 heater #3994 by @DavidRomao
  • dewall_evcharger: fix stop button #4001 by @dbeinder
  • afveev_16a_evcharger: add support for 3-phase models #4010 by @gec75
  • fanco_ecositentdeluxe: add preset_mode, other fixes #4012 by @brendanlees
  • lscsmartconnect_videodoorbell: add compatible 1296P-BT #3983
  • quad_powerstrip_usb: add text entities for advanced config #3998
  • mirabella_genio_usb: add compatible Merkury smartplug #4003
  • simple_six_switch: add optional timers #4002

General improvements

  • fix value redirection when used directly in mapping without conditions #3987
  • translations for Do not disturb switches, Minimum and Maximum temperature number entities #1708

Documentation improvements

  • add notes about lock codes to README #4013

Development improvements

  • improve test coverage for value redirection #3987

2025.11.1 Hotfix

11 Nov 14:13
2025.11.1
85f0cd7

Choose a tag to compare

  • fix an issue in PR #3929 that caused some devices to fail initialization due to a runtime error

2025.11.0 Säker upplåsning

Highlights

  • Support for unlock codes for BLE locks
  • Swedish translations
  • improved sub device stability
  • support for setting multiple masked values in a dp at once
  • 14 new devices, improvements to 22 others (excluding naming changes)

See the Releases section on github for full 2025.11.0 release notes.

2025.11.0 Säker upplåsning

11 Nov 10:18
2025.11.0
fa22b3a

Choose a tag to compare

Pre-release

Highlights

  • Support for unlock codes for BLE locks
  • Swedish translations
  • improved sub device stability
  • support for setting multiple masked values in a dp at once
  • 14 new devices, improvements to 22 others (excluding naming changes)

New devices

Improvements to existing devices

  • cc_curtain: fix numeric string quoting for control options
  • earu_k6h3aw_thermostat: support K6RH variant #3898
  • zx_g30_alarm: add compatibility with Tugard model #3911
  • catit_pixi_water_fountain: add sensors #3909 by @FrederikM97
  • ipengen_goe3116a_evcharger: use alternate dps for many sensors #3847
  • andersson_gsh_heater: constrain temperature in anti-frost mode #3924 by @CCCowley
  • catit_pixi_smart_feeder: add plug binary_sensor #3939 by @fbesserp
  • ems_waterheater: include current_temperature in water_heater #3937 by @Waz-Cpt
  • probreeze_pbd23w_dehumidifier: add Rohnson model #3938 by @AverageJoe89
  • BLE locks: enable code unlocking and expose other advanced config options #1921
  • fararo_pet_feeder: fix battery sensor #3957 by @bvweerd
  • earu_k6h3aw_thermostat: fix hysteresis step #3958 by @MiguelDomingues
  • atorch_dt20_energymeter: improvements to some entities #3868

General improvements

  • setting multiple masked values in a single dp now combines them instead of overwriting #3902
  • Swedish translations #3930 by @FrederikM97
  • improved syncronization of sub devices sharing a hub #2289 #3929 by @darchons
  • Standardize all device naming to be unbranded to serve as a good example for new contributions
  • Standardize all entity naming to follow HA case conventions to serve as a good example for new contributions
  • lock: support remote code unlocking (following Tuya BLE lock docs) #1921

Development improvements

  • add a script for prioritizing translations #1708

Documentation improvements

  • new device template: lower the priority of low quality AI generated PRs
  • new device template: highlight the non-support of battery powered WiFi devices #522
  • README: add caution on dual power devices that act like battery powered even when powered
  • avoid implication that dp_id should literally appear in device info. #3921

2025.10.1 Struny Czasu

29 Oct 10:06
2025.10.1
d897cf5

Choose a tag to compare

Highlights

  • time now supports strings as well as separate integers
  • human reviewed Polish translations instead of AI hallucinations
  • 20 new devices, improvements to 15 more

New devices

Improvements to existing devices

  • Avatto WTR20R thermostat: fix manual override type #3857
  • Powerworld PW040 water heat pump: swap air and water temperature #3851
  • Madimack Eco 9kW heat pump: remove unsupported HVAC modes #3861 by @mjens118
  • Moes dual dimmer: support compatible Avatto DMS16-W2 #3841 by @itsthegs
  • EARU DPN circuit breaker: fix power unit #2300
  • Spa Electrics light controller: make zone names optional #3869
  • Feyree EV portable charger: drop RFID switch to improve compatibility #3860
  • Blitzwolf BW-LT31: add compatible Huwaile Direct model #3818
  • Loonas curtain: make position optional to improve compatibility #3872
  • RecTeq RT-700 grill: add more entities #3882
  • Inkbird ITC306A thermostat: add compatible v4 variant #3876
  • Ledvance Smart PLABL100x35B: add compatible Annaror light #3883
  • Catit Pixi smart feeder: add support for 43752 variant and extra entities #3889 by @colin-nolan
  • Klarta Stor 2 purifier: add missing air quality levels #3839 by @kjpg99
  • Klarta Forste 4 purifier: add missing speeds and Auto preset select #3839 by @kjpg99

General improvements

  • time: allow hours, minutes and optionally seconds in one string dp. #3821
  • improvements to AI generated Polish translations by a native speaker #3839 by @kjpg99

Documentation improvements

  • Improve security reporting instructions

Development improvements

  • run full tests when requirements-dev.txt is updated #3874
  • run translation tests when translations and icons are updated #3839

2025.10.0 The Lone Ranger

16 Oct 14:28
2025.10.0
66a2a79

Choose a tag to compare

Highlights

  • improvements to time robustness
  • new ways of defining variable ranges
  • 21 new devices, improvements to over 20 existing devices

Breaking changes

  • Tongou QCB2 Single Phase Breaker: deprecated switch for live updates has been removed, use the button instead, which does not require toggling
  • Circuit breakers: "... action" config entities are renamed and the options standardised to use breaker_trigger_action translations. There is no migration for this change, so you may need some manual cleanup of no longer provided entities.
    Standardized options introduced in the previous release are now ignore, alarm and trip_breaker.

New devices

Improvements to existing devices

  • Sundream LC Series Chlorinator: support LC300 #3779
  • Dual power monitoring smartplug V2: support SmartKnight ML Knightbridge #3781 by @ip1464
  • Breville AirRounder Plus heater: separate into fan and heater #3582
  • Lytmi HDMI sync backlight: improve color_temp handling in Pure scene #3794
  • Madimack Elite V4 heatpump: use correct current_temperature, filter presets #3795, #3789
  • Madimack Elite heatpumps: use pool_heatpump translation key, heat_cool #3795
  • Axen KS100W heat pump: match hvac_action correctly and add sensors #3810, #3812
  • Loonas curtain: add compatible Mijw curtain #3831 by @justinwyq
  • Somgom single switch: add compatible Outsmart 40A switch #3831 by @justinwyq
  • Simple dual switch with timer: add compatible Outsmart ZS3LCBCIO #3831 by @justinwyq
  • Smartplug V2 Energy V2: add compatible Aziot product #3828
  • devices using micro sign updated to use Greek mu per HA 2025.8 change

General improvements

  • device config: range overriding in mapping without conditions is now working #3779
  • time: cast time components to integer before using #3565

Documentation improvements

  • document "Auto" for IP address in the advanced setup instructions #3796

Development improvements

  • run full test suite on dependency updates

2025.9.1: Deprecieri silențioase

28 Sep 12:56
2025.9.1
05826ac

Choose a tag to compare

Highlights

  • Deprecated entities are only reported once if enabled, and not reported if disabled.
  • added Romanian translations
  • 21 new devices, improvements to 16 existing devices

Breaking changes

  • Deprecated binary_sensor (window) removed from ZC34T-03-3A swing arm opener (use cover state instead)
  • Deprecated number (timer) removed from Bonaire heater (use select entity instead)
  • Removed SMS notification switch from Staniot alarm panel to resolve compatibility between models

New devices

Improvements to existing devices

  • Feyree EV portable charger: let current go down to 6A #3697
  • Madimack Elite V4: redirect 0 current temp to inflow #3412
  • Breville AirRounder Plus heater: reverse and merge fan speed and heat presets #3582
  • BLE water valve: add SOP10 manufacturer, hide unavailable weather #3718 by @trasbd
  • Airrobo P20 vacuum: differentiate statuses, standardise commands #3714 by @witulu
  • M515 curtain motor: don't use action, invert positions #3730
  • SolarEast Aurora 2 heatpump: change dry to heat_cool for eco mode, fix current temperature and improve detection #3751 by @paulklinkenberg
  • Vaco Moby Blue heatpump: disable unavailable modes, avoid multiplexed commands which the device does not handle #3729
  • CPVAN CP2W alarm panel: add push message event #3746
  • Dewin KWS306WF energy meter: make energy sensor dashboard ready, convert run time number to sensor #3762 by @LuckyG3000
  • Klarstein WonderWall 600 IR heater: support compatible Electriq Far IR Carbon #3672
  • Staniot Smart security panel: add compatibility with XA-H502 model #3655
  • Lytmi HDMI sync backlight: improve FancyLEDs support #3664
  • LSC PTZ camera: add compatible Merkury CW035 camera #3721
  • KRain KRX8 irrigation controller: add more entities #3738, #2569
  • Moes motion sensor light: add compatibility with ZG-204L #3019

General improvements

Development improvements

2025.9.0: Join the fan club

07 Sep 11:40
2025.9.0
6ed389a

Choose a tag to compare

2025.9.0: Join the fan club

Highlights

  • 22 new devices including 5 new fans, improvements to 12 others

New devices

  • Revesien Q-Pro-W aroma diffuser #3540
  • Eberg Fyn tower fan #3553
  • Cecotec Conga 1970 robot vacuum #3653 by @malkavi
  • Klarstein Wonderwall 600 IR heater #3560
  • Komeco QC60 heat pump #3618 by @pbassut
  • Living Comfort LC310S twin window fan #3566
  • Moes WCM-P52 v2 PTZ indoor camera #3541
  • Dyras TF-16WIFI tower fan #3574
  • Petwant F13-W pet feeder #3580
  • Breville AirRounder Plus purifier/heater #3582
  • Tongou SA1 energy meter #3665 by @Dead96
  • Dream of You dual dimmable lamp #3668 by @danps1
  • Tolviviov alarm panel #3354
  • Aziot 4 gang switch #3603
  • Aziot fan modular switch #3604
  • Ampbolt level 1/2 portable EV charger #3605
  • Yijingkc 284-8 ceiling fan #3626
  • Herschel Select XLS bathroom mirror #3629
  • Goldair GGK1000 kettle #3670 by @ashabala
  • Steinback Silent Mini heatpump #3690 by @Wakinyan
  • Advwin 6L camera pet feeder #3630
  • Moes 1-outlet water timer #3639

Improvements to existing devices

  • RGBCW lightbulb: add compatible Laser E14 5W bulb #3645
  • Trotec PAC-W heatpump: add compatible Qlima WDH-229-PTC #3595
  • Moebot S Mower: add backward blade stop entity for newer firmware #3659 by @tribut
  • PC473 3-phase monitor: fix status type #3575
  • Aeno EK7S kettle: add compatible Kogan kettle #3578
  • Staniot smart security panel: add compatible variant #3692 by @pokos
  • Doel TIplus litter box: add missing entities, correct others #3679 by @valdenny
  • Zigbee smart bulb: add support for Kojima GU10 bulb #3600
  • HY combo heat pump: improved compatibility #2510
  • Feyree EV chargers: allow current down to 6A for all 16A and 32A models #3697
  • Welltobe cat feeder: add meal plan entity #3702
  • LSC Smart Connect camera pet feeder: expose meal plan as entity

General improvements

  • entity: improved entity identification in deprecation log message

Documentation improvements

Development improvements

2025.8.0 Repaired timeline

21 Aug 07:56
2025.8.0
f6b25f0

Choose a tag to compare

Highlights

  • time entities that are optional (not always sent by the device) are now working
  • cloud setup can now be used with multiple accounts, and has improved reliability over long periods without rebooting
  • 29 new devices, improvements to 17 existing devices

Breaking changes

  • Klarta Stor2 air purifier: air quality values have changed to standard translations, automations triggered from state changes will need to be adapted
  • Asakuki diffuser: deprecated color select entity has been removed, use the named color support in the light entity instead.
  • Matsee 2way V2 energy meter: deprecated Direction A and B sensors have been removed, use the corresponding binary sensors.

New devices

Improvements to existing devices

  • Holman WX1 tap timer: merge garza irrigation system #3542
  • Maxico aroma diffuser: add matching Asakuki model, fix light #3548
  • Klarta Stor2 purifier: use translations for air quality #3546
  • ITS 45HD heat pump: improve reliability of hvac_action #3549 by @dmostert
  • Modena ES15 Sky water heater: hide non-functional energy sensor #3557
  • Taxnele energy meter: fix current and power scales #3573
  • Inkbird IBS M2: fix inconsistent marking of optional dps #3593 by @LordGuenni
  • Neptun smart waterleak: default to multizone #2260
  • KW02 video doorbell: add button to open door #3544 by @stepsolar
  • Quad power timer: add compatible LSC Smart Connect device #3581
  • Loonas curtain: fix inconsistent type for problem sensor #3594
  • Malmbergs dual dimmer: fix minimum brightness range #1589
  • AGL Ultra Magic lock: add missing config functions #3616 by @pbassut
  • RoyalClima Fresh climate: separate statistic to avoid recorder spam #3642
  • Blitzwolf BW LT31 lightstrip: support compatible Casalux LR1321 #3642

General improvements

  • allow logging in as a different user #2778
  • clear expired authentication #2778
  • time: avoid error when dps is missing #3565

Documentation changes

  • new app naming changes for Tuya and SmartLife apps

Development changes

  • new device template: remove alternative inferior log suggestion
  • tinytuya updated to 1.17.3, removes unnecessary colorama dependency

2025.7.1 Manipulating time

23 Jul 09:02
2025.7.1

Choose a tag to compare

Highlights

  • a new time entity for adjusting time and 24 hour timers
  • hiding unavailable entities by default is now working (will only apply to newly added devices)
  • 18 new devices, improvements to 16 other devices plus a number of pet feeders and hundreds of devices with 24 hour timers!

Breaking changes

  • Electriq CD20Pro dehumidifier: the deprecated fan entity was removed. Please use the select entity for selecting the direction, and the humidifier's switch for turning on and off.
  • Many devices: 24h timers have changed from number to time entities. The number entities have been deprecated to give time to move over to time entities, so will not break immediately. This does not apply to timers implemented as select entities, or timers with different lengths than 24h. It also does not apply to timers that only allow setting hours, as there is no advantage over a number entity in that case.
  • a few instances where hours and minutes were set separately are now combined to a single time entity.

New Devices

Improvements to existing devices

  • OmniBreeze tower fan: fix confusion around model name #3433
  • Electriq CD20Pro dehumidifier: remove deprecated fan
  • Holman WX1 tap timer: add compatible RainPoint TC5005RF #3464
  • SmartplugV2 EnergyV3: unmatch LerLink switch #3467
  • Wenzhi WZ35 presence sensor: use correct class name #3469
  • Fersk Vind 2 climate: add entities from Pro Breeze 12000BTU #3478
  • ept level sensor: add battery voltage for Moray model #3485 by @camillePernoud
  • Inkbird IBS M2: detect and scale humidity correctly #3250
  • Goldair portable air conditioner: fix optional swing mode handling #3496
  • PlantsIO Ivy smart planter: add touch sensor support #3508 by @thewade
  • Eberg Cooly C35D: fix yaml quoting
  • MakeSkyBlue MPPT charger: add descriptions for fault codes #3517 by @alexeytm82
  • Pet feeders: make meal plan accessible as a text entity #3519 by @FredrikM97
  • Immax Neolite weather station: add alternate product id #3520 by @mmaridev
  • Koiduo water heater: fix away_mode binding #1831
  • Windcalm fan with light: add beep switch #3527 by @damru
  • Faroro pet feeder: make last feed optional #3528

General improvements

  • clean up protocol error logging #2289
  • add tinytuya debugging back to help track down communication issues #2289
  • defer initialisation until devices are online #3496
  • text: improve filtering for valid base64
  • time: new entity type for 24h timers and wall time #3499

Development improvements

  • remove pinning of bleak library after upstream fix #3471
  • added pre-commit checking with ruff, yamllint and prettier #3521 by @FredrikM97