Tuya Local Versions Save

Local support for Tuya devices in Home Assistant

2024.5.1

2 weeks ago
  • opt the integration out of some recent init changes #1871

https://developers.home-assistant.io/blog/2024/03/09/import_executor_default

Change was introduced in 2024.4, but it seems it caused instability which caused the HA developers to double down and cause integrations to fail in 2024.5 rather than back out the unstable change.

2024.5.0

2 weeks ago

Fixes an issue where HA 2024.5 stops the integration from receiving updates unless devices are polled.

Improvements to existing devices

  • many climate, water_heater devices: define temperature units #1855
  • Yagusmart/Zemismart energy meter: make breaker id optional #1858

General improvements

  • migration: use async_update_entry to avoid deprecation warnings #1854
  • receive threads: schedule updates instead of calling async_ha_write_state directly #1869

2024.4.0

3 weeks ago

Breaking changes

  • climate: aux_heat support has been removed, as HA started issuing deprecation warnings. Only 3 devices used this, and have had alternative switches since HA removed aux_heat from the UI some time ago. #1784
  • humidifiers: remove deprecated separate humidity sensors (replaced by humidifier current_humidity attribute)
  • ZX G30: remove separate buttons (replaced by alarm_control_panel)
  • Some entity names were standardised for translation #1708. The following could not be handled by migrations:
    • light uv_sterilization: converted to switch
    • switch indicator, backlight, display: converted to light
    • light led: renamed to indicator or default, depending on usage
    • Loycco sound nightlight: unnamed light renamed to nightlight

New devices

  • Sol*Aire Vitra S2 panel heater #1770
  • Feyree EV wallbox #1730
  • Royal Clima Fresh air conditioner #1703
  • Nice Digi door lock #1714
  • Vevor portable EV charger #1757
  • Multi Leaf DY-107 thermostat #1718
  • Moes BR-100 TRV thermostat #1780
  • Yueqing Combo curtain motor #1781
  • ElectriQ EcoSilent 12WAP air conditioner #1807
  • Beca BAC/BHT-006 thermostat #1822
  • Arlec smart button #1828
  • NovaDigital SL06 lock #1830
  • Eurom Sani towel rail #1810
  • Confortotal CICON242 mini split air conditioner #1835

Improvements to existing devices

  • PJ1103 clamp meter: fix scale of energy sensor #1782
  • Moebot S mower: improve Parkside mower compatibility #1778
  • HDMI sync light: use white instead of brightness for color light #1788
  • YX316 aroma diffuser: make sound switch optional #1134
  • ElectriQ EcoSilent 14HPW: make some dps optional #1130
  • Goodcell EV charger: correct sensor scales and state classes #1808
  • Zemismart roller shade: revert position reversal #1830
  • Avatto, BHT002 GBLW, Hysen H08ACF thermostats: don't try to define default mapping inside conditions #1560
  • Renpho air quality: use enum rather than aqi for textual air quality sensor #1832
  • Inventor Eva Ion Pro: make water level optional #1839
  • Leos Loo Too: make light optional #1840
  • Lublueblu vacuum: make activate, charge, direction_control optional #1829
  • Eesee Adam: split tank sensor into tank_full, defrosting and general problem sensors #1841
  • RGBCW lightbulb: add compatible ANWIO BR30 #1844

General improvements

  • climate: work around HA's false deprecation log message #1513, #1632, #1637, #1734, #1737
  • German translations added #1797
  • translations: added UV sterilization and Ionizer switch translations and icons #1708
  • translations: added Heater climate translations and icons #1708
  • translations: added Time remaining sensor translations and icons #1708
  • translations: added Backlight, Display, Indicator, Laser, Nightlight, Flame, Embers, Logs light translations and icons #1708
  • event: don't re-trigger events when device keeps reporting the same value #1818
  • config flow: don't default IP to "Auto" to avoid encouraging this suboptimal config setting #407

Development changes

  • tests are temporarily constrained to run against HA 2024.4.4, as the 2024.5 beta is causing the tests to hang for unknown reason.
  • Water heater tests: use simpler Geyserwise config for base tests

2024.3.2

1 month ago

Highlights

  • Support for valve entities
  • 26 new devices
  • almost 50 devices improved
  • fan, light and remote bugfixes

