Răsfoiți Sursa

add QS-WIFI-C01(BK) Curtain Module

chopped pork 3 ani în urmă
părinte
comite
b357a285fe

+ 1 - 0
README.md

@@ -157,6 +157,7 @@ Other brands may work with the above configurations
 - Simple Garage Door
 - Simple Blind Controller
 - Kogan Garage Door with tilt sensor
+- QS-WIFI-C01(BK) Curtain Module
 
 ### Vacuum Cleaners
 - Lefant M213 Vacuum Cleaner

+ 54 - 0
custom_components/tuya_local/devices/curtain_module_qs_wifi_c01.yaml

@@ -0,0 +1,54 @@
+name: Curtain Module
+products:
+  - id: ujrix5o9vgovrctb
+primary_entity:
+  entity: cover
+  class: curtain
+  dps:
+    - id: 1
+      name: control
+      type: string
+      mapping:
+        - dps_val: open
+          value: open
+        - dps_val: close
+          value: close
+        - dps_val: stop
+          value: stop
+    - id: 2
+      name: position
+      type: integer
+      unit: "%"
+      range:
+        min: 0
+        max: 100
+      mapping:
+        - step: 10
+secondary_entities:
+  - entity: select
+    name: Motor reverse mode
+    category: config
+    icon: "mdi:sign-direction"
+    dps:
+      - id: 8
+        name: option
+        type: string
+        mapping:
+          - dps_val: forward
+            value: Forward
+          - dps_val: back
+            value: Back
+  - entity: number
+    name: Travel time configuration
+    category: config
+    icon: "mdi:timer"
+    dps:
+      - id: 10
+        name: value
+        type: integer
+        unit: s
+        range:
+          min: 1
+          max: 60
+        mapping:
+          - step: 1

+ 135 - 128
custom_components/tuya_local/translations/en.json

