Parcourir la source

CI: add yamllint to check yaml files for potential errors

Clean up existing yaml files. A lot of whitespace inconsistencies
which mostly have no effect, a few indentation problems that might
have prevented mappings from working, many truthy values other than
true and false, some needing quoting as they were intended to be
strings. Also some blank entries for attributes that were filled in or
removed completely.

Too many changes to list the ones that might have had an impact.
Jason Rumney il y a 2 ans
Parent
commit
e907c5207e
100 fichiers modifiés avec 281 ajouts et 432 suppressions
  1. 5 3
      .github/workflows/linting.yml
  2. 6 0
      .yamllint
  3. 2 2
      custom_components/tuya_local/devices/AlecoAir_D25_Traditio.yaml
  4. 0 1
      custom_components/tuya_local/devices/advancedfires_1500_fireplace.yaml
  5. 6 6
      custom_components/tuya_local/devices/akai_dryer.yaml
  6. 6 6
      custom_components/tuya_local/devices/alecoair_d14_dehumidifier.yaml
  7. 0 1
      custom_components/tuya_local/devices/arlec_12speed_tower_fan.yaml
  8. 1 7
      custom_components/tuya_local/devices/asc_wifi_circuit_breaker.yaml
  9. 4 8
      custom_components/tuya_local/devices/asip_0622_planter.yaml
  10. 2 4
      custom_components/tuya_local/devices/atomi_ceiling_fan.yaml
  11. 0 2
      custom_components/tuya_local/devices/atomi_ceramic_heater.yaml
  12. 21 21
      custom_components/tuya_local/devices/atomi_string_lights.yaml
  13. 1 1
      custom_components/tuya_local/devices/atorch_at2pl_breaker.yaml
  14. 0 1
      custom_components/tuya_local/devices/avatto_curtain_light.yaml
  15. 5 5
      custom_components/tuya_local/devices/avatto_wt100_thermostat.yaml
  16. 2 4
      custom_components/tuya_local/devices/bcom_intercom_camera.yaml
  17. 1 1
      custom_components/tuya_local/devices/beca_bac002_thermostat_c.yaml
  18. 1 1
      custom_components/tuya_local/devices/beca_bht002_thermostat_c.yaml
  19. 1 1
      custom_components/tuya_local/devices/beca_bht6000_thermostat_c.yaml
  20. 1 1
      custom_components/tuya_local/devices/becool_heatpump.yaml
  21. 8 8
      custom_components/tuya_local/devices/benexmart_blind_motor.yaml
  22. 5 5
      custom_components/tuya_local/devices/beok_tgm50_thermostat.yaml
  23. 2 3
      custom_components/tuya_local/devices/beok_tgr81_thermostat_c.yaml
  24. 5 5
      custom_components/tuya_local/devices/beok_tol47_thermostat.yaml
  25. 3 3
      custom_components/tuya_local/devices/beok_tr8b_thermostat.yaml
  26. 4 4
      custom_components/tuya_local/devices/beok_tr9b_thermostat.yaml
  27. 0 6
      custom_components/tuya_local/devices/bht002_galw_thermostat.yaml
  28. 0 1
      custom_components/tuya_local/devices/ble_hct611_watertimer.yaml
  29. 1 2
      custom_components/tuya_local/devices/ble_hu06_lock.yaml
  30. 0 5
      custom_components/tuya_local/devices/ble_pt216_temp_humidity.yaml
  31. 0 1
      custom_components/tuya_local/devices/ble_solar_light.yaml
  32. 2 1
      custom_components/tuya_local/devices/blitzwolf_bw_lt31.yaml
  33. 0 9
      custom_components/tuya_local/devices/blitzwolf_bwis6_alarm.yaml
  34. 3 3
      custom_components/tuya_local/devices/blitzwolf_bwsh2_humidifier.yaml
  35. 9 11
      custom_components/tuya_local/devices/blitzwolf_bwsh5_humidifier.yaml
  36. 0 6
      custom_components/tuya_local/devices/blitzwolf_bwshp6_smartplug.yaml
  37. 4 6
      custom_components/tuya_local/devices/brade_mc6_thermostat.yaml
  38. 2 2
      custom_components/tuya_local/devices/breville_easyair_purifier.yaml
  39. 1 1
      custom_components/tuya_local/devices/breville_smart_air_viral_protect_plus.yaml
  40. 0 4
      custom_components/tuya_local/devices/brilliant_double_switch.yaml
  41. 1 5
      custom_components/tuya_local/devices/brilliant_quad_switch.yaml
  42. 0 4
      custom_components/tuya_local/devices/brilliant_single_switch.yaml
  43. 0 4
      custom_components/tuya_local/devices/brilliant_triple_switch.yaml
  44. 0 1
      custom_components/tuya_local/devices/bstuokey_access_keypad.yaml
  45. 5 4
      custom_components/tuya_local/devices/cadence_aroma_diffuser.yaml
  46. 8 8
      custom_components/tuya_local/devices/caldo_up_t_wifi.yaml
  47. 6 6
      custom_components/tuya_local/devices/carro_pn04f02d_fan_light.yaml
  48. 3 2
      custom_components/tuya_local/devices/carson_cb.yaml
  49. 2 2
      custom_components/tuya_local/devices/casafan_ceiling_fan_light.yaml
  50. 8 6
      custom_components/tuya_local/devices/catit_pixi_6meal_feeder.yaml
  51. 2 2
      custom_components/tuya_local/devices/catit_pixi_smart_feeder.yaml
  52. 1 1
      custom_components/tuya_local/devices/catit_pixi_smart_fountain.yaml
  53. 1 2
      custom_components/tuya_local/devices/ccb11_blind_controller.yaml
  54. 0 1
      custom_components/tuya_local/devices/cct_lightbulb.yaml
  55. 42 32
      custom_components/tuya_local/devices/cecotec_fan_light.yaml
  56. 0 9
      custom_components/tuya_local/devices/ceres_plus_petfeeder.yaml
  57. 0 3
      custom_components/tuya_local/devices/chanfok_fan_light.yaml
  58. 0 2
      custom_components/tuya_local/devices/cnc_ycb9zf_breaker.yaml
  59. 0 1
      custom_components/tuya_local/devices/compteur_energy_meter.yaml
  60. 5 6
      custom_components/tuya_local/devices/cooper_hunter_air_conditioner.yaml
  61. 0 1
      custom_components/tuya_local/devices/daizuki_heatpump.yaml
  62. 1 1
      custom_components/tuya_local/devices/dcenta_dual_meter.yaml
  63. 2 4
      custom_components/tuya_local/devices/ditua_dt1522yn_aromadiffuser.yaml
  64. 1 1
      custom_components/tuya_local/devices/djive_arc_fan.yaml
  65. 4 3
      custom_components/tuya_local/devices/dongguan_garage_door_opener.yaml
  66. 0 1
      custom_components/tuya_local/devices/dooya_curtain.yaml
  67. 3 4
      custom_components/tuya_local/devices/dts238_7_energy_meter.yaml
  68. 1 2
      custom_components/tuya_local/devices/duux_whisper_fan.yaml
  69. 2 23
      custom_components/tuya_local/devices/earu_smart_wifi_circuit_breaker_with_energy_monitor.yaml
  70. 6 29
      custom_components/tuya_local/devices/ebac_dj4000_dehumidifier.yaml
  71. 3 3
      custom_components/tuya_local/devices/eberg_qubo_q40hd_heatpump.yaml
  72. 0 2
      custom_components/tuya_local/devices/ecostrad_iqceramic_radiator.yaml
  73. 1 1
      custom_components/tuya_local/devices/eeese_carl_dehumidifier.yaml
  74. 6 6
      custom_components/tuya_local/devices/eesee_adam_dehumidifier.yaml
  75. 5 5
      custom_components/tuya_local/devices/electriq_airflex15w_heatpump.yaml
  76. 1 1
      custom_components/tuya_local/devices/electriq_cd25pro_dehumidifier.yaml
  77. 1 4
      custom_components/tuya_local/devices/electriq_pd45e_dehumidifier.yaml
  78. 3 3
      custom_components/tuya_local/devices/em3378_weather_station.yaml
  79. 7 7
      custom_components/tuya_local/devices/es01_powerstrip.yaml
  80. 0 3
      custom_components/tuya_local/devices/etersky_aroma_diffuser.yaml
  81. 1 1
      custom_components/tuya_local/devices/etop_ch7100_thermostat.yaml
  82. 3 3
      custom_components/tuya_local/devices/etop_fcu_thermostat.yaml
  83. 0 2
      custom_components/tuya_local/devices/eurom_601_heater.yaml
  84. 1 1
      custom_components/tuya_local/devices/evotherm_eti_heatpump.yaml
  85. 2 3
      custom_components/tuya_local/devices/evsun_evcharger.yaml
  86. 2 3
      custom_components/tuya_local/devices/feit_dimmer.yaml
  87. 1 1
      custom_components/tuya_local/devices/ferroli_titano_twin.yaml
  88. 1 2
      custom_components/tuya_local/devices/feyree_ev_charger.yaml
  89. 15 14
      custom_components/tuya_local/devices/fisher_summer_air_conditioner.yaml
  90. 1 2
      custom_components/tuya_local/devices/fs_03w_curtain.yaml
  91. 3 1
      custom_components/tuya_local/devices/ge_jasco_ultra_pro_toggle_dimmer_v2.yaml
  92. 1 1
      custom_components/tuya_local/devices/goldair_dehumidifier.yaml
  93. 0 4
      custom_components/tuya_local/devices/goldair_gpdh340_dehumidifier.yaml
  94. 4 5
      custom_components/tuya_local/devices/gosund_usb_triple_powerstrip.yaml
  95. 0 16
      custom_components/tuya_local/devices/gratkit_filament_dryer.yaml
  96. 0 1
      custom_components/tuya_local/devices/greenwind_dehumidifier.yaml
  97. 1 1
      custom_components/tuya_local/devices/haier_nayun_gasalarm.yaml
  98. 0 2
      custom_components/tuya_local/devices/hdmi_sync_light.yaml
  99. 0 1
      custom_components/tuya_local/devices/heatstorm_hs6000gc_heater.yaml
  100. 0 1
      custom_components/tuya_local/devices/himox_h05_purifier.yaml

