Browse Source

feat: use time entity for 24h timers

Time provides a better UI for entering times than Number, but is
limited to hh:mm input where the maximum time is 23:59. This is good
for 24h timers in addition to wall clock time (alarms etc).

Timers that are just h are left as numbers, to avoid confusing the
user into thinking they can set minutes.

Many of these timers have second precision, which is not exposeed
in the UI, but should work when set via an action.

Issue #3499
Jason Rumney 6 months ago
parent
commit
ca307ff1e9
100 changed files with 1869 additions and 49 deletions
  1. 14 0
      custom_components/tuya_local/devices/aeno_ek7s_kettle.yaml
  2. 12 0
      custom_components/tuya_local/devices/ard100_valve.yaml
  3. 12 0
      custom_components/tuya_local/devices/arlec_10_pathlights.yaml
  4. 56 0
      custom_components/tuya_local/devices/arlec_pb88uha_s2_switch.yaml
  5. 12 0
      custom_components/tuya_local/devices/arlec_rgb_ledstrip.yaml
  6. 12 0
      custom_components/tuya_local/devices/arlec_thermostat_smartplug.yaml
  7. 12 0
      custom_components/tuya_local/devices/asahom_outdoor_rgbcw_lights.yaml
  8. 12 0
      custom_components/tuya_local/devices/asc_wifi_circuit_breaker.yaml
  9. 12 0
      custom_components/tuya_local/devices/atomi_ceiling_fan.yaml
  10. 30 0
      custom_components/tuya_local/devices/avatto_cls02_curtainduallights.yaml
  11. 30 0
      custom_components/tuya_local/devices/avatto_curtain_duallights.yaml
  12. 77 7
      custom_components/tuya_local/devices/bauhn_ap5w0624_powerstrip.yaml
  13. 13 0
      custom_components/tuya_local/devices/ble_hct611_watertimer.yaml
  14. 12 0
      custom_components/tuya_local/devices/ble_solar_light.yaml
  15. 1 0
      custom_components/tuya_local/devices/ble_water_valve.yaml
  16. 13 0
      custom_components/tuya_local/devices/blitzwill_ceilingfanlight.yaml
  17. 12 0
      custom_components/tuya_local/devices/blitzwolf_bwshp6_smartplug.yaml
  18. 28 0
      custom_components/tuya_local/devices/brilliant_double_switch.yaml
  19. 56 0
      custom_components/tuya_local/devices/brilliant_quad_switch.yaml
  20. 12 0
      custom_components/tuya_local/devices/brilliant_single_switch.yaml
  21. 42 0
      custom_components/tuya_local/devices/brilliant_triple_switch.yaml
  22. 12 0
      custom_components/tuya_local/devices/btbcoin_ac5299_pccontroller.yaml
  23. 13 0
      custom_components/tuya_local/devices/calex_s45cleare27_light.yaml
  24. 25 2
      custom_components/tuya_local/devices/casdon_td_pro_2.yaml
  25. 12 0
      custom_components/tuya_local/devices/cbi_astute_outdoor_smartswitch.yaml
  26. 13 0
      custom_components/tuya_local/devices/cct_lightbulb.yaml
  27. 12 0
      custom_components/tuya_local/devices/cesmarthome_acwall_outlet.yaml
  28. 13 1
      custom_components/tuya_local/devices/comon_lights.yaml
  29. 28 0
      custom_components/tuya_local/devices/denver_shp200mk2_dualsmartplug.yaml
  30. 14 0
      custom_components/tuya_local/devices/depuley_smart_ceiling_fan.yaml
  31. 12 0
      custom_components/tuya_local/devices/deta_dimmer_switch.yaml
  32. 12 0
      custom_components/tuya_local/devices/devola_patio_heater.yaml
  33. 28 0
      custom_components/tuya_local/devices/digoo_dgsp202.yaml
  34. 2 0
      custom_components/tuya_local/devices/diivoo_dwv010.yaml
  35. 2 0
      custom_components/tuya_local/devices/diivoo_wt05.yaml
  36. 12 0
      custom_components/tuya_local/devices/dimming_1ch_switch.yaml
  37. 13 0
      custom_components/tuya_local/devices/dimming_lightbulb.yaml
  38. 25 0
      custom_components/tuya_local/devices/dongguan_garage_door_opener.yaml
  39. 14 0
      custom_components/tuya_local/devices/dowell_dchs-k7_32_7kw_ev_charger.yaml
  40. 13 1
      custom_components/tuya_local/devices/dreamlight_led_strip.yaml
  41. 28 0
      custom_components/tuya_local/devices/dual_power_monitor_smartplug.yaml
  42. 28 0
      custom_components/tuya_local/devices/dual_power_monitor_smartplugv2.yaml
  43. 12 0
      custom_components/tuya_local/devices/earu_eaemp3c100_energymeter.yaml
  44. 0 3
      custom_components/tuya_local/devices/eberg_qubo_q40hd_heatpump.yaml
  45. 14 0
      custom_components/tuya_local/devices/ecopoint_ev_charger.yaml
  46. 6 1
      custom_components/tuya_local/devices/eglo_ceiling_fan.yaml
  47. 0 3
      custom_components/tuya_local/devices/electriq_ecosilent12wap_aircon.yaml
  48. 0 3
      custom_components/tuya_local/devices/electriq_ecosilent14hpw_aircon.yaml
  49. 2 0
      custom_components/tuya_local/devices/elspet_cat_litterbox.yaml
  50. 13 0
      custom_components/tuya_local/devices/enbrighten_cafe_stringlights.yaml
  51. 13 0
      custom_components/tuya_local/devices/enbrighten_curtainlights.yaml
  52. 56 0
      custom_components/tuya_local/devices/es01_powerstrip.yaml
  53. 26 0
      custom_components/tuya_local/devices/espfort_ecspsp_usbsmartplug.yaml
  54. 12 0
      custom_components/tuya_local/devices/etna_vw644mc_dishwasher.yaml
  55. 13 0
      custom_components/tuya_local/devices/etop_ch7100_thermostat.yaml
  56. 13 0
      custom_components/tuya_local/devices/galaxy_projector_light.yaml
  57. 13 0
      custom_components/tuya_local/devices/gaqqee_kws302wf_energymeter.yaml
  58. 12 0
      custom_components/tuya_local/devices/ge_jasco_ultra_pro_toggle_dimmer_v2.yaml
  59. 13 1
      custom_components/tuya_local/devices/ge_jasco_ultra_pro_toggle_switch.yaml
  60. 26 0
      custom_components/tuya_local/devices/ghome_sw19_fanlight.yaml
  61. 0 3
      custom_components/tuya_local/devices/goldair_geco_heater.yaml
  62. 15 0
      custom_components/tuya_local/devices/goldair_gpph900_heater.yaml
  63. 12 3
      custom_components/tuya_local/devices/goldair_gpph_heater.yaml
  64. 12 0
      custom_components/tuya_local/devices/goldair_phet07ea_heater.yaml
  65. 26 0
      custom_components/tuya_local/devices/goldair_portable_airconditioner.yaml
  66. 26 0
      custom_components/tuya_local/devices/gosund_sp112_usbsmartplug.yaml
  67. 56 0
      custom_components/tuya_local/devices/gosund_usb_triple_powerstrip.yaml
  68. 56 0
      custom_components/tuya_local/devices/gosund_wp9rtl_usbpowerstrip.yaml
  69. 28 0
      custom_components/tuya_local/devices/grid_connect_usb_double_power_point.yaml
  70. 27 1
      custom_components/tuya_local/devices/grid_connect_usb_power_point.yaml
  71. 12 0
      custom_components/tuya_local/devices/gts8_40_2P_breaker.yaml
  72. 13 0
      custom_components/tuya_local/devices/hdmi_ambient65_light.yaml
  73. 13 0
      custom_components/tuya_local/devices/hdmi_sync_light.yaml
  74. 12 0
      custom_components/tuya_local/devices/hoenyzy_valve_timer.yaml
  75. 12 0
      custom_components/tuya_local/devices/hombli_6speed_ceilingfan.yaml
  76. 78 0
      custom_components/tuya_local/devices/homemate_multi_switch.yaml
  77. 12 0
      custom_components/tuya_local/devices/ih001_led_controller.yaml
  78. 12 0
      custom_components/tuya_local/devices/ilonda_l88_fishfeeder.yaml
  79. 5 1
      custom_components/tuya_local/devices/inow_heater_element.yaml
  80. 12 0
      custom_components/tuya_local/devices/ion_wifi_dimmer.yaml
  81. 12 0
      custom_components/tuya_local/devices/ketotek_ktem06pro_energymeter.yaml
  82. 13 0
      custom_components/tuya_local/devices/keyun_rgb_ceilingfan.yaml
  83. 12 0
      custom_components/tuya_local/devices/klarstein_amazonia_dishwasher.yaml
  84. 10 6
      custom_components/tuya_local/devices/kogan_dehumidifier.yaml
  85. 12 3
      custom_components/tuya_local/devices/kogan_kahtp_heater.yaml
  86. 12 0
      custom_components/tuya_local/devices/kogan_kawfhtp_heater.yaml
  87. 13 0
      custom_components/tuya_local/devices/ledvance_smart_plabl100x25b.yaml
  88. 0 3
      custom_components/tuya_local/devices/lexy_f501_fan.yaml
  89. 13 0
      custom_components/tuya_local/devices/light_string.yaml
  90. 70 0
      custom_components/tuya_local/devices/logicom_powerstrip.yaml
  91. 34 6
      custom_components/tuya_local/devices/loratap_dual_switch.yaml
  92. 25 0
      custom_components/tuya_local/devices/loratap_garage_door.yaml
  93. 12 0
      custom_components/tuya_local/devices/loratap_relay.yaml
  94. 13 1
      custom_components/tuya_local/devices/lsc_neon_ledstrip.yaml
  95. 12 0
      custom_components/tuya_local/devices/lsc_rgbcct_ledstrip.yaml
  96. 12 0
      custom_components/tuya_local/devices/lscsmartconnect_gardenspotlights.yaml
  97. 16 0
      custom_components/tuya_local/devices/lumary_a1_ceilingfanlight.yaml
  98. 28 0
      custom_components/tuya_local/devices/makegood_double_power_point_with_energy.yaml
  99. 28 0
      custom_components/tuya_local/devices/makegood_switch_dual_timer-energy.yaml
  100. 28 0
      custom_components/tuya_local/devices/malmbergs_dual_dimmer.yaml