@@ -14,7 +14,9 @@
             "select_type": {
                 "title": "Choose the type of device",
                 "description": "Choose the type that matches your device",
-                "data": {"type": "Device type"}
+                "data": {
+                    "type": "Device type"
+                }
             },
             "choose_entities": {
                 "title": "Device details",
@@ -32,44 +34,44 @@
                     "select": "Include a select entity",
                     "sensor": "Include a sensor entity",
                     "switch": "Include a switch entity",
-		    "vacuum": "Include a vacuum entity",
-		    "binary_sensor_almost_charged": "Include almost charged as a binary sensor",
-		    "binary_sensor_fully_charged": "Include fully charged as a binary sensor",
+                    "vacuum": "Include a vacuum entity",
+                    "binary_sensor_almost_charged": "Include almost charged as a binary sensor",
+                    "binary_sensor_fully_charged": "Include fully charged as a binary sensor",
                     "binary_sensor_continuous_heat": "Include continuous heat alarm as a binary_sensor entity",
                     "binary_sensor_defrost": "Include defrost as a binary_sensor entity",
-		    "binary_sensor_door_open": "Include door open as a binary sensor",
+                    "binary_sensor_door_open": "Include door open as a binary sensor",
                     "binary_sensor_error": "Include error as a binary_sensor entity.",
                     "binary_sensor_high_temperature": "Include high temperature alarm as a binary_sensor entity",
                     "binary_sensor_low_temperature": "Include low temperature alarm as a binary_sensor entity",
-		    "binary_sensor_sensor_fault": "Include sensor fault as a binary_sensor entity",
+                    "binary_sensor_sensor_fault": "Include sensor fault as a binary_sensor entity",
                     "binary_sensor_tank": "Include tank as a binary_sensor entity",
                     "binary_sensor_valve": "Include valve as a binary_sensor entity",
                     "binary_sensor_water_flow": "Include water flow warning as a binary_sensor entity",
-		    "binary_sensor_short_circuit": "Include short circuit as a binary_sensor entity",
-		    "binary_sensor_surge": "Include surge detection as a binary_sensor entity",
-		    "binary_sensor_overload": "Include overload detection as a binary_sensor entity",
-		    "binary_sensor_leakage_current": "Include leakage current as a binary_sensor entity",
-		    "binary_sensor_fire": "Include fire detection as a binary_sensor entity",
-		    "binary_sensor_high_power": "Include high power detection as a binary_sensor entity",
-		    "binary_sensor_self_test": "Include self test as a binary_sensor entity",
-		    "binary_sensor_overcurrent": "Include overcurrent detection as a binary_sensor entity",
-		    "binary_sensor_unbalanced": "Include unbalanced detection as a binary_sensor entity",
-		    "binary_sensor_overvoltage": "Include overvoltage detection as a binary_sensor entity",
-		    "binary_sensor_undervoltage": "Include undervoltage detection as a binary_sensor entity",
-		    "binary_sensor_phase_fault": "Include phase fault detection as a binary_sensor entity",
-		    "binary_sensor_outage": "Include outage detection as a binary_sensor entity",
-		    "binary_sensor_magnetism": "Include magnetism detection as a binary_sensor entity",
-		    "binary_sensor_low_credit": "Include low credit as a binary_sensor entity",
-		    "binary_sensor_credit": "Include credit as a binary_sensor entity",
+                    "binary_sensor_short_circuit": "Include short circuit as a binary_sensor entity",
+                    "binary_sensor_surge": "Include surge detection as a binary_sensor entity",
+                    "binary_sensor_overload": "Include overload detection as a binary_sensor entity",
+                    "binary_sensor_leakage_current": "Include leakage current as a binary_sensor entity",
+                    "binary_sensor_fire": "Include fire detection as a binary_sensor entity",
+                    "binary_sensor_high_power": "Include high power detection as a binary_sensor entity",
+                    "binary_sensor_self_test": "Include self test as a binary_sensor entity",
+                    "binary_sensor_overcurrent": "Include overcurrent detection as a binary_sensor entity",
+                    "binary_sensor_unbalanced": "Include unbalanced detection as a binary_sensor entity",
+                    "binary_sensor_overvoltage": "Include overvoltage detection as a binary_sensor entity",
+                    "binary_sensor_undervoltage": "Include undervoltage detection as a binary_sensor entity",
+                    "binary_sensor_phase_fault": "Include phase fault detection as a binary_sensor entity",
+                    "binary_sensor_outage": "Include outage detection as a binary_sensor entity",
+                    "binary_sensor_magnetism": "Include magnetism detection as a binary_sensor entity",
+                    "binary_sensor_low_credit": "Include low credit as a binary_sensor entity",
+                    "binary_sensor_credit": "Include credit as a binary_sensor entity",
                     "climate_dehumidifier_as_climate": "Include a climate entity for the dehumidifier (deprecated, recommend using humidifier and fan instead)",
                     "fan_intensity": "Include intensity as a fan entity",
                     "light_aq_indicator": "Include AQ indicator as a light entity",
                     "light_backlight": "Include backlight as a light entity",
                     "light_display": "Include display as a light entity",
                     "light_flame": "Include flame as a light entity",
-		    "light_led": "Include LED as a light entity",
-		    "light_mood": "Include mood light as a light entity",
-		    "light_night_light": "Include night light as a light entity",
+                    "light_led": "Include LED as a light entity",
+                    "light_mood": "Include mood light as a light entity",
+                    "light_night_light": "Include night light as a light entity",
                     "light_uv_sterilization": "Include UV sterilization as a light entity",
                     "lock_child_lock": "Include child lock as a lock entity",
                     "number_calibration_offset": "Include calibration offset as a number entity",
@@ -78,11 +80,11 @@
                     "number_calibration_swing": "Include calibration swing as a number entity",
                     "number_calibration_swing_external": "Include calibration swing for external sensor as a number entity",
                     "number_calibration_swing_internal": "Include calibration swing for internal sensor as a number entity",
-		    "number_charge_current": "Include charge current as a number entity",
-		    "number_charge_voltage": "Include charge voltage as a number entity",
-		    "number_compressor_delay": "Include compressor delay as a number entity",
-		    "number_cooling_hysteresis": "Include cooling hysteresis as a number entity",
-		    "number_heating_hysteresis": "Include heating hysteresis as a number entity",
+                    "number_charge_current": "Include charge current as a number entity",
+                    "number_charge_voltage": "Include charge voltage as a number entity",
+                    "number_compressor_delay": "Include compressor delay as a number entity",
+                    "number_cooling_hysteresis": "Include cooling hysteresis as a number entity",
+                    "number_heating_hysteresis": "Include heating hysteresis as a number entity",
                     "number_continuous_heat_hours": "Include Continuous Heating Time as a number entity",
                     "number_fan_runtime": "Include fan run time as a number entity",
                     "number_high_temperature_limit": "Include High Temperature Limit as a number entity",
@@ -99,39 +101,41 @@
                     "number_timer_3": "Include timer 3 as a number entity",
                     "number_timer_4": "Include timer 4 as a number entity",
                     "number_usb_timer": "Include timer USB as a number entity",
-		    "number_interrupt_frames": "Include interrupt frames as a number entity",
-		    "number_maintain_points": "Include maintain points as a number entity",
-		    "number_maintain_power": "Include maintain power as a number entity",
-		    "number_trigger_frames": "Include trigger frames as a number entity",
-		    "number_trigger_points": "Include trigger points as a number entity",
-		    "number_trigger_power": "Include trigger power as a number entity",
-		    "select_charge_type": "Include charge type as a select entity",
+                    "number_interrupt_frames": "Include interrupt frames as a number entity",
+                    "number_maintain_points": "Include maintain points as a number entity",
+                    "number_maintain_power": "Include maintain power as a number entity",
+                    "number_travel_time_configuration": "Include travel time configuration as a number entity",
+                    "number_trigger_frames": "Include trigger frames as a number entity",
+                    "number_trigger_points": "Include trigger points as a number entity",
+                    "number_trigger_power": "Include trigger power as a number entity",
+                    "select_charge_type": "Include charge type as a select entity",
                     "select_configuration": "Include configuration as a select entity",
-		    "select_delay": "Include delay as a select entity",
+                    "select_delay": "Include delay as a select entity",
                     "select_initial_state": "Include initial state as a select entity",
                     "select_installation": "Include installation as a select entity",
-		    "select_max_range": "Include max range as a select entity",
-		    "select_open_window_detection": "Include open window detection as a select entity",
-		    "select_pir_timeout": "Include PIR timeout as a select entity",
-		    "select_safe_range": "Include safe range as a select entity",
+                    "select_max_range": "Include max range as a select entity",
+                    "select_motor_reverse_mode": "Include motor reverse mode as a select entity",
+                    "select_open_window_detection": "Include open window detection as a select entity",
+                    "select_pir_timeout": "Include PIR timeout as a select entity",
+                    "select_safe_range": "Include safe range as a select entity",
                     "select_schedule": "Include schedule as a select entity",
                     "select_timer": "Include timer as a select entity",
                     "select_temperature_sensor": "Include temperature sensor config as a select entity",
                     "select_temperature_unit": "Include temerature unit as a select entity",
-		    "select_horizontal_position": "Include horizontal position as a select entity",
-		    "select_horizontal_swing": "Include horizontal swing as a select entity",
-		    "select_vertical_position": "Include vertical position as a select entity",
-		    "select_vertical_swing": "Include vertical swing as a select entity",
+                    "select_horizontal_position": "Include horizontal position as a select entity",
+                    "select_horizontal_swing": "Include horizontal swing as a select entity",
+                    "select_vertical_position": "Include vertical position as a select entity",
+                    "select_vertical_swing": "Include vertical swing as a select entity",
                     "sensor_active_filter_life": "Include active filter life as a sensor entity",
                     "sensor_air_quality": "Include air quality as a sensor entity",
-		    "sensor_balance_energy": "Include balance energy as a sensor_entity",
-		    "sensor_battery": "Include battery as a sensor",
+                    "sensor_balance_energy": "Include balance energy as a sensor_entity",
+                    "sensor_battery": "Include battery as a sensor",
                     "sensor_charcoal_filter_life": "Include charcoal filter life as a sensor entity",
-		    "sensor_clean_area": "Include clean area as a sensor entity",
-		    "sensor_clean_time": "Include clean time as a sensor entity",
-		    "sensor_filter": "Include filter as a sensor entity",
-		    "sensor_edge_brush": "Include edge brush as a sensor entity",
-		    "sensor_roll_brush": "Include roll brush as a sensor entity",
+                    "sensor_clean_area": "Include clean area as a sensor entity",
+                    "sensor_clean_time": "Include clean time as a sensor entity",
+                    "sensor_filter": "Include filter as a sensor entity",
+                    "sensor_edge_brush": "Include edge brush as a sensor entity",
+                    "sensor_roll_brush": "Include roll brush as a sensor entity",
                     "sensor_current": "Include current as a sensor entity",
                     "sensor_current_humidity": "Include current humidity as a sensor entity",
                     "sensor_current_temperature": "Include current temperature as a sensor entity",
@@ -148,28 +152,28 @@
                     "sensor_power_level": "Include power level as a sensor entity",
                     "sensor_pm2_5": "Include PM2.5 as a sensor entity",
                     "sensor_prefilter_life": "Include prefilter life as a sensor entity",
-		    "sensor_status": "Include status as a sensor entity",
+                    "sensor_status": "Include status as a sensor entity",
                     "sensor_time_remaining": "Include time remaining as a sensor entity",
                     "sensor_timer": "Include time remaining as a sensor entity",
                     "sensor_voltage": "Include voltage as a sensor entity",
                     "sensor_ambient_temperature": "Include ambient temperature as a sensor entity",
-		    "sensor_compressor_speed": "Include compressor speed as a sensor entity",
+                    "sensor_compressor_speed": "Include compressor speed as a sensor entity",
                     "sensor_cooling_coil_pipe_temperature": "Include cooling coil pipe temperature as a sensor entity",
                     "sensor_cooling_plate_temperature": "Include cooling plate temperature as a sensor entity",
                     "sensor_eev_opening": "Include EEV opening as a sensor entity",
                     "sensor_evaporator_coil_pipe_temperature": "Include evaporator coil pipe temperature as a sensor entity",
                     "sensor_exhaust_gas_temperature": "Include exhaust gas temperature as a sensor entity",
-		    "sensor_fan_speed": "Include fan speed as a sensor entity",
+                    "sensor_fan_speed": "Include fan speed as a sensor entity",
                     "sensor_outlet_water_temperature": "Include outlet water temperature as a sensor entity",
                     "sensor_return_gas_temperature": "Include return gas temperature as a sensor entity",
                     "sensor_water_level": "Include water level as a sensor entity",
                     "switch_adaptive": "Include adaptive as a switch entity",
                     "switch_air_clean": "Include air clean as a switch entity",
                     "switch_anti_frost": "Include anti-frost as a switch entity",
-		    "switch_edge_brush_reset": "Include edge brush reset as a switch entity",
-		    "switch_roll_brush_reset": "Include roll brush reset as a switch entity",
-		    "switch_energy_reset": "Include energy reset as a switch entity",
-		    "switch_factory_reset": "Include factory reset as a switch entity",
+                    "switch_edge_brush_reset": "Include edge brush reset as a switch entity",
+                    "switch_roll_brush_reset": "Include roll brush reset as a switch entity",
+                    "switch_energy_reset": "Include energy reset as a switch entity",
+                    "switch_factory_reset": "Include factory reset as a switch entity",
                     "switch_filter_reset": "Include filter reset as a switch entity",
                     "switch_ionizer": "Include ionizer as a switch entity",
                     "switch_master": "Include master switch as a switch entity",
@@ -180,12 +184,12 @@
                     "switch_outlet_3": "Include outlet 3 as a switch entity",
                     "switch_outlet_4": "Include outlet 4 as a switch entity",
                     "switch_overcharge_cutoff": "Include overcharge cutoff as a switch entity",
-		    "switch_prepay": "Include prepay as a switch entity",
+                    "switch_prepay": "Include prepay as a switch entity",
                     "switch_sleep": "Include sleep mode as a switch entity",
                     "switch_sound": "Include sound mute as a switch entity",
-		    "switch_storage": "Include storage as a switch entity",
-		    "switch_temperature_limiter": "Include Temperature Limiter as a switch entity",
-		    "switch_time_sync": "Include time sync as a switch entity",
+                    "switch_storage": "Include storage as a switch entity",
+                    "switch_temperature_limiter": "Include Temperature Limiter as a switch entity",
+                    "switch_time_sync": "Include time sync as a switch entity",
                     "switch_usb_switch": "Include USB as a switch entity",
                     "switch_uv_sterilization": "Include UV sterilization as a switch"
                 }