+ 5 - 3
.github/workflows/linting.yml

@@ -17,9 +17,11 @@ jobs:
         run: |
         run: |
           python -m pip install --upgrade pip
           python -m pip install --upgrade pip
           pip install -r requirements-dev.txt
           pip install -r requirements-dev.txt
-      - name: Lint check
+      - name: Python lint
         run: ruff check custom_components/tuya_local
         run: ruff check custom_components/tuya_local
-      - name: Check include order
+      - name: Python include order
         run: ruff check --select I --diff .
         run: ruff check --select I --diff .
-      - name: Check coding style
+      - name: Python coding style
         run: ruff format --check --diff .
         run: ruff format --check --diff .
+      - name: YAML lint
+        run: yamllint -f parsable custom_components/tuya-local/devices

+ 6 - 0
.yamllint

@@ -0,0 +1,6 @@
+---
+
+extends: default
+rules:
+  document-start: disable
+  new-lines: disable

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

@@ -1,7 +1,7 @@
 name: Dehumidifier
 name: Dehumidifier
 products:
 products:
-    - id: bf1872f920fbb07813iiwn
-      name: AlecoAir D25
+  - id: bf1872f920fbb07813iiwn
+    name: AlecoAir D25
 primary_entity:
 primary_entity:
   entity: humidifier
   entity: humidifier
   class: dehumidifier
   class: dehumidifier

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

@@ -244,4 +244,3 @@ secondary_entities:
       - id: 113
       - id: 113
         name: color_disabled
         name: color_disabled
         type: boolean
         type: boolean
-

+ 6 - 6
custom_components/tuya_local/devices/akai_dryer.yaml

@@ -8,7 +8,7 @@ primary_entity:
   icon: "mdi:tumble-dryer"
   icon: "mdi:tumble-dryer"
   dps:
   dps:
     - id: 107
     - id: 107
-      name: sensor # state
+      name: sensor
       type: string
       type: string
       mapping:
       mapping:
         - dps_val: "off"
         - dps_val: "off"
@@ -34,14 +34,14 @@ secondary_entities:
     icon: "mdi:play"
     icon: "mdi:play"
     dps:
     dps:
       - id: 105
       - id: 105
-        name: button # start
+        name: button
         type: boolean
         type: boolean
   - entity: button
   - entity: button
     name: Pause
     name: Pause
     icon: "mdi:pause"
     icon: "mdi:pause"
     dps:
     dps:
       - id: 105
       - id: 105
-        name: button # start
+        name: button
         type: boolean
         type: boolean
         mapping:
         mapping:
           - dps_val: false
           - dps_val: false
@@ -51,7 +51,7 @@ secondary_entities:
     icon: "mdi:tumble-dryer"
     icon: "mdi:tumble-dryer"
     dps:
     dps:
       - id: 5
       - id: 5
-        name: option # drying_mode
+        name: option
         type: string
         type: string
         mapping:
         mapping:
           - dps_val: "OFF"
           - dps_val: "OFF"
@@ -91,7 +91,7 @@ secondary_entities:
     icon: "mdi:signal"
     icon: "mdi:signal"
     dps:
     dps:
       - id: 101
       - id: 101
-        name: option # drying_level
+        name: option
         type: integer
         type: integer
         mapping:
         mapping:
           - dps_val: 0
           - dps_val: 0
@@ -128,6 +128,6 @@ secondary_entities:
     class: duration
     class: duration
     dps:
     dps:
       - id: 4
       - id: 4
-        name: sensor # drying_time_left
+        name: sensor
         type: integer
         type: integer
         unit: min
         unit: min

+ 6 - 6
custom_components/tuya_local/devices/alecoair_d14_dehumidifier.yaml

@@ -7,12 +7,12 @@ primary_entity:
       name: switch
       name: switch
       type: boolean
       type: boolean
       mapping:
       mapping:
-      - dps_val: false
-        icon: "mdi:air-humidifier-off"
-        icon_priority: 1
-      - dps_val: true
-        icon: "mdi:air-humidifier"
-        icon_priority: 4
+        - dps_val: false
+          icon: "mdi:air-humidifier-off"
+          icon_priority: 1
+        - dps_val: true
+          icon: "mdi:air-humidifier"
+          icon_priority: 4
     - id: 2
     - id: 2
       name: humidity
       name: humidity
       type: integer
       type: integer

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

@@ -149,4 +149,3 @@ secondary_entities:
       - id: 9
       - id: 9
         type: boolean
         type: boolean
         name: switch
         name: switch
-

+ 1 - 7
custom_components/tuya_local/devices/asc_wifi_circuit_breaker.yaml

@@ -6,7 +6,7 @@ primary_entity:
   dps:
   dps:
     - id: 1
     - id: 1
       name: switch
       name: switch
-      type: boolean     
+      type: boolean
 secondary_entities:
 secondary_entities:
   - entity: number
   - entity: number
     name: Countdown
     name: Countdown
@@ -56,9 +56,3 @@ secondary_entities:
         optional: true
         optional: true
         mapping:
         mapping:
           - scale: 10
           - scale: 10
-
-        
-
-
-            
-

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

@@ -1,7 +1,7 @@
 name: Planter
 name: Planter
 products:
 products:
-  - id: 
-    name: ASIP-0622 indoor planter
+#  - id:
+#    name: ASIP-0622 indoor planter
 primary_entity:
 primary_entity:
   entity: switch
   entity: switch
   icon: "mdi:sprout"
   icon: "mdi:sprout"
@@ -39,7 +39,6 @@ secondary_entities:
         name: limits
         name: limits
         # format: min,max
         # format: min,max
   - entity: sensor
   - entity: sensor
-    name: 
     class: humidity
     class: humidity
     dps:
     dps:
       - id: 7
       - id: 7
@@ -111,7 +110,7 @@ secondary_entities:
         type: integer
         type: integer
         name: option
         name: option
         mapping:
         mapping:
-          - dps_val: -1 
+          - dps_val: -1
             value: Not planted
             value: Not planted
           - dps_val: 0
           - dps_val: 0
             value: Holy maiden fruit
             value: Holy maiden fruit
@@ -336,7 +335,7 @@ secondary_entities:
         type: string
         type: string
         name: option
         name: option
         mapping:
         mapping:
-          - dps_val: "0" 
+          - dps_val: "0"
             value: Auto
             value: Auto
           - dps_val: "1"
           - dps_val: "1"
             value: Manual
             value: Manual
@@ -346,6 +345,3 @@ secondary_entities:
       - id: 123
       - id: 123
         type: boolean
         type: boolean
         name: switch
         name: switch
-
-
-            

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

@@ -37,7 +37,8 @@ secondary_entities:
         name: switch
         name: switch
       - id: 21
       - id: 21
         # docs give the standard white, colour, scene, music values, but this
         # docs give the standard white, colour, scene, music values, but this
-        # device does not have color or scene dps, so just leave it for monitoring
+        # device does not have color or scene dps, so just leave it for
+        # monitoring
         name: work_mode
         name: work_mode
         type: string
         type: string
       - id: 22
       - id: 22
@@ -80,6 +81,3 @@ secondary_entities:
       - id: 34
       - id: 34
         type: boolean
         type: boolean
         name: switch
         name: switch
-
-
-

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

@@ -112,5 +112,3 @@ secondary_entities:
       - id: 103
       - id: 103
         type: boolean
         type: boolean
         name: sensor
         name: sensor
-
-

+ 21 - 21
custom_components/tuya_local/devices/atomi_string_lights.yaml

@@ -51,27 +51,27 @@ primary_entity:
       name: rgbhsv
       name: rgbhsv
       type: hex
       type: hex
       format:
       format:
-          - name: r
-            bytes: 1
-          - name: g
-            bytes: 1
-          - name: b
-            bytes: 1
-          - name: h
-            bytes: 2
-            range:
-              min: 0
-              max: 360
-          - name: s
-            bytes: 1
-            range:
-              min: 0
-              max: 255
-          - name: v
-            bytes: 1
-            range:
-              min: 0
-              max: 255
+        - name: r
+          bytes: 1
+        - name: g
+          bytes: 1
+        - name: b
+          bytes: 1
+        - name: h
+          bytes: 2
+          range:
+            min: 0
+            max: 360
+        - name: s
+          bytes: 1
+          range:
+            min: 0
+            max: 255
+        - name: v
+          bytes: 1
+          range:
+            min: 0
+            max: 255
     - id: 101
     - id: 101
       name: scene_data
       name: scene_data
       type: hex
       type: hex

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

@@ -68,7 +68,7 @@ secondary_entities:
     dps:
     dps:
       - id: 101
       - id: 101
         type: integer
         type: integer
-        name: value 
+        name: value
         range:
         range:
           min: 0
           min: 0
           max: 99999
           max: 99999

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

@@ -77,4 +77,3 @@ secondary_entities:
         range:
         range:
           min: 10
           min: 10
           max: 120
           max: 120
-

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

@@ -86,7 +86,7 @@ secondary_entities:
             icon: "mdi:hand-back-right-off"
             icon: "mdi:hand-back-right-off"
           - dps_val: false
           - dps_val: false
             icon: "mdi:hand-back-right"
             icon: "mdi:hand-back-right"
-  - entity: switch 
+  - entity: switch
     name: Sound
     name: Sound
     category: config
     category: config
     icon: "mdi:music-note"
     icon: "mdi:music-note"
@@ -104,8 +104,8 @@ secondary_entities:
         name: sensor
         name: sensor
         mapping:
         mapping:
           - dps_val: 0
           - dps_val: 0
-            value: False
-          - value: True
+            value: false
+          - value: true
   - entity: number
   - entity: number
     name: Temperature calibration
     name: Temperature calibration
     category: config
     category: config
@@ -195,14 +195,14 @@ secondary_entities:
         mapping:
         mapping:
           - dps_val: "1"
           - dps_val: "1"
             value: "Weekday+Weekend"
             value: "Weekday+Weekend"