+ 14 - 0
custom_components/tuya_local/devices/aeno_ek7s_kettle.yaml

@@ -107,8 +107,22 @@ entities:
       - id: 13
         type: boolean
         name: switch
+  - entity: time
+    name: Keep warm time
+    category: config
+    dps:
+      - id: 14
+        type: integer
+        name: minute
+        range:
+          min: 0
+          max: 1440
+        mapping:
+          - step: 5
   - entity: number
     name: Keep warm time
+    # 2025-07-20
+    deprecated: time.keep_warm_time
     translation_key: timer
     class: duration
     category: config

+ 12 - 0
custom_components/tuya_local/devices/ard100_valve.yaml

@@ -8,8 +8,20 @@ entities:
       - id: 1
         type: boolean
         name: valve
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 7
+        name: second
+        type: integer
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:

+ 12 - 0
custom_components/tuya_local/devices/arlec_10_pathlights.yaml

@@ -46,8 +46,20 @@ entities:
             range:
               min: 0
               max: 1000
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 26
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:

+ 56 - 0
custom_components/tuya_local/devices/arlec_pb88uha_s2_switch.yaml

@@ -40,8 +40,58 @@ entities:
       - id: 4
         type: boolean
         name: switch
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "1"
+    dps:
+      - id: 9
+        name: second
+        type: integer
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "2"
+    dps:
+      - id: 10
+        name: second
+        type: integer
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "3"
+    dps:
+      - id: 11
+        name: second
+        type: integer
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "4"
+    dps:
+      - id: 12
+        name: second
+        type: integer
+        range:
+          min: 0
+          max: 86400
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_1
     translation_key: timer_x
     translation_placeholders:
       x: "1"
@@ -59,6 +109,8 @@ entities:
             step: 60
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_2
     translation_key: timer_x
     translation_placeholders:
       x: "2"
@@ -76,6 +128,8 @@ entities:
             step: 60
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_3
     translation_key: timer_x
     translation_placeholders:
       x: "3"
@@ -93,6 +147,8 @@ entities:
             step: 60
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_4
     translation_key: timer_x
     translation_placeholders:
       x: "4"

+ 12 - 0
custom_components/tuya_local/devices/arlec_rgb_ledstrip.yaml

@@ -62,8 +62,20 @@ entities:
       - id: 42
         type: string
         name: mic_music_data
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 7
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:

+ 12 - 0
custom_components/tuya_local/devices/arlec_thermostat_smartplug.yaml

@@ -101,8 +101,20 @@ entities:
       - id: 2
         type: boolean
         name: switch
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 4
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:

+ 12 - 0
custom_components/tuya_local/devices/asahom_outdoor_rgbcw_lights.yaml

@@ -103,8 +103,20 @@ entities:
         type: string
         optional: true
         name: color_sync
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 26
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:

+ 12 - 0
custom_components/tuya_local/devices/asc_wifi_circuit_breaker.yaml

@@ -9,8 +9,20 @@ entities:
       - id: 1
         name: switch
         type: boolean
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 7
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:

+ 12 - 0
custom_components/tuya_local/devices/atomi_ceiling_fan.yaml

@@ -54,8 +54,20 @@ entities:
           - target_range:
               min: 2700
               max: 6500
+  - entity: time
+    category: config
+    translation_key: timer
+    dps:
+      - id: 26
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     name: Light timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     translation_key: timer

+ 30 - 0
custom_components/tuya_local/devices/avatto_cls02_curtainduallights.yaml

@@ -85,8 +85,36 @@ entities:
         range:
           min: 10
           max: 120
+  - entity: time
+    translation_key: timer_x
+    translation_placeholders:
+      x: "1"
+    category: config
+    dps:
+      - id: 104
+        type: integer
+        optional: true
+        name: second
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    translation_key: timer_x
+    translation_placeholders:
+      x: "2"
+    category: config
+    dps:
+      - id: 107
+        type: integer
+        optional: true
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     name: Light 1 timer
+    # 2025-07-20
+    deprecated: time.timer_1
     category: config
     class: duration
     translation_key: timer
@@ -104,6 +132,8 @@ entities:
             step: 60
   - entity: number
     name: Light 2 timer
+    # 2025-07-20
+    deprecated: time.timer_2
     category: config
     class: duration
     translation_key: timer

+ 30 - 0
custom_components/tuya_local/devices/avatto_curtain_duallights.yaml

@@ -99,8 +99,36 @@ entities:
             value: Direct
           - dps_val: dry_contact
             value: Via relay
