فهرست منبع

feat! (translations) add filter life sensor, motion sensitivity select

Issue #1708

Migrations provided for changed entity ids, but may still break some
uses of variations on filter_life, filter_reset (buttons),
motion_sensitivity that were standardized.
Jason Rumney 2 ماه پیش
والد
کامیت
9f4149550f
100فایلهای تغییر یافته به همراه238 افزوده شده و 286 حذف شده
  1. 46 0
      custom_components/tuya_local/__init__.py
  2. 4 5
      custom_components/tuya_local/devices/advwin_6l_petfeeder.yaml
  3. 1 2
      custom_components/tuya_local/devices/airrobo_p20_vacuum.yaml
  4. 1 2
      custom_components/tuya_local/devices/alecoair_pu55_humino.yaml
  5. 1 1
      custom_components/tuya_local/devices/alen_35i_airpurifier.yaml
  6. 1 1
      custom_components/tuya_local/devices/alen_45i_airpurifier.yaml
  7. 4 5
      custom_components/tuya_local/devices/bcom_intercom_camera.yaml
  8. 1 2
      custom_components/tuya_local/devices/bneta_f1d_petfeeder.yaml
  9. 1 1
      custom_components/tuya_local/devices/breville_airrounderplus_heater.yaml
  10. 1 2
      custom_components/tuya_local/devices/breville_easyair_purifier.yaml
  11. 1 2
      custom_components/tuya_local/devices/breville_smart_air_viral_protect_plus.yaml
  12. 1 2
      custom_components/tuya_local/devices/breville_smartairconnect_purifier.yaml
  13. 1 2
      custom_components/tuya_local/devices/catit_pixi_smart_fountain.yaml
  14. 1 2
      custom_components/tuya_local/devices/cecotec_congas1970_vacuum.yaml
  15. 1 1
      custom_components/tuya_local/devices/cecotec_congax70_vacuum.yaml
  16. 1 2
      custom_components/tuya_local/devices/cleanair_604b_humidifier.yaml
  17. 1 1
      custom_components/tuya_local/devices/cleanair_605b_humidifier.yaml
  18. 1 1
      custom_components/tuya_local/devices/cleanair_607b_humidifier.yaml
  19. 1 2
      custom_components/tuya_local/devices/cleverio_ap100_purifier.yaml
  20. 1 1
      custom_components/tuya_local/devices/climative_dh20s_dehumidifier.yaml
  21. 1 2
      custom_components/tuya_local/devices/clofte_duo_400_humidifier.yaml
  22. 4 5
      custom_components/tuya_local/devices/door_peephole_camera.yaml
  23. 2 4
      custom_components/tuya_local/devices/duux_bright_purifier.yaml
  24. 1 2
      custom_components/tuya_local/devices/ebac_dj4000_dehumidifier.yaml
  25. 4 8
      custom_components/tuya_local/devices/emos_ip300_camera.yaml
  26. 3 5
      custom_components/tuya_local/devices/evergreen_birdfeeder.yaml
  27. 1 2
      custom_components/tuya_local/devices/feelneedy_plfp01_petfeeder.yaml
  28. 1 2
      custom_components/tuya_local/devices/fisher_ervq_hd_hrv.yaml
  29. 1 2
      custom_components/tuya_local/devices/fresco_hydrateultra_petfountain.yaml
  30. 2 4
      custom_components/tuya_local/devices/fresco_hydrateultra_petfountain_v2.yaml
  31. 2 2
      custom_components/tuya_local/devices/hapaw_pet_fountain.yaml
  32. 4 5
      custom_components/tuya_local/devices/homemate_ptzcamera.yaml
  33. 1 2
      custom_components/tuya_local/devices/honeywell_air_touch_p2.yaml
  34. 1 2
      custom_components/tuya_local/devices/hosome_purifier.yaml
  35. 4 5
      custom_components/tuya_local/devices/ihseno_ztu_presencesensor.yaml
  36. 1 2
      custom_components/tuya_local/devices/ihunt_400_airpurifier.yaml
  37. 1 2
      custom_components/tuya_local/devices/ihunt_50_airpurifier.yaml
  38. 1 1
      custom_components/tuya_local/devices/ilife_a30_pro_vacuum.yaml
  39. 1 1
      custom_components/tuya_local/devices/ilife_v20_vacuum.yaml
  40. 1 1
      custom_components/tuya_local/devices/ir_moes_heatpump.yaml
  41. 1 1
      custom_components/tuya_local/devices/jafanda_jf260s_airpurifier.yaml
  42. 1 2
      custom_components/tuya_local/devices/jafanda_jf500_airpurifier.yaml
  43. 1 1
      custom_components/tuya_local/devices/kabum_smart700_v2023_vaccum.yaml
  44. 1 2
      custom_components/tuya_local/devices/kanchou_petfountain.yaml
  45. 4 8
      custom_components/tuya_local/devices/kerui_200w_camera.yaml
  46. 4 8
      custom_components/tuya_local/devices/kerui_300w_camera.yaml
  47. 1 2
      custom_components/tuya_local/devices/kilo_plus_air_purifier.yaml
  48. 1 2
      custom_components/tuya_local/devices/klarta_humea_humidifier.yaml
  49. 1 2
      custom_components/tuya_local/devices/kogan_5pro_airpurifier.yaml
  50. 1 2
      custom_components/tuya_local/devices/kogan_air_purifier.yaml
  51. 2 4
      custom_components/tuya_local/devices/kogan_lx10_vacuum.yaml
  52. 2 4
      custom_components/tuya_local/devices/kogan_lx8_vacuum.yaml
  53. 2 4
      custom_components/tuya_local/devices/kogan_vacuum_lx15.yaml
  54. 4 5
      custom_components/tuya_local/devices/kw02_video_doorbell.yaml
  55. 1 2
      custom_components/tuya_local/devices/kyvol_e30_vacuum.yaml
  56. 2 4
      custom_components/tuya_local/devices/liectroux_g7_vacuum.yaml
  57. 1 1
      custom_components/tuya_local/devices/liectroux_xr500_t3_vacuum.yaml
  58. 4 5
      custom_components/tuya_local/devices/lsc_ptz_camera.yaml
  59. 4 5
      custom_components/tuya_local/devices/lscsmartconnect_camerapetfeeder.yaml
  60. 4 5
      custom_components/tuya_local/devices/lscsmartconnect_outdoorcamera.yaml
  61. 4 5
      custom_components/tuya_local/devices/lscsmartconnect_outdoorptzcamera.yaml
  62. 5 6
      custom_components/tuya_local/devices/lscsmartconnect_videodoorbell.yaml
  63. 1 1
      custom_components/tuya_local/devices/lublueblu_sl60d_vacuum.yaml
  64. 1 1
      custom_components/tuya_local/devices/medion_s20_vacuum.yaml
  65. 1 1
      custom_components/tuya_local/devices/medion_x10sw_vacuum.yaml
  66. 1 2
      custom_components/tuya_local/devices/moes_indoorptz_camera.yaml
  67. 4 4
      custom_components/tuya_local/devices/moes_motionsensor_switch.yaml
  68. 1 2
      custom_components/tuya_local/devices/moes_wcmp52_camera.yaml
  69. 1 2
      custom_components/tuya_local/devices/morento_hy4866_wf.yaml
  70. 1 2
      custom_components/tuya_local/devices/morento_mr7566_wf.yaml
  71. 1 2
      custom_components/tuya_local/devices/nac_ap470_purifier.yaml
  72. 1 1
      custom_components/tuya_local/devices/neatsvor_x600_vacuum.yaml
  73. 4 8
      custom_components/tuya_local/devices/nedis_outdoor_camera.yaml
  74. 1 1
      custom_components/tuya_local/devices/neo_ir_climate_controller.yaml
  75. 4 5
      custom_components/tuya_local/devices/nexsmart_watch2_camera.yaml
  76. 1 2
      custom_components/tuya_local/devices/ningbo_bf314a_petfeeder.yaml
  77. 1 2
      custom_components/tuya_local/devices/nx_100ap_air_purifier.yaml
  78. 4 5
      custom_components/tuya_local/devices/petlibro_camera_feeder.yaml
  79. 1 1
      custom_components/tuya_local/devices/petoneer_fresco_ezgo_petfountain.yaml
  80. 1 1
      custom_components/tuya_local/devices/petoneer_frescomini_petfountain.yaml
  81. 2 4
      custom_components/tuya_local/devices/petrust_tkwf002_petfountain.yaml
  82. 1 1
      custom_components/tuya_local/devices/petsnowy_snowplus_catlitter.yaml
  83. 4 5
      custom_components/tuya_local/devices/pinelake_birdfeeder.yaml
  84. 5 5
      custom_components/tuya_local/devices/pir_rgbcw_light.yaml
  85. 7 7
      custom_components/tuya_local/devices/pir_spotlight.yaml
  86. 2 2
      custom_components/tuya_local/devices/proscenic_850t_vacuum.yaml
  87. 6 7
      custom_components/tuya_local/devices/proscenic_a8_airpurifier.yaml
  88. 4 5
      custom_components/tuya_local/devices/proscenic_a9_airpurifier.yaml
  89. 1 1
      custom_components/tuya_local/devices/proscenic_m9_vacuum.yaml
  90. 1 2
      custom_components/tuya_local/devices/royalclima_rcb150_ventilation.yaml
  91. 4 5
      custom_components/tuya_local/devices/sc116wz3a_camera.yaml
  92. 1 1
      custom_components/tuya_local/devices/siguro_apk50_purifier.yaml
  93. 1 1
      custom_components/tuya_local/devices/siguro_sgrhdf300w_dehumidifier.yaml
  94. 1 2
      custom_components/tuya_local/devices/smartmi_air_purifier_p1.yaml
  95. 1 2
      custom_components/tuya_local/devices/smartmi_e1_purifier.yaml
  96. 4 5
      custom_components/tuya_local/devices/smcm_doorbellpro_camera.yaml
  97. 1 6
      custom_components/tuya_local/devices/sobralik_water_fountain.yaml
  98. 1 2
      custom_components/tuya_local/devices/soho_air_purifier.yaml
  99. 1 2
      custom_components/tuya_local/devices/soleusair_air_purifier.yaml
  100. 1 2
      custom_components/tuya_local/devices/stadlerform_karl_humidifier.yaml