-          - dps_val: "2" 
+          - dps_val: "2"
             value: "Mon-Sat+Sun"
             value: "Mon-Sat+Sun"
           - dps_val: "3"
           - dps_val: "3"
             value: "Daily"
             value: "Daily"
   - entity: switch
   - entity: switch
     name: Output reverse
     name: Output reverse
     category: config
     category: config
-    icon: "mdi:swap-horizontal"   
+    icon: "mdi:swap-horizontal"
     dps:
     dps:
       - id: 101
       - id: 101
         type: boolean
         type: boolean

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

@@ -121,7 +121,7 @@ secondary_entities:
         type: string
         type: string
         name: option
         name: option
         mapping:
         mapping:
-          - dps_val: "1" 
+          - dps_val: "1"
             value: Event
             value: Event
           - dps_val: "2"
           - dps_val: "2"
             value: Continuous
             value: Continuous
@@ -139,6 +139,4 @@ secondary_entities:
     dps:
     dps:
       - id: 231
       - id: 231
         type: string
         type: string
-        name: sensor          
-
-
+        name: sensor

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

@@ -36,7 +36,7 @@ primary_entity:
       name: preset_mode
       name: preset_mode
       mapping:
       mapping:
         - dps_val: true
         - dps_val: true
-          value: eco 
+          value: eco
         - dps_val: false
         - dps_val: false
           value: comfort
           value: comfort
     - id: 102
     - id: 102

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

@@ -37,7 +37,7 @@ primary_entity:
       name: preset_mode
       name: preset_mode
       mapping:
       mapping:
         - dps_val: true
         - dps_val: true
-          value: eco 
+          value: eco
         - dps_val: false
         - dps_val: false
           value: comfort
           value: comfort
     - id: 102
     - id: 102

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

@@ -40,7 +40,7 @@ primary_entity:
       name: preset_mode
       name: preset_mode
       mapping:
       mapping:
         - dps_val: true
         - dps_val: true
-          value: eco 
+          value: eco
         - dps_val: false
         - dps_val: false
           value: comfort
           value: comfort
     - id: 102
     - id: 102

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

@@ -28,7 +28,7 @@ primary_entity:
     - id: 5
     - id: 5
       type: string
       type: string
       name: mode
       name: mode
-# unhide for debugging      hidden: true
+      hidden: true
     - id: 6
     - id: 6
       type: integer
       type: integer
       name: temperature
       name: temperature

+ 8 - 8
custom_components/tuya_local/devices/benexmart_blind_motor.yaml

@@ -30,11 +30,11 @@ primary_entity:
       mapping:
       mapping:
         - invert: true
         - invert: true
 secondary_entities:
 secondary_entities:
-    - entity: switch
-      category: config
-      name: Reversed
-      icon: "mdi:arrow-u-down-left"
-      dps:
-        - id: 5
-          type: boolean
-          name: switch
+  - entity: switch
+    category: config
+    name: Reversed
+    icon: "mdi:arrow-u-down-left"
+    dps:
+      - id: 5
+        type: boolean
+        name: switch

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

@@ -71,7 +71,7 @@ primary_entity:
       type: bitfield
       type: bitfield
     - id: 15
     - id: 15
       name: max_temperature
       name: max_temperature
-      type: integer      
+      type: integer
 secondary_entities:
 secondary_entities:
   - entity: lock
   - entity: lock
     name: Child lock
     name: Child lock
@@ -197,14 +197,14 @@ secondary_entities:
         mapping:
         mapping:
           - dps_val: "1"
           - dps_val: "1"
             value: "Weekday+Weekend"
             value: "Weekday+Weekend"
-          - dps_val: "2" 
+          - dps_val: "2"
             value: "Mon-Sat+Sun"
             value: "Mon-Sat+Sun"
           - dps_val: "3"
           - dps_val: "3"
-            value: "Daily"          
+            value: "Daily"
   - entity: switch
   - entity: switch
     name: Invert output
     name: Invert output
     category: config
     category: config
-    icon: "mdi:swap-horizontal"   
+    icon: "mdi:swap-horizontal"
     dps:
     dps:
       - id: 108
       - id: 108
         type: boolean
         type: boolean
@@ -224,7 +224,7 @@ secondary_entities:
             value: External
             value: External
           - dps_val: "3"
           - dps_val: "3"
             value: Both
             value: Both
-  - entity: switch 
+  - entity: switch
     name: Sound
     name: Sound
     category: config
     category: config
     icon: "mdi:music-note"
     icon: "mdi:music-note"

+ 2 - 3
custom_components/tuya_local/devices/beok_tgr81_thermostat_c.yaml

@@ -67,7 +67,6 @@ primary_entity:
     - id: 45
     - id: 45
       name: fault_code
       name: fault_code
       type: bitfield
       type: bitfield
-      
 secondary_entities:
 secondary_entities:
   - entity: number
   - entity: number
     name: Calibration offset
     name: Calibration offset
@@ -131,8 +130,8 @@ secondary_entities:
         optional: true
         optional: true
         mapping:
         mapping:
           - dps_val: 0
           - dps_val: 0
-            value: False
-          - value: True
+            value: false
+          - value: true
   - entity: number
   - entity: number
     name: High temperature limit
     name: High temperature limit
     category: config
     category: config

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

@@ -75,7 +75,7 @@ secondary_entities:
             icon: "mdi:hand-back-right-off"
             icon: "mdi:hand-back-right-off"
           - dps_val: false
           - dps_val: false
             icon: "mdi:hand-back-right"
             icon: "mdi:hand-back-right"
-  - entity: switch 
+  - entity: switch
     name: Sound
     name: Sound
     category: config
     category: config
     icon: "mdi:music-note"
     icon: "mdi:music-note"
@@ -93,8 +93,8 @@ secondary_entities:
         name: sensor
         name: sensor
         mapping:
         mapping:
           - dps_val: 0
           - dps_val: 0
-            value: False
-          - value: True
+            value: false
+          - value: true
   - entity: number
   - entity: number
     name: Calibration offset
     name: Calibration offset
     category: config
     category: config
@@ -176,14 +176,14 @@ secondary_entities:
         mapping:
         mapping:
           - dps_val: "1"
           - dps_val: "1"
             value: "Weekday+Weekend"
             value: "Weekday+Weekend"
-          - dps_val: "2" 
+          - dps_val: "2"
             value: "Mon-Sat+Sun"
             value: "Mon-Sat+Sun"
           - dps_val: "3"
           - dps_val: "3"
             value: "Daily"
             value: "Daily"
   - entity: switch
   - entity: switch
     name: Output main reverse
     name: Output main reverse
     category: config
     category: config
-    icon: "mdi:swap-horizontal"   
+    icon: "mdi:swap-horizontal"
     dps:
     dps:
       - id: 101
       - id: 101
         type: boolean
         type: boolean

+ 3 - 3
custom_components/tuya_local/devices/beok_tr8b_thermostat.yaml

@@ -91,9 +91,9 @@ primary_entity:
         - dps_val: open
         - dps_val: open
           constraint: preset_mode
           constraint: preset_mode
           conditions:
           conditions:
-            - dps_val: [ cool, floor ]
+            - dps_val: [cool, floor]
               value: cooling
               value: cooling
-            - dps_val: [ heat, floor_heat ]
+            - dps_val: [heat, floor_heat]
               value: heating
               value: heating
             - value: idle
             - value: idle
         - dps_val: close
         - dps_val: close
@@ -141,7 +141,7 @@ secondary_entities:
         type: string
         type: string
         name: option
         name: option
         mapping:
         mapping:
-          - dps_val: c 
+          - dps_val: c
             value: Celsius
             value: Celsius
           - dps_val: f
           - dps_val: f
             value: Fahrenheit
             value: Fahrenheit

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

@@ -111,9 +111,9 @@ secondary_entities:
         name: sensor
         name: sensor
         mapping:
         mapping:
           - dps_val: open
           - dps_val: open
-            value: True
+            value: true
           - dps_val: close
           - dps_val: close
-            value: False
+            value: false
   - entity: lock
   - entity: lock
     name: "Child lock"
     name: "Child lock"
     category: config
     category: config
@@ -136,8 +136,8 @@ secondary_entities:
         name: sensor
         name: sensor
         mapping:
         mapping:
           - dps_val: 0
           - dps_val: 0
-            value: False
-          - value: True
+            value: false
+          - value: true
   - entity: number
   - entity: number
     name: High temperature limit
     name: High temperature limit
     category: config
     category: config

+ 0 - 6
custom_components/tuya_local/devices/bht002_galw_thermostat.yaml

@@ -136,9 +136,3 @@ secondary_entities:
         range:
         range:
           min: -9
           min: -9
           max: 9
           max: 9
-
-
-
-
-
-

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

@@ -130,4 +130,3 @@ secondary_entities:
       - id: 14
       - id: 14
         type: boolean
         type: boolean
         name: switch
         name: switch
-        

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

@@ -129,7 +129,7 @@ secondary_entities:
     class: safety
     class: safety
     category: diagnostic
     category: diagnostic
     dps:
     dps:
-      - id: 22 
+      - id: 22
         type: boolean
         type: boolean
         name: sensor
         name: sensor
         optional: true
         optional: true
@@ -243,4 +243,3 @@ secondary_entities:
       - id: 107
       - id: 107
         type: boolean
         type: boolean
         name: sensor
         name: sensor
-

+ 0 - 5
custom_components/tuya_local/devices/ble_pt216_temp_humidity.yaml

@@ -69,8 +69,3 @@ secondary_entities:
         range:
         range:
           min: 3
           min: 3
           max: 10
           max: 10
-
-
-
-
-

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

@@ -241,4 +241,3 @@ secondary_entities:
             value: 50
             value: 50
           - dps_val: high
           - dps_val: high
             value: 80
             value: 80
-            

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

@@ -115,7 +115,8 @@ secondary_entities:
           - dps_val: "023264000003e803e8"
           - dps_val: "023264000003e803e8"
             value: "Flash"
             value: "Flash"
             # color+ R, speed 50, bright 100
             # color+ R, speed 50, bright 100