New devices

  • Nooie NSP21 smart plug #1711
  • Nooie PU13 smart plug #1711
  • Feit RGB light bulb #1724
  • Peteme recessed light #1724
  • ERZ04C dual clamp energy meter #1716
  • iHome AutoVac Nova vacuum #1660
  • MoistenLand water timer #1092
  • Plikc Neve X RFW thermostat #1350
  • Silvercrest coffee maker #1731
  • HoneyGuardian S56 pet feeder #1670
  • PY321-Z-TY zigbee energy meter #1671
  • Maxico aroma diffuser #1675
  • Hysen H02TP thermostat #1677
  • KKMoon knob thermostat #1727
  • Lehmann LHOHC-2013C radiator #1737
  • Madimack Inverflow Pro pool pump #1736
  • Zemismart DP-WBS01 8-zone sprinkler controller #1701
  • Orison ambient RGB bladeless ceiling fan #1750
  • Eruiklink curtain motor #1735
  • LS830-TY curtains #1680
  • Moes WS-Y-EUC curtain switch #1751
  • WF-WS02 RJ dual switch #1753
  • Camnsmart E27 camera #1336
  • Tediton K7 lock #1391
  • Simple dual switch #1773
  • YSG BS01 bluetooth lock #1713

Improvements to existing devices

  • Many devices: fixed conditional mappings that tried to use a default condition #1709 (mostly affecting hvac_action and swing_mode on some climate entities, action on some cover entities, and vacuum activate/pause handling)
  • simple switch timer v2: added Gireier USB switch as compatible device #1721
  • Water valves/sprinklers etc: use new valve entity, deprecate old switch entities #1720
  • WDYK 2P 63A meter: fix decoding of phase B and C #1717
  • Ovlaim fan: use integer speed instead of string #1728
  • Inventor Tokens Legend: improve detection by marking dps as optional #1513
  • Moebot S: add commands and statuses from S5 docs #1665
  • Nedis Pet feeder: improve detection by marking dps as optional #1733
  • Shinco 30D: make compatible with 50D also #1748
  • Beok TGR81: correct confused product info #1742
  • IR Moes heatpump remote: add remote entity and identified some unknown dps #1755
  • Evotherm ETI pool heatpump: make compatible with AquaTherm model #1712
  • Zigbee smartbulb: add another compatible Moes bulb #1762
  • Tongou QCB2 single phase: improve detection by making dps optional #1769
  • Yinmik water quality: improve detection by making pH optional #1754
  • Ecopoint EV charger: improve detection by making charge current optional #1768
  • Madimack Elite V3: add power sensor #1772
  • ZX-DB11 doorbells: correct ringing sensor type, add detailed attribute #1761

General improvements

  • Improved Hungarian translations #1715
  • remote: fixed handling of type dp #1719
  • valve entity support added #1720
  • fan: avoid init error when optional speed dp is not sent by device #1513
  • light: avoid init error when optional brightness dp is not sent by device #1738

Development improvements

  • cleaned up functions to not explicitly return None at the end
  • clean up exception handling in switches

2024.3.1

2 months ago

Fixes an issue with migration of "tank" binary sensors to either tank_full or tank_empty as appropriate in 2024.3.0

2024.3.0

2 months ago

Highlights

  • More reliable logging when adding new devices
  • More translated entity names
  • Icon translations

Breaking changes

  • HA 2024.2 is now required #1579, #1597
  • some entity names have been commonized to take advantage of name and icon translations. Migrations take care of most of these, but if you have yaml defined automations, you may need to update these manually. The following changes could not be migrated and will require manual cleanup of the old entities, and updating of any references in the UI, automations etc:
    • ETOP FCU child lock was changed from a switch to a lock
    • Holman WX1 and WX2 changed some number entities for "Time left" to sensor entities renamed as "Time remaining"
    • Proscenic M9 error message sensor was changed to a problem binary sensor
    • Rotenso Ronix and Stadler Form Roger unnamed sensor given the correct pm 2.5 class, so ids will change accordingly.
    • Shinco 30D fault code sensor was removed, the info was added as an attribute to the problem binary sensor.
    • Vacplus fault sensor replaced with problem and tank_full binary sensors
    • Garza irrigation alarm binary sensor renamed to the standard problem. Although the entity type was unchanged, due to other devices using "alarm" binary sensors for actual alarms, it was not possible to easily migrate this change.