+ 46 - 0
custom_components/tuya_local/__init__.py

@@ -740,6 +740,52 @@ async def async_migrate_entry(hass, entry: ConfigEntry):
         await async_migrate_entries(hass, entry.entry_id, update_unique_id13_13)
         hass.config_entries.async_update_entry(entry, minor_version=13)
 
+    if entry.version == 13 and entry.minor_version < 14:
+        # Migrate unique ids of existing entities to new id taking into
+        # account translation_key, and standardising naming
+        device_id = get_device_unique_id(entry)
+        conf_file = await hass.async_add_executor_job(
+            get_config,
+            entry.data[CONF_TYPE],
+        )
+        if conf_file is None:
+            _LOGGER.error(
+                NOT_FOUND,
+                entry.data[CONF_TYPE],
+            )
+            return False
+
+        @callback
+        def update_unique_id13_14(entity_entry):
+            """Update the unique id of an entity entry."""
+            # Standardistion of entity naming to use translation_key
+            replacements = {
+                "sensor_filter_lifetime": "sensor_filter_life",
+                "sensor_filter": "sensor_filter_life",
+                "sensor_filter_days": "sensor_filter_life",
+                "sensor_filter_remaining": "sensor_filter_life",
+                "sensor_filter_remain": "sensor_filter_life",
+                "sensor_filter_replacement": "sensor_filter_life",
+                "sensor_filter_days_left": "sensor_filter_life",
+                "sensor_filter_left_days": "sensor_filter_life",
+                "sensor_filter_left": "sensor_filter_life",
+                "sensor_filter_hours_left": "sensor_filter_life",
+                "sensor_replace_filter_in": "sensor_filter_life",
+                "sensor_filter_change_due": "sensor_filter_life",
+                "sensor_filter_usage": "sensor_filter_life",
+                "sensor_filter_used": "sensor_filter_life",
+                "sensor_filter_time": "sensor_filter_life",
+                "button_reset_filter": "button_filter_reset",
+                "button_replace_filter": "button_filter_reset",
+                "button_filter_changed": "button_filter_reset",
+                "button_filter_replaced": "button_filter_reset",
+                "select_motion_detection": "select_motion_sensitivity",
+                "select_motion_distance": "select_motion_sensitivity",
+            }
+            return replace_unique_ids(entity_entry, device_id, conf_file, replacements)
+
+        await async_migrate_entries(hass, entry.entry_id, update_unique_id13_13)
+        hass.config_entries.async_update_entry(entry, minor_version=14)
     return True
 
 

+ 4 - 5
custom_components/tuya_local/devices/advwin_6l_petfeeder.yaml

@@ -43,8 +43,7 @@ entities:
         optional: true
         name: switch
   - entity: select
-    name: Motion sensitivity
-    icon: "mdi:motion-sensor"
+    translation_key: motion_sensitivity
     category: config
     dps:
       - id: 106
@@ -52,11 +51,11 @@ entities:
         name: option
         mapping:
           - dps_val: "0"
-            value: Low
+            value: low
           - dps_val: "1"
-            value: Medium
+            value: medium
           - dps_val: "2"
-            value: High
+            value: high
   - entity: select
     name: Nightvision
     icon: "mdi:weather-night"

+ 1 - 2
custom_components/tuya_local/devices/airrobo_p20_vacuum.yaml

@@ -114,9 +114,8 @@ entities:
         unit: "%"
         class: measurement
   - entity: sensor
-    name: Filter life
+    translation_key: filter_life
     category: diagnostic
-    icon: "mdi:air-filter"
     dps:
       - id: 9
         type: integer

+ 1 - 2
custom_components/tuya_local/devices/alecoair_pu55_humino.yaml

@@ -54,8 +54,7 @@ entities:
             value: sleep
 
   - entity: sensor
-    name: Filter Life
-    icon: mdi:air-filter
+    translation_key: filter_life
     dps:
       - id: 5
         name: sensor

+ 1 - 1
custom_components/tuya_local/devices/alen_35i_airpurifier.yaml

@@ -30,7 +30,7 @@ entities:
         unit: ugm3
         class: measurement
   - entity: sensor
-    name: Filter life
+    translation_key: filter_life
     dps:
       - id: 5
         type: integer

+ 1 - 1
custom_components/tuya_local/devices/alen_45i_airpurifier.yaml