@@ -218,44 +222,44 @@
                     "select": "Include a select entity",
                     "sensor": "Include a sensor entity",
                     "switch": "Include a switch entity",
-		    "vacuum": "Include a vacuum entity",
-		    "binary_sensor_almost_charged": "Include almost charged as a binary sensor",
-		    "binary_sensor_fully_charged": "Include fully charged as a binary sensor",
+                    "vacuum": "Include a vacuum entity",
+                    "binary_sensor_almost_charged": "Include almost charged as a binary sensor",
+                    "binary_sensor_fully_charged": "Include fully charged as a binary sensor",
                     "binary_sensor_continuous_heat": "Include continuous heat alarm as a binary_sensor entity",
                     "binary_sensor_defrost": "Include defrost as a binary_sensor entity",
-		    "binary_sensor_door_open": "Include door open as a binary sensor",
+                    "binary_sensor_door_open": "Include door open as a binary sensor",
                     "binary_sensor_error": "Include error as a binary_sensor entity.",
                     "binary_sensor_high_temperature": "Include high temperature alarm as a binary_sensor entity",
                     "binary_sensor_low_temperature": "Include low temperature alarm as a binary_sensor entity",
-		    "binary_sensor_sensor_fault": "Include sensor fault as a binary_sensor entity",
+                    "binary_sensor_sensor_fault": "Include sensor fault as a binary_sensor entity",
                     "binary_sensor_tank": "Include tank as a binary_sensor entity",
                     "binary_sensor_valve": "Include valve as a binary_sensor entity",
                     "binary_sensor_water_flow": "Include water flow warning as a binary_sensor entity",