New devices

  • Tongou ST463JWT circuit breaker meter #1667
  • Curtains with feedback (same as QS C01, but accurately report current position) #1681
  • Madimack Elite V3 heatpump (new incompatible version) #1691
  • Dongguan LY1678-2 curtain #1698
  • SGS01 BLE soil moisture sensor #1696
  • SNT957W-DE CBU temperature/humidity sensor #1702
  • SNT957W-TDE temperature sensor #1699
  • LightStar track light #1700
  • BHT-002 GBLW thermostat #1684

Improvements to existing devices

  • ZX G30 alarm: added more entities #1673
  • Tongou QCB2: expose online state as a switch rather than sensor, so it can be used to trigger more frequent sensor updates #1483
  • Beca BHT-002 improve compatibility by making mode optional #950
  • Hydrotherm Dynamic X8: use inlet as current temperature #1686

General improvements

  • config: DPS are always logged when the device selection dialog is shown, previously they were only shown if there was no 100% match #1667
  • climate: add reporting of TURN_ON and TURN_OFF to supported features #1597
  • init: network exceptions are now caught and rethrown as ConfigEntryNotReady so HA retries setup later #1683
  • unique_id now uses translation_key if both name and class are missing to facilitate wider use of translated names #1579
  • HA 2024.2 icon translations are supported #1579 The following entity types were updated to use icon and name translations:
    • Child locks
    • Number and select Timer entities (some previously labelled countdown)
    • Problem binary sensors (previously labeled fault, error or others)
    • Temperature unit selects (some previously named differently)
    • Defrost binary sensors (some previously named anti-frost etc)
    • Anti-frost switches (some previously named defrost etc)
    • Tank full binary sensors (previously named just tank, or other variations)
    • Tank empty binary sensors (previously named just tank, or other variations)
  • Translated names work again (was broken in 2023.11 by HA removing a deprecation warning in a way that changed the name handling)
  • config: description for name step removed obsolete mention of selecting entities
  • Japanese translations added

Development improvements

  • CI: updated github actions to use nodejs 20 versions
  • tinytuya library bumped to 1.13.2
  • icon has been documented as deprecated, try to use icons.json and translation_key instead #1579
  • new translation_only_key added to handle cases where we want the unique_id to ignore translation_key (mainly to keep backward compatibility) #1579
  • a schema based test was added to YAML configs, to detect difficult to spot errors such as out of place keys, misspelled keys etc
  • Python formatting changed to satisfy ruff 2024 stable update
  • CI: add a new YAML-only test job, and make the full test only run when there are python changes

2024.2.1

3 months ago

Breaking changes

  • Home Assistant 2024.1 or later is now required #1444
  • Light brightness now uses the full range in Home Assistant even when the range in Tuya is limited, this can lead to big differences for a given brightness value, especially toward the lower end of the scale for bulbs only supporting dimming down to 10%. #1444
  • Both fan speed and light brightness can have small discrepencies in reported values due to the scaling change. #1444
  • Support for Tadiran air conditioners has been removed. The company manufacturing these devices was spun out from an Israeli Military contractor and still maintains connections at board level. If you are using one of these devices you may wish to avoid upgrading until you find a more ethically sourced replacement.

I acknowledge that some users may be upset by this decision, but the decision is final so it will not help to argue against it. In particular abusive comments in discussions will not be tolerated.

New devices

  • Moes IR/RF remote controls (IR support only for now) #929
  • Wärme electric heater #1606 #1623
  • Meterk single phase clamp meter #1575
  • Tesla Smart XL dehumidifier #1600
  • Leo's Loo Too cat litter box #1577
  • Comon 8 function string lights #1630
  • Mirabella Genio Pixel oval ceiling light #1538
  • 1 channel dimmer module #1611
  • Timeguard WFPIR motion light controller #1590
  • Keyun RGB chandelier fan #1628
  • Dual channel dimmer module #1649
  • Holman WX8 irrigation controller #1566, #1650
  • Dynasty BTX fireplace #1646
  • Kesser 3000W infrared heater #1651
  • Kesser 400W infrared wall heater #1651
  • Graywind window shades #1656
  • Kerui JS-P162 300W camera #1525
  • Kerui 200W camera #1526
  • Herschel infrared heater #1659
  • Kabum Smart 700 vacuum 2023 model #1662
  • SmartCurtain curtain motor #1627
  • EPT tank level sensor #1653
  • Tongou QCB2 single phase circuit breaker energy meter #1657