@@ -44,7 +44,7 @@ entities:
         unit: ugm3
         class: measurement
   - entity: sensor
-    name: Filter life
+    translation_key: filter_life
     dps:
       - id: 5
         type: integer

+ 4 - 5
custom_components/tuya_local/devices/bcom_intercom_camera.yaml

@@ -63,8 +63,7 @@ entities:
         optional: true
         name: switch
   - entity: select
-    name: Motion detection
-    icon: "mdi:motion-sensor"
+    translation_key: motion_sensitivity
     category: config
     dps:
       - id: 106
@@ -73,11 +72,11 @@ entities:
         name: option
         mapping:
           - dps_val: "0"
-            value: Low
+            value: low
           - dps_val: "1"
-            value: Medium
+            value: medium
           - dps_val: "2"
-            value: High
+            value: high
   - entity: select
     name: Night vision
     icon: "mdi:weather-night"

+ 1 - 2
custom_components/tuya_local/devices/bneta_f1d_petfeeder.yaml

@@ -33,8 +33,7 @@ entities:
         optional: true
         name: switch
   - entity: select
-    name: Motion sensitivity
-    icon: "mdi:motion-sensor"
+    translation_key: motion_sensitivity
     category: config
     dps:
       - id: 106

+ 1 - 1
custom_components/tuya_local/devices/breville_airrounderplus_heater.yaml

@@ -158,7 +158,7 @@ entities:
         type: bitfield
         name: fault_code
   - entity: sensor
-    name: Filter remaining
+    translation_key: filter_life
     class: duration
     category: diagnostic
     dps:

+ 1 - 2
custom_components/tuya_local/devices/breville_easyair_purifier.yaml

@@ -39,10 +39,9 @@ entities:
         name: switch
         type: boolean
   - entity: sensor
-    name: Filter days left
+    translation_key: filter_life
     class: duration
     category: diagnostic
-    icon: "mdi:air-filter"
     dps:
       - id: 16
         name: sensor

+ 1 - 2
custom_components/tuya_local/devices/breville_smart_air_viral_protect_plus.yaml

@@ -52,9 +52,8 @@ entities:
         name: switch
         type: boolean
   - entity: sensor
-    name: Filter days left
+    translation_key: filter_life
     category: diagnostic
-    icon: "mdi:air-filter"
     class: duration
     dps:
       - id: 16

+ 1 - 2
custom_components/tuya_local/devices/breville_smartairconnect_purifier.yaml

@@ -54,10 +54,9 @@ entities:
         name: switch
         type: boolean
   - entity: sensor
-    name: Filter days left
+    translation_key: filter_life
     category: diagnostic
     class: duration
-    icon: "mdi:air-filter"
     dps:
       - id: 16
         name: sensor

+ 1 - 2
custom_components/tuya_local/devices/catit_pixi_smart_fountain.yaml

@@ -27,8 +27,7 @@ entities:
         type: boolean
         name: button
   - entity: sensor
-    name: Filter life
-    icon: "mdi:air-filter"
+    translation_key: filter_life
     class: duration
     category: diagnostic
     dps:

+ 1 - 2
custom_components/tuya_local/devices/cecotec_congas1970_vacuum.yaml

@@ -179,9 +179,8 @@ entities:
         unit: "%"
         class: measurement
   - entity: sensor
-    name: Filter life
+    translation_key: filter_life
     category: diagnostic
-    icon: "mdi:air-filter"
     dps:
       - id: 9
         type: integer

+ 1 - 1
custom_components/tuya_local/devices/cecotec_congax70_vacuum.yaml

@@ -283,7 +283,7 @@ entities:
         optional: true
         name: button
   - entity: sensor
-    name: Filter remaining
+    translation_key: filter_life
     class: duration
     category: diagnostic
     dps:

+ 1 - 2
custom_components/tuya_local/devices/cleanair_604b_humidifier.yaml

@@ -125,8 +125,7 @@ entities:
         type: boolean
         name: button
   - entity: sensor
-    name: Filter life
-    icon: mdi:air-filter
+   translation_key: filter_life
     category: diagnostic
     dps:
       - id: 33

+ 1 - 1
custom_components/tuya_local/devices/cleanair_605b_humidifier.yaml

@@ -112,7 +112,7 @@ entities:
         type: boolean
         name: button
   - entity: sensor
-    name: Filter life
+    translation_key: filter_life
     category: diagnostic
     dps:
       - id: 33

+ 1 - 1
custom_components/tuya_local/devices/cleanair_607b_humidifier.yaml

@@ -149,7 +149,7 @@ entities:
         type: boolean
         name: switch
   - entity: sensor
-    name: Filter life
+    translation_key: filter_life
     category: diagnostic
     dps:
       - id: 33

+ 1 - 2
custom_components/tuya_local/devices/cleverio_ap100_purifier.yaml

@@ -17,8 +17,7 @@ entities:
           min: 1
           max: 4
   - entity: sensor
-    name: Filter
-    icon: "mdi:air-filter"
+    translation_key: filter_life
     category: diagnostic
     dps:
       - id: 5

+ 1 - 1
custom_components/tuya_local/devices/climative_dh20s_dehumidifier.yaml

@@ -183,7 +183,7 @@ entities:
         type: boolean
         name: button
   - entity: sensor
-    name: Filter remaining
+    translation_key: filter_life
     category: diagnostic
     dps:
       - id: 23

+ 1 - 2
custom_components/tuya_local/devices/clofte_duo_400_humidifier.yaml

@@ -64,8 +64,7 @@ entities:
         type: boolean
         name: button
   - entity: sensor
-    name: Filter life
-    icon: mdi:air-filter
+    translation_key: filter_life
     category: diagnostic
     dps:
       - id: 16

+ 4 - 5
custom_components/tuya_local/devices/door_peephole_camera.yaml

@@ -36,8 +36,7 @@ entities:
         type: boolean
         name: switch
   - entity: select
-    name: Motion sensitivity
-    icon: "mdi:motion-sensor"
+    translation_key: motion_sensitivity
     category: config
     dps:
       - id: 106
@@ -46,11 +45,11 @@ entities:
         optional: true
         mapping:
           - dps_val: "0"
-            value: Low
+            value: low
           - dps_val: "1"
-            value: Medium
+            value: medium
           - dps_val: "2"
-            value: High
+            value: high
   - entity: select
     name: Nightvision
     icon: "mdi:weather-night"

+ 2 - 4
custom_components/tuya_local/devices/duux_bright_purifier.yaml

@@ -34,8 +34,7 @@ entities:
         class: measurement
         unit: ugm3
   - entity: sensor
-    name: Filter usage
-    icon: "mdi:air-filter"
+    translation_key: filter_life
     category: diagnostic
     dps:
       - id: 5
@@ -50,8 +49,7 @@ entities:
         type: boolean
         name: switch
   - entity: button
-    name: Replace filter
-    class: restart
+    translation_key: filter_reset
     category: config
     dps:
       - id: 11

+ 1 - 2
custom_components/tuya_local/devices/ebac_dj4000_dehumidifier.yaml

@@ -65,9 +65,8 @@ entities:
         unit: C
         class: measurement
   - entity: sensor
-    name: Filter life
+    translation_key: filter_life
     category: diagnostic
-    icon: "mdi:air-filter"
     dps:
       - id: 23
         type: integer

+ 4 - 8
custom_components/tuya_local/devices/emos_ip300_camera.yaml