-		    "binary_sensor_short_circuit": "Include short circuit as a binary_sensor entity",
-		    "binary_sensor_surge": "Include surge detection as a binary_sensor entity",
-		    "binary_sensor_overload": "Include overload detection as a binary_sensor entity",
-		    "binary_sensor_leakage_current": "Include leakage current as a binary_sensor entity",
-		    "binary_sensor_fire": "Include fire detection as a binary_sensor entity",
-		    "binary_sensor_high_power": "Include high power detection as a binary_sensor entity",
-		    "binary_sensor_self_test": "Include self test as a binary_sensor entity",
-		    "binary_sensor_overcurrent": "Include overcurrent detection as a binary_sensor entity",
-		    "binary_sensor_unbalanced": "Include unbalanced detection as a binary_sensor entity",
-		    "binary_sensor_overvoltage": "Include overvoltage detection as a binary_sensor entity",
-		    "binary_sensor_undervoltage": "Include undervoltage detection as a binary_sensor entity",
-		    "binary_sensor_phase_fault": "Include phase fault detection as a binary_sensor entity",
-		    "binary_sensor_outage": "Include outage detection as a binary_sensor entity",
-		    "binary_sensor_magnetism": "Include magnetism detection as a binary_sensor entity",
-		    "binary_sensor_low_credit": "Include low credit as a binary_sensor entity",
-		    "binary_sensor_credit": "Include credit as a binary_sensor entity",
+                    "binary_sensor_short_circuit": "Include short circuit as a binary_sensor entity",
+                    "binary_sensor_surge": "Include surge detection as a binary_sensor entity",
+                    "binary_sensor_overload": "Include overload detection as a binary_sensor entity",
+                    "binary_sensor_leakage_current": "Include leakage current as a binary_sensor entity",
+                    "binary_sensor_fire": "Include fire detection as a binary_sensor entity",
+                    "binary_sensor_high_power": "Include high power detection as a binary_sensor entity",
+                    "binary_sensor_self_test": "Include self test as a binary_sensor entity",
+                    "binary_sensor_overcurrent": "Include overcurrent detection as a binary_sensor entity",
+                    "binary_sensor_unbalanced": "Include unbalanced detection as a binary_sensor entity",
+                    "binary_sensor_overvoltage": "Include overvoltage detection as a binary_sensor entity",
+                    "binary_sensor_undervoltage": "Include undervoltage detection as a binary_sensor entity",
+                    "binary_sensor_phase_fault": "Include phase fault detection as a binary_sensor entity",
+                    "binary_sensor_outage": "Include outage detection as a binary_sensor entity",
+                    "binary_sensor_magnetism": "Include magnetism detection as a binary_sensor entity",
+                    "binary_sensor_low_credit": "Include low credit as a binary_sensor entity",
+                    "binary_sensor_credit": "Include credit as a binary_sensor entity",
                     "climate_dehumidifier_as_climate": "Include a climate entity for the dehumidifier (deprecated, recommend using humidifier and fan instead)",
                     "fan_intensity": "Include intensity as a fan entity",
                     "light_aq_indicator": "Include AQ indicator as a light entity",
                     "light_backlight": "Include backlight as a light entity",
                     "light_display": "Include display as a light entity",
                     "light_flame": "Include flame as a light entity",