Improvements to existing devices

  • ZN373186 temp/humidity: relax requirement for battery sensor to improve detection #1636
  • Caldo Up T: separate out auto from hvac_mode as the device seems to reject combining two dps #1286
  • Dual clamp meter: support use with a single clamp #1604
  • BHT-002 GALW: support GBLW also #1593
  • SmartplugV2 EnergyV2: expand to optionally support all Moes smartplug features #1409
  • QS C01 curtain: support zigbee version also #1634
  • NAC air purifier: improve device detection #1654
  • BSTUOKEY access keypad: improve device detection #1152

General improvements

  • fan: Use new (in HA 2024.1) scaling functions for fan speed #1444
  • light: Use new scaling functions for brightness #1444

Development improvements

  • light/fan configs: no longer require scale to be specified for fan speed or light brightness as scaling is automatic #1444
  • CI now run with Python 3.12 to stay in sync with Home Assistant

2024.2.0

3 months ago

Highlights

  • Lights were broken in HA 2024.2 due to stricter handling of supported_color_modes. This release fixes that.

New devices

  • Generic 2 outlet, 2 USB smartplug #1584
  • Poolex Arctic pool heat pump #1582
  • Holman WX8 irrigation controller #1566
  • Ironzon fingerprint lock #1554
  • Avatto ME81 thermostat #1560
  • Tesla TAF series air conditioners #1571
  • CleanAir 604B humidifier #1612
  • Goodcell 3-phase EV charger #1570
  • Kogan bladeless fans #1480
  • Kogan Y12 and Y16 air conditioners #1480
  • Mirabella Genio 5 outlet powerstrip #1480
  • Tonepie cat litter box #1541

Improvements to devices

  • Touchstone fireplace: match the ember light control to actual device function #1372
  • Lefant N3: match basic controls to actual device function #1393
  • Nedis air quality: use VOC_parts class for ppm sensor #1601
  • Hombli thermostat: improve compatibility, add valve sensor #1424, #1621
  • IH001 LED controller: fix scene selector #1629
  • Asakuki diffuser, Ustellar light bar: fix selectors #1629

General improvements

  • event: fix error when including extra state attributes with the event #1578
  • climate: allow min and max temperature dps to be optional #1560
  • light: don't set brightness when switching into color mode #1595
  • device: log warnings for protocol errors during initial config #1609
  • light: fix supported_color_modes return type #1631, #1633

2024.1.1

3 months ago

Lint was enabled for YAML files, leading to a lot of whitespace cleanup, and a few more significant changes that may have fixed some issues for some devices. Support for a couple more models of vacuum cleaner was also added, so you too can clean up ready for the new Lunar Year.

New devices

  • Another variant of Alutherm 2000 #1502
  • Tongou QCB2-WB circuit breaker #1429
  • Tesvor S6 vacuum #1422
  • Madimack Eco pool heatpump #1431
  • Inkbird IHC-200 humidity controller #1466
  • CleanAir 605B humidifier #1539
  • Tesla aroma diffuser #1469
  • PNI water feeder #1470
  • Yagusmart energy meter #1473
  • Taurus Agadir oil column heater #1478
  • Weeket kettle #1481
  • ETOP FCU thermostat #1522
  • WeatherStation Pro #1528
  • Carro humidifier #1411
  • Eglo ceiling fan #1492
  • EVSun EV charger #1501
  • Mellerware Comfy electric radiator #1506
  • Inventor Leon #1513
  • Lefant N3 vacuum #1393
  • Arlec RF transmitter #1516
  • Moes 4-gang switch #1463
  • Idea Heating Belt air conditioner #1540
  • EcoPoint EV charger #1549