@@ -60,8 +60,7 @@ entities:
             value: false
             hidden: true
   - entity: select
-    name: Motion sensitivity
-    icon: "mdi:motion-sensor"
+    translation_key: motion_sensitivity
     category: config
     dps:
       - id: 106
@@ -70,14 +69,11 @@ entities:
         optional: true
         mapping:
           - dps_val: "0"
-            value: Low
+            value: low
           - dps_val: "1"
-            value: Medium
+            value: medium
           - dps_val: "2"
-            value: High
-          - dps_val: null
-            value: Unknown
-            hidden: true
+            value: high
   - entity: select
     name: Nightvision
     icon: "mdi:weather-night"

+ 3 - 5
custom_components/tuya_local/devices/evergreen_birdfeeder.yaml

@@ -99,14 +99,14 @@ entities:
         optional: true
         force: true
   - entity: select
-    name: Motion sensitivity
+    translation_key: motion_sensitivity
     category: config
-    translation_key: mode
-    icon: "mdi:motion-sensor"
     dps:
       - id: 106
         type: string
         name: option
+        optional: true
+        force: true
         mapping:
           - dps_val: "0"
             value: "low"
@@ -114,8 +114,6 @@ entities:
             value: "medium"
           - dps_val: "2"
             value: "high"
-        optional: true
-        force: true
   - entity: switch
     name: Motion detection timer
     category: config

+ 1 - 2
custom_components/tuya_local/devices/feelneedy_plfp01_petfeeder.yaml

@@ -45,8 +45,7 @@ entities:
         type: string
         name: storage
   - entity: select
-    name: Motion sensitivity
-    icon: "mdi:motion-sensor"
+    translation_key: motion_sensitivity
     category: config
     dps:
       - id: 106

+ 1 - 2
custom_components/tuya_local/devices/fisher_ervq_hd_hrv.yaml

@@ -59,9 +59,8 @@ entities:
         unit: C
         class: measurement
   - entity: sensor
-    name: Filter remaining
+    translation_key: filter_life
     class: duration
-    icon: "mdi:air-filter"
     category: diagnostic
     dps:
       - id: 11

+ 1 - 2
custom_components/tuya_local/devices/fresco_hydrateultra_petfountain.yaml

@@ -57,8 +57,7 @@ entities:
             value: true
 
   - entity: sensor
-    name: Filter life
-    icon: "mdi:air-filter"
+    translation_key: filter_life
     category: diagnostic
     class: duration
     dps:

+ 2 - 4
custom_components/tuya_local/devices/fresco_hydrateultra_petfountain_v2.yaml

@@ -101,8 +101,7 @@ entities:
             value: true
 
   - entity: sensor
-    name: Filter change due
-    icon: "mdi:air-filter"
+    translation_key: filter_life
     category: diagnostic
     class: duration
     dps:
@@ -117,8 +116,7 @@ entities:
         unit: "min"
 
   - entity: button
-    name: Filter changed
-    icon: "mdi:sync"
+    translation_key: filter_reset
     category: config
     dps:
       - id: 102

+ 2 - 2
custom_components/tuya_local/devices/hapaw_pet_fountain.yaml

@@ -27,7 +27,7 @@ entities:
           - dps_val: pir
             value: motion
   - entity: sensor
-    name: Filter remaining
+    translation_key: filter_life
     class: duration
     category: diagnostic
     dps:
@@ -54,7 +54,7 @@ entities:
         unit: d
         class: measurement
   - entity: button
-    name: Filter reset
+    translation_key: filter_reset
     category: config
     dps:
       - id: 5

+ 4 - 5
custom_components/tuya_local/devices/homemate_ptzcamera.yaml

@@ -35,8 +35,7 @@ entities:
         type: boolean
         name: switch
   - entity: select
-    name: Motion sensitivity
-    icon: "mdi:motion-sensor"
+    translation_key: motion_sensitivity
     category: config
     dps:
       - id: 106
@@ -44,11 +43,11 @@ entities:
         name: option
         mapping:
           - dps_val: "0"
-            value: Low
+            value: low
           - dps_val: "1"
-            value: Medium
+            value: medium
           - dps_val: "2"
-            value: High
+            value: high
   - entity: sensor
     name: SD status
     class: enum

+ 1 - 2
custom_components/tuya_local/devices/honeywell_air_touch_p2.yaml

@@ -46,8 +46,7 @@ entities:
         class: measurement
 
   - entity: sensor
-    name: Filter life
-    icon: "mdi:air-filter"
+    translation_key: filter_life
     category: diagnostic
     dps:
       - id: 5

+ 1 - 2
custom_components/tuya_local/devices/hosome_purifier.yaml

@@ -41,9 +41,8 @@ entities:
         class: measurement
         unit: ugm3
   - entity: sensor
-    name: Filter
+    translation_key: filter_life
     category: diagnostic
-    icon: "mdi:air-filter"
     dps:
       - id: 5
         type: integer

+ 4 - 5
custom_components/tuya_local/devices/ihseno_ztu_presencesensor.yaml

@@ -15,20 +15,19 @@ entities:
             value: true
           - value: false
   - entity: select
-    name: Motion sensitivity
+    translation_key: motion_sensitivity
     category: config
-    icon: "mdi:motion-sensor"
     dps:
       - id: 9
         type: string
         name: option
         mapping:
           - dps_val: low
-            value: Low
+            value: low
           - dps_val: middle
-            value: Medium
+            value: medium
           - dps_val: high
-            value: High
+            value: high
   - entity: sensor
     class: illuminance
     dps:

+ 1 - 2
custom_components/tuya_local/devices/ihunt_400_airpurifier.yaml

@@ -42,9 +42,8 @@ entities:
         class: measurement
         unit: ugm3
   - entity: sensor
-    name: Filter
+    translation_key: filter_life
     category: diagnostic
-    icon: "mdi:air-filter"
     dps:
       - id: 5
         type: integer

+ 1 - 2
custom_components/tuya_local/devices/ihunt_50_airpurifier.yaml

@@ -23,9 +23,8 @@ entities:
           - dps_val: high
             value: 100
   - entity: sensor
-    name: Filter
+    translation_key: filter_life
     category: diagnostic
-    icon: "mdi:air-filter"
     dps:
       - id: 5
         type: integer

+ 1 - 1
custom_components/tuya_local/devices/ilife_a30_pro_vacuum.yaml

@@ -256,7 +256,7 @@ entities:
         name: sensor
         unit: h
   - entity: sensor
-    name: Filter lifetime
+    translation_key: filter_life
     category: diagnostic
     class: duration
     dps:

+ 1 - 1
custom_components/tuya_local/devices/ilife_v20_vacuum.yaml

@@ -258,7 +258,7 @@ entities:
         name: sensor
         unit: h
   - entity: sensor
-    name: Filter lifetime
+    translation_key: filter_life
     category: diagnostic
     class: duration
     dps:

+ 1 - 1
custom_components/tuya_local/devices/ir_moes_heatpump.yaml

@@ -98,7 +98,7 @@ entities:
         optional: true
         name: button
   - entity: sensor
-    name: Filter life
+    translation_key: filter_life
     class: duration
     category: diagnostic
     dps:

+ 1 - 1
custom_components/tuya_local/devices/jafanda_jf260s_airpurifier.yaml