-          - dps_val: "033264000003e803e8007803e803e800f003e803e8003b03e803e8013603e803e8010e03e803e8"
+          - dps_val: "033264000003e803e8007803e803e800f003e80\
+              3e8003b03e803e8013603e803e8010e03e803e8"
             value: "Jump"
             value: "Jump"
             # color+ R+G+B+Y+C+P, speed 50, bright 100
             # color+ R+G+B+Y+C+P, speed 50, bright 100
           - dps_val: "043264000003e803e8007803e803e800f003e803e8"
           - dps_val: "043264000003e803e8007803e803e800f003e803e8"

+ 0 - 9
custom_components/tuya_local/devices/blitzwolf_bwis6_alarm.yaml

@@ -190,12 +190,3 @@ secondary_entities:
       - id: 34
       - id: 34
         type: boolean
         type: boolean
         name: button
         name: button
-
-
-
-
-
-
-
-
-

+ 3 - 3
custom_components/tuya_local/devices/blitzwolf_bwsh2_humidifier.yaml

@@ -1,6 +1,6 @@
-# sample DPS {'1': False, '3': 'grade1', '6': 'close', 19: 'cancel'} 
+# sample DPS {'1': False, '3': 'grade1', '6': 'close', 19: 'cancel'}
 name: BlitzWolf BWSH2 humidifier
 name: BlitzWolf BWSH2 humidifier
-products: 
+products:
   - id: 20268362d8bfc0080ec9
   - id: 20268362d8bfc0080ec9
 primary_entity:
 primary_entity:
   entity: fan
   entity: fan
@@ -64,7 +64,7 @@ secondary_entities:
         type: string
         type: string
         name: option
         name: option
         mapping:
         mapping:
-          - dps_val: cancel 
+          - dps_val: cancel
             value: "Off"
             value: "Off"
           - dps_val: "2h"
           - dps_val: "2h"
             value: "2 hours"
             value: "2 hours"

+ 9 - 11
custom_components/tuya_local/devices/blitzwolf_bwsh5_humidifier.yaml

@@ -1,5 +1,5 @@
 name: Humidifier
 name: Humidifier
-products: 
+products:
   - id: lqzme7o0kzhumdxr
   - id: lqzme7o0kzhumdxr
     name: BlitzWolf BWSH5
     name: BlitzWolf BWSH5
 primary_entity:
 primary_entity:
@@ -7,7 +7,7 @@ primary_entity:
   class: humidifier
   class: humidifier
   dps:
   dps:
     - id: 1
     - id: 1
-      name: switch   
+      name: switch
       type: boolean
       type: boolean
     - id: 4
     - id: 4
       name: mode
       name: mode
@@ -27,7 +27,7 @@ primary_entity:
           value: boost
           value: boost
         - dps_val: manual
         - dps_val: manual
           value: normal
           value: normal
-    - id: 13             
+    - id: 13
       name: humidity
       name: humidity
       type: integer
       type: integer
       optional: true
       optional: true
@@ -52,7 +52,6 @@ secondary_entities:
       - id: 21
       - id: 21
         name: switch
         name: switch
         type: boolean
         type: boolean
-        #optional: true
   - entity: switch
   - entity: switch
     name: Warm mist
     name: Warm mist
     icon: "mdi:fire"
     icon: "mdi:fire"
@@ -91,8 +90,8 @@ secondary_entities:
       - id: 1
       - id: 1
         name: switch
         name: switch
         type: boolean
         type: boolean
-      - id: 23  
-        name: speed 
+      - id: 23
+        name: speed
         type: string
         type: string
         optional: true
         optional: true
         mapping:
         mapping:
@@ -104,11 +103,11 @@ secondary_entities:
             value: 45
             value: 45
           - dps_val: "level_4"
           - dps_val: "level_4"
             value: 55
             value: 55
-          - dps_val: "level_5"    
+          - dps_val: "level_5"
             value: 70
             value: 70
           - dps_val: "level_6"
           - dps_val: "level_6"
             value: 85
             value: 85
-          - dps_val: "level_7" 
+          - dps_val: "level_7"
             value: 100
             value: 100
   - entity: sensor
   - entity: sensor
     class: temperature
     class: temperature
@@ -129,7 +128,7 @@ secondary_entities:
     category: config
     category: config
     dps:
     dps:
       - id: 19
       - id: 19
-        name: option  
+        name: option
         type: string
         type: string
         optional: true
         optional: true
         mapping:
         mapping:
@@ -164,7 +163,6 @@ secondary_entities:
         type: integer
         type: integer
         optional: true
         optional: true
   - entity: select
   - entity: select
-    # note: this is used only for device display. To adjust temperature sensor unit change it in entity settings
     name: Display temperature unit
     name: Display temperature unit
     category: config
     category: config
     dps:
     dps:
@@ -177,7 +175,7 @@ secondary_entities:
             value: Celsius
             value: Celsius
             icon: "mdi:temperature-celsius"
             icon: "mdi:temperature-celsius"
           - dps_val: f
           - dps_val: f
-            value: Fahrenheit  
+            value: Fahrenheit
             icon: "mdi:temperature-fahrenheit"
             icon: "mdi:temperature-fahrenheit"
   - entity: binary_sensor
   - entity: binary_sensor
     name: Low water
     name: Low water

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

@@ -131,9 +131,3 @@ secondary_entities:
       - id: 40
       - id: 40
         type: boolean
         type: boolean
         name: lock
         name: lock
-
-        
-
-
-            
-

+ 4 - 6
custom_components/tuya_local/devices/brade_mc6_thermostat.yaml

@@ -138,7 +138,7 @@ secondary_entities:
     category: config
     category: config
     icon: "mdi:thermometer-chevron-up"
     icon: "mdi:thermometer-chevron-up"
     dps:
     dps:
-      - id: 19 
+      - id: 19
         type: integer
         type: integer
         name: value
         name: value
         range:
         range:
@@ -175,7 +175,7 @@ secondary_entities:
     category: config
     category: config
     icon: "mdi:thermometer-chevron-down"
     icon: "mdi:thermometer-chevron-down"
     dps:
     dps:
-      - id: 26 
+      - id: 26
         type: integer
         type: integer
         name: value
         name: value
         range:
         range:
@@ -216,7 +216,7 @@ secondary_entities:
         type: string
         type: string
         name: option
         name: option
         mapping:
         mapping:
-          - dps_val: c 
+          - dps_val: c
             value: Celsius
             value: Celsius
           - dps_val: f
           - dps_val: f
             value: Fahrenheit
             value: Fahrenheit
@@ -262,7 +262,7 @@ secondary_entities:
     icon: "mdi:arrow-collapse-vertical"
     icon: "mdi:arrow-collapse-vertical"
     category: config
     category: config
     dps:
     dps:
-      - id: 103 
+      - id: 103
         type: string
         type: string
         name: option
         name: option
         mapping:
         mapping:
@@ -274,5 +274,3 @@ secondary_entities:
             value: "2"
             value: "2"
           - dps_val: "3"
           - dps_val: "3"
             value: "3"
             value: "3"
-            
-

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

@@ -60,9 +60,9 @@ secondary_entities:
           - dps_val: "2"
           - dps_val: "2"
             value: "2 hour"
             value: "2 hour"
           - dps_val: "4"
           - dps_val: "4"
-            value: "4 hours" 
+            value: "4 hours"
           - dps_val: "8"
           - dps_val: "8"
-            value: "8 hours" 
+            value: "8 hours"
   - entity: sensor
   - entity: sensor
     name: Time left
     name: Time left
     category: diagnostic
     category: diagnostic

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

@@ -29,7 +29,7 @@ primary_entity:
           value: 50
           value: 50
         - dps_val: "high"
         - dps_val: "high"
           value: 75
           value: 75
-        - dps_val: "tubo" # there's a typo in the firmware
+        - dps_val: "tubo"  # there's a typo in the firmware
           value: 100
           value: 100
 secondary_entities:
 secondary_entities:
   - entity: sensor
   - entity: sensor

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

@@ -89,7 +89,3 @@ secondary_entities:
         class: measurement
         class: measurement
         mapping:
         mapping:
           - scale: 10
           - scale: 10
-
-
-
-

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

@@ -1,7 +1,7 @@
 name: Quad wall switch
 name: Quad wall switch
 products:
 products:
   - id: kopqi7ax9pwi7nr2
   - id: kopqi7ax9pwi7nr2
-    name: Briliiant Smart glass wall switch 4-gang
+    name: Brilliant Smart glass wall switch 4-gang
 primary_entity:
 primary_entity:
   entity: switch
   entity: switch
   class: switch
   class: switch
@@ -133,7 +133,3 @@ secondary_entities:
         class: measurement
         class: measurement
         mapping:
         mapping:
           - scale: 10
           - scale: 10
-
-
-
-

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

@@ -66,7 +66,3 @@ secondary_entities:
         class: measurement
         class: measurement
         mapping:
         mapping:
           - scale: 10
           - scale: 10
-
-
-
-

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

@@ -111,7 +111,3 @@ secondary_entities:
         class: measurement
         class: measurement
         mapping:
         mapping:
           - scale: 10
           - scale: 10
-
-
-
-

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

@@ -153,4 +153,3 @@ secondary_entities:
         type: boolean
         type: boolean
         optional: true
         optional: true
         name: sensor
         name: sensor
-

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

@@ -43,7 +43,8 @@ secondary_entities:
           max: 1000
           max: 1000
         mapping:
         mapping:
           - scale: 3.92
           - scale: 3.92
-      # 10: rgbhsv, but not present in log and no color_mode to select it, so probably a doc error
+      # 10: rgbhsv, but not present in log and no color_mode to select it,
+      #     so probably a doc error
       - id: 105
       - id: 105
         name: effect
         name: effect
         type: boolean
         type: boolean
@@ -61,11 +62,11 @@ secondary_entities:
     icon: "mdi:music"
     icon: "mdi:music"
     category: config
     category: config
     dps:
     dps:
-      - id: 101 
+      - id: 101
         type: string
         type: string
         name: option
         name: option
         mapping:
         mapping:
-          - dps_val: "0" 
+          - dps_val: "0"
             value: Track 1
             value: Track 1
           - dps_val: "1"
           - dps_val: "1"
             value: Track 2
             value: Track 2