-		    "light_led": "Include LED as a light entity",
-		    "light_mood": "Include mood light as a light entity",
-		    "light_night_light": "Include night light as a light entity",
+                    "light_led": "Include LED as a light entity",
+                    "light_mood": "Include mood light as a light entity",
+                    "light_night_light": "Include night light as a light entity",
                     "light_uv_sterilization": "Include UV sterilization as a light entity",
                     "lock_child_lock": "Include child lock as a lock entity",
                     "number_calibration_offset": "Include calibration offset as a number entity",
@@ -264,11 +268,11 @@
                     "number_calibration_swing": "Include calibration swing as a number entity",
                     "number_calibration_swing_external": "Include calibration swing for external sensor as a number entity",
                     "number_calibration_swing_internal": "Include calibration swing for internal sensor as a number entity",
-		    "number_charge_current": "Include charge current as a number entity",
-		    "number_charge_voltage": "Include charge voltage as a number entity",
-		    "number_compressor_delay": "Include compressor delay as a number entity",
-		    "number_cooling_hysteresis": "Include cooling hysteresis as a number entity",
-		    "number_heating_hysteresis": "Include heating hysteresis as a number entity",
+                    "number_charge_current": "Include charge current as a number entity",
+                    "number_charge_voltage": "Include charge voltage as a number entity",
+                    "number_compressor_delay": "Include compressor delay as a number entity",
+                    "number_cooling_hysteresis": "Include cooling hysteresis as a number entity",
+                    "number_heating_hysteresis": "Include heating hysteresis as a number entity",
                     "number_continuous_heat_hours": "Include Continuous Heating Time as a number entity",
                     "number_fan_runtime": "Include fan run time as a number entity",
                     "number_high_temperature_limit": "Include High Temperature Limit as a number entity",