@@ -36,7 +36,7 @@ entities:
         unit: ugm3
         class: measurement
   - entity: sensor
-    name: Filter life
+    translation_key: filter_life
     category: diagnostic
     dps:
       - id: 5

+ 1 - 2
custom_components/tuya_local/devices/jafanda_jf500_airpurifier.yaml

@@ -36,9 +36,8 @@ entities:
         class: measurement
 
   - entity: sensor
-    name: Filter life
+    translation_key: filter_life
     category: diagnostic
-    icon: "mdi:air-filter"
     dps:
       - id: 5
         type: integer

+ 1 - 1
custom_components/tuya_local/devices/kabum_smart700_v2023_vaccum.yaml

@@ -288,7 +288,7 @@ entities:
         name: button
         optional: true
   - entity: sensor
-    name: Filter life
+    translation_key: filter_life
     class: duration
     category: diagnostic
     dps:

+ 1 - 2
custom_components/tuya_local/devices/kanchou_petfountain.yaml

@@ -16,8 +16,7 @@ entities:
           - dps_val: night
             value: night
   - entity: sensor
-    name: Filter remaining
-    icon: "mdi:air-filter"
+    translation_key: filter_life
     class: duration
     category: diagnostic
     dps:

+ 4 - 8
custom_components/tuya_local/devices/kerui_200w_camera.yaml

@@ -60,8 +60,7 @@ entities:
             value: false
             hidden: true
   - entity: select
-    name: Motion sensitivity
-    icon: "mdi:motion-sensor"
+    translation_key: motion_sensitivity
     category: config
     dps:
       - id: 106
@@ -69,14 +68,11 @@ entities:
         name: option
         mapping:
           - dps_val: "0"
-            value: Low
+            value: low
           - dps_val: "1"
-            value: Medium
+            value: medium
           - dps_val: "2"
-            value: High
-          - dps_val: null
-            value: Unknown
-            hidden: true
+            value: high
   - entity: select
     name: Night vision
     icon: "mdi:weather-night"

+ 4 - 8
custom_components/tuya_local/devices/kerui_300w_camera.yaml

@@ -68,8 +68,7 @@ entities:
             value: false
             hidden: true
   - entity: select
-    name: Motion sensitivity
-    icon: "mdi:motion-sensor"
+    translation_key: motion_sensitivity
     category: config
     dps:
       - id: 106
@@ -77,14 +76,11 @@ entities:
         name: option
         mapping:
           - dps_val: "0"
-            value: Low
+            value: low
           - dps_val: "1"
-            value: Medium
+            value: medium
           - dps_val: "2"
-            value: High
-          - dps_val: null
-            value: Unknown
-            hidden: true
+            value: high
   - entity: select
     name: Night vision
     icon: "mdi:weather-night"

+ 1 - 2
custom_components/tuya_local/devices/kilo_plus_air_purifier.yaml

@@ -17,8 +17,7 @@ entities:
           min: 1
           max: 3
   - entity: sensor
-    name: Filter
-    icon: "mdi:air-filter"
+    translation_key: filter_life
     category: diagnostic
     dps:
       - id: 5

+ 1 - 2
custom_components/tuya_local/devices/klarta_humea_humidifier.yaml

@@ -93,8 +93,7 @@ entities:
         type: string
         name: sensor
   - entity: sensor
-    name: Filter
-    icon: "mdi:filter"
+    translation_key: filter_life
     category: diagnostic
     dps:
       - id: 107

+ 1 - 2
custom_components/tuya_local/devices/kogan_5pro_airpurifier.yaml

@@ -40,9 +40,8 @@ entities:
         name: sensor
         unit: ugm3
         class: measurement
-  - name: Filter remaining
+  - translation_key: filter_life
     entity: sensor
-    icon: "mdi:shield-bug"
     dps:
       - id: 5
         name: sensor

+ 1 - 2
custom_components/tuya_local/devices/kogan_air_purifier.yaml

@@ -22,8 +22,7 @@ entities:
           - dps_val: 3
             value: "smart"
   - entity: sensor
-    name: Filter remaining
-    icon: "mdi:shield-bug"
+    translation_key: filter_life
     dps:
       - id: 5
         name: sensor

+ 2 - 4
custom_components/tuya_local/devices/kogan_lx10_vacuum.yaml

@@ -230,9 +230,8 @@ entities:
           - dps_val: resetmainbrush
             value: true
   - entity: button
-    name: Reset filter
+    translation_key: filter_reset
     category: config
-    icon: "mdi:clock-outline"
     dps:
       - id: 115
         type: string
@@ -293,10 +292,9 @@ entities:
         type: integer
         unit: s
   - entity: sensor
-    name: Filter time
+    translation_key: filter_life
     category: diagnostic
     class: duration
-    icon: "mdi:clock-outline"
     dps:
       - id: 121
         name: sensor

+ 2 - 4
custom_components/tuya_local/devices/kogan_lx8_vacuum.yaml

@@ -229,9 +229,8 @@ entities:
           - dps_val: resetmainbrush
             value: true
   - entity: button
-    name: Reset filter
+    translation_key: filter_reset
     category: config
-    icon: "mdi:clock-outline"
     dps:
       - id: 115
         type: string
@@ -293,10 +292,9 @@ entities:
         type: integer
         unit: s
   - entity: sensor
-    name: Filter time
+    translation_key: filter_life
     category: diagnostic
     class: duration
-    icon: "mdi:clock-outline"
     dps:
       - id: 121
         name: sensor

+ 2 - 4
custom_components/tuya_local/devices/kogan_vacuum_lx15.yaml

@@ -223,10 +223,9 @@ entities:
         mapping:
           - dps_val: resetmainbrush
             value: true
-  - name: Reset filter
+  - translation_key: filter_reset
     entity: button
     category: config
-    icon: "mdi:clock-outline"
     dps:
       - id: 115
         type: string
@@ -297,11 +296,10 @@ entities:
         optional: true
         type: integer
         unit: s
-  - name: Filter time
+  - translation_key: filter_life
     entity: sensor
     category: diagnostic
     class: duration
-    icon: "mdi:clock-outline"
     dps:
       - id: 121
         name: sensor

+ 4 - 5
custom_components/tuya_local/devices/kw02_video_doorbell.yaml

@@ -64,8 +64,7 @@ entities:
         optional: true
         name: switch
   - entity: select
-    name: Motion sensitivity
-    icon: "mdi:motion"
+    translation_key: motion_sensitivity
     category: config
     dps:
       - id: 106
@@ -74,11 +73,11 @@ entities:
         optional: true
         mapping:
           - dps_val: "0"
-            value: Low
+            value: low
           - dps_val: "1"
-            value: Medium
+            value: medium
           - dps_val: "2"
-            value: High
+            value: high
   - entity: button
     name: SD format
     icon: "mdi:sd"

+ 1 - 2
custom_components/tuya_local/devices/kyvol_e30_vacuum.yaml

@@ -174,9 +174,8 @@ entities:
         name: sensor
         unit: "%"
   - entity: sensor
-    name: Filter
+    translation_key: filter_life
     category: diagnostic
-    icon: "mdi:air-filter"
     dps:
       - id: 9
         type: integer

+ 2 - 4
custom_components/tuya_local/devices/liectroux_g7_vacuum.yaml

@@ -230,9 +230,8 @@ entities:
           - dps_val: resetmainbrush
             value: true
   - entity: button