@@ -112,7 +113,7 @@ secondary_entities:
     dps:
     dps:
       - id: 107
       - id: 107
         type: boolean
         type: boolean
-        name: button 
+        name: button
         optional: true
         optional: true
   - entity: button
   - entity: button
     name: Play music
     name: Play music

+ 8 - 8
custom_components/tuya_local/devices/caldo_up_t_wifi.yaml

@@ -47,11 +47,11 @@ primary_entity:
         - dps_val: true
         - dps_val: true
           value: "on"
           value: "on"
 secondary_entities:
 secondary_entities:
-   - entity: switch
-     name: Window detection
-     icon: "mdi:window-open-variant"
-     category: config
-     dps:
-       - id: 101
-         type: boolean
-         name: switch
+  - entity: switch
+    name: Window detection
+    icon: "mdi:window-open-variant"
+    category: config
+    dps:
+      - id: 101
+        type: boolean
+        name: switch

+ 6 - 6
custom_components/tuya_local/devices/carro_pn04f02d_fan_light.yaml

@@ -10,8 +10,8 @@ primary_entity:
       name: switch
       name: switch
     - id: 21
     - id: 21
       type: string
       type: string
-      # Shows in the instruction set with standard white/colour/scene/music properties
-      # but this is a dimming switch and doesn't have color/scene dps
+      # Shows in the instruction set with standard white/colour/scene/music
+      # properties but this is a dimming switch and doesn't have color/scene dps
       name: work_mode
       name: work_mode
       optional: true
       optional: true
     - id: 22
     - id: 22
@@ -33,12 +33,12 @@ secondary_entities:
         type: boolean
         type: boolean
         name: switch
         name: switch
       - id: 62
       - id: 62
-        type: integer 
+        type: integer
         name: speed
         name: speed
         mapping:
         mapping:
           - dps_val: 1
           - dps_val: 1
-            value: 33 
+            value: 33
           - dps_val: 2
           - dps_val: 2
-            value: 66 
+            value: 66
           - dps_val: 3
           - dps_val: 3
-            value: 100 
+            value: 100

+ 3 - 2
custom_components/tuya_local/devices/carson_cb.yaml

@@ -3,7 +3,8 @@ products:
   # original product id unknown: Carson CB PA280
   # original product id unknown: Carson CB PA280
   - id: 2tgd3qnobb1mcgd9
   - id: 2tgd3qnobb1mcgd9
     name: Shinco Yoau YWD1
     name: Shinco Yoau YWD1
-    # also sold as Axelair Tempero CMM3000, Domair Callisto (product id may be same or different?)
+    # also sold as Axelair Tempero CMM3000, Domair Callisto
+    # (product id may be same or different?)
 primary_entity:
 primary_entity:
   entity: climate
   entity: climate
   dps:
   dps:
@@ -28,7 +29,7 @@ primary_entity:
               value: dry
               value: dry
             - dps_val: HEAT
             - dps_val: HEAT
               icon: "mdi:fire"
               icon: "mdi:fire"
-              value: heat   
+              value: heat
     - id: 2
     - id: 2
       name: temperature
       name: temperature
       type: integer
       type: integer

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

@@ -45,7 +45,8 @@ secondary_entities:
         mapping:
         mapping:
           - scale: 0.392
           - scale: 0.392
       - id: 17
       - id: 17
-        # 17 is listed as color_temp, and reported by the device, but light is fixed 3000K light
+        # 17 is listed as color_temp, and reported by the device, but light
+        # is fixed 3000K light
         name: reserved_color_temp
         name: reserved_color_temp
         type: integer
         type: integer
         range:
         range:
@@ -74,4 +75,3 @@ secondary_entities:
             value: "5 hours"
             value: "5 hours"
           - dps_val: "6h"
           - dps_val: "6h"
             value: "6 hours"
             value: "6 hours"
-            

+ 8 - 6
custom_components/tuya_local/devices/catit_pixi_6meal_feeder.yaml

@@ -12,12 +12,14 @@ primary_entity:
       optional: true
       optional: true
     - id: 1
     - id: 1
       type: string
       type: string
-        # Meal plan is the following binary blob (1 byte per line), encoded in base64:
-        # - Date (1 bit per day Monday -> Sunday, padded with 0 on the MSB). Ex: Monday, Wednesday, Sunday -> 0b01010001
-        # - Hour
-        # - Minute
-        # - Feed #
-        # - Enable/Disabled
+      # Meal plan is the following binary blob (1 byte per line), encoded
+      # in base64:
+      # - Date (1 bit per day Monday -> Sunday, padded with 0 on the MSB).
+      #    Ex: Monday, Wednesday, Sunday -> 0b01010001
+      # - Hour
+      # - Minute
+      # - Feed number
+      # - Enable/Disabled
       name: meal_plan
       name: meal_plan
       optional: true
       optional: true
 secondary_entities:
 secondary_entities:

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

@@ -51,7 +51,7 @@ secondary_entities:
     class: problem
     class: problem
     category: diagnostic
     category: diagnostic
     dps:
     dps:
-      - id: 14 
+      - id: 14
         type: bitfield
         type: bitfield
         name: sensor
         name: sensor
         optional: true
         optional: true
@@ -64,7 +64,7 @@ secondary_entities:
     class: problem
     class: problem
     category: diagnostic
     category: diagnostic
     dps:
     dps:
-      - id: 14 
+      - id: 14
         type: bitfield
         type: bitfield
         name: sensor
         name: sensor
         optional: true
         optional: true

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

@@ -38,7 +38,7 @@ secondary_entities:
           min: 0
           min: 0
           max: 43200
           max: 43200
         mapping:
         mapping:
-          - scale: 1440 # minutes => days
+          - scale: 1440  # minutes => days
             invert: true
             invert: true
         unit: d
         unit: d
   - entity: sensor
   - entity: sensor

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

@@ -71,8 +71,7 @@ secondary_entities:
         type: string
         type: string
         name: option
         name: option
         mapping:
         mapping:
-          - dps_val: forward 
+          - dps_val: forward
             value: Forward
             value: Forward
           - dps_val: back
           - dps_val: back
             value: Reverse
             value: Reverse
-

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

@@ -58,4 +58,3 @@ secondary_entities:
           - scale: 60
           - scale: 60
             step: 60
             step: 60
         optional: true
         optional: true
-

+ 42 - 32
custom_components/tuya_local/devices/cecotec_fan_light.yaml

@@ -51,38 +51,48 @@ secondary_entities:
       - id: 15
       - id: 15
         type: boolean
         type: boolean
         name: switch
         name: switch
-# I comment this features because that are reported by device but does nothing with it.
-#
-# {"abilityId":16,"accessMode":"rw","code":"bright_value","description":"","name":"灯光亮度","typeSpec":{"max":100,"min":1,"scale":0,"step":1,"type":"value","typeDefaultValue":1,"unit":""}},
-# {"abilityId":17,"accessMode":"rw","code":"temp_value","description":"","name":"灯光色温","typeSpec":{"max":100,"min":0,"scale":0,"step":1,"type":"value","typeDefaultValue":0,"unit":""}},
-# {"abilityId":19,"accessMode":"rw","code":"work_mode","description":"","name":"灯光模式","typeSpec":{"range":["white","warm","cold","night"],"type":"enum","typeDefaultValue":"white"}},
-#
-#
-#      - id: 16
-#        type: integer
-#        name: brightness
-#        range:
-#          min: 25
-#          max: 255
-#      - id: 17
-#        type: integer
-#        name: color_temp
-#        range:
-#          min: 0
-#          max: 255
-#      - id: 19
-#        type: string
-#        name: color_mode
-#        optional: true
-#        mapping:
-#          - dps_val: white
-#            value: white
-#          - dps_val: warm
-#            value: warm
-#          - dps_val: cold
-#            value: cold
-#          - dps_val: night
-#            value: night
+        # I comment this features because that are reported by device but
+        # does nothing with it.
+        #
+        # {"abilityId":16,"accessMode":"rw","code":"bright_value",
+        #  "description":"","name":"灯光亮度",
+        #  "typeSpec":{"max":100,"min":1,"scale":0,"step":1,"type":"value",
+        #  "typeDefaultValue":1,"unit":""}},
+        # {"abilityId":17,"accessMode":"rw","code":"temp_value",
+        #  "description":"","name":"灯光色温",
+        #  "typeSpec":{"max":100,"min":0,"scale":0,"step":1,"type":"value",
+        #  "typeDefaultValue":0,"unit":""}},
+        # {"abilityId":19,"accessMode":"rw","code":"work_mode",
+        #  "description":"","name":"灯光模式",
+        #  "typeSpec":{"range":["white","warm","cold","night"],"type":"enum",
+        #  "typeDefaultValue":"white"}},
+        #
+        #
+        # - id: 16
+        #   type: integer
+        #   name: brightness
+        #   range:
+        #     min: 25
+        #     max: 255
+        # - id: 17
+        #   type: integer
+        #   name: color_temp
+        #   range:
+        #     min: 0
+        #     max: 255
+        # - id: 19
+        #   type: string
+        #   name: color_mode
+        #   optional: true
+        #   mapping:
+        #     - dps_val: white
+        #       value: white
+        #     - dps_val: warm
+        #       value: warm
+        #     - dps_val: cold
+        #       value: cold
+        #     - dps_val: night
+        #       value: night
   - entity: select
   - entity: select
     name: timer
     name: timer
     icon: "mdi:timer"
     icon: "mdi:timer"

+ 0 - 9
custom_components/tuya_local/devices/ceres_plus_petfeeder.yaml

@@ -178,15 +178,6 @@ secondary_entities:
         range:
         range:
           min: 0
           min: 0
           max: 3
           max: 3
-        mapping:
-          - dps_val: 0
-            value: 0
-          - dps_val: 1
-            value: 1
-          - dps_val: 2
-            value: 2
-          - dps_val: 
-            value: 3
       - id: 243
       - id: 243
         type: string
         type: string
         name: report
         name: report

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

@@ -67,6 +67,3 @@ secondary_entities:
       - id: 66
       - id: 66
         type: boolean
         type: boolean
         name: switch
         name: switch