+  - entity: time
+    translation_key: timer_x
+    translation_placeholders:
+      x: "1"
+    category: config
+    dps:
+      - id: 103
+        type: integer
+        optional: true
+        name: second
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    translation_key: timer_x
+    translation_placeholders:
+      x: "2"
+    category: config
+    dps:
+      - id: 104
+        type: integer
+        optional: true
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     name: Light 1 timer
+    # 2025-07-20
+    deprecated: time.timer_1
     category: config
     class: duration
     translation_key: timer
@@ -118,6 +146,8 @@ entities:
             step: 60
   - entity: number
     name: Light 2 timer
+    # 2025-07-20
+    deprecated: time.timer_2
     category: config
     class: duration
     translation_key: timer

+ 77 - 7
custom_components/tuya_local/devices/bauhn_ap5w0624_powerstrip.yaml

@@ -49,23 +49,18 @@ entities:
       - id: 5
         type: boolean
         name: switch
-  - entity: number
+  - entity: time
     category: config
     translation_key: timer_x
     translation_placeholders:
       x: "1"
-    class: duration
     dps:
       - id: 9
         type: integer
-        name: value
-        unit: min
+        name: second
         range:
           min: 0
           max: 86400
-        mapping:
-          - scale: 60
-            step: 60
       - id: 42
         type: string
         name: cycle_time
@@ -75,8 +70,77 @@ entities:
       - id: 44
         type: string
         name: switch_inching
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "2"
+    dps:
+      - id: 10
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "3"
+    dps:
+      - id: 11
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "4"
+    dps:
+      - id: 12
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "5"
+    dps:
+      - id: 13
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
+  - entity: number
+    category: config
+    # 2025-07-20
+    deprecated: time.timer_1
+    translation_key: timer_x
+    translation_placeholders:
+      x: "1"
+    class: duration
+    dps:
+      - id: 9
+        type: integer
+        name: value
+        unit: min
+        range:
+          min: 0
+          max: 86400
+        mapping:
+          - scale: 60
+            step: 60
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_2
     translation_key: timer_x
     translation_placeholders:
       x: "2"
@@ -94,6 +158,8 @@ entities:
             step: 60
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_3
     translation_key: timer_x
     translation_placeholders:
       x: "3"
@@ -111,6 +177,8 @@ entities:
             step: 60
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_4
     translation_key: timer_x
     translation_placeholders:
       x: "4"
@@ -128,6 +196,8 @@ entities:
             step: 60
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_5
     translation_key: timer_x
     translation_placeholders:
       x: "5"

+ 13 - 0
custom_components/tuya_local/devices/ble_hct611_watertimer.yaml

@@ -83,8 +83,21 @@ entities:
           - dps_val: null
             value: "not set"
             hidden: true
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 11
+        type: integer
+        name: second
+        optional: true
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:

+ 12 - 0
custom_components/tuya_local/devices/ble_solar_light.yaml

@@ -81,9 +81,21 @@ entities:
         type: boolean
         hidden: true
         optional: true
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 7
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
     class: duration
+    # 2025-07-20
+    deprecated: time.timer
     category: config
     dps:
       - id: 7

+ 1 - 0
custom_components/tuya_local/devices/ble_water_valve.yaml

@@ -102,6 +102,7 @@ entities:
             value: "72h"
   - entity: number
     name: Irrigation time
+    # 2025-07-20
     deprecated: time.irrigation_time
     category: config
     class: duration

+ 13 - 0
custom_components/tuya_local/devices/blitzwill_ceilingfanlight.yaml

@@ -70,8 +70,21 @@ entities:
         type: hex
         optional: true
         name: value
+  - entity: time
+    name: Light timer
+    translation_key: timer
+    category: config
+    dps:
+      - id: 26
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     name: Light timer
+    # 2025-07-20
+    deprecated: time.light_timer
     translation_key: timer
     category: config
     class: duration

+ 12 - 0
custom_components/tuya_local/devices/blitzwolf_bwshp6_smartplug.yaml

@@ -79,8 +79,20 @@ entities:
         type: integer
         name: calibration
         optional: true
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 9
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:

+ 28 - 0
custom_components/tuya_local/devices/brilliant_double_switch.yaml

@@ -22,8 +22,34 @@ entities:
       - id: 2
         type: boolean
         name: switch
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "1"
+    dps:
+      - id: 7
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "2"
+    dps:
+      - id: 8
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     category: config
+    # 2025-07-25
+    deprecated: time.timer_1
     translation_key: timer_x
     translation_placeholders:
       x: "1"
@@ -41,6 +67,8 @@ entities:
             step: 60
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_2
     translation_key: timer_x
     translation_placeholders:
       x: "2"

+ 56 - 0
custom_components/tuya_local/devices/brilliant_quad_switch.yaml

@@ -40,8 +40,58 @@ entities:
       - id: 4
         type: boolean
         name: switch
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "1"
+    dps:
+      - id: 7
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "2"
+    dps:
+      - id: 8
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "3"
+    dps:
+      - id: 9
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "4"
+    dps:
+      - id: 10
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_1
     translation_key: timer_x
     translation_placeholders:
       x: "1"
@@ -59,6 +109,8 @@ entities:
             step: 60
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_2
     translation_key: timer_x
     translation_placeholders:
       x: "2"
@@ -76,6 +128,8 @@ entities:
             step: 60
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_3
     translation_key: timer_x
     translation_placeholders:
       x: "3"
@@ -93,6 +147,8 @@ entities:
             step: 60
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_4
     translation_key: timer_x
     translation_placeholders:
       x: "4"

+ 12 - 0
custom_components/tuya_local/devices/brilliant_single_switch.yaml

@@ -10,8 +10,20 @@ entities:
       - id: 1
         type: boolean
         name: switch
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 7
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:

+ 42 - 0
custom_components/tuya_local/devices/brilliant_triple_switch.yaml

@@ -31,8 +31,46 @@ entities:
       - id: 3
         type: boolean
         name: switch
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "1"
+    dps:
+      - id: 7
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "2"
+    dps:
+      - id: 8
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "3"
+    dps:
+      - id: 9
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_1
     translation_key: timer_x
     translation_placeholders:
       x: "1"
@@ -50,6 +88,8 @@ entities:
             step: 60
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_2
     translation_key: timer_x
     translation_placeholders:
       x: "2"
@@ -67,6 +107,8 @@ entities:
             step: 60
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_3
     translation_key: timer_x
     translation_placeholders:
       x: "3"

+ 12 - 0
custom_components/tuya_local/devices/btbcoin_ac5299_pccontroller.yaml

@@ -88,8 +88,20 @@ entities:
             value: warning
           - dps_val: forced_failure
             value: blocked
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 108
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:

+ 13 - 0
custom_components/tuya_local/devices/calex_s45cleare27_light.yaml

@@ -72,8 +72,21 @@ entities:
         name: random_timing
         type: string
         optional: true
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 26
+        type: integer
+        optional: true
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-25
+    deprecated: time.timer
     class: duration
     category: config
     dps:

+ 25 - 2
custom_components/tuya_local/devices/casdon_td_pro_2.yaml

@@ -100,8 +100,31 @@ entities:
       - id: 2
         name: switch
         type: boolean
+  - entity: time
+    name: Start time
+    translation_key: timer
+    dps:
+      - id: 9
+        name: minute
+        type: integer
+        optional: true
+        range:
+          min: 1
+          max: 1440
+  - entity: time
+    icon: "mdi:timer-edit"
+    name: Cooking time
+    dps:
+      - id: 10
+        name: minute
+        type: integer
+        range:
+          min: 1
+          max: 1440
   - entity: number
     name: Start time