Improvements to existing devices

  • Touchstone fireplace: fix embers #1372
  • Smart watering device: improvements to icons, units and run time sensor #1499
  • Blitzwolf BW LT31: Use string rather than hex for select_music #1505
  • Evotherm ETI: use preset mode rather than often missing work_mode for hvac_mode logic, scale redirected temperatures #1357
  • TTEC vacuum: split start/pause/dock into separate buttons #1509, #1545
  • Poolex Q-line: add anti-frost detection #1510
  • ZY-M201: make sensitivity optional #1515
  • Dimming lightbulb: add timer #1500
  • Hombli radiator valve: fix temperature range #1518
  • Medion S20: add status mapping for "remote"
  • Arlec panel heater v2: make preset_mode optional #1544
  • Windcalm fan with light: expose timer #1563
  • Arlec panel heater: allow child lock to be either dp 6 or 7 as per comment
  • Atomi ceramic heater: support AT1635 by making swing_mode optional #1535
  • Smartplugv2 Energy V3: support UNSH breaker by making child lock optional, add optional temperature sensor #1537
  • about half of all devices: fixed yamllint issues (mostly harmless whitespace)

General improvements

  • water_heater: handle missing current_temperature #1542
  • configs: fixed lint errors
  • device: compare types using instanceof instead of is
  • event: fix logging in exceptional case
  • remote: fix snding multiple commands at once

Development improvements

  • config_flow: update tests for HA 2024.1.2
  • humidifier relax tests to not require a switch, add current_humidity #1466
  • CI: use ruff instead of black and isort (HA already switched, black started producing errors suddenly as they yearly update default checks)
  • CI: add general python lint checking with ruff
  • CI: add yaml lint checking with yamllint
  • CI: enable PR annotation of lint detected issues

2024.1.0

4 months ago

Highlights

  • New entity types: lawn_mower and event
  • 20 new devices supported
  • improvements to 16 devices
  • 9 pull requests merged, 15 issues fixed

Breaking changes

This version requires Home Assistant 2023.9.0 or later. This is required for underlying support for lawn_mower (introduced in HA 2023.9) and event (introduced in HA 2023.8) entities.

New Devices

  • Dreamlight RGBCW LED strip #1341
  • Proscenic A9 air purifier #1457
  • HIRCIR IR remote control #1215
  • Klarstein Wonderwall Air Art IR panel heater #1390
  • Smartmi E1 air purifier #1477
  • Inna/Automat-On 7 channel underfloor heating controller #1348
  • QH-GD Elegant IR heater #1354
  • Evotherm ETI series pool heat pump #1357
  • Neatsvor X600 vacuum #1395
  • TH05 BLE temperature and humidity sensor #1395
  • Prosto PTC 2000 heater #1400
  • GraKit filament dryer #1418
  • Hombli radiator thermostat #1424
  • Becasmart BAF-908 watering device #1430
  • Air Housekeeper 6-in-1 air quality sensor #1461
  • Juskys OH125BW2 oil radiator #1361
  • Touchstone Sideline electric fireplace #1372
  • CNC YCB9ZF circuit breaker #1375
  • Haier Nayun combustible gas alarm #1396
  • Sonnenkonig Eco 700 IR panel heater #1404

Improvements to existing device configs

  • Moebot S: add lawn_mower support, deprecate vacuum workaround. #1068
  • Linkoze and Loratap remotes: add event support for buttons, deprecate binary_sensor workaround #1068
  • HU06, Bstuokey, Lucking, RL, Smardeer, Smart siren: add event support for doorbells, deprecate binary_sensor workaround #1068
  • BLE solar light, PIR spotlight: add event support for stateless motion sensors, deprecate binary_sensor workaround #1068
  • Moes star projector: move color switch to the backlight, and backlight switch to master #821
  • RGB LED strip: add compatible Panamalar Sunset lamp #1479
  • Bstuokey keypad: make doorbell optional #1152
  • Somgom single switch: add mappings for null initial state to avoid startup error #1487
  • TTEC vacuum: improve detection by making power and charge switches optional #1491
  • Smartplugv2 Energyv2: improve compatibility by making energy and calibrations optional #1409

General improvements

  • Support for the lawn_mower platform #1068
  • Support for the event platform #1068
  • Document the dps available for camera entities
  • Improved Russian translations #1477
  • climate: check for unit on all temperature related dps
  • avoid deprecation warnings in HA 2024.1 for empty supported features #1484
  • improve logging for config parsing errors #1487