-
-
-

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

@@ -136,5 +136,3 @@ secondary_entities:
       - id: 109
       - id: 109
         type: boolean
         type: boolean
         name: switch
         name: switch
-
-

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

@@ -67,4 +67,3 @@ secondary_entities:
         force: true
         force: true
         mapping:
         mapping:
           - scale: 10000
           - scale: 10000
-

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

@@ -51,7 +51,6 @@ primary_entity:
       type: integer
       type: integer
       mapping:
       mapping:
         - scale: 10
         - scale: 10
-          #step: 5
     - id: 4
     - id: 4
       name: mode
       name: mode
       type: string
       type: string
@@ -82,15 +81,15 @@ primary_entity:
           value: "off"
           value: "off"
         - dps_val: "on"
         - dps_val: "on"
           value: "on"
           value: "on"
-        - dps_val: "angle1" #Topmost
+        - dps_val: "angle1"
           value: "topmost"
           value: "topmost"
-        - dps_val: "angle2" #Top
+        - dps_val: "angle2"
           value: "top"
           value: "top"
-        - dps_val: "angle3" #Middle
+        - dps_val: "angle3"
           value: "middle"
           value: "middle"
-        - dps_val: "angle4" #Down
+        - dps_val: "angle4"
           value: "down"
           value: "down"
-        - dps_val: "angle5" #Downmost
+        - dps_val: "angle5"
           value: "downmost"
           value: "downmost"
     - id: 19
     - id: 19
       name: temperature_unit
       name: temperature_unit

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

@@ -253,7 +253,6 @@ secondary_entities:
             value: false
             value: false
           - value: true
           - value: true
   - entity: sensor
   - entity: sensor
-    name: 
     class: pm25
     class: pm25
     category: diagnostic
     category: diagnostic
     dps:
     dps:

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

@@ -1,4 +1,4 @@
-name: Dual meter 
+name: Dual meter
 products:
 products:
   - id: bfa88129148596f2f0oeht
   - id: bfa88129148596f2f0oeht
     name: Dcenta dual clamp meter
     name: Dcenta dual clamp meter

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

@@ -90,8 +90,8 @@ secondary_entities:
         name: option
         name: option
         optional: true
         optional: true
         mapping:
         mapping:
-          - dps_val: "1" 
-            value: "Cycle" 
+          - dps_val: "1"
+            value: "Cycle"
           - dps_val: "2"
           - dps_val: "2"
             value: "Fixed"
             value: "Fixed"
           - dps_val: "3"
           - dps_val: "3"
@@ -139,5 +139,3 @@ secondary_entities:
         name: sensor
         name: sensor
         unit: min
         unit: min
         optional: true
         optional: true
-
-

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

@@ -98,4 +98,4 @@ secondary_entities:
         type: integer
         type: integer
         name: sensor
         name: sensor
         class: measurement
         class: measurement
-        unit: "μg/m³"
+        unit: "μg/m³"

+ 4 - 3
custom_components/tuya_local/devices/dongguan_garage_door_opener.yaml

@@ -1,5 +1,6 @@
 # Dongguan Pinjia Technology Co., Door Controller, PJ-WGDOOR01
 # Dongguan Pinjia Technology Co., Door Controller, PJ-WGDOOR01
-# Tuya Smart Life WiFi Motorized Swing Gate Sliding Gate Opener Dry Contact 110V 240V Voice Control with Alexa Google Home
+# Tuya Smart Life WiFi Motorized Swing Gate Sliding Gate Opener Dry Contact
+# 110V 240V Voice Control with Alexa Google Home
 # https://www.aliexpress.com/item/1005003913566298.html
 # https://www.aliexpress.com/item/1005003913566298.html
 name: WiFi garage opener
 name: WiFi garage opener
 products:
 products:
@@ -13,7 +14,7 @@ primary_entity:
     - id: 1
     - id: 1
       type: boolean
       type: boolean
       name: control
       name: control
-      optional: true #BUGBUG Sometimes after power off this DP doesn't report state but will be available later
+      optional: true  # Sometimes this DP doesn't report state
       mapping:
       mapping:
         - dps_val: true
         - dps_val: true
           value: open
           value: open
@@ -67,4 +68,4 @@ secondary_entities:
       - id: 12
       - id: 12
         type: string
         type: string
         name: sensor
         name: sensor
-        optional: true #BUGBUG Sometimes after power off this DP doesn't report state but will be available later
+        optional: true  # Sometimes doesn't report state

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

@@ -35,4 +35,3 @@ secondary_entities:
             value: Forward
             value: Forward
           - dps_val: true
           - dps_val: true
             value: Reverse
             value: Reverse
-            

+ 3 - 4
custom_components/tuya_local/devices/dts238_7_energy_meter.yaml

@@ -30,7 +30,9 @@ primary_entity:
       type: bitfield
       type: bitfield
       name: fault_code
       name: fault_code
       optional: true
       optional: true
-      # ov_cr, unbalance_alarm, ov_vol, undervoltage_alarm, miss_phase_alarm, outage_alarm, magnetism_alarm, terminal_alarm, cover_alarm, credit_alarm, no_balance_alarm, battery_alarm, meter_hardware_alarm
+      # ov_cr, unbalance_alarm, ov_vol, undervoltage_alarm, miss_phase_alarm,
+      # outage_alarm, magnetism_alarm, terminal_alarm, cover_alarm,
+      # credit_alarm, no_balance_alarm, battery_alarm, meter_hardware_alarm
     - id: 17
     - id: 17
       name: alarm_set
       name: alarm_set
       type: string
       type: string
@@ -116,6 +118,3 @@ secondary_entities:
       - id: 16
       - id: 16
         type: boolean
         type: boolean
         name: switch
         name: switch
-
-
-

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

@@ -105,7 +105,7 @@ secondary_entities:
         type: string
         type: string
         name: option
         name: option
         mapping:
         mapping:
-          - dps_val: "0" 
+          - dps_val: "0"
             value: "Off"
             value: "Off"
           - dps_val: "1"
           - dps_val: "1"
             value: "1 hour"
             value: "1 hour"
@@ -141,4 +141,3 @@ secondary_entities:
         name: sensor
         name: sensor
         unit: h
         unit: h
         optional: true
         optional: true
-

+ 2 - 23
custom_components/tuya_local/devices/earu_smart_wifi_circuit_breaker_with_energy_monitor.yaml

@@ -2,8 +2,6 @@ name: Circuit breaker
 products:
 products:
   - id: ine4hhapkgxonij1
   - id: ine4hhapkgxonij1
     name: EARU SW RCB
     name: EARU SW RCB
-    # https://www.aliexpress.com/item/1005004894566311.html
-  
 primary_entity:
 primary_entity:
   entity: switch
   entity: switch
   icon: "mdi:fuse"
   icon: "mdi:fuse"
@@ -11,7 +9,7 @@ primary_entity:
   dps:
   dps:
     - id: 16
     - id: 16
       name: switch
       name: switch
-      type: boolean     
+      type: boolean
     - id: 19
     - id: 19
       type: string
       type: string
       name: breaker_id
       name: breaker_id
@@ -70,23 +68,4 @@ secondary_entities:
         name: sensor
         name: sensor
         mapping:
         mapping:
           - mask: "0000000000FFFFFF"
           - mask: "0000000000FFFFFF"
-            scale: 1000	 
-
-#     name: 'Alarm set 1'
-#     category: diagnostic
-#     dps:
-#       - id: 17
-#         type: base64
-#         name: sensor
-#         optional: true
-#         force: true
-#   - entity: sensor
-#     name: 'Alarm set 2'
-#     category: diagnostic
-#     dps:
-#       - id: 18
-#         type: base64
-#         name: sensor        
-#         optional: true
-#         force: true
-            
+            scale: 1000

+ 6 - 29
custom_components/tuya_local/devices/ebac_dj4000_dehumidifier.yaml

@@ -10,12 +10,12 @@ primary_entity:
       name: switch
       name: switch
       type: boolean
       type: boolean
       mapping:
       mapping:
-      - dps_val: false
-        icon: "mdi:ait-humidifier-off"
-        icon_priority: 1
-      - dps_val: true
-        icon: "mdi:air-humidifier"
-        icon_priority: 3
+        - dps_val: false
+          icon: "mdi:ait-humidifier-off"
+          icon_priority: 1
+        - dps_val: true
+          icon: "mdi:air-humidifier"
+          icon_priority: 3
     - id: 2
     - id: 2
       name: humidity
       name: humidity
       type: integer
       type: integer
@@ -134,29 +134,6 @@ secondary_entities:
           - dps_val: Bucket_Full
           - dps_val: Bucket_Full
             value: true
             value: true
             icon: "mdi:pail-remove"
             icon: "mdi:pail-remove"
-# Runtime Total does not update
-# uncomment the next two sensor blocks if you want to use them
-#   - entity: sensor
-#     name: Runtime total
-#     category: diagnostic
-#     icon: "mdi:timelapse"
-#     class: duration
-#     dps:
-#       - id: 27
-#         type: integer
-#         range:
-#         min: 0
-#         max: 1000
-#         name: sensor
-#         unit: min
-#   - entity: button
-#     name: Runtime total reset
-#     category: config
-#     icon: "mdi:timelapse"
-#     dps:
-#       - id: 28
-#         type: boolean
-#         name: button
   - entity: switch
   - entity: switch
     name: Night mode
     name: Night mode
     category: config
     category: config

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

@@ -20,7 +20,7 @@ primary_entity:
               value: heat
               value: heat
             - dps_val: dehumidify
             - dps_val: dehumidify
               icon: "mdi:water-percent"
               icon: "mdi:water-percent"
-              value: dry              
+              value: dry
     - id: 2
     - id: 2
       name: temperature
       name: temperature
       type: integer
       type: integer
@@ -110,9 +110,9 @@ primary_entity:
         - dps_val: "off"
         - dps_val: "off"
           constraint: hvac_mode
           constraint: hvac_mode
           conditions:
           conditions:
-            - dps_val: False
+            - dps_val: false
               value: "off"
               value: "off"