+    # 2025-07-25
+    deprecated: time.start_time
     translation_key: timer
     class: duration
     dps:
@@ -113,8 +136,9 @@ entities:
           min: 1
           max: 1440
         unit: min
-        class: measurement
   - entity: number
+    # 2025-07-25
+    deprecated: time.cooking_time
     icon: "mdi:timer-edit"
     class: duration
     name: Cooking time
@@ -126,7 +150,6 @@ entities:
           min: 1
           max: 1440
         unit: min
-        class: measurement
   - entity: sensor
     translation_key: time_remaining
     class: duration

+ 12 - 0
custom_components/tuya_local/devices/cbi_astute_outdoor_smartswitch.yaml

@@ -10,7 +10,19 @@ entities:
       - id: 1
         type: boolean
         name: switch
+  - entity: time
+    category: config
+    translation_key: timer
+    dps:
+      - id: 7
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
+    # 2025-07-25
+    deprecated: time.timer
     category: config
     class: duration
     translation_key: timer

+ 13 - 0
custom_components/tuya_local/devices/cct_lightbulb.yaml

@@ -42,8 +42,21 @@ entities:
         name: scene
         type: hex
         optional: true
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 26
+        type: integer
+        name: second
+        optional: true
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:

+ 12 - 0
custom_components/tuya_local/devices/cesmarthome_acwall_outlet.yaml

@@ -9,8 +9,20 @@ entities:
       - id: 101
         name: switch
         type: boolean
+  - entity: time
+    category: config
+    translation_key: timer
+    dps:
+      - id: 102
+        name: second
+        type: integer
+        range:
+          min: 0
+          max: 86400
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     translation_key: timer
     dps:

+ 13 - 1
custom_components/tuya_local/devices/comon_lights.yaml

@@ -107,8 +107,21 @@ entities:
           - dps_val: "0003e801f40000000"
             value: "Steady On"
             default: true
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 26
+        name: second
+        type: integer
+        optional: true
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:
@@ -123,4 +136,3 @@ entities:
         mapping:
           - scale: 60
             step: 60
-          - dps_val: null

+ 28 - 0
custom_components/tuya_local/devices/denver_shp200mk2_dualsmartplug.yaml

@@ -42,8 +42,34 @@ entities:
       - id: 2
         type: boolean
         name: switch
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "1"
+    dps:
+      - id: 9
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "2"
+    dps:
+      - id: 10
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_1
     translation_key: timer_x
     translation_placeholders:
       x: "1"
@@ -61,6 +87,8 @@ entities:
             step: 60
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_2
     translation_key: timer_x
     translation_placeholders:
       x: "2"

+ 14 - 0
custom_components/tuya_local/devices/depuley_smart_ceiling_fan.yaml

@@ -180,8 +180,22 @@ entities:
         mapping:
           - dps_val: null
             value: 0
+  - entity: time
+    translation_key: timer
+    name: Light timer
+    category: config
+    dps:
+      - id: 26
+        type: integer
+        name: second
+        optional: true
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.light_timer
     class: duration
     name: Light timer
     category: config

+ 12 - 0
custom_components/tuya_local/devices/deta_dimmer_switch.yaml

@@ -29,8 +29,20 @@ entities:
         unit: "%"
         mapping:
           - scale: 10
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 6
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:

+ 12 - 0
custom_components/tuya_local/devices/devola_patio_heater.yaml

@@ -100,8 +100,20 @@ entities:
       - id: 4
         type: string
         name: sensor
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 12
+        type: integer
+        name: minute
+        range:
+          min: 0
+          max: 1440
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:

+ 28 - 0
custom_components/tuya_local/devices/digoo_dgsp202.yaml

@@ -52,8 +52,34 @@ entities:
         unit: W
         mapping:
           - scale: 10
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "1"
+    dps:
+      - id: 9
+        name: second
+        type: integer
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "2"
+    dps:
+      - id: 10
+        name: second
+        type: integer
+        range:
+          min: 0
+          max: 86400
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_1
     translation_key: timer_x
     translation_placeholders:
       x: "1"
@@ -71,6 +97,8 @@ entities:
             step: 60
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_2
     translation_key: timer_x
     translation_placeholders:
       x: "2"

+ 2 - 0
custom_components/tuya_local/devices/diivoo_dwv010.yaml

@@ -100,6 +100,7 @@ entities:
     name: Irrigation time 1
     category: config
     class: duration
+    # 2025-07-20
     deprecated: time.irrigation_time_1
     icon: "mdi:timer"
     dps:
@@ -115,6 +116,7 @@ entities:
     name: Irrigation time 2
     category: config
     class: duration
+    # 2025-07-20
     deprecated: time.irrigation_time_1
     icon: "mdi:timer"
     dps:

+ 2 - 0
custom_components/tuya_local/devices/diivoo_wt05.yaml

@@ -81,6 +81,7 @@ entities:
         optional: true
   - entity: number
     name: Irrigation time 1
+    # 2025-07-20
     deprecated: time.irrigation_time_1
     category: config
     class: duration
@@ -96,6 +97,7 @@ entities:
           max: 1440
   - entity: number
     name: Irrigation time 2
+    # 2025-07-20
     deprecated: time.irrigation_time_2
     category: config
     class: duration

+ 12 - 0
custom_components/tuya_local/devices/dimming_1ch_switch.yaml

@@ -36,8 +36,20 @@ entities:
             value: Seesaw toggle
           - dps_val: seesaw_sync
             value: Seesaw sync
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 6
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:

+ 13 - 0
custom_components/tuya_local/devices/dimming_lightbulb.yaml

@@ -25,8 +25,21 @@ entities:
         range:
           min: 10
           max: 1000
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 26
+        type: integer
+        name: second
+        optional: true
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:

+ 25 - 0
custom_components/tuya_local/devices/dongguan_garage_door_opener.yaml

@@ -24,8 +24,20 @@ entities:
       - id: 3
         type: boolean
         name: open
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 2
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:
@@ -48,8 +60,21 @@ entities:
         range:
           min: 10
           max: 120
+  - entity: time
+    name: Alarm timeout
+    icon: mdi:timer-alert
+    category: config
+    dps:
+      - id: 5
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     name: Timeout alarm
+    # 2025-07-20
+    deprecated: time.alarm_timeout
     icon: mdi:timer-alert
     class: duration
     category: config

+ 14 - 0
custom_components/tuya_local/devices/dowell_dchs-k7_32_7kw_ev_charger.yaml

@@ -356,7 +356,21 @@ entities:
         unit: kWh
         mapping:
           - scale: 100
+  - entity: time
+    name: Charging time
+    category: config
+    translation_key: timer
+    dps:
+      - id: 19    # charge_time
+        type: integer
+        optional: true
+        name: minute
+        range:
+          min: 1
+          max: 1440
   - entity: number
+    # 2025-07-20
+    deprecated: time.charging_time
     name: Charging time
     category: config
     class: duration

+ 13 - 1
custom_components/tuya_local/devices/dreamlight_led_strip.yaml

@@ -87,8 +87,21 @@ entities:
         name: paint_colour_data
         type: string
         optional: true
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 26
+        name: second
+        type: integer
+        optional: true
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:
@@ -103,7 +116,6 @@ entities:
         mapping:
           - scale: 60
             step: 60
-          - dps_val: null
   - entity: number
     name: Pixels
     category: config

+ 28 - 0
custom_components/tuya_local/devices/dual_power_monitor_smartplug.yaml