-    name: Reset filter
+    translation_key: filter_reset
     category: config
-    icon: "mdi:clock-outline"
     dps:
       - id: 115
         type: string
@@ -293,10 +292,9 @@ entities:
         type: integer
         unit: s
   - entity: sensor
-    name: Filter time
+    translation_key: filter_life
     category: diagnostic
     class: duration
-    icon: "mdi:clock-outline"
     dps:
       - id: 121
         name: sensor

+ 1 - 1
custom_components/tuya_local/devices/liectroux_xr500_t3_vacuum.yaml

@@ -258,7 +258,7 @@ entities:
         name: button
         optional: true
   - entity: sensor
-    name: Filter remain
+    translation_key: filter_life
     class: duration
     category: diagnostic
     dps:

+ 4 - 5
custom_components/tuya_local/devices/lsc_ptz_camera.yaml

@@ -58,8 +58,7 @@ entities:
             value: false
             hidden: true
   - entity: select
-    name: Motion sensitivity
-    icon: "mdi:motion-sensor"
+    translation_key: motion_sensitivity
     category: config
     dps:
       - id: 106
@@ -68,11 +67,11 @@ entities:
         optional: true
         mapping:
           - dps_val: "0"
-            value: Low
+            value: low
           - dps_val: "1"
-            value: Medium
+            value: medium
           - dps_val: "2"
-            value: High
+            value: high
   - entity: select
     name: Nightvision
     icon: "mdi:weather-night"

+ 4 - 5
custom_components/tuya_local/devices/lscsmartconnect_camerapetfeeder.yaml

@@ -33,8 +33,7 @@ entities:
             value: false
             hidden: true
   - entity: select
-    name: Motion sensitivity
-    icon: "mdi:motion-sensor"
+    translation_key: motion_sensitivity
     category: config
     dps:
       - id: 106
@@ -43,11 +42,11 @@ entities:
         optional: true
         mapping:
           - dps_val: "0"
-            value: Low
+            value: low
           - dps_val: "1"
-            value: Medium
+            value: medium
           - dps_val: "2"
-            value: High
+            value: high
   - entity: select
     name: Nightvision
     icon: "mdi:weather-night"

+ 4 - 5
custom_components/tuya_local/devices/lscsmartconnect_outdoorcamera.yaml

@@ -57,8 +57,7 @@ entities:
             value: false
             hidden: true
   - entity: select
-    name: Motion sensitivity
-    icon: "mdi:motion-sensor"
+    translation_key: motion_sensitivity
     category: config
     dps:
       - id: 106
@@ -67,11 +66,11 @@ entities:
         optional: true
         mapping:
           - dps_val: "0"
-            value: Low
+            value: low
           - dps_val: "1"
-            value: Medium
+            value: medium
           - dps_val: "2"
-            value: High
+            value: high
   - entity: select
     name: Nightvision
     icon: "mdi:weather-night"

+ 4 - 5
custom_components/tuya_local/devices/lscsmartconnect_outdoorptzcamera.yaml

@@ -53,8 +53,7 @@ entities:
             value: false
             hidden: true
   - entity: select
-    name: Motion sensitivity
-    icon: "mdi:motion-sensor"
+    translation_key: motion_sensitivity
     category: config
     dps:
       - id: 106
@@ -63,11 +62,11 @@ entities:
         optional: true
         mapping:
           - dps_val: "0"
-            value: Low
+            value: low
           - dps_val: "1"
-            value: Medium
+            value: medium
           - dps_val: "2"
-            value: High
+            value: high
   - entity: sensor
     name: SD status
     class: enum

+ 5 - 6
custom_components/tuya_local/devices/lscsmartconnect_videodoorbell.yaml

@@ -158,8 +158,7 @@ entities:
         optional: true
         name: sensor
   - entity: select
-    name: Motion detection
-    icon: "mdi:motion-sensor"
+    translation_key: motion_sensitivity
     category: config
     dps:
       - id: 152
@@ -168,13 +167,13 @@ entities:
         name: option
         mapping:
           - dps_val: "0"
-            value: "Off"
+            value: "off"
           - dps_val: "1"
-            value: Low sensitivity
+            value: low
           - dps_val: "2"
-            value: Medium sensitivity
+            value: medium
           - dps_val: "3"
-            value: High sensitivity
+            value: high
   - entity: siren
     dps:
       - id: 159

+ 1 - 1
custom_components/tuya_local/devices/lublueblu_sl60d_vacuum.yaml

@@ -227,7 +227,7 @@ entities:
         name: sensor
         unit: h
   - entity: sensor
-    name: Filter lifetime
+    translation_key: filter_life
     category: diagnostic
     class: duration
     dps:

+ 1 - 1
custom_components/tuya_local/devices/medion_s20_vacuum.yaml

@@ -111,7 +111,7 @@ entities:
         unit: "%"
         class: measurement
   - entity: sensor
-    name: Filter
+    translation_key: filter_life
     category: diagnostic
     dps:
       - id: 9

+ 1 - 1
custom_components/tuya_local/devices/medion_x10sw_vacuum.yaml

@@ -249,7 +249,7 @@ entities:
         optional: true
         name: button
   - entity: sensor
-    name: Filter life
+    translation_key: filter_life
     class: duration
     category: diagnostic
     dps:

+ 1 - 2
custom_components/tuya_local/devices/moes_indoorptz_camera.yaml

@@ -44,8 +44,7 @@ entities:
         type: boolean
         name: switch
   - entity: select
-    name: Motion sensitivity
-    icon: "mdi:motion-sensor"
+    translation_key: motion_sensitivity
     category: config
     dps:
       - id: 106

+ 4 - 4
custom_components/tuya_local/devices/moes_motionsensor_switch.yaml

@@ -86,7 +86,7 @@ entities:
         name: switch
         type: boolean
   - entity: select
-    name: Motion sensitivity
+    translation_key: motion_sensitivity
     category: config
     dps:
       - id: 48
@@ -94,11 +94,11 @@ entities:
         type: string
         mapping:
           - dps_val: "low"
-            value: "Low"
+            value: "low"
           - dps_val: "middle"
-            value: "Medium"
+            value: "medium"
           - dps_val: "high"
-            value: "High"
+            value: "high"
   - entity: number
     name: Motion auto-off delay
     category: config

+ 1 - 2
custom_components/tuya_local/devices/moes_wcmp52_camera.yaml

@@ -44,8 +44,7 @@ entities:
         type: boolean
         name: switch
   - entity: select
-    name: Motion sensitivity
-    icon: "mdi:motion-sensor"
+    translation_key: motion_sensitivity
     category: config
     dps:
       - id: 106

+ 1 - 2
custom_components/tuya_local/devices/morento_hy4866_wf.yaml

@@ -36,9 +36,8 @@ entities:
         class: measurement
         unit: ugm3
   - entity: sensor
-    name: Filter remaining
+    translation_key: filter_life
     category: diagnostic
-    icon: "mdi:ticket-percent-outline"
     dps:
       - id: 5
         name: sensor

+ 1 - 2
custom_components/tuya_local/devices/morento_mr7566_wf.yaml

@@ -36,9 +36,8 @@ entities:
         class: measurement
         unit: ugm3
   - entity: sensor
-    name: Filter remaining
+    translation_key: filter_life
     category: diagnostic
-    icon: "mdi:ticket-percent-outline"
     dps:
       - id: 5
         name: sensor