-            - dps_val: True
+            - dps_val: true
               value: idle
               value: idle
 secondary_entities:
 secondary_entities:
   - entity: number
   - entity: number

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

@@ -118,5 +118,3 @@ secondary_entities:
         range:
         range:
           min: -5
           min: -5
           max: 5
           max: 5
-
-    

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

@@ -68,7 +68,7 @@ secondary_entities:
         mapping:
         mapping:
           - dps_val: 0
           - dps_val: 0
             value: false
             value: false
-          - value: true 
+          - value: true
   - entity: lock
   - entity: lock
     name: Child lock
     name: Child lock
     icon: "mdi:hand-back-right-off"
     icon: "mdi:hand-back-right-off"

+ 6 - 6
custom_components/tuya_local/devices/eesee_adam_dehumidifier.yaml

@@ -7,12 +7,12 @@ primary_entity:
       name: switch
       name: switch
       type: boolean
       type: boolean
       mapping:
       mapping:
-      - dps_val: false
-        icon: "mdi:air-humidifier-off"
-        icon_priority: 1
-      - dps_val: true
-        icon: "mdi:air-humidifier"
-        icon_priority: 4
+        - dps_val: false
+          icon: "mdi:air-humidifier-off"
+          icon_priority: 1
+        - dps_val: true
+          icon: "mdi:air-humidifier"
+          icon_priority: 4
     - id: 2
     - id: 2
       name: humidity
       name: humidity
       type: integer
       type: integer

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

@@ -14,19 +14,19 @@ primary_entity:
         - dps_val: true
         - dps_val: true
           constraint: preset_mode
           constraint: preset_mode
           conditions:
           conditions:
-            - dps_val: "0" # auto
+            - dps_val: "0"  # auto
               value: heat_cool
               value: heat_cool
               icon: "mdi:hvac"
               icon: "mdi:hvac"
-            - dps_val: "1" # cold
+            - dps_val: "1"  # cold
               value: cool
               value: cool
               icon: "mdi:snowflake"
               icon: "mdi:snowflake"
-            - dps_val: "2" # hot
+            - dps_val: "2"  # hot
               value: heat
               value: heat
               icon: "mdi:fire"
               icon: "mdi:fire"
-            - dps_val: "3" # wet
+            - dps_val: "3"  # wet
               value: dry
               value: dry
               icon: "mdi:water"
               icon: "mdi:water"
-            - dps_val: "5" # fan
+            - dps_val: "5"  # fan
               value: fan_only
               value: fan_only
               icon: "mdi:fan"
               icon: "mdi:fan"
     - id: 2
     - id: 2

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

@@ -69,7 +69,7 @@ secondary_entities:
           - value: false
           - value: false
   - entity: light
   - entity: light
     name: "UV sterilization"
     name: "UV sterilization"
-    icon: "mdi:solar-power"    
+    icon: "mdi:solar-power"
     dps:
     dps:
       - id: 10
       - id: 10
         name: switch
         name: switch

+ 1 - 4
custom_components/tuya_local/devices/electriq_pd45e_dehumidifier.yaml

@@ -39,7 +39,7 @@ primary_entity:
     - id: 107
     - id: 107
       type: boolean
       type: boolean
       name: unknown_107
       name: unknown_107
-      # Probably one of these booleans is defrost indicator, the other may be tank?
+      # Probably one boolean is defrost indicator, the other may be tank?
     - id: 108
     - id: 108
       type: boolean
       type: boolean
       name: unknown_108
       name: unknown_108
@@ -87,6 +87,3 @@ secondary_entities:
         name: sensor
         name: sensor
         unit: "%"
         unit: "%"
         class: measurement
         class: measurement
-
-
-

+ 3 - 3
custom_components/tuya_local/devices/em3378_weather_station.yaml

@@ -25,7 +25,7 @@ primary_entity:
       name: fault
       name: fault
       type: bitfield
       type: bitfield
       optional: true
       optional: true
-      # we need to know the full range of values to expose this as a light control
+      # we need the full range of values to expose this as a light control
     - id: 118
     - id: 118
       name: backlight_brightness
       name: backlight_brightness
       type: string
       type: string
@@ -141,7 +141,7 @@ secondary_entities:
     class: atmospheric_pressure
     class: atmospheric_pressure
     category: diagnostic
     category: diagnostic
     dps:
     dps:
-      - id: 110 
+      - id: 110
         type: integer
         type: integer
         name: sensor
         name: sensor
         class: measurement
         class: measurement
@@ -201,7 +201,7 @@ secondary_entities:
         type: string
         type: string
         name: option
         name: option
         mapping:
         mapping:
-          - dps_val: true 
+          - dps_val: true
             value: 24h
             value: 24h
           - dps_val: false
           - dps_val: false
             value: 12h
             value: 12h

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

@@ -2,13 +2,13 @@ name: Smart plug with USB ES-01
 products:
 products:
   - id: hsoiigeykxh9m4hx
   - id: hsoiigeykxh9m4hx
 primary_entity:
 primary_entity:
-    entity: switch
-    class: outlet
-    name: Switch 1
-    dps:
-      - id: 1
-        type: boolean
-        name: switch
+  entity: switch
+  class: outlet
+  name: Switch 1
+  dps:
+    - id: 1
+      type: boolean
+      name: switch
 secondary_entities:
 secondary_entities:
   - entity: switch
   - entity: switch
     name: Switch 2
     name: Switch 2

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

@@ -10,10 +10,8 @@ primary_entity:
       mapping:
       mapping:
         - dps_val: true
         - dps_val: true
           icon: mdi:scent
           icon: mdi:scent
-          value: ON
         - dps_val: false
         - dps_val: false
           icon: mdi:scent-off
           icon: mdi:scent-off
-          value: OFF
     - id: 3
     - id: 3
       name: speed
       name: speed
       type: string
       type: string
@@ -120,4 +118,3 @@ secondary_entities:
           - dps_val: 0
           - dps_val: 0
             value: false
             value: false
           - value: true
           - value: true
-

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

@@ -160,7 +160,7 @@ secondary_entities:
         name: option
         name: option
         mapping:
         mapping:
           - dps_val: c
           - dps_val: c
-            value: Celsius 
+            value: Celsius
             icon: "mdi:temperature-celsius"
             icon: "mdi:temperature-celsius"
           - dps_val: f
           - dps_val: f
             value: Fahrenheit
             value: Fahrenheit

+ 3 - 3
custom_components/tuya_local/devices/etop_fcu_thermostat.yaml

@@ -92,8 +92,8 @@ primary_entity:
     - id: 14
     - id: 14
       name: work_state
       name: work_state
       type: string
       type: string
-      # has values no_working and working defined in docs, and appears to be useful for hvac_action,
-      # but in practice does not seem to change.
+      # has values no_working and working defined in docs, and appears to be
+      # useful for hvac_action, but in practice does not seem to change.
 secondary_entities:
 secondary_entities:
   ############################################################
   ############################################################
   # Temperature display unit
   # Temperature display unit
@@ -130,7 +130,7 @@ secondary_entities:
           - dps_val: Enable
           - dps_val: Enable
             value: Automatic
             value: Automatic
   ############################################################
   ############################################################
-  # The following DPs are available but don't seem to 
+  # The following DPs are available but don't seem to
   # actually do anything
   # actually do anything
   ############################################################
   ############################################################
   - entity: switch
   - entity: switch

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

@@ -45,5 +45,3 @@ secondary_entities:
           - dps_val: 0
           - dps_val: 0
             value: false
             value: false
           - value: true
           - value: true
-
-

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

@@ -188,7 +188,7 @@ secondary_entities:
           - scale: 10
           - scale: 10
   - entity: sensor
   - entity: sensor
     name: Water discharge temperature
     name: Water discharge temperature
-    class: 
+    class: temperature
     category: diagnostic
     category: diagnostic
     dps:
     dps:
       - id: 25
       - id: 25

+ 2 - 3
custom_components/tuya_local/devices/evsun_evcharger.yaml

@@ -91,7 +91,7 @@ secondary_entities:
         name: sensor
         name: sensor
         unit: V
         unit: V
         class: measurement
         class: measurement
-        mapping: 
+        mapping:
           - mask: "FFFF000000000000"
           - mask: "FFFF000000000000"
             scale: 10
             scale: 10
   - entity: sensor
   - entity: sensor
@@ -130,7 +130,7 @@ secondary_entities:
       - id: 9
       - id: 9
         type: integer
         type: integer
         name: sensor
         name: sensor
-        unit: kW 
+        unit: kW
         class: measurement
         class: measurement
         mapping:
         mapping:
           - scale: 1000
           - scale: 1000
@@ -276,4 +276,3 @@ secondary_entities:
         range:
         range:
           min: 0
           min: 0
           max: 12
           max: 12
-

+ 2 - 3
custom_components/tuya_local/devices/feit_dimmer.yaml

@@ -1,6 +1,5 @@
 name: Dimmable light
 name: Dimmable light
 products:
 products:
-  # https://www.feit.com/collections/smart-controls/products/smart-wi-fi-dimmer-dim-wifi
   - id: tebc75erlgslgpn5
   - id: tebc75erlgslgpn5
     name: Feit Dimmer
     name: Feit Dimmer
 primary_entity:
 primary_entity:
@@ -20,10 +19,10 @@ primary_entity:
         min: 10
         min: 10
         max: 1000
         max: 1000
       mapping:
       mapping:
-        - scale: 3.92 # this is important for that device, else lights are too dim
+        - scale: 3.92
+    - id: 3
       # advisory only, the integration does not actually use this, setting it
       # advisory only, the integration does not actually use this, setting it
       # does not seem to work, so probably determined by bulb type
       # does not seem to work, so probably determined by bulb type
-    - id: 3
       type: integer
       type: integer
       name: minimum_brightness
       name: minimum_brightness
       optional: true
       optional: true

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

@@ -44,7 +44,7 @@ primary_entity:
         - dps_val: 2
         - dps_val: 2
           value: E3 NTC temperature sensor
           value: E3 NTC temperature sensor
         - dps_val: 4
         - dps_val: 4