@@ -285,39 +289,40 @@
                     "number_timer_3": "Include timer 3 as a number entity",
                     "number_timer_4": "Include timer 4 as a number entity",
                     "number_usb_timer": "Include timer USB as a number entity",
-		    "number_interrupt_frames": "Include interrupt frames as a number entity",
-		    "number_maintain_points": "Include maintain points as a number entity",
-		    "number_maintain_power": "Include maintain power as a number entity",
-		    "number_trigger_frames": "Include trigger frames as a number entity",
-		    "number_trigger_points": "Include trigger points as a number entity",
-		    "number_trigger_power": "Include trigger power as a number entity",
-		    "select_charge_type": "Include charge type as a select entity",
+                    "number_interrupt_frames": "Include interrupt frames as a number entity",
+                    "number_maintain_points": "Include maintain points as a number entity",
+                    "number_maintain_power": "Include maintain power as a number entity",
+                    "number_trigger_frames": "Include trigger frames as a number entity",
+                    "number_trigger_points": "Include trigger points as a number entity",
+                    "number_trigger_power": "Include trigger power as a number entity",
+                    "select_charge_type": "Include charge type as a select entity",
                     "select_configuration": "Include configuration as a select entity",
-		    "select_delay": "Include delay as a select entity",
+                    "select_delay": "Include delay as a select entity",
                     "select_initial_state": "Include initial state as a select entity",
                     "select_installation": "Include installation as a select entity",