@@ -58,8 +58,34 @@ entities:
         force: true
         mapping:
           - scale: 10
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "1"
+    dps:
+      - id: 10
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "2"
+    dps:
+      - id: 11
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_1
     translation_key: timer_x
     translation_placeholders:
       x: "1"
@@ -77,6 +103,8 @@ entities:
             step: 60
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_2
     translation_key: timer_x
     translation_placeholders:
       x: "2"

+ 28 - 0
custom_components/tuya_local/devices/dual_power_monitor_smartplugv2.yaml

@@ -59,8 +59,34 @@ entities:
       - id: 2
         type: boolean
         name: switch
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "1"
+    dps:
+      - id: 9
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "2"
+    dps:
+      - id: 10
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_2
     translation_key: timer_x
     translation_placeholders:
       x: "1"
@@ -78,6 +104,8 @@ entities:
             step: 60
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_2
     translation_key: timer_x
     translation_placeholders:
       x: "2"

+ 12 - 0
custom_components/tuya_local/devices/earu_eaemp3c100_energymeter.yaml

@@ -442,8 +442,20 @@ entities:
       - id: 104
         type: boolean
         name: switch
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 105
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:

+ 0 - 3
custom_components/tuya_local/devices/eberg_qubo_q40hd_heatpump.yaml

@@ -57,9 +57,6 @@ entities:
             value: C
           - dps_val: f
             value: F
-      - id: 22
-        type: integer
-        name: timer
       - id: 25
         type: boolean
         name: preset_mode

+ 14 - 0
custom_components/tuya_local/devices/ecopoint_ev_charger.yaml

@@ -289,8 +289,22 @@ entities:
           max: 20000000
         mapping:
           - scale: 1000
+  - entity: time
+    name: Charging time
+    category: config
+    translation_key: timer
+    dps:
+      - id: 19
+        type: integer
+        optional: true
+        name: minute
+        range:
+          min: 1
+          max: 1440
   - entity: number
     name: Charge time
+    # 2025-07-20
+    deprecated: time.charging_time
     category: config
     class: duration
     icon: "mdi:timer"

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

@@ -31,9 +31,14 @@ entities:
       - id: 63
         type: string
         name: direction
+  - entity: number
+    translation_key: timer
+    class: duration
+    category: config
+    dps:
       - id: 64
         type: integer
-        name: timer
+        name: value
         range:
           min: 0
           max: 540

+ 0 - 3
custom_components/tuya_local/devices/electriq_ecosilent12wap_aircon.yaml

@@ -94,9 +94,6 @@ entities:
             value: F
           - dps_val: c
             value: C
-      - id: 22
-        name: timer
-        type: integer
       - id: 23
         name: current_temperature_f
         type: integer

+ 0 - 3
custom_components/tuya_local/devices/electriq_ecosilent14hpw_aircon.yaml

@@ -75,9 +75,6 @@ entities:
             value: F
           - dps_val: c
             value: C
-      - id: 22
-        name: timer
-        type: integer
       - id: 23
         name: current_temperature_f
         type: integer

+ 2 - 0
custom_components/tuya_local/devices/elspet_cat_litterbox.yaml

@@ -110,6 +110,7 @@ entities:
         name: switch
   - entity: number
     name: Sleep start
+    # 2025-07-20
     deprecated: time.sleep_start
     class: duration
     category: config
@@ -126,6 +127,7 @@ entities:
           - scale: 60
   - entity: number
     name: Sleep end
+    # 2025-07-20
     deprecated: time.sleep_end
     class: duration
     category: config

+ 13 - 0
custom_components/tuya_local/devices/enbrighten_cafe_stringlights.yaml

@@ -19,8 +19,21 @@ entities:
         type: string
         optional: true
         name: mode
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 26
+        type: integer
+        optional: true
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:

+ 13 - 0
custom_components/tuya_local/devices/enbrighten_curtainlights.yaml

@@ -33,8 +33,21 @@ entities:
             range:
               min: 0
               max: 1000
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 26
+        name: second
+        type: integer
+        optional: true
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:

+ 56 - 0
custom_components/tuya_local/devices/es01_powerstrip.yaml

@@ -36,8 +36,58 @@ entities:
       - id: 4
         type: boolean
         name: switch
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "1"
+    dps:
+      - id: 5
+        name: second
+        type: integer
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "2"
+    dps:
+      - id: 6
+        name: second
+        type: integer
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "3"
+    dps:
+      - id: 7
+        name: second
+        type: integer
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: USB
+    dps:
+      - id: 8
+        name: second
+        type: integer
+        range:
+          min: 0
+          max: 86400
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_1
     translation_key: timer_x
     translation_placeholders:
       x: "1"
@@ -55,6 +105,8 @@ entities:
             step: 60
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_2
     translation_key: timer_x
     translation_placeholders:
       x: "2"
@@ -72,6 +124,8 @@ entities:
             step: 60
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_3
     translation_key: timer_x
     translation_placeholders:
       x: "3"
@@ -89,6 +143,8 @@ entities:
             step: 60
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_usb
     name: USB timer
     translation_key: timer
     class: duration

+ 26 - 0
custom_components/tuya_local/devices/espfort_ecspsp_usbsmartplug.yaml

@@ -27,8 +27,32 @@ entities:
       - id: 44
         type: string
         name: inching
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: USB
+    dps:
+      - id: 9
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    category: config
+    translation_key: timer
+    dps:
+      - id: 10
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_usb
     name: USB timer
     class: duration
     translation_key: timer
@@ -45,6 +69,8 @@ entities:
             step: 60
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     translation_key: timer
     dps:

+ 12 - 0
custom_components/tuya_local/devices/etna_vw644mc_dishwasher.yaml

@@ -29,8 +29,20 @@ entities:
             value: false
           - dps_val: false
             value: true
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 6
+        type: integer
+        name: minute
+        range:
+          min: 0
+          max: 1440
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:

+ 13 - 0
custom_components/tuya_local/devices/etop_ch7100_thermostat.yaml

@@ -165,8 +165,21 @@ entities:
       - id: 102
         type: boolean
         name: switch
+  - entity: time
+    name: Temporary hold time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 103
+        type: integer
+        name: minute
+        range:
+          min: 0
+          max: 1440
   - entity: number
     name: Temporary hold time
+    # 2025-07-20
+    deprecated: time.temporary_hold_time
     icon: "mdi:timer"
     class: duration
     category: config

+ 13 - 0
custom_components/tuya_local/devices/galaxy_projector_light.yaml

@@ -44,8 +44,21 @@ entities:
             range:
               min: 10
               max: 1000
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 26
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
+    category: config
     class: duration
     dps:
       - id: 26

+ 13 - 0
custom_components/tuya_local/devices/gaqqee_kws302wf_energymeter.yaml

@@ -237,8 +237,21 @@ entities:
         type: boolean
         name: button
         optional: true
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 121
+        type: integer
+        name: second
+        optional: true
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     category: config
     class: duration
     dps:

+ 12 - 0
custom_components/tuya_local/devices/ge_jasco_ultra_pro_toggle_dimmer_v2.yaml

@@ -33,7 +33,19 @@ entities:
             value: Incandescent
           - dps_val: led
             value: LED
+  - entity: time
+    category: config
+    translation_key: timer
+    dps:
+      - id: 6
+        name: second
+        type: integer
+        range:
+          min: 0
+          max: 86400
   - entity: number
+    # 2025-07-20
+    deprecated: time.timer
     category: config
     class: duration
     translation_key: timer

+ 13 - 1
custom_components/tuya_local/devices/ge_jasco_ultra_pro_toggle_switch.yaml