-          value: E4 Water overheating 
+          value: E4 Water overheating
         - dps_val: 16
         - dps_val: 16
           value: E6 clock RTC failure
           value: E6 clock RTC failure
 secondary_entities:
 secondary_entities:

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

@@ -130,11 +130,10 @@ secondary_entities:
       - id: 104
       - id: 104
         type: integer
         type: integer
         name: value
         name: value
-        unit: 
+        unit: h
         range:
         range:
           min: 0
           min: 0
           max: 15
           max: 15
-          unit: h
   - entity: sensor
   - entity: sensor
     class: energy
     class: energy
     dps:
     dps:

+ 15 - 14
custom_components/tuya_local/devices/fisher_summer_air_conditioner.yaml

@@ -39,8 +39,8 @@ primary_entity:
         min: 160
         min: 160
         max: 310
         max: 310
       mapping:
       mapping:
-        - scale: 10  
-          step: 5 
+        - scale: 10
+          step: 5
       unit: C
       unit: C
     - id: 3
     - id: 3
       name: current_temperature
       name: current_temperature
@@ -78,7 +78,7 @@ primary_entity:
     - id: 110
     - id: 110
       name: functions_available
       name: functions_available
       type: bitfield
       type: bitfield
-      # Used to indicate whether this function is available. 
+      # Used to indicate whether this function is available.
       #   0. Whether the temperature is adjustable in dehumidification mode
       #   0. Whether the temperature is adjustable in dehumidification mode
       #   1. Whether the temperature is adjustable in air supply mode
       #   1. Whether the temperature is adjustable in air supply mode
       #   2. Whether the temperature is adjustable in automatic mode
       #   2. Whether the temperature is adjustable in automatic mode
@@ -92,10 +92,11 @@ primary_entity:
       #   10. Save money and see it
       #   10. Save money and see it
       #   11. Power statistics
       #   11. Power statistics
       #   12. Generator mode
       #   12. Generator mode
-      #   13. High temperature wind/cool wind 
+      #   13. High temperature wind/cool wind
       #   14. Air quality detection function
       #   14. Air quality detection function
       #   15. Set to empty (original: humidity function)
       #   15. Set to empty (original: humidity function)
-      #   16. Set to empty (original: equipment operation saves money and visible temperature curve display)
+      #   16. Set to empty (original: equipment operation saves money and
+      #       visible temperature curve display)
       #   17. 8℃ heating
       #   17. 8℃ heating
       #   18. Filter dirty and clogged function
       #   18. Filter dirty and clogged function
       #   ??? - 19 is missing in Tuya json
       #   ??? - 19 is missing in Tuya json
@@ -134,8 +135,8 @@ secondary_entities:
         name: option
         name: option
         type: string
         type: string
         mapping:
         mapping:
-          - dps_val: off
-            value: Off
+          - dps_val: "off"
+            value: "Off"
             default: true
             default: true
           - dps_val: normal
           - dps_val: normal
             value: Normal
             value: Normal
@@ -170,7 +171,7 @@ secondary_entities:
         type: string
         type: string
         mapping:
         mapping:
           - dps_val: 0
           - dps_val: 0
-            value: None
+            value: "Off"
             default: true
             default: true
           - dps_val: 1
           - dps_val: 1
             value: Left and Right
             value: Left and Right
@@ -212,7 +213,7 @@ secondary_entities:
         name: option
         name: option
         type: string
         type: string
         mapping:
         mapping:
-          - dps_val: off
+          - dps_val: "off"
             value: None
             value: None
             default: true
             default: true
           - dps_val: L1
           - dps_val: L1
@@ -230,7 +231,7 @@ secondary_entities:
         type: string
         type: string
         optional: true
         optional: true
   - entity: select
   - entity: select
-    name: Set Vertical Direction # Tuya JSON phrasing: Freeze Vertical
+    name: Set Vertical Direction
     category: config
     category: config
     dps:
     dps:
       - id: 126
       - id: 126
@@ -249,9 +250,9 @@ secondary_entities:
           - dps_val: 4
           - dps_val: 4
             value: Slightly Down
             value: Slightly Down
           - dps_val: 5
           - dps_val: 5
-            value: Down  
+            value: Down
   - entity: select
   - entity: select
-    name: Set Horizontal Direction # Tuya JSON phrasing: Freeze Horizontal
+    name: Set Horizontal Direction  # Tuya JSON phrasing: Freeze Horizontal
     category: config
     category: config
     dps:
     dps:
       - id: 127
       - id: 127
@@ -270,7 +271,7 @@ secondary_entities:
           - dps_val: 4
           - dps_val: 4
             value: Slightly Right
             value: Slightly Right
           - dps_val: 5
           - dps_val: 5
-            value: Right  
+            value: Right
           - dps_val: 6
           - dps_val: 6
             value: Wide Angle Left
             value: Wide Angle Left
           - dps_val: 7
           - dps_val: 7
@@ -364,4 +365,4 @@ secondary_entities:
         name: sensor
         name: sensor
         type: integer
         type: integer
         unit: s
         unit: s
-        optional: true 
+        optional: true

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

@@ -66,10 +66,9 @@ secondary_entities:
         type: string
         type: string
         name: option
         name: option
         mapping:
         mapping:
-          - dps_val: relay 
+          - dps_val: relay
             value: State
             value: State
           - dps_val: pos
           - dps_val: pos
             value: Position
             value: Position
           - dps_val: none
           - dps_val: none
             value: "Off"
             value: "Off"
-            

+ 3 - 1
custom_components/tuya_local/devices/ge_jasco_ultra_pro_toggle_dimmer_v2.yaml

@@ -1,5 +1,7 @@
 # Example DPS Status
 # Example DPS Status
-# {'dps': {'1': False, '2': 1000, '3': 10, '4': 'led', '5': 1000, '6': 0, '14': 'memory', '21': 'relay', '103': 'scene', '106': 'dimmer', '107': '3way_switch'}}
+# {'dps': {'1': False, '2': 1000, '3': 10, '4': 'led', '5': 1000, '6': 0,
+#  '14': 'memory', '21': 'relay', '103': 'scene', '106': 'dimmer',
+#  '107': '3way_switch'}}
 name: GE Jasco Ultra Pro Toggle Dimmer v2
 name: GE Jasco Ultra Pro Toggle Dimmer v2
 products:
 products:
   - id: genhs8iixkqve7sx
   - id: genhs8iixkqve7sx

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

@@ -91,7 +91,7 @@ secondary_entities:
               - dps_val: "2"
               - dps_val: "2"
                 invalid: true
                 invalid: true
               - dps_val: "3"
               - dps_val: "3"
-                invalid: true              
+                invalid: true
           - dps_val: "3"
           - dps_val: "3"
             value: 100
             value: 100
             constraint: dehumidifier_mode
             constraint: dehumidifier_mode

+ 0 - 4
custom_components/tuya_local/devices/goldair_gpdh340_dehumidifier.yaml

@@ -156,7 +156,3 @@ secondary_entities:
       - id: 108
       - id: 108
         type: boolean
         type: boolean
         name: sensor
         name: sensor
-
-
-
-

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

@@ -40,7 +40,7 @@ secondary_entities:
       - id: 9
       - id: 9
         type: integer
         type: integer
         name: value
         name: value
-        unit: min 
+        unit: min
         range:
         range:
           min: 0
           min: 0
           max: 86400
           max: 86400
@@ -55,7 +55,7 @@ secondary_entities:
       - id: 10
       - id: 10
         type: integer
         type: integer
         name: value
         name: value
-        unit: min 
+        unit: min
         range:
         range:
           min: 0
           min: 0
           max: 86400
           max: 86400
@@ -70,7 +70,7 @@ secondary_entities:
       - id: 11
       - id: 11
         type: integer
         type: integer
         name: value
         name: value
-        unit: min 
+        unit: min
         range:
         range:
           min: 0
           min: 0
           max: 86400
           max: 86400
@@ -85,7 +85,7 @@ secondary_entities:
       - id: 15
       - id: 15
         type: integer
         type: integer
         name: value
         name: value
-        unit: min 
+        unit: min
         range:
         range:
           min: 0
           min: 0
           max: 86400
           max: 86400
@@ -142,4 +142,3 @@ secondary_entities:
       - id: 102
       - id: 102
         type: boolean
         type: boolean
         name: sensor
         name: sensor
-

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

@@ -94,22 +94,6 @@ secondary_entities:
             value: Rainbow blink
             value: Rainbow blink
           - dps_val: 12
           - dps_val: 12
             value: Rainbow smooth
             value: Rainbow smooth
-          # - dps_val: 13
-          #   value: "13"
-          # - dps_val: 14
-          #   value: "14"
-          # - dps_val: 15
-          #   value: "15"
-          # - dps_val: 16
-          #   value: "16"
-          # - dps_val: 17
-          #   value: "17"
-          # - dps_val: 18
-          #   value: "18"
-          # - dps_val: 19
-          #   value: "19"
-          # - dps_val: 20
-          #   value: "20"
   - entity: sensor
   - entity: sensor
     class: temperature
     class: temperature
     name: Heating plate temperature
     name: Heating plate temperature

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

@@ -42,4 +42,3 @@ secondary_entities:
         name: sensor
         name: sensor
         unit: "%"
         unit: "%"
         class: measurement
         class: measurement
-

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

@@ -21,7 +21,7 @@ secondary_entities:
       - id: 2
       - id: 2
         type: integer
         type: integer
         name: sensor
         name: sensor
-        unit: "% LEL" 
+        unit: "% LEL"
         class: measurement
         class: measurement
         mapping:
         mapping:
           - scale: 10
           - scale: 10

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

@@ -145,5 +145,3 @@ secondary_entities:
             value: Light post
             value: Light post
             icon: "mdi:post-lamp"
             icon: "mdi:post-lamp"
             icon_priority: 1
             icon_priority: 1
-
-            

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

@@ -129,4 +129,3 @@ secondary_entities:
             value: Celsius
             value: Celsius
           - dps_val: f
           - dps_val: f
             value: Fahrenheit
             value: Fahrenheit
-

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

@@ -82,4 +82,3 @@ secondary_entities:
       - id: 21
       - id: 21
         type: string
         type: string
         name: sensor
         name: sensor
- 

Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff