Releases: make-all/tuya-local
2024.12.1 a more stable config flow
Highlights
This release is primarily to fix two issues in the config flow, one a longstanding complaint from HA in the log that does not have any real effect, the other an issue in the previous change to consider local product ids as well as cloud ones when the device cannot be automatically discovered locally.
One new device and one improvement to an existing device were also added in the timeframe since 2024.12.0.
New devices
- Poolex Ice Spa 70 heat pump #2541
Improvements to existing devices
- Beca BHT-002 thermostat: add hvac_action where supported, dynamic detection of external thermometer #2640 by GvidasLTU
General improvements
- config_flow: handle the case where device cannot be automatically found on local network during cloud config flow #2643
- config_flow: avoid I/O in the main loop by removing a complex attempt to make a generator into an async generator. #2584
Development improvements
- CI workflows now use Python 3.13 to match HA 2024.12
2024.12.0 Matching products
Breaking changes
- ZYM100M: the deprecated status sensor has been removed. Use the motion and occupancy binary sensors instead
- Jiahong ET72W: energy sensor is removed and replaced with a runtime sensor, which is what it was actually measuring.
Highlights
- Lights with only brightness can now turn off again
- configs can now be matched by product id
- 20 new devices, improvements to 8 devices plus some general improvements
New devices
- Deltaco SH-LW5M LED strip #2542 by @Ladida1
- Friedrich Uni-Fit UCT12A30/UCT14A30 #2524 by @ncd7
- Freidrich Uni-Fit UCT08B10A #2524 by @ncd7
- Richelieu under cabinet lighting #2524 by @ncd7
- Myuet ME82 thermostat #2526 by @blitzdose
- Eeese Emil dehumidifier #2539 by @PipoCanaja
- EM3390TF weather station #2557 by @flapedriza
- Omnibreeze DC2313R tower fan #2566 by @bwarden
- Zemismart SPM01 zigbee energy meter #2494
- Goldair Portable air conditioner #2567 by @BenJamesAndo
- Medion X10 SW vacuum #2503
- Basic IR remote controller #847, #1887
- TOMPD-63WIFI #2618 by @AlexK98
- Morento HY4866-WF #2581 by @md1986
- Brizlabs string lights #2610 by @TimPasquini
- Tech Inc. 3m Neon light strip #2604 by @etamtlosz
- Cecotec BigDry 4000 dehumidifier #2591 by @darth-hp
- Mypin 6L video pet feeder #857
- Neptun Smart water leak control system #2260
- Asahom outdoor lights #2255
- HY multifunction heat pump #2510
- Siguro DH-F300W dehumidifier #2518
Improvements to existing devices
- Smartplug V2 Energy V2: add compatible STY-63TM energy meter id #2570 by @netmaxt3r
- Matsee 2way V2: improve compatibility #2573
- Eurom Sani: add Eurom Sani LBH-63A product #2572 by @Jordi1990
- ZYM100M presence: fix illumination units #2593
- ZYM100M presence: remove deprecated sensor #2595
- Moes temperature and humidity: unknown dp identified #2617 by @AlexK98
- TOMPD 63LW: add new variant with factory reset, power factor and frequency entities #2619 by @AlexK98
- Meaco Aerte Two: improve compatibility for 12L model #2626
- Jiahong ET72W: "energy" sensor is actually a runtime sensor #181
General improvements
- config flow: log the local productKey if it differs from cloud product id
- mask: reimplement as documented, outside of the mapping
- setup/unload: simplify by looping over all_entities rather than primary and secondary separately
- light: force lights with only brightness dp to appear off at 0 brightness #2589
- config flow: use product id to match configs if available #847
- mapping: fix available flags within conditional mappings #2567
- diagnostics: fix redaction of sensitive dps with id > 9 #2547
- icons: improve uv_sterilization icon #2591
Development improvements
- device config tests now allow all dps to be marked optional if there is a product id to match against #847
2024.11.4: Bring the color back
Highlights
- fixes a regression in light brightness handling in 2024.11.3
- 1 new device, 3 existing devices improved
New devices
- Wenzhi W35 human presence sensor #2491
Improvements to existing devices
- PlantsIO Ivy: mark brightness as unavailable with auto-brightness on #2168
- PlantsIO Ivy: mark location dps as sensitive #2347
- Ecostrad Accent iQ: improve config to modern standard #2551
- SNT957W TDE temperature alarm: improve compatibility #2545 by @szupi-ipuzs
General improvements
- Reduce errors logged when devices are offline for extended periods
- light: handle brightness correctly when color mode is changing at the same time. #2552
Development improvements
- Simple Security policy documented
- Dependabot actions enabled
- remove noise from debug log where possible values are checked by HA
- improve debug logging for lights
2024.11.3 Color names
Highlights
- translations now support placeholders, to allow things like "Switch 1", "Switch 2" to share the same translation.
- lights with lists of named colors are now supported as RGB lights.
Breaking changes
- Requires HA 2024.11.0 or later
- fault codes have been moved from primary entities into the problem binary_sensor for many devices.
- Some timer entity names have standardised. Migration should take care of keeping history intact and avoid zombie entities, but any references in automations, scripts or manual config may need updating.
New Devices
- KCVents VT-501 heat recovery ventilator #2450 by @perimos
- New WideTech 7-speed fan #2484 by @r08ertliu
- Curry Smarter roller shutter #2464
- GHome ceiling fan and light switch #2466
- RZTL Aqua Pro humidifier #2509 by @akc-kyiv
- AF3W pet feeder #2370
- Nince RGB LED strip #2497 by @AppelBoomHD
- HLG Infinity alarm #2521 by @brunohenriquy
- Spa Electrics Iris light controller #2472
- Zemismart 3-phase energy meter #2489
- Create VTA+ fan heater #2469 by @MigSo
- EZAIoT thermostat #2490 by @Steefph
- AirRobo P20 vacuum #2531 by @witulu
Improvements to existing devices
- Many devices: standardize problem binary_sensors to contain fault code, where fault code was on primary entity, it has moved.
- Plikc Neve: add support for Plikc Neve Pro W #2483, #2485 by @Tbaile
- Digoo HAMB: rename some entities to match their function #2399
- Sulion ceiling fan remote: merged with identical Arlec ceiling fan remote
- PC321-TY: add Owon branded product #2394
- Raykube A1 Pro Max: compatibility improvement #2500 by @johnnyaug
- Unknown 2way meter: swap total and daily measurements #2481 by @giacomitti
- Multiple timers and energy produced/consumed entities now use translations #2481
- Smoke detector: use correct dp for battery level #2520
- Klarstein Amazonia: remove non-working options #2433
- Tesvor S6 vacuum: compatibility improvement #2519
- Afyeev EV chargers (16 and 32A): don't scale temperature #2108
- Many climate devices: hvac_action logic simplified, as "off" is now automatically handled internally.
- Blitzwolf BWSH2 humidifier, Dynasty BTX fireplace, Gratkit filament dryer, Modernflames Orion fireplace, Tesla S300 purifier, Touchstone Sideline fireplace: use new named_color light support #2472
- Avatto TRV06 radiator valve: additional entities #2457, #2465 by @ciscolyon69
- TYTE-D1: correct current_temperature scale #2534 by @rale
- Eurom Sani towel radiator: fix hvac_action type #2529
- Simple switch timer v2: add compatible Kruidvat switch #2530
- Many devices: improved consistency of optional dp marking
General improvements
- config_flow: improve guidance for hub connected sub devices #1951
- options: remove sub-device cid from options flow, as it is used to form the unique_id for the device, so changing it makes a new device in the registry.
- config_flow: match devices fully asynchronously #2501
- translation placeholder support added #2514
- alarm_control_panel: support new alarm_state enum based state reporting #2445
- light: improve rgbhsv brightness handling #2497
- light: add named_color support #2472
- config_flow: use node_id in preference to uuid if available #1951
Development improvements
- Added a test for consistent marking of optional dps.
2024.11.2 - more bugfixing
2024.11.1 - bugfix
2024.11.1 - a small urgent release
Highlights
- fixes an issue with the previous release's changes that were supposed to fix connection issues #1804, #1013, #2354
- one new device, improvements to 9 devices
New Devices
Improvements to existing devices
- Afyeev 16A charger: use power sensor that works, add product id #2453 by @pimpalaputty
- Weaja gas alarm: fix alarm units, standardise % LEL unit #2434
- ZX GS21 gas alarm: standardise % LEL unit #2434
- Kerui 200W/300W cameras: fix PTZ button types #2410
- Moes star projector: remove config category from main switch #2428
- Digoo HAMB alarm: improve compatibility #2399
- RSE TYWFH301 gate: make raw return_status available, add Home Gate NI600z/800z compatible products #2462
- Avatto TRV06 radiator: improve compatibility #2457
- Klarstein Amazonia: flip door sensor #2433
General improvements
Development improvements
- new device template: guide users to the log to find product id since previous release
2024.11.0 - performance enhanced
Highlights
- support for base64 encoded UTF-16 text fields
- product id logged during cloud setup flow for easy New Device reporting
- better cleanup of stalled devices during reload and reconfiguration
- faster response when using the default persistent connection to devices
Breaking changes
-
vacuum
standby
commands have been replaced by implementing thestop
action.stop
was previously avoided in command lists, to avoid ambiguity with the direction controlstop
command. This change allows both to coexist by keeping the direction control when thecommand
action is called with astop
command, but thestop
action will run the formerstandby
command. If you are using thecommand
action in automations or UI buttons etc with thestandby
command, these will need to be updated to use thestop
action instead. -
status sensors have been standardised to use translations, so output values have changed. If you use the sensor values in automations etc, please check the current pre-translation values in
Developer tools
or the config file, and update your automations.
New Devices
- Medion S10 robot vacuum #2408 by @bvandenbogaard
- Powerworld PW58410 used solely for HVAC #1530
- Digoo DG-HAMB alarm system #2399
- PZIOT E01 energy meter #2311
- Moes Smart control panel #2396
- Smoke detector #2403
- Orion indoor siren #1744
- PGST PW150 home alarm system #2388 by @perimos
- Dual channel smart meter #2282 by @giacomitti
- Point panel heater #2409 by @coutaq
- Bresser 7-channel thermo-hygrometer #2411 by @vveloso
- CCT modeless lightbulb (Connect CSH-GU53WW5W) #1745
- Modena ES-15-SKY water heater #2008
- iHunt 50 air purifier #2348
- CE Smart Home wall outlet #2437 by @IamGimli
- ZPMeter 214C-Z water meter #2412
- HunterTBK video doorbell #2422
- Create Warm Towel Advance bathroom heater #2423
- Klarstein Amazonia dishwasher #2433
- Weaja gas alarm #2434
- Avatto TRV06 radiator valve #2435
- Raykube A1 Pro Max door lock #2439
- Afyeev 16A EV charger #2395 by @pimpalaputty
- Solar Grid GTB series solar inverter #2436 by @SimonAnnetts
- Moes WHT009 thermostat #2441 by @yurkiv
- ESP Fort EC-SPSP USB smartplug #2390 by @norfolkmustard
- Beok TCB38/TCW38 aka RT-70 thermostat #2442
Improvements to existing devices
- PowerWorld PW58410: additional entities from parameter groups #1530
- Faroro pet feeder: improved detection compatibility #2392 by @jon-sanders
- Tefal Xplorer: improved detection compatibility for Rowenta branded model #2397, #2416
- Afyeev EV charger: extend current to 32A, add some sensors #2151, #2108, #2395
- Wonderwall Bornholm: invert display light control #2400
- Poolex Silverline: add quick and quiet cooling modes, problem binary sensor #2402
- Shinco 30D: support compatible Shinco SDZ/YDZ series dehumidifiers #2404 by @strnk
- PlantsIO Ivy: expand enum range based on manufacturer info #2424 by @thewade
- Tongou QCB2: add extra dps and improved detection compatibility #2420
- Mirabella Genio USB: add compatible Hyleton device #2425
- Yinmik water tester: add TDS sensor #2421 by @markxroberts
- Door peephole camera: snapshot is not usable, so deliver as motion event #2426 by @Jon811
- WHM04 doorbell: improve detection compatibility for WGH-ML-001 #2440
- Kerui 200W: add mode optional dps, use privacy as camera switch, buttons for PTZ #2410
- Kerui 300W: make compatible with Fuers 5MP camera, use privacy as camera switch, buttons for PTZ #2410
- Feit RGB light: avoid reverse mapping null
- CCTv1: add matching Laser SMT-WWDL53-L lightbulb #1745
- ETOP HT: make compatible with PNI CT-400 #2346
- PSmart T436: improve detection compatibility #2446
- Standardise factory reset buttons icon and translations #1708
- Standardise status sensors icons and translations #1708
- Standardise filter reset buttons icon and translations #1708
- Shinco 30D: improve compatibility with Klarstein DryFy Connect #2448
General improvements
- vacuums: standardise to use
stop
command rather than standby. - product id is now logged during device detection for easier reporting of new devices.
- add utf16b64 type for extracting UTF-16 strings from base64 encoded dps #2388
- ensure sockets are promptly closed when pausing or stopping devices #1804, #1013, #2354
- removed the rate limiting of commands when using persistent connection #2410
Development improvements
- Bug report template converted to a form
- Device config tests: output config file name when duplicate entities are detected.
- Cloud support refactored into a separate file for future possible reuse outside of the config flow.
2024.10.0 Availability
Highlights
- devices can now specify which entities and options are available through dp values.
- hvac_action now reports off when the device is off, regardless of what the device says.
- humidifiers now support action reporting
- 39 new devices, improvements to 17 existing devices
- 13 pull requests merged from 12 contributors
New devices
- Heatstorm DH-100TWI heater #2309
- HRT AS90 climate alarm #1497
- iPettie WS pet feeder #2310
- Holman Helios weather station #1617
- Nybro heater #1978
- Light sensor #2185 by @maddijoyce
- WDYK 4P 100A energy meter #1648
- Ballu Aura air conditioner #2305 by @IATkachenko
- Reiga ceiling fan (without light) #2335 by @DennisGeisse
- EARU DPN circuit breaker #1739
- myQ TD8 video doorbell #1812
- Sygonix Smarter dehumidifier #2340
- Giatsu VAW 2 heat pump water heater #2360
- Brilliant ceiling fan with light #2363
- LSC Smart Connect ceiling light #2359 by @a-r-j-a-n
- Klarstein Wonderwall Bornholm IR panel heater #2317
- Avatto curtain with double lightswitch #1892
- MatSee Plus energy meter (V2) #2336
- Enbrighten curtain lights #1989
- Kesser IR heater and light #2367 by @eldi0s
- Kogan KASMGPH heater #2374 by @willieseabrook
- STL siren #2350
- Goldair Platinum SleepSmart electric blanket #2362
- Kiturami NCTR-100 water and heating thermostat #2349
- Windmill window air conditioner #2357 by @ianjsikes
- S11+ IR/RF remote #2378 by @luis-lain
- Sulion Cadillac fan remote #2379 by @luis-lain
- Linda Smart 7S video doorbell #2369
- Vine TJ550 thermostat #2371
- AFYEEV EV charger #2108
- PSmart T436 thermostat #2373
- Noeifevo Q21W EV charger #2130
- Inkbird IPT-2CH reptile thermostat #2381
- Calibo Cloudfan DC #1286
- Powerworld PW58330 water and air heat pump #1530
- Powerworld PW58410 water and air heat pump #1530
- Petoneer Fresco Mini pet fountain #2161
- Loratap RR620W-JL 2-gang switch #2382 by @neilflatley
- Cronos GPH-D-DA heater #2299
Improvements to existing devices
- Galaxy projector: add scenes, icons, alternative effects #1507
- BLE HS06 lock: add compatible C502 lock #1813
- Duux Blizzard: add compatible Klarstein Kraftwerk Smart #2312
- Lublueblu vacuum: fix activation, add more dps #2334
- Stadlerform Roger purifier: add additional entities #2332 by @arnkit
- Duux Blizzard: use
available
flag for heat and ionizer #2312, #2337 - Fairland X20: use
available
flag for boost and cool, use pool_heatpump icon and presets #2337 - Fisher Summer: use
available
flag for hswing and others #2337 - Sanden heatpump: fix energy sensor scale #2355, #2356 by @sorrison
- Sunbeam dual bed warmer: improve compatibility #2249
- Cleverio doorbell: correct humanoid filter switch #2295
- PIR spotlight: add support for LSC floodlight #2022
- BLE plant moisture: add a refresh button #1696
- Loratap zigbee curtain: add compatibility with WiFi device #2077
- Create fan: improve compatibility #2383
- BHT002 GBLW thermostat: add Heat state #2386
- Deakon EVI water heat pump: add diagnostic and parameter entities #2338
- Dongguan garrage door: add voice switch #2389
General improvements
- Added
available
flag support for entities and select options. #2337 - water_heater: fix behaviour when temperature is missing #2353 by @death-droid
- climate: make hvac_action always "off" when hvac_mode is "off"
- humidifier: support action property #2364
2024.9.1 Catching up
2024.9.1 Catching up
Notable changes
- should fix the config flow issues in 2024.9.0
- may improve the hub issues in 2024.9.0 (rewrite of connection code still pending to fix hubs properly)
- 21 new devices, including some older submissions that were deprioritised due to missing information.
- improvements to 11 existing devices (not counting translation improvements)
- standardised icons and translations for Sleep switches, and Language, Initial state and Mopping selectors
Breaking changes
- Requires Home Assistant 2024.9 or later #2239
New devices
- Aktobis WDH-310EK dehumidifier #2275, #2276 by @Athemis
- Dream Maker Feel fan #2277 by @BenJamesAndo
- Fujicool Yuzu heat pump #2262 by @carmelo42
- Malmbergs single dimmer module #1588
- Malmbergs dual dimmer module #1589
- Atorch AT4PW energy meter #1038
- Cleverio AP100 air purifier #2284
- Calex aroma diffuser #1164
- Tongou TO-Q-SYS-WT circuit breaker #2285
- Petrust pet fountain #1173
- Cleverio CD200 doorbell #2295
- Fairland RMIC06 pool heat pump #1301
- Tonepie T1 Pro (v2) cat litter box #2313 by @vossim
- Sanden GAU-A45HPD water heat pump controller #1940
- Puppy Kitty pet feeder #2301 by @Aegeontis
- Silvercrest HF-6602T air fryer #2298
- eLinkSmart KH-SY2626 fan #1474
- HDMI TV ambient lighting 65 #1475
- iLonda L88 fish feeder #1619
- iHunt 400m³/h air purifier #1485
- Inventor Comfort air conditioner #1486
Improvements to existing devices
- EM3378 weather station: fix some mappings and units #419
- Gaqqee KWS-302WF: fix scaling of some sensors #2257
- TCS024B plant moisture sensor: fix scaling of temperature #2293 by @almirus
- Atorch AT2PL: add refresh rate control from compatible GR2PWS #2299
- SmartplugV2 EnergyV3: add compatible EARU 1P breaker device #2299
- Moebot S lawnmower: support new RETURNING state #2278, #2239 by @chmielowiec
- CCT v1 lightbulb: add compatible Geeni bulbs #1360
- GE Jasco toggle switch: add compatible Loratap switch #1446
- Lefant M213 vacuum: improve compatibility for M210P #1467
- Lefant T700: improve compatibility in line with other Lefants #1467
- Goldair 101cm fan: fix preset definitions
General improvements
- config flow: only pause/resume active devices when testing #2288
- fan: enable TURN_OFF when fan has no switch but allows setting speed to 0 #2164
- valve: allow mapped values to define a variable valve #1173
- climate: expanded range of preset translations for pool_heatpump #1301
- water_heater: set support flag for ON_OFF when appropriate #2315
- subdevices: use cid as tinytuya device id, as it must be unique #1054, #2289
- switch: standardise icon and translations for Sleep switches #1708
- select: standardise icon and translations for Language, Initial state and Mopping selectors #1708
- translations: filled in missing translations by AI #1708 (except some Urdu that the AI could not handle)
Development improvements
- new util/duplicates.py: to detect possible duplicates of submitted configs
2024.9.0 Catchup
Highlights
- 30 new devices supported
- 17 existing devices with improvements
- 33 issues solved, 9 pull requests merged from 9 contributors,
Breaking changes
- This release requires HA 2024.8 or later
New devices
- Faroro pet feeder #2215 by @jon-sanders
- Stepuptech SPD-800 solar inverter (second variant) #2231 by @sj29fr
- Sobralik pet water fountain #1846 by @edev-us
- Calex S45 Clear E27 lightbulb #2210
- AquaForte Inverter VSP pool pump #2252
- ForceClima Soundless portable air conditioner #2222 by @tv4you2016
- BSTUOKEY invisible door lock #2111
- Arlec USB strip lights #2128
- Princess DC pedestal fan #2141
- TS106 alarm system #2147
- Dual CT clamp bidirectional energy meter #2170
- RSE TY-WFH gate controller #2173
- Kogan vertical window air conditioner #2174
- Create ceiling fan with light #2175
- O'TU R1O1 fingerprint door lock #2190
- Thermoval TVT 40 thermostat #1421 by @madpeteguy
- Hunter Pacific 9 speed fan with light #1529
- Vaco Moby Blue/Arrifana portable heatpump #2228
- MeacoDry Arete Two dehumidifier #2232
- Cleverio PF100 pet feeder #2235
- Zemismart AM25 roller blinds #2218
- Enlighten Cafe sting lights #2107
- Lefant T700 vacuum #2241
- FlinQ Breeze fan #2256
- Nine EV charger #2254 by @mat1990dj
- Duux Bright air purifier #2269
- Gaqqee KWS-302WF energy meter #2257
- Ciarra CBCS5850 range hood #2258
- Cecofry 5500 Connected air fryer #2261
- Leoffen LFIM6000 ice cube maker #2281
Improvements to existing devices
- PH-W218 water quality monitor: set temperature unit #1997
- Simple garage door: mark command as optional #2242 by @RGarrido03
- Sunbeam dual bed warmer: mark side B as optional #2249
- Sunbeam dual bed warmer: add Stay_On to side A timer #2248
- SWS weather station: Add screen brightness #2251 by @Dedemoos
- Loonas curtain: mark current position as optional for Zemismart compatibility #1852
- YX-025-WB aroma diffuser: unmark excessive optional dps
- Locks: mark potentially sensitive dps to avoid accidental credential disclosure in bug reports
- EARU breaker: mark breaker id as optional for Zemismart compatibility #2219
- Ultenic air fryer: use translations for recipes #1708
- Vevor EV charger: mark some dps optional for SS_EU15O_M2 compatibility #2280 by @alexandrebelloni
- Vevor EV charger: fix phase A power sensor #2280
General improvements
- Fan: add TURN_ON and TURN_OFF to support flags #2164
- Config flow: test the connection in an executor job to support Auto IP address again #2244
- Subdevices: share same parent connection among subdevices #1054, #1323
- Cloud config flow: do not filter out hub devices that are already configured #1054
Documentation improvements
- climate: add new defrosting hvac_action #2165
Development improvements
- raise test errors for configs with no non-optional dps