@@ -42,8 +42,21 @@ entities:
             value: locator
           - dps_val: relay
             value: state
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 7
+        type: integer
+        optional: true
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:
@@ -56,6 +69,5 @@ entities:
           min: 0
           max: 86400
         mapping:
-          - dps_val: null
           - scale: 60
             step: 60

+ 26 - 0
custom_components/tuya_local/devices/ghome_sw19_fanlight.yaml

@@ -21,8 +21,21 @@ entities:
             value: 75
           - dps_val: level_4
             value: 100
+  - entity: time
+    name: Fan timer
+    category: config
+    translation_key: timer
+    dps:
+      - id: 2
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     name: Fan timer
+    # 2025-07-20
+    deprecated: time.fan_timer
     class: duration
     category: config
     translation_key: timer
@@ -48,8 +61,21 @@ entities:
         range:
           min: 10
           max: 1000
+  - entity: time
+    name: Light timer
+    category: config
+    translation_key: timer
+    dps:
+      - id: 7
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     name: Light timer
+    # 2025-07-20
+    deprecated: time.light_timer
     category: config
     class: duration
     translation_key: timer

+ 0 - 3
custom_components/tuya_local/devices/goldair_geco_heater.yaml

@@ -22,9 +22,6 @@ entities:
       - id: 4
         type: integer
         name: current_temperature
-      - id: 5
-        type: integer
-        name: timer
   - entity: lock
     translation_key: child_lock
     category: config

+ 15 - 0
custom_components/tuya_local/devices/goldair_gpph900_heater.yaml

@@ -132,8 +132,23 @@ entities:
       - id: 109
         type: boolean
         name: switch
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 110
+        type: integer
+        name: minute
+        range:
+          min: 1
+          max: 1440
+      - id: 109
+        type: boolean
+        name: available
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:

+ 12 - 3
custom_components/tuya_local/devices/goldair_gpph_heater.yaml

@@ -72,9 +72,6 @@ entities:
           - dps_val: "5"
             value: "5"
         name: power_level
-      - id: 102
-        type: integer
-        name: timer
       - id: 103
         type: boolean
         name: timer_mode
@@ -133,8 +130,20 @@ entities:
       - id: 6
         type: boolean
         name: lock
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 102
+        type: integer
+        name: minute
+        range:
+          min: 0
+          max: 1440
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:

+ 12 - 0
custom_components/tuya_local/devices/goldair_phet07ea_heater.yaml

@@ -36,8 +36,20 @@ entities:
       - id: 2
         type: boolean
         name: lock
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 5
+        type: integer
+        name: minute
+        range:
+          min: 0
+          max: 1440
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:

+ 26 - 0
custom_components/tuya_local/devices/goldair_portable_airconditioner.yaml

@@ -224,8 +224,32 @@ entities:
       - id: 103
         type: boolean
         name: switch
+  - entity: time
+    name: "On timer"
+    category: config
+    translation_key: timer
+    dps:
+      - id: 104
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    name: "Off timer"
+    category: config
+    translation_key: timer
+    dps:
+      - id: 105
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     name: "On timer"
+    # 2025-07-20
+    deprecated: time.on_timer
     category: config
     class: duration
     translation_key: timer
@@ -242,6 +266,8 @@ entities:
             step: 60
   - entity: number
     name: "Off timer"
+    # 2025-07-20
+    deprecated: time.off_timer
     category: config
     class: duration
     translation_key: timer

+ 26 - 0
custom_components/tuya_local/devices/gosund_sp112_usbsmartplug.yaml

@@ -93,8 +93,32 @@ entities:
         type: integer
         name: calibration
         optional: true
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 9
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: USB
+    dps:
+      - id: 15
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:
@@ -110,6 +134,8 @@ entities:
             step: 60
   - entity: number
     name: USB timer
+    # 2025-07-20
+    deprecated: time.timer_usb
     category: config
     class: duration
     translation_key: timer

+ 56 - 0
custom_components/tuya_local/devices/gosund_usb_triple_powerstrip.yaml

@@ -38,8 +38,58 @@ entities:
       - id: 7
         type: boolean
         name: switch
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "1"
+    dps:
+      - id: 9
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "2"
+    dps:
+      - id: 10
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "3"
+    dps:
+      - id: 11
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: USB
+    dps:
+      - id: 15
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_1
     class: duration
     translation_key: timer_x
     translation_placeholders:
@@ -57,6 +107,8 @@ entities:
             step: 60
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_2
     class: duration
     translation_key: timer_x
     translation_placeholders:
@@ -74,6 +126,8 @@ entities:
             step: 60
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_3
     class: duration
     translation_key: timer_x
     translation_placeholders:
@@ -91,6 +145,8 @@ entities:
             step: 60
   - entity: number
     name: USB Timer
+    # 2025-07-20
+    deprecated: time.timer_usb
     category: config
     class: duration
     translation_key: timer

+ 56 - 0
custom_components/tuya_local/devices/gosund_wp9rtl_usbpowerstrip.yaml

@@ -47,8 +47,58 @@ entities:
       - id: 7
         type: boolean
         name: switch
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "1"
+    dps:
+      - id: 9
+        name: second
+        type: integer
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "2"
+    dps:
+      - id: 10
+        name: second
+        type: integer
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "3"
+    dps:
+      - id: 11
+        name: second
+        type: integer
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: USB
+    dps:
+      - id: 15
+        name: second
+        type: integer
+        range:
+          min: 0
+          max: 86400
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_1
     class: duration
     translation_key: timer_x
     translation_placeholders:
@@ -66,6 +116,8 @@ entities:
             step: 60
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_2
     class: duration
     translation_key: timer_x
     translation_placeholders:
@@ -83,6 +135,8 @@ entities:
             step: 60
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_3
     class: duration
     translation_key: timer_x
     translation_placeholders:
@@ -100,6 +154,8 @@ entities:
             step: 60
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_usb
     class: duration
     translation_key: timer_x
     translation_placeholders:

+ 28 - 0
custom_components/tuya_local/devices/grid_connect_usb_double_power_point.yaml

@@ -106,8 +106,34 @@ entities:
             value: "off"
           - dps_val: memory
             value: memory
+  - entity: time
+    translation_key: timer_x
+    translation_placeholders:
+      x: "1"
+    category: config
+    dps:
+      - id: 9
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    translation_key: timer_x
+    translation_placeholders:
+      x: "2"
+    category: config
+    dps:
+      - id: 10
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     class: duration
+    # 2025-07-20
+    deprecated: time.timer_1
     translation_key: timer_x
     translation_placeholders:
       x: "1"
@@ -122,6 +148,8 @@ entities:
           max: 86400
   - entity: number
     class: duration
+    # 2025-07-20
+    deprecated: time.timer_2
     translation_key: timer_x
     translation_placeholders:
       x: "2"

+ 27 - 1
custom_components/tuya_local/devices/grid_connect_usb_power_point.yaml

@@ -12,8 +12,32 @@ entities:
       - id: 2
         type: boolean
         name: switch
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 9
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    translation_key: timer_x
+    translation_placeholders:
+      x: USB
+    category: config
+    dps:
+      - id: 10
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     name: Outlet timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     translation_key: timer
     category: config
@@ -27,9 +51,11 @@ entities:
         mapping:
           - scale: 60
             step: 60
-        unit: mi
+        unit: min
   - entity: number
     name: USB timer
+    # 2025-07-20
+    deprecated: time.timer_usb
     class: duration
     translation_key: timer
     category: config