-		    "select_max_range": "Include max range as a select entity",
-		    "select_open_window_detection": "Include open window detection as a select entity",
-		    "select_pir_timeout": "Include PIR timeout as a select entity",
-		    "select_safe_range": "Include safe range as a select entity",
+                    "select_max_range": "Include max range as a select entity",
+                    "select_motor_reverse_mode": "Include motor reverse mode as a select entity",
+                    "select_open_window_detection": "Include open window detection as a select entity",
+                    "select_pir_timeout": "Include PIR timeout as a select entity",
+                    "select_safe_range": "Include safe range as a select entity",
                     "select_schedule": "Include schedule as a select entity",
                     "select_timer": "Include timer as a select entity",
                     "select_temperature_sensor": "Include temperature sensor config as a select entity",
                     "select_temperature_unit": "Include temerature unit as a select entity",
-		    "select_horizontal_position": "Include horizontal position as a select entity",
-		    "select_horizontal_swing": "Include horizontal swing as a select entity",
-		    "select_vertical_position": "Include vertical position as a select entity",
-		    "select_vertical_swing": "Include vertical swing as a select entity",
+                    "select_horizontal_position": "Include horizontal position as a select entity",
+                    "select_horizontal_swing": "Include horizontal swing as a select entity",
+                    "select_vertical_position": "Include vertical position as a select entity",
+                    "select_vertical_swing": "Include vertical swing as a select entity",
                     "sensor_active_filter_life": "Include active filter life as a sensor entity",
                     "sensor_air_quality": "Include air quality as a sensor entity",
-		    "sensor_balance_energy": "Include balance energy as a sensor_entity",
-		    "sensor_battery": "Include battery as a sensor",
+                    "sensor_balance_energy": "Include balance energy as a sensor_entity",
+                    "sensor_battery": "Include battery as a sensor",
                     "sensor_charcoal_filter_life": "Include charcoal filter life as a sensor entity",
-		    "sensor_clean_area": "Include clean area as a sensor entity",
-		    "sensor_clean_time": "Include clean time as a sensor entity",
-		    "sensor_filter": "Include filter as a sensor entity",
-		    "sensor_edge_brush": "Include edge brush as a sensor entity",
-		    "sensor_roll_brush": "Include roll brush as a sensor entity",
+                    "sensor_clean_area": "Include clean area as a sensor entity",
+                    "sensor_clean_time": "Include clean time as a sensor entity",
+                    "sensor_filter": "Include filter as a sensor entity",
+                    "sensor_edge_brush": "Include edge brush as a sensor entity",
+                    "sensor_roll_brush": "Include roll brush as a sensor entity",
                     "sensor_current": "Include current as a sensor entity",
                     "sensor_current_humidity": "Include current humidity as a sensor entity",
                     "sensor_current_temperature": "Include current temperature as a sensor entity",
@@ -334,28 +339,28 @@
                     "sensor_power_level": "Include power level as a sensor entity",
                     "sensor_pm2_5": "Include PM2.5 as a sensor entity",
                     "sensor_prefilter_life": "Include prefilter life as a sensor entity",
