Skip to content

Releases: make-all/tuya-local

2024.7.0 Greek and Chinese

15 Jul 13:49
2024.7.0
1f5ecff
Compare
Choose a tag to compare

Highlights

  • New translations to Greek and Chinese thanks to @ChriZathens and @jianyun8023
  • 34 new devices
  • Improvements to 15 existing devices
  • 31 PRs, many by first time contributors

New devices

Improvements to existing devices

  • Bresser weather station: compatibility improvements #1975
  • Owon PCT513: use preheating action, improve C/F handling #1948
  • BLE smart plant moisture sensor: use moisture class rather than humidity #2019 by @almirus
  • Tefal Xplorer: make yaml available, improve compatibility #2017
  • Aubess 2-gang: add compatible double garage door controller #1857
  • Catit Pixi: add duration class to time sensors #2006
  • Atorch S1WP: fix current unit #2030 by @gy6221
  • Royal Clima Fresh: add a power sensor (kW converted from BTU) #2037 by @almirus
  • Kogan LX10: improve command/pause handling and compatibility #2032
  • Fisher Summer: add compatible Daitsu air conditioner #1933
  • Atorch S1WP: add update interval #2049 by @Lxeon
  • Puppy Kitty pet feeder: add matching product id #2057 by @Aegeontis
  • Kabum 700 v2023: make mopping optional #2072
  • Chanfok fan light: fix data types, improve compatibility #2068
  • SmartplugV2 Energy: use correct product id for Arlec PC191HA #2101
  • Goodcell EV charger: improve compatibility #2102, #2106

General improvements

  • Greek translations #1995, #2023 by @ChriZathens
  • diagnostics: Add ability to redact device data #1984
  • cameras: redact images from diagnostics #1984
  • light: add "off" to effects when it is combined with color_mode #1598
  • sensor: unixtime made to work without any mapping #2080
  • config flow: load yaml in an executor #2083
  • tinytuya: upgrade to 1.15.0
  • config flow: improve error message
  • Revert #1856 fix, as it causes naming problems for sensors, numbers and binary_sensors
  • Chinese translations #2113 by @jianyun8023

Development improvements

  • improved checking for state class on sensors
  • removed broken sonarcloud config

2024.6.0 improved cloud setup flow

09 Jun 09:01
2024.6.0
16ca55f
Compare
Choose a tag to compare

Highlights

This release brings improvements to the new cloud setup flow from the last release, especially for hubs, or when device IP address discovery fails.
It also fixes some new warnings that HA 2024.6.x complains about in their quest for startup performance at all costs.

Breaking changes

  • Minimum HA requirement is now 2024.5, due to substantial changes forced by that version that appear to have issues on earlier versions
    of HA.

New devices

Improvements to existing devices

  • Skyfan DC: improve detection compatibility #1959
  • Tonepie litter box: improve detection compatibility #1963
  • Catit Pixi feeder: add Puppy Kitty compatible device #1966 by @Aegeontis
  • WDYK 3P enery monitor: fix energy sensor scale #1865 by @rostKo
  • IPS Pro heatpump: add cooling support, and fix presets #1952 by @chris-garbos
  • Graywind shade: add Zemismart compatible device #1852
  • BVP CP1 heater: add hvac_action #1977
  • Moebot S: make problem sensor non-persistent #1983
  • IR Moes heatpump: make connectivity a sensor not switch #1970 by @fabianoarruda
  • Nedis mobile air conditioner: add swing_mode #1986 by @Zelaf
  • IR Moes, Neo IR: fix naming of heat_cool hvac mode #1970
  • Windcalm fan wit light: support variant without brightness control #1976 by @christiaanderidder

General improvements

  • Config flow: do not abort when local discovery fails #1951
  • Deprecated entities: only log when the entity is enabled #1961
  • tinytuya upgraded to 1.14.0
  • Config flow: check hub categories to detect hubs #1960, #1956
  • Entity names: avoid None in names when device class is given #1856
  • alarm_control_panel: do not enforce unsupported code entry in HA 2023.6
  • shutdown: handle CancelledError to support unloading offline devices #1974
  • water_heater: log original units when they are incorrect #1855
  • unit handling: return strings when converting unit abbrevs #1855
  • climate/water_heater: don't report error when still finding unit #1855
  • load yaml in executor job to avoid blocking event loop #1981
  • setup device in executor job to avoid blocking event loop #407

Development improvements

  • use latest pytest-homeassistant-custom-component corresponding to at least HA 2024.5 release

2024.5.3 Cloud setup

25 May 14:35
2024.5.3
c696391
Compare
Choose a tag to compare

Highlights

  • improved HA 2024.5 compatibility
  • a new config flow that allows optional use of Tuya cloud to fetch device details
  • 13 new devices
  • improvements to 18 devices

New devices

Improvements to existing devices

  • SH07 sprinkler: add support for SH07S-TY #1882 by @AdrianGarside
  • Holman WX8 irrigation: fix Zone 4 mapping #1886 by @TwoWheelPro
  • SNT957W sensors: scale sensors by 10 #1907
  • pH-W218 sensors: improve detection #1862
  • Lublueblu vacuum: improve detection #1875
  • Moes TRV: improve detection #1891
  • MRC Magnum: improve detection #1899
  • Tesla air conditioner: fix power limit conflict #1571
  • Lefant M213 vacuum: improve detection
  • Nice Digi lock, Single phase clamp meter, Tonepie litter box: fix event entities #1714
  • Yueqing curtain: invert position #1781
  • BLE plant moisture sensor: expose temperature unit, to also allow manual polling #1696, #1910
  • Hydrotherm Dynamic/X8 water heater: support Aquatech branded variant #1922
  • Fairland IPHCR15: add compatible Phalen Calidi device #988
  • Loratap relay, Loratap Zigbee curtain: remove invalid scale #1930
  • Beok TGM50 improve detection #1930
  • Intelbras lock: add missing features #1792
  • Royal Clima Fresh: add missing features #1928 by @almirus
  • SmartplugV2 energy: add compatible Smartrul device #1845
  • Camnsmart E27 camera: fix button mappings #1596
  • Plikc Neve thermostat: improve heating/cooling support #1878 by @beltra

General improvements

  • start the background threads from the event loop to allow standard HA thread handling #1917
  • rewritten config flow with cloud support for getting device details #1881 by @AdrianGarside

2024.5.2 Take three

03 May 22:51
2024.5.2
dbcc3a7
Compare
Choose a tag to compare

Thanks to @craibo who was able to create and test a fix for the HA 2024.5 issues while I was away and unable to do so myself.
Unlike the previous two takes, this is a tested fix, and not just a speculative guess at what has changed in HA's unwritten expectations for integration startup.

2024.5.1 Take two

02 May 05:38
2024.5.1
81e0071
Compare
Choose a tag to compare
  • 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 hotfix for new HA release

01 May 23:08
2024.5.0
4a05f5e
Compare
Choose a tag to compare

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 translation expansion

27 Apr 23:59
2024.4.0
4773f02
Compare
Choose a tag to compare

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 Valves

27 Mar 07:34
2024.3.2
46749b1
Compare
Choose a tag to compare

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 Hotfix

04 Mar 22:32
2024.3.1
be8486c
Compare
Choose a tag to compare

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 Icon translations

04 Mar 15:37
2024.3.0
b5e2dca
Compare
Choose a tag to compare

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