+ 12 - 0
custom_components/tuya_local/devices/gts8_40_2P_breaker.yaml

@@ -10,8 +10,20 @@ entities:
       - id: 1
         type: boolean
         name: switch
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 101
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     category: config
     class: duration
     dps:

+ 13 - 0
custom_components/tuya_local/devices/hdmi_ambient65_light.yaml

@@ -52,8 +52,21 @@ entities:
         type: boolean
         name: switch
 
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 26
+        name: second
+        type: integer
+        optional: true
+        range:
+          min: 0
+          max: 86400
   - entity: number
     class: duration
+    # 2025-07-20
+    deprecated: time.timer
     translation_key: timer
     category: config
     dps:

+ 13 - 0
custom_components/tuya_local/devices/hdmi_sync_light.yaml

@@ -96,8 +96,21 @@ entities:
             value: Color Scene - Breath
           - dps_val: 97000000000000000000000000000000
             value: Color Scene - Pure
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 26
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
+        optional: true
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:

+ 12 - 0
custom_components/tuya_local/devices/hoenyzy_valve_timer.yaml

@@ -9,8 +9,20 @@ entities:
       - id: 1
         type: boolean
         name: valve
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 9
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:

+ 12 - 0
custom_components/tuya_local/devices/hombli_6speed_ceilingfan.yaml

@@ -79,8 +79,20 @@ entities:
             range:
               min: 0
               max: 1000
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 26
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:

+ 78 - 0
custom_components/tuya_local/devices/homemate_multi_switch.yaml

@@ -66,8 +66,80 @@ entities:
       - id: 13
         type: boolean
         name: switch
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "1"
+    dps:
+      - id: 7
+        type: integer
+        name: second
+        optional: true
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "2"
+    dps:
+      - id: 8
+        type: integer
+        name: second
+        optional: true
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "3"
+    hidden: unavailable
+    dps:
+      - id: 9
+        type: integer
+        name: second
+        optional: true
+        range:
+          min: 0
+          max: 86400
+      - id: 3
+        name: available
+        type: boolean
+        optional: true
+        mapping:
+          - dps_val: null
+            value: false
+          - value: true
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "4"
+    hidden: unavailable
+    dps:
+      - id: 10
+        type: integer
+        name: second
+        optional: true
+        range:
+          min: 0
+          max: 86400
+      - id: 4
+        name: available
+        type: boolean
+        optional: true
+        mapping:
+          - dps_val: null
+            value: false
+          - value: true
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_1
     class: duration
     translation_key: timer_x
     translation_placeholders:
@@ -86,6 +158,8 @@ entities:
             step: 60
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_2
     class: duration
     translation_key: timer_x
     translation_placeholders:
@@ -104,6 +178,8 @@ entities:
             step: 60
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_3
     class: duration
     translation_key: timer_x
     translation_placeholders:
@@ -131,6 +207,8 @@ entities:
           - value: true
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_4
     class: duration
     translation_key: timer_x
     translation_placeholders:

+ 12 - 0
custom_components/tuya_local/devices/ih001_led_controller.yaml

@@ -96,8 +96,20 @@ entities:
               046460200ae03e803e800000000464602011303e803e800000000"
             # color* R+G+B+Y+C+V, Breath, Mid speed
             value: Gorgeous
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 26
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:

+ 12 - 0
custom_components/tuya_local/devices/ilonda_l88_fishfeeder.yaml

@@ -10,8 +10,20 @@ entities:
       - id: 1
         type: boolean
         name: switch
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 6
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:

+ 5 - 1
custom_components/tuya_local/devices/inow_heater_element.yaml

@@ -30,9 +30,13 @@ entities:
             value: comfort
           - dps_val: antifreezing
             value: away
+  - entity: select
+    translation_key: timer
+    category: config
+    dps:
       - id: 19
         type: string
-        name: timer
+        name: option
         optional: true
         mapping:
           - dps_val: "0h"

+ 12 - 0
custom_components/tuya_local/devices/ion_wifi_dimmer.yaml

@@ -37,8 +37,20 @@ entities:
         range:
           min: 10
           max: 1000
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 6
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:

+ 12 - 0
custom_components/tuya_local/devices/ketotek_ktem06pro_energymeter.yaml

@@ -450,8 +450,20 @@ entities:
         class: measurement
         mapping:
           - scale: 100
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 107
+        type: integer
+        name: minute
+        range:
+          min: 0
+          max: 1440
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:

+ 13 - 0
custom_components/tuya_local/devices/keyun_rgb_ceilingfan.yaml

@@ -143,8 +143,21 @@ entities:
       - id: 108
         type: boolean
         name: switch
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 112
+        type: integer
+        name: second
+        optional: true
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:

+ 12 - 0
custom_components/tuya_local/devices/klarstein_amazonia_dishwasher.yaml

@@ -29,8 +29,20 @@ entities:
             value: false
           - dps_val: false
             value: true
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 6
+        type: integer
+        name: minute
+        range:
+          min: 0
+          max: 1440
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:

+ 10 - 6
custom_components/tuya_local/devices/kogan_dehumidifier.yaml

@@ -34,12 +34,6 @@ entities:
       - id: 3
         name: current_humidity
         type: integer
-      - id: 12
-        name: timer_hr
-        type: integer
-      - id: 13
-        name: timer
-        type: integer
       - id: 101
         name: humidity
         type: integer
@@ -94,3 +88,13 @@ entities:
       - id: 11
         type: bitfield
         name: fault_code
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 12
+        name: hour
+        type: integer
+      - id: 13
+        name: minute
+        type: integer

+ 12 - 3
custom_components/tuya_local/devices/kogan_kahtp_heater.yaml

@@ -30,9 +30,6 @@ entities:
           - dps_val: true
             value: "heat"
         name: hvac_mode
-      - id: 8
-        type: integer
-        name: timer
   - entity: lock
     translation_key: child_lock
     category: config
@@ -40,8 +37,20 @@ entities:
       - id: 6
         type: boolean
         name: lock
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 8
+        name: minute
+        type: integer
+        range:
+          min: 0
+          max: 1440
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:

+ 12 - 0
custom_components/tuya_local/devices/kogan_kawfhtp_heater.yaml

@@ -41,8 +41,20 @@ entities:
       - id: 2
         type: boolean
         name: lock
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 5
+        type: integer
+        name: minute
+        range:
+          min: 0
+          max: 1440
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:

+ 13 - 0
custom_components/tuya_local/devices/ledvance_smart_plabl100x25b.yaml

@@ -163,8 +163,21 @@ entities:
             bytes: 2
           - name: wc
             bytes: 2
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 26
+        type: integer
+        name: second
+        optional: true
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:

+ 0 - 3
custom_components/tuya_local/devices/lexy_f501_fan.yaml

@@ -38,9 +38,6 @@ entities:
             value: true
           - dps_val: "360negative"
             value: true
-      - id: 6
-        name: timer
-        type: integer
       - id: 102
         name: speed
         type: integer

+ 13 - 0
custom_components/tuya_local/devices/light_string.yaml

@@ -99,8 +99,21 @@ entities:
             value: Spectrum
           - dps_val: 46401bb1006e03e801f4
             value: Rolling
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 26
+        type: integer
+        name: second
+        optional: true
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:

+ 70 - 0
custom_components/tuya_local/devices/logicom_powerstrip.yaml