-		    "sensor_status": "Include status as a sensor entity",
+                    "sensor_status": "Include status as a sensor entity",
                     "sensor_time_remaining": "Include time remaining as a sensor entity",
                     "sensor_timer": "Include time remaining as a sensor entity",
                     "sensor_voltage": "Include voltage as a sensor entity",
                     "sensor_ambient_temperature": "Include ambient temperature as a sensor entity",
-		    "sensor_compressor_speed": "Include compressor speed as a sensor entity",
+                    "sensor_compressor_speed": "Include compressor speed as a sensor entity",
                     "sensor_cooling_coil_pipe_temperature": "Include cooling coil pipe temperature as a sensor entity",
                     "sensor_cooling_plate_temperature": "Include cooling plate temperature as a sensor entity",
                     "sensor_eev_opening": "Include EEV opening as a sensor entity",
                     "sensor_evaporator_coil_pipe_temperature": "Include evaporator coil pipe temperature as a sensor entity",
                     "sensor_exhaust_gas_temperature": "Include exhaust gas temperature as a sensor entity",
-		    "sensor_fan_speed": "Include fan speed as a sensor entity",
+                    "sensor_fan_speed": "Include fan speed as a sensor entity",
                     "sensor_outlet_water_temperature": "Include outlet water temperature as a sensor entity",
                     "sensor_return_gas_temperature": "Include return gas temperature as a sensor entity",
                     "sensor_water_level": "Include water level as a sensor entity",
                     "switch_adaptive": "Include adaptive as a switch entity",
                     "switch_air_clean": "Include air clean as a switch entity",
                     "switch_anti_frost": "Include anti-frost as a switch entity",
-		    "switch_edge_brush_reset": "Include edge brush reset as a switch entity",
-		    "switch_roll_brush_reset": "Include roll brush reset as a switch entity",
-		    "switch_energy_reset": "Include energy reset as a switch entity",
-		    "switch_factory_reset": "Include factory reset as a switch entity",
+                    "switch_edge_brush_reset": "Include edge brush reset as a switch entity",
+                    "switch_roll_brush_reset": "Include roll brush reset as a switch entity",
+                    "switch_energy_reset": "Include energy reset as a switch entity",
+                    "switch_factory_reset": "Include factory reset as a switch entity",
                     "switch_filter_reset": "Include filter reset as a switch entity",
                     "switch_ionizer": "Include ionizer as a switch entity",
                     "switch_master": "Include master switch as a switch entity",
@@ -366,12 +371,12 @@
                     "switch_outlet_3": "Include outlet 3 as a switch entity",
                     "switch_outlet_4": "Include outlet 4 as a switch entity",
                     "switch_overcharge_cutoff": "Include overcharge cutoff as a switch entity",
-		    "switch_prepay": "Include prepay as a switch entity",
+                    "switch_prepay": "Include prepay as a switch entity",
                     "switch_sleep": "Include sleep mode as a switch entity",
                     "switch_sound": "Include sound mute as a switch entity",
-		    "switch_storage": "Include storage as a switch entity",
-		    "switch_temperature_limiter": "Include Temperature Limiter as a switch entity",
-		    "switch_time_sync": "Include time sync as a switch entity",
+                    "switch_storage": "Include storage as a switch entity",
+                    "switch_temperature_limiter": "Include Temperature Limiter as a switch entity",
+                    "switch_time_sync": "Include time sync as a switch entity",
                     "switch_usb_switch": "Include USB as a switch entity",
                     "switch_uv_sterilization": "Include UV sterilization as a switch"
                 }
@@ -380,6 +385,8 @@
         "error": {
             "connection": "Unable to connect to your device with those details. It could be an intermittent issue, or they may be incorrect."
         },
-        "abort": {"not_supported": "Sorry, there is no support for this device."}
+        "abort": {
+            "not_supported": "Sorry, there is no support for this device."
+        }
     }
 }