+ 1 - 2
custom_components/tuya_local/devices/nac_ap470_purifier.yaml

@@ -35,8 +35,7 @@ entities:
         class: measurement
         unit: ugm3
   - entity: sensor
-    name: Filter left days
-    icon: "mdi:air-filter"
+    translation_key: filter_life
     category: diagnostic
     class: duration
     dps:

+ 1 - 1
custom_components/tuya_local/devices/neatsvor_x600_vacuum.yaml

@@ -228,7 +228,7 @@ entities:
         name: button
         optional: true
   - entity: sensor
-    name: Filter life
+    translation_key: filter_life
     category: diagnostic
     class: duration
     dps:

+ 4 - 8
custom_components/tuya_local/devices/nedis_outdoor_camera.yaml

@@ -60,8 +60,7 @@ entities:
             value: false
             hidden: true
   - entity: select
-    name: Motion sensitivity
-    icon: "mdi:motion-sensor"
+    translation_key: motion_sensitivity
     category: config
     dps:
       - id: 106
@@ -70,14 +69,11 @@ entities:
         optional: true
         mapping:
           - dps_val: "0"
-            value: Low
+            value: low
           - dps_val: "1"
-            value: Medium
+            value: medium
           - dps_val: "2"
-            value: High
-          - dps_val: null
-            value: Unknown
-            hidden: true
+            value: high
   - entity: select
     name: Night vision
     icon: "mdi:weather-night"

+ 1 - 1
custom_components/tuya_local/devices/neo_ir_climate_controller.yaml

@@ -102,7 +102,7 @@ entities:
         name: button
         optional: true
   - entity: sensor
-    name: Filter life
+    translation_key: filter_life
     class: duration
     category: diagnostic
     dps:

+ 4 - 5
custom_components/tuya_local/devices/nexsmart_watch2_camera.yaml

@@ -109,8 +109,7 @@ entities:
   # 4. Detection & Alarm
   # ------------------------------------
   - entity: select
-    name: Motion sensitivity
-    icon: "mdi:motion-sensor"
+    translation_key: motion_sensitivity
     category: config
     # Motion Sensitivity Selector (matches motion_sensitivity: 106)
     dps:
@@ -120,11 +119,11 @@ entities:
         optional: true
         mapping:
           - dps_val: "0"
-            value: Low
+            value: low
           - dps_val: "1"
-            value: Medium
+            value: medium
           - dps_val: "2"
-            value: High
+            value: high
 
   - entity: switch
     name: Motion alarm area

+ 1 - 2
custom_components/tuya_local/devices/ningbo_bf314a_petfeeder.yaml

@@ -48,8 +48,7 @@ entities:
         type: boolean
         name: record
   - entity: select
-    name: Motion sensitivity
-    icon: "mdi:motion-sensor"
+    translation_key: motion_sensitivity
     category: config
     dps:
       - id: 106

+ 1 - 2
custom_components/tuya_local/devices/nx_100ap_air_purifier.yaml

@@ -98,9 +98,8 @@ entities:
         name: switch
         type: boolean
   - entity: sensor
-    name: Filter used
+    translation_key: filter_life
     category: diagnostic
-    icon: "mdi:ticket-percent-outline"
     dps:
       - id: 5
         name: sensor

+ 4 - 5
custom_components/tuya_local/devices/petlibro_camera_feeder.yaml

@@ -99,8 +99,7 @@ entities:
         type: boolean
         name: switch
   - entity: select
-    name: Motion sensitivity
-    icon: "mdi:motion-sensor"
+    translation_key: motion_sensitivity
     category: config
     dps:
       - id: 106
@@ -108,11 +107,11 @@ entities:
         name: option
         mapping:
           - dps_val: "0"
-            value: Low
+            value: low
           - dps_val: "1"
-            value: Medium
+            value: medium
           - dps_val: "2"
-            value: High
+            value: high
   - entity: switch
     name: Sound notification
     icon: "mdi:ear-hearing"

+ 1 - 1
custom_components/tuya_local/devices/petoneer_fresco_ezgo_petfountain.yaml

@@ -24,7 +24,7 @@ entities:
           - dps_val: smart
             value: smart
   - entity: sensor
-    name: Filter remaining
+    translation_key: filter_life
     class: duration
     category: diagnostic
     dps:

+ 1 - 1
custom_components/tuya_local/devices/petoneer_frescomini_petfountain.yaml

@@ -23,7 +23,7 @@ entities:
           - dps_val: 1
             value: true
   - entity: sensor
-    name: Filter remaining
+    translation_key: filter_life
     class: duration
     category: diagnostic
     dps:

+ 2 - 4
custom_components/tuya_local/devices/petrust_tkwf002_petfountain.yaml

@@ -58,8 +58,7 @@ entities:
           min: 0
           max: 30
   - entity: sensor
-    name: Replace filter in
-    icon: "mdi:air-filter"
+    translation_key: filter_life
     class: duration
     category: diagnostic
     dps:
@@ -68,8 +67,7 @@ entities:
         name: sensor
         unit: d
   - entity: button
-    name: Replace filter
-    icon: "mdi:air-filter"
+    translation_key: filter_reset
     category: config
     dps:
       - id: 5

+ 1 - 1
custom_components/tuya_local/devices/petsnowy_snowplus_catlitter.yaml

@@ -171,7 +171,7 @@ entities:
         type: boolean
         name: button
   - entity: sensor
-    name: Filter life
+    translation_key: filter_life
     category: diagnostic
     class: duration
     dps:

+ 4 - 5
custom_components/tuya_local/devices/pinelake_birdfeeder.yaml

@@ -97,20 +97,19 @@ entities:
         optional: true
         force: true
   - entity: select
-    name: Motion sensitivity
+    translation_key: motion_sensitivity
     category: config
-    icon: "mdi:motion-sensor"
     dps:
       - id: 106
         type: string
         name: option
         mapping:
           - dps_val: "0"
-            value: "Low"
+            value: "low"
           - dps_val: "1"
-            value: "Medium"
+            value: "medium"
           - dps_val: "2"
-            value: "High"
+            value: "high"
         optional: true
         force: true
   - entity: switch

+ 5 - 5
custom_components/tuya_local/devices/pir_rgbcw_light.yaml

@@ -229,7 +229,7 @@ entities:
           - dps_val: "none"
             value: false
   - entity: select
-    name: Motion distance
+    translation_key: motion_sensitivity
     category: config
     dps:
       - id: 54
@@ -237,11 +237,11 @@ entities:
         name: option
         mapping:
           - dps_val: "high"
-            value: "Far"
-          - dps_val: "low"
-            value: "Near"
+            value: high
           - dps_val: "middle"
-            value: "Medium"
+            value: medium
+          - dps_val: "low"
+            value: low
   - entity: number
     name: PIR delay
     category: config

+ 7 - 7
custom_components/tuya_local/devices/pir_spotlight.yaml

@@ -81,21 +81,21 @@ entities:
           - dps_val: none
             value: clear
   - entity: select
-    name: Motion distance
+    translation_key: motion_sensitivity
     category: config
     dps:
       - id: 54
         type: string
         name: option
+        optional: true
+        force: true
         mapping:
           - dps_val: "high"
-            value: "Far"
-          - dps_val: "low"
-            value: "Near"
+            value: high
           - dps_val: "middle"