@@ -43,8 +43,70 @@ entities:
       - id: 5
         type: boolean
         name: switch
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "1"
+    dps:
+      - id: 9
+        name: second
+        type: integer
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "2"
+    dps:
+      - id: 10
+        name: second
+        type: integer
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "3"
+    dps:
+      - id: 11
+        name: second
+        type: integer
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "4"
+    dps:
+      - id: 12
+        name: second
+        type: integer
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: USB
+    dps:
+      - id: 13
+        name: second
+        type: integer
+        range:
+          min: 0
+          max: 86400
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_1
     translation_key: timer_x
     translation_placeholders:
       x: "1"
@@ -62,6 +124,8 @@ entities:
             step: 60
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_2
     class: duration
     translation_key: timer_x
     translation_placeholders:
@@ -79,6 +143,8 @@ entities:
             step: 60
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_3
     class: duration
     translation_key: timer_x
     translation_placeholders:
@@ -96,6 +162,8 @@ entities:
             step: 60
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_4
     class: duration
     translation_key: timer_x
     translation_placeholders:
@@ -113,6 +181,8 @@ entities:
             step: 60
   - entity: number
     class: duration
+    # 2025-07-20
+    deprecated: time.timer_usb
     category: config
     name: USB timer
     translation_key: timer

+ 34 - 6
custom_components/tuya_local/devices/loratap_dual_switch.yaml

@@ -20,8 +20,40 @@ entities:
       - id: 2
         name: switch
         type: boolean
+  - entity: time
+    translation_key: timer_x
+    translation_placeholders:
+      x: "1"
+    category: config
+    dps:
+      - id: 9
+        name: second
+        type: integer
+        range:
+          min: 0
+          max: 86400
+      - id: 42
+        name: random_time
+        type: string
+      - id: 43
+        name: cycle_time
+        type: string
+  - entity: time
+    translation_key: timer_x
+    translation_placeholders:
+      x: "2"
+    category: config
+    dps:
+      - id: 10
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     class: duration
+    # 2025-07-20
+    deprecated: time.timer_1
     translation_key: timer_x
     translation_placeholders:
       x: "1"
@@ -37,14 +69,10 @@ entities:
         mapping:
           - scale: 60
             step: 60
-      - id: 42
-        name: random_time
-        type: string
-      - id: 43
-        name: cycle_time
-        type: string
   - entity: number
     class: duration
+    # 2025-07-20
+    deprecated: time.timer_2
     translation_key: timer_x
     translation_placeholders:
       x: "2"

+ 25 - 0
custom_components/tuya_local/devices/loratap_garage_door.yaml

@@ -21,8 +21,20 @@ entities:
       - id: 101
         name: open
         type: boolean
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 7
+        name: second
+        type: integer
+        range:
+          min: 0
+          max: 86400
   - entity: number
     class: duration
+    # 2025-07-20
+    deprecated: time.timer
     translation_key: timer
     category: config
     dps:
@@ -49,8 +61,21 @@ entities:
         range:
           min: 10
           max: 120
+  - entity: time
+    name: Alarm timer
+    category: config
+    icon: "mdi:alarm"
+    dps:
+      - id: 103
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     name: Alarm timer
+    # 2025-07-20
+    deprecated: time.alarm_timer
     class: duration
     category: config
     icon: "mdi:alarm"

+ 12 - 0
custom_components/tuya_local/devices/loratap_relay.yaml

@@ -21,8 +21,20 @@ entities:
         type: string
         name: inching
         optional: true
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 9
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:

+ 13 - 1
custom_components/tuya_local/devices/lsc_neon_ledstrip.yaml

@@ -71,8 +71,21 @@ entities:
         type: hex
         optional: true
         name: value
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 26
+        name: second
+        type: integer
+        optional: true
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:
@@ -87,7 +100,6 @@ entities:
         mapping:
           - scale: 60
             step: 60
-          - dps_val: null
   - entity: number
     name: Pixels
     category: config

+ 12 - 0
custom_components/tuya_local/devices/lsc_rgbcct_ledstrip.yaml

@@ -58,8 +58,20 @@ entities:
             range:
               min: 0
               max: 1000
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 26
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer
     class: duration
     category: config
     dps:

+ 12 - 0
custom_components/tuya_local/devices/lscsmartconnect_gardenspotlights.yaml

@@ -69,8 +69,20 @@ entities:
         type: string
         optional: true
         name: power_memory
+  - entity: time
+    translation_key: timer
+    category: config
+    dps:
+      - id: 26
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     class: duration
+    # 2025-07-20
+    deprecated: time.timer
     translation_key: timer
     category: config
     dps:

+ 16 - 0
custom_components/tuya_local/devices/lumary_a1_ceilingfanlight.yaml

@@ -61,9 +61,25 @@ entities:
       - id: 119
         type: boolean
         name: available
+  - entity: time
+    translation_key: timer
+    name: Light timer
+    category: config
+    dps:
+      - id: 26
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
+      - id: 119
+        type: boolean
+        name: available
   - entity: number
     translation_key: timer
     name: Light timer
+    # 2025-07-20
+    deprecated: time.light_timer
     category: config
     class: duration
     dps:

+ 28 - 0
custom_components/tuya_local/devices/makegood_double_power_point_with_energy.yaml

@@ -52,8 +52,34 @@ entities:
         unit: W
         mapping:
           - scale: 10
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "1"
+    dps:
+      - id: 2
+        name: second
+        type: integer
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    category: config
+    translation_key: timer_x
+    translation_placeholders:
+      x: "2"
+    dps:
+      - id: 14
+        name: second
+        type: integer
+        range:
+          min: 0
+          max: 86400
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_1
     class: duration
     translation_key: timer_x
     translation_placeholders:
@@ -71,6 +97,8 @@ entities:
             step: 60
   - entity: number
     category: config
+    # 2025-07-20
+    deprecated: time.timer_2
     class: duration
     translation_key: timer_x
     translation_placeholders:

+ 28 - 0
custom_components/tuya_local/devices/makegood_switch_dual_timer-energy.yaml

@@ -20,8 +20,34 @@ entities:
       - id: 2
         type: boolean
         name: switch
+  - entity: time
+    translation_key: timer_x
+    translation_placeholders:
+      x: "1"
+    category: config
+    dps:
+      - id: 7
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
+  - entity: time
+    translation_key: timer_x
+    translation_placeholders:
+      x: "2"
+    category: config
+    dps:
+      - id: 8
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     class: duration
+    # 2025-07-20
+    deprecated: time.timer_1
     translation_key: timer_x
     translation_placeholders:
       x: "1"
@@ -39,6 +65,8 @@ entities:
         unit: min
   - entity: number
     class: duration
+    # 2025-07-20
+    deprecated: time.timer_2
     translation_key: timer_x
     translation_placeholders:
       x: "2"

+ 28 - 0
custom_components/tuya_local/devices/malmbergs_dual_dimmer.yaml

@@ -39,8 +39,22 @@ entities:
         range:
           min: 25
           max: 255
+  - entity: time
+    translation_key: timer_x
+    translation_placeholders:
+      x: "1"
+    category: config
+    dps:
+      - id: 6
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     translation_key: timer
+    # 2025-07-20
+    deprecated: time.timer_1
     class: duration
     category: config
     dps:
@@ -65,8 +79,22 @@ entities:
         range:
           min: 25
           max: 255
+  - entity: time
+    translation_key: timer_x
+    translation_placeholders:
+      x: "2"
+    category: config
+    dps:
+      - id: 12
+        type: integer
+        name: second
+        range:
+          min: 0
+          max: 86400
   - entity: number
     class: duration
+    # 2025-07-20
+    deprecated: time.timer_2
     translation_key: timer_x
     translation_placeholders:
       x: "2"

Some files were not shown because too many files changed in this diff