-            value: "Medium"
-        optional: true
-        force: true
+            value: medium
+          - dps_val: "low"
+            value: low
   - entity: number
     name: Full light duration
     category: config

+ 2 - 2
custom_components/tuya_local/devices/proscenic_850t_vacuum.yaml

@@ -172,7 +172,7 @@ entities:
         name: sensor
         unit: h
   - entity: sensor
-    name: Filter replacement
+    translation_key: filter_life
     class: duration
     category: diagnostic
     dps:
@@ -245,7 +245,7 @@ entities:
         optional: true
         name: button
   - entity: button
-    name: Filter replaced
+    translation_key: filter_reset
     category: config
     dps:
       - id: 55

+ 6 - 7
custom_components/tuya_local/devices/proscenic_a8_airpurifier.yaml

@@ -45,25 +45,24 @@ entities:
         name: switch
         type: boolean
   - entity: sensor
-    name: Filter usage
+    translation_key: filter_life
     category: diagnostic
-    icon: "mdi:shield-bug"
     dps:
       - id: 5
         name: sensor
         type: integer
         unit: "%"
-  - entity: switch
-    name: Reset filter
+  - entity: button
+    translation_key: filter_reset
     category: config
-    icon: "mdi:lightbulb-night"
     dps:
       - id: 11
-        name: switch
+        name: button
         type: boolean
   - entity: sensor
-    name: Filter days left
+    name: Filter remaining
     category: diagnostic
+    class: duration
     icon: "mdi:air-filter"
     dps:
       - id: 16

+ 4 - 5
custom_components/tuya_local/devices/proscenic_a9_airpurifier.yaml

@@ -67,25 +67,24 @@ entities:
           - dps_val: true
             value: false
   - entity: sensor
-    name: Filter usage
+    translation_key: filter_life
     category: diagnostic
-    icon: "mdi:shield-bug"
     dps:
       - id: 5
         name: sensor
         type: integer
         unit: "%"
   - entity: button
-    name: Reset filter
+    translation_key: filter_reset
     category: config
-    icon: "mdi:air-filter"
     dps:
       - id: 11
         name: button
         type: boolean
   - entity: sensor
-    name: Filter hours left
+    name: Filter remaining
     category: diagnostic
+    class: duration
     icon: "mdi:air-filter"
     dps:
       - id: 16

+ 1 - 1
custom_components/tuya_local/devices/proscenic_m9_vacuum.yaml

@@ -276,7 +276,7 @@ entities:
         name: button
         optional: true
   - entity: sensor
-    name: Filter life
+    translation_key: filter_life
     category: diagnostic
     class: duration
     dps:

+ 1 - 2
custom_components/tuya_local/devices/royalclima_rcb150_ventilation.yaml

@@ -58,8 +58,7 @@ entities:
         type: boolean
         name: switch
   - entity: sensor
-    name: Filter life
-    icon: "mdi:air-filter"
+    translation_key: filter_life
     category: diagnostic
     dps:
       - id: 11

+ 4 - 5
custom_components/tuya_local/devices/sc116wz3a_camera.yaml

@@ -46,8 +46,7 @@ entities:
         optional: true
         name: switch
   - entity: select
-    name: Motion sensitivity
-    icon: "mdi:motion-sensor"
+    translation_key: motion_sensitivity
     category: config
     dps:
       - id: 106
@@ -56,11 +55,11 @@ entities:
         optional: true
         mapping:
           - dps_val: "0"
-            value: Low
+            value: low
           - dps_val: "1"
-            value: Medium
+            value: medium
           - dps_val: "2"
-            value: High
+            value: high
   - entity: select
     name: Nightvision
     icon: "mdi:weather-night"

+ 1 - 1
custom_components/tuya_local/devices/siguro_apk50_purifier.yaml

@@ -27,7 +27,7 @@ entities:
         unit: ugm3
         class: measurement
   - entity: sensor
-    name: Filter life
+    translation_key: filter_life
     category: diagnostic
     dps:
       - id: 5

+ 1 - 1
custom_components/tuya_local/devices/siguro_sgrhdf300w_dehumidifier.yaml

@@ -192,7 +192,7 @@ entities:
         optional: true
         name: button
   - entity: sensor
-    name: Filter
+    translation_key: filter_life
     hidden: true
     category: diagnostic
     dps:

+ 1 - 2
custom_components/tuya_local/devices/smartmi_air_purifier_p1.yaml

@@ -58,10 +58,9 @@ entities:
         unit: "µg/m³"
 
   - entity: sensor
-    name: Filter usage
+    translation_key: filter_life
     category: diagnostic
     class: duration
-    icon: mdi:timer-outline
     dps:
       - id: 105
         name: sensor

+ 1 - 2
custom_components/tuya_local/devices/smartmi_e1_purifier.yaml

@@ -29,10 +29,9 @@ entities:
         name: switch
         type: boolean
   - entity: sensor
-    name: Filter usage
+    translation_key: filter_life
     category: diagnostic
     class: duration
-    icon: "mdi:shield-bug"
     dps:
       - id: 101
         name: sensor

+ 4 - 5
custom_components/tuya_local/devices/smcm_doorbellpro_camera.yaml

@@ -36,8 +36,7 @@ entities:
         type: boolean
         name: switch
   - entity: select
-    name: Motion sensitivity
-    icon: "mdi:motion-sensor"
+    translation_key: motion_sensitivity
     category: config
     dps:
       - id: 106
@@ -45,11 +44,11 @@ entities:
         name: option
         mapping:
           - dps_val: "0"
-            value: Low
+            value: low
           - dps_val: "1"
-            value: Medium
+            value: medium
           - dps_val: "2"
-            value: High
+            value: high
   - entity: select
     name: Nightvision
     icon: "mdi:weather-night"

+ 1 - 6
custom_components/tuya_local/devices/sobralik_water_fountain.yaml

@@ -59,18 +59,13 @@ entities:
         type: boolean
         name: button
   - entity: sensor
-    name: Filter left
-    icon: "mdi:air-filter"
+    translation_key: filter_life
     class: duration
     category: diagnostic
     dps:
       - id: 3
         type: integer
         name: sensor
-        precision: 0
-        range:
-          min: 0
-          max: 90
         unit: d
   - entity: sensor
     name: Clean left

+ 1 - 2
custom_components/tuya_local/devices/soho_air_purifier.yaml

@@ -117,10 +117,9 @@ entities:
         name: sensor
         unit: ugm3
   - entity: sensor
-    name: Filter days left
+    translation_key: filter_life
     class: duration
     category: diagnostic
-    icon: "mdi:air-filter"
     dps:
       - id: 16
         name: sensor

+ 1 - 2
custom_components/tuya_local/devices/soleusair_air_purifier.yaml

@@ -33,9 +33,8 @@ entities:
           - dps_val: displayoff
             value: displayoff
   - entity: sensor
-    name: Filter life
+    translation_key: filter_life
     category: diagnostic
-    icon: "mdi:timelapse"
     dps:
       - id: 5
         type: integer

+ 1 - 2
custom_components/tuya_local/devices/stadlerform_karl_humidifier.yaml

@@ -50,8 +50,7 @@ entities:
         type: boolean
         name: lock
   - entity: sensor
-    name: Filter
-    icon: "mdi:filter"
+    translation_key: filter_life
     category: diagnostic
     dps:
       - id: 33

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است