diff --git a/custom_components/tuya_local/devices/9in1_airquality_monitor.yaml b/custom_components/tuya_local/devices/9in1_airquality_monitor.yaml index e303639d9b..75cf6e4f19 100644 --- a/custom_components/tuya_local/devices/9in1_airquality_monitor.yaml +++ b/custom_components/tuya_local/devices/9in1_airquality_monitor.yaml @@ -3,24 +3,22 @@ products: - id: rqhuxgkizawedhxj name: ZN-2C09 - id: rqhuxgkizawedhxj -primary_entity: - entity: sensor - name: Air Quality - class: enum - icon: "mdi:factory" - dps: - - id: 1 - type: string - name: sensor - mapping: - - dps_val: "level_1" - value: "Excellent" - - dps_val: "level_2" - value: "Good" - - dps_val: level_3 - value: "Lightly polluted" - -secondary_entities: +entities: + - entity: sensor + name: Air Quality + class: enum + icon: "mdi:factory" + dps: + - id: 1 + type: string + name: sensor + mapping: + - dps_val: "level_1" + value: "Excellent" + - dps_val: "level_2" + value: "Good" + - dps_val: level_3 + value: "Lightly polluted" - entity: sensor class: temperature dps: diff --git a/custom_components/tuya_local/devices/CT20W_pir_motion_detector.yaml b/custom_components/tuya_local/devices/CT20W_pir_motion_detector.yaml index 42d35ba7ab..9ab2dc686e 100644 --- a/custom_components/tuya_local/devices/CT20W_pir_motion_detector.yaml +++ b/custom_components/tuya_local/devices/CT20W_pir_motion_detector.yaml @@ -2,20 +2,19 @@ name: Motion detector products: - id: ejptirvg36uwwdwu name: CT20W PIR Motion Detector -primary_entity: - entity: alarm_control_panel - dps: - - id: 110 - type: string - name: alarm_state - mapping: - - dps_val: disarm - value: disarmed - - dps_val: away - value: armed_away - - dps_val: stay - value: armed_home -secondary_entities: +entities: + - entity: alarm_control_panel + dps: + - id: 110 + type: string + name: alarm_state + mapping: + - dps_val: disarm + value: disarmed + - dps_val: away + value: armed_away + - dps_val: stay + value: armed_home - entity: binary_sensor class: motion dps: diff --git a/custom_components/tuya_local/devices/DH-CSK03W_dehumidifier.yaml b/custom_components/tuya_local/devices/DH-CSK03W_dehumidifier.yaml index 22156a7e7b..ceba18de36 100644 --- a/custom_components/tuya_local/devices/DH-CSK03W_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/DH-CSK03W_dehumidifier.yaml @@ -1,31 +1,30 @@ name: "DH-CSK03W Dehumidifier" -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - name: humidity - type: integer - range: - min: 40 - max: 70 - mapping: - - step: 5 - - id: 5 - name: mode - type: string - mapping: - - dps_val: "mode_strong" - value: "boost" - - dps_val: "mode_sleep" - value: "sleep" - - id: 6 - type: integer - name: current_humidity -secondary_entities: +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + name: humidity + type: integer + range: + min: 40 + max: 70 + mapping: + - step: 5 + - id: 5 + name: mode + type: string + mapping: + - dps_val: "mode_strong" + value: "boost" + - dps_val: "mode_sleep" + value: "sleep" + - id: 6 + type: integer + name: current_humidity - entity: select translation_key: timer category: config diff --git a/custom_components/tuya_local/devices/EM3390TF_weather_station.yaml b/custom_components/tuya_local/devices/EM3390TF_weather_station.yaml index 35081fa7ff..1da537cfab 100644 --- a/custom_components/tuya_local/devices/EM3390TF_weather_station.yaml +++ b/custom_components/tuya_local/devices/EM3390TF_weather_station.yaml @@ -2,19 +2,18 @@ name: Weather station products: - id: cvurn5ynloebrpwy name: Viflykoo EM3390TF -primary_entity: - entity: sensor - name: Indoor temperature - class: temperature - dps: - - id: 101 - type: integer - name: sensor - class: measurement - mapping: - - scale: 10 - unit: C -secondary_entities: +entities: + - entity: sensor + name: Indoor temperature + class: temperature + dps: + - id: 101 + type: integer + name: sensor + class: measurement + mapping: + - scale: 10 + unit: C - entity: sensor name: Indoor humidity class: humidity diff --git a/custom_components/tuya_local/devices/HCT-626_dual_water_timer.yaml b/custom_components/tuya_local/devices/HCT-626_dual_water_timer.yaml index 42baf55876..659dfa702c 100644 --- a/custom_components/tuya_local/devices/HCT-626_dual_water_timer.yaml +++ b/custom_components/tuya_local/devices/HCT-626_dual_water_timer.yaml @@ -2,15 +2,14 @@ name: Dual water timer products: - id: smd9kj1n name: HCT-626 -primary_entity: - entity: valve - name: Valve 1 - class: water - dps: - - id: 1 - type: boolean - name: valve -secondary_entities: +entities: + - entity: valve + name: Valve 1 + class: water + dps: + - id: 1 + type: boolean + name: valve - entity: valve name: Valve 2 class: water diff --git a/custom_components/tuya_local/devices/README.md b/custom_components/tuya_local/devices/README.md index 866f53367b..7cef8b375e 100644 --- a/custom_components/tuya_local/devices/README.md +++ b/custom_components/tuya_local/devices/README.md @@ -4,8 +4,7 @@ This directory contains device configuration files, describing the workings of supported devices. The files are in YAML format, and describe the mapping of Tuya DPs (Data Points) to HomeAssistant attributes. -Each Tuya device may correspond to one primary entity and any number of -secondary entities in Home Assistant. +Each Tuya device may correspond to one or more entities in Home Assistant. ## The Top Level @@ -34,37 +33,19 @@ when local discovery is implemented to discover products by id, this name will be displayed on discovery, and be available as manufacturer and model info in device settings. -### `primary_entity` +### `entities` -This contains the configuration for one Home Assistant entity which is -considered the main entity for the device. For example, if the device is -a heater, this would be a climate entity. +This contains a list of Home Assistant entities providing the functionality +of the device. -The configuration for entities is detailed in its own section below. - -### `secondary_entities` - -*Optional.* - -This contains a list of additional Home Assistant entities -providing additional functionality beyond the capabilities of the primary -entity. Examples include lighting control for display panels as a Home -Assistant light entity, child locks as a Home Assistant lock entity, -or additional toggles as Home Assistant switch entities. - -The configuration for secondary entities is the same as primary entities, -and is detailed in the section below. +The configuration for each entity in the list is detailed in the section below. ## Entity configuration ### `entity` -The Home Assistant entity type being configured. Currently supported -types are **climate**, **switch**, **light**, **lock**. Functionality -for these entities is limited to that which has been required for the -devices until now and may need to be extended for new devices. In -particular, the light and lock entities have only been used for simple -secondary entities, so only basic functionality is implemented. +The Home Assistant entity type being configured. See the **Entity types** +section below for details on specific requirements for each entity type. ### `class` @@ -114,23 +95,17 @@ This specifies the `entity category` of the entity. Entities can be categorized as `config` or `diagnostic` to restrict where they appear automatically in Home Assistant. -### `dps` - -This is a list of the definitions for the Tuya DPs associated with -attributes of this entity. There should be one list entry for each -supported DPs reported by the device. - -The configuration of DPs entries is detailed in its own section below. - ### `name` *Optional.* -The name associated with this entity can be set here. If no name is set, -it will inherit the name at the top level. This is mostly useful for -overriding the name of secondary entities to give more information -about the purpose of the entity, as the generic type with the top level -name may not be sufficient to describe the function. +The name associated with this entity can be set here. If no name is +set, it will inherit the name at the top level. This is mostly useful +for overriding the name entities to give more information about the +purpose of the entity, or to differentiate multiple entities of the +same type. + +Where possible, `translation_key` should be used instead of an explicit name. ### `mode` @@ -138,7 +113,19 @@ name may not be sufficient to describe the function. For number entities, this can be used to force `slider` or `box` as the input method. The default `auto` uses a slider if the range is small enough, -or a box otherwise. +or a box otherwise. It is recommended to let HA decide based on its own logic +which mode to use, and override it in the UI settings rather than forcing +your personal preference on others. But if an entity really does only make +sense with one UI mode, then this is provided to handle those cases. + +### `dps` + +This is a list of the definitions for the Tuya DPs associated with +attributes of this entity. There should be one list entry for each +supported DPs reported by the device. + +The configuration of DPs entries is detailed in its own section below. + ## DPs configuration @@ -165,9 +152,9 @@ The type of data returned by the Tuya API. Can be one of the following: The name given to the attribute in Home Assistant. Certain names are used by the Home Assistant entities for specific purposes. If a name is not recognized as a standard attribute by the entitiy implementation, the -attribute will be returned as a readonly custom attribute on the entity. +attribute will be returned as a readonly extra attribute on the entity. If you need non-standard attributes to be able to be set, you will need -to use a secondary entity for that. +to use an entity for that (typically switch, number or select). ### `sensitive` diff --git a/custom_components/tuya_local/devices/ZC34T-03-3A_swing_arm_opener.yaml b/custom_components/tuya_local/devices/ZC34T-03-3A_swing_arm_opener.yaml index 5c7c5f14c2..4f780fe5d8 100644 --- a/custom_components/tuya_local/devices/ZC34T-03-3A_swing_arm_opener.yaml +++ b/custom_components/tuya_local/devices/ZC34T-03-3A_swing_arm_opener.yaml @@ -2,21 +2,20 @@ name: Window opener products: - id: ozttm5n6okadq7tq name: ZC34T-03-3A swing arm opener -primary_entity: - entity: cover - class: window - dps: - - id: 101 - type: string - name: control - mapping: - - dps_val: open - value: open - - dps_val: close - value: close - - dps_val: stop - value: stop -secondary_entities: +entities: + - entity: cover + class: window + dps: + - id: 101 + type: string + name: control + mapping: + - dps_val: open + value: open + - dps_val: close + value: close + - dps_val: stop + value: stop - entity: lock dps: - id: 102 diff --git a/custom_components/tuya_local/devices/abalon_bcm700d_curtain.yaml b/custom_components/tuya_local/devices/abalon_bcm700d_curtain.yaml index a93dcd244b..f273e109a2 100644 --- a/custom_components/tuya_local/devices/abalon_bcm700d_curtain.yaml +++ b/custom_components/tuya_local/devices/abalon_bcm700d_curtain.yaml @@ -2,27 +2,26 @@ name: Curtain rail motor products: - id: XS76BY5Q1uKO6gjC name: Abalon BCM700D -primary_entity: - entity: cover - class: curtain - dps: - - id: 101 - name: position - type: integer - range: - min: 0 - max: 100 - - id: 102 - name: control - type: string - mapping: - - dps_val: ZZ - value: open - - dps_val: FZ - value: close - - dps_val: STOP - value: stop -secondary_entities: +entities: + - entity: cover + class: curtain + dps: + - id: 101 + name: position + type: integer + range: + min: 0 + max: 100 + - id: 102 + name: control + type: string + mapping: + - dps_val: ZZ + value: open + - dps_val: FZ + value: close + - dps_val: STOP + value: stop - entity: switch name: Reverse category: config diff --git a/custom_components/tuya_local/devices/abir_x8_vacuum.yaml b/custom_components/tuya_local/devices/abir_x8_vacuum.yaml index fa262975e2..8c3d6dfc2e 100644 --- a/custom_components/tuya_local/devices/abir_x8_vacuum.yaml +++ b/custom_components/tuya_local/devices/abir_x8_vacuum.yaml @@ -2,129 +2,128 @@ name: Robot vacuum products: - id: hslyk0g1sim9ojqu name: Abir X8 -primary_entity: - entity: vacuum - dps: - - id: 1 - type: boolean - name: power - - id: 2 - type: boolean - name: activate - - id: 4 - type: string - name: command - mapping: - - dps_val: smart - value: smart - - dps_val: zone - value: zone - - dps_val: pose - value: go_to_position - - dps_val: part - value: clean_spot - - dps_val: chargego - value: return_to_base - - dps_val: wallfollow - value: wall_follow - - dps_val: selectroom - value: select_room - - id: 5 - type: string - name: status - mapping: - - dps_val: standby - value: standby - - dps_val: smart - value: cleaning - - dps_val: zone_clean - value: cleaning - - dps_val: part_clean - value: cleaning - - dps_val: cleaning - value: cleaning - - dps_val: paused - value: pause - - dps_val: goto_pos - value: going_to_location - - dps_val: pos_arrived - value: on_location - - dps_val: pos_unarrive - value: cannot_find_location - - dps_val: goto_charge - value: returning - - dps_val: charging - value: charging - - dps_val: charge_done - value: charged - - dps_val: sleep - value: sleep - - dps_val: fault - value: error - - dps_val: wall_follow - value: cleaning - - dps_val: direction_control - value: direction_control - - dps_val: select_room - value: select_room - - dps_val: repositing - value: repositioning - - dps_val: charge_jack - value: charging - - id: 9 - type: string - name: fan_speed - mapping: - - dps_val: strong - value: High - - dps_val: normal - value: Medium - - dps_val: gentle - value: Low - - id: 11 - type: boolean - name: locate - optional: true - - id: 12 - type: string - name: direction_control - optional: true - mapping: - - dps_val: foward - value: forward - - dps_val: backward - value: reverse - - dps_val: turn_left - value: left - - dps_val: turn_right - value: right - - dps_val: stop - value: stop - - id: 14 - type: string - name: path_data - optional: true - - id: 15 - type: string - name: command_trans - optional: true - - id: 16 - type: string - name: request - optional: true - - id: 35 - type: string - name: voice_data - optional: true - - id: 101 - type: string - name: smart_rooms_unseen - optional: true - - id: 102 - type: string - name: rooms_msg_unseen - optional: true -secondary_entities: +entities: + - entity: vacuum + dps: + - id: 1 + type: boolean + name: power + - id: 2 + type: boolean + name: activate + - id: 4 + type: string + name: command + mapping: + - dps_val: smart + value: smart + - dps_val: zone + value: zone + - dps_val: pose + value: go_to_position + - dps_val: part + value: clean_spot + - dps_val: chargego + value: return_to_base + - dps_val: wallfollow + value: wall_follow + - dps_val: selectroom + value: select_room + - id: 5 + type: string + name: status + mapping: + - dps_val: standby + value: standby + - dps_val: smart + value: cleaning + - dps_val: zone_clean + value: cleaning + - dps_val: part_clean + value: cleaning + - dps_val: cleaning + value: cleaning + - dps_val: paused + value: pause + - dps_val: goto_pos + value: going_to_location + - dps_val: pos_arrived + value: on_location + - dps_val: pos_unarrive + value: cannot_find_location + - dps_val: goto_charge + value: returning + - dps_val: charging + value: charging + - dps_val: charge_done + value: charged + - dps_val: sleep + value: sleep + - dps_val: fault + value: error + - dps_val: wall_follow + value: cleaning + - dps_val: direction_control + value: direction_control + - dps_val: select_room + value: select_room + - dps_val: repositing + value: repositioning + - dps_val: charge_jack + value: charging + - id: 9 + type: string + name: fan_speed + mapping: + - dps_val: strong + value: High + - dps_val: normal + value: Medium + - dps_val: gentle + value: Low + - id: 11 + type: boolean + name: locate + optional: true + - id: 12 + type: string + name: direction_control + optional: true + mapping: + - dps_val: foward + value: forward + - dps_val: backward + value: reverse + - dps_val: turn_left + value: left + - dps_val: turn_right + value: right + - dps_val: stop + value: stop + - id: 14 + type: string + name: path_data + optional: true + - id: 15 + type: string + name: command_trans + optional: true + - id: 16 + type: string + name: request + optional: true + - id: 35 + type: string + name: voice_data + optional: true + - id: 101 + type: string + name: smart_rooms_unseen + optional: true + - id: 102 + type: string + name: rooms_msg_unseen + optional: true - entity: switch name: Charge icon: "mdi:lightning-bolt" diff --git a/custom_components/tuya_local/devices/advancedfires_1500_fireplace.yaml b/custom_components/tuya_local/devices/advancedfires_1500_fireplace.yaml index c9109d794b..4a549a3600 100644 --- a/custom_components/tuya_local/devices/advancedfires_1500_fireplace.yaml +++ b/custom_components/tuya_local/devices/advancedfires_1500_fireplace.yaml @@ -2,75 +2,74 @@ name: Fireplace products: - id: bf773f569661709b88gzbb name: Advanced Fires 1500 electric fireplace -primary_entity: - entity: climate - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: heat - - id: 2 - name: temperature - type: integer - range: - min: 16 - max: 30 - optional: true - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: temp_set_f - range: - min: 32 - max: 104 - - id: 3 - name: current_temperature - type: integer - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: temp_current_f - - id: 5 - name: fan_mode - type: string - mapping: - - dps_val: "OFF" - value: "off" - - dps_val: LOW - value: low - - dps_val: HIGH - value: high - - id: 19 - name: temperature_unit - type: string - mapping: - - dps_val: c - value: C - - dps_val: f - value: F - - id: 20 - name: temp_set_f - type: integer - hidden: true - optional: true - range: - min: 32 - max: 104 - - id: 21 - name: temp_current_f - type: integer - hidden: true - - id: 108 - name: weekly_schedule - type: string - optional: true -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: heat + - id: 2 + name: temperature + type: integer + range: + min: 16 + max: 30 + optional: true + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: temp_set_f + range: + min: 32 + max: 104 + - id: 3 + name: current_temperature + type: integer + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: temp_current_f + - id: 5 + name: fan_mode + type: string + mapping: + - dps_val: "OFF" + value: "off" + - dps_val: LOW + value: low + - dps_val: HIGH + value: high + - id: 19 + name: temperature_unit + type: string + mapping: + - dps_val: c + value: C + - dps_val: f + value: F + - id: 20 + name: temp_set_f + type: integer + hidden: true + optional: true + range: + min: 32 + max: 104 + - id: 21 + name: temp_current_f + type: integer + hidden: true + - id: 108 + name: weekly_schedule + type: string + optional: true - entity: select translation_key: temperature_unit category: config diff --git a/custom_components/tuya_local/devices/aeratron_ae3plus_fan.yaml b/custom_components/tuya_local/devices/aeratron_ae3plus_fan.yaml index 4e0622c6f5..2474d14ac8 100644 --- a/custom_components/tuya_local/devices/aeratron_ae3plus_fan.yaml +++ b/custom_components/tuya_local/devices/aeratron_ae3plus_fan.yaml @@ -2,68 +2,67 @@ name: Ceiling fan products: - id: iarwcyttkv1kvent name: Aeratron AE3+ -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 1 - type: boolean - name: switch - - id: 3 - type: integer - # Does not appear to be used from cloud log, so non-standard name used - name: fan_speed - optional: true - range: - min: 1 - max: 100 - - id: 8 - type: string - optional: true - name: direction - - id: 101 - type: string - name: speed - mapping: - - dps_val: "0" - value: 1 - step: 16 - - dps_val: "1" - value: 17 - step: 16 - - dps_val: "2" - value: 33 - step: 17 - - dps_val: "3" - value: 50 - step: 17 - - dps_val: "4" - value: 66 - step: 17 - - dps_val: "5" - value: 83 - step: 17 - - dps_val: "6" - value: 100 - step: 17 - - value: 0 - hidden: true - - id: 101 - type: string - name: preset_mode - mapping: - - dps_val: "0" - value: normal - - dps_val: "Breeze" - value: nature - - value: normal - hidden: true - - id: 103 - type: integer - optional: true - name: fan_value - # seems to be another unused speed setting with 0-100 range -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 1 + type: boolean + name: switch + - id: 3 + type: integer + # Does not appear to be used from cloud log, so non-standard name used + name: fan_speed + optional: true + range: + min: 1 + max: 100 + - id: 8 + type: string + optional: true + name: direction + - id: 101 + type: string + name: speed + mapping: + - dps_val: "0" + value: 1 + step: 16 + - dps_val: "1" + value: 17 + step: 16 + - dps_val: "2" + value: 33 + step: 17 + - dps_val: "3" + value: 50 + step: 17 + - dps_val: "4" + value: 66 + step: 17 + - dps_val: "5" + value: 83 + step: 17 + - dps_val: "6" + value: 100 + step: 17 + - value: 0 + hidden: true + - id: 101 + type: string + name: preset_mode + mapping: + - dps_val: "0" + value: normal + - dps_val: "Breeze" + value: nature + - value: normal + hidden: true + - id: 103 + type: integer + optional: true + name: fan_value + # seems to be another unused speed setting with 0-100 range # Optional accessory, but there doesn't seem to be a feature flag # to automatically disable it - entity: light diff --git a/custom_components/tuya_local/devices/af3w_petfeeder.yaml b/custom_components/tuya_local/devices/af3w_petfeeder.yaml index 65c89e4049..b889b3389f 100644 --- a/custom_components/tuya_local/devices/af3w_petfeeder.yaml +++ b/custom_components/tuya_local/devices/af3w_petfeeder.yaml @@ -2,24 +2,23 @@ name: Pet feeder # products: # - id: UNKNOWN # name: TY-AF3W -primary_entity: - entity: number - name: Servings - icon: "mdi:chicken-drumstick" - dps: - - id: 101 - type: integer - optional: true - name: value - unit: portions - range: - min: 1 - max: 10 - - id: 104 - type: string - optional: true - name: schedule -secondary_entities: +entities: + - entity: number + name: Servings + icon: "mdi:chicken-drumstick" + dps: + - id: 101 + type: integer + optional: true + name: value + unit: portions + range: + min: 1 + max: 10 + - id: 104 + type: string + optional: true + name: schedule - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/afyeev_16a_evcharger.yaml b/custom_components/tuya_local/devices/afyeev_16a_evcharger.yaml index 1e7dfdfccf..bb11f48d11 100644 --- a/custom_components/tuya_local/devices/afyeev_16a_evcharger.yaml +++ b/custom_components/tuya_local/devices/afyeev_16a_evcharger.yaml @@ -2,36 +2,35 @@ name: EV charger products: - id: dsmsam7xpb3ht7rl name: "Afyeev 16A EV Charger" -primary_entity: - entity: sensor - translation_key: status - icon: "mdi:ev-station" - class: enum - dps: - - id: 3 - type: string - name: sensor - mapping: - - dps_val: charger_charging - value: charging - - dps_val: charger_free - value: available - - dps_val: charger_insert - value: plugged_in - - dps_val: charger_free_fault - value: fault_unplugged - - dps_val: charger_wait - value: waiting - - dps_val: charger_pause - value: paused - - dps_val: charger_end - value: charged - - dps_val: charger_fault - value: fault - - id: 23 - type: string - name: system_version -secondary_entities: +entities: + - entity: sensor + translation_key: status + icon: "mdi:ev-station" + class: enum + dps: + - id: 3 + type: string + name: sensor + mapping: + - dps_val: charger_charging + value: charging + - dps_val: charger_free + value: available + - dps_val: charger_insert + value: plugged_in + - dps_val: charger_free_fault + value: fault_unplugged + - dps_val: charger_wait + value: waiting + - dps_val: charger_pause + value: paused + - dps_val: charger_end + value: charged + - dps_val: charger_fault + value: fault + - id: 23 + type: string + name: system_version - entity: sensor class: energy dps: diff --git a/custom_components/tuya_local/devices/afyeev_evcharger.yaml b/custom_components/tuya_local/devices/afyeev_evcharger.yaml index 15e8b747ba..3b664b8136 100644 --- a/custom_components/tuya_local/devices/afyeev_evcharger.yaml +++ b/custom_components/tuya_local/devices/afyeev_evcharger.yaml @@ -4,41 +4,40 @@ products: name: AFYEEV 32A 22kW - id: 65zlpwd6lhgpbwtd name: AFYEEV 32A wall mounted -primary_entity: - entity: sensor - class: enum - translation_key: status - icon: "mdi:ev-station" - dps: - - id: 3 - type: string - name: sensor - mapping: - - dps_val: charger_free - value: available - - dps_val: charger_insert - value: plugged_in - - dps_val: charger_free_fault - value: fault_unplugged - - dps_val: charger_charging - value: charging - - dps_val: charger_wait - value: waiting - - dps_val: charger_end - value: charged - - dps_val: charger_fault - value: fault - - dps_val: charger_pause - value: paused - - id: 23 - type: string - optional: true - name: system_version - - id: 33 - type: string - optional: true - name: mode_set -secondary_entities: +entities: + - entity: sensor + class: enum + translation_key: status + icon: "mdi:ev-station" + dps: + - id: 3 + type: string + name: sensor + mapping: + - dps_val: charger_free + value: available + - dps_val: charger_insert + value: plugged_in + - dps_val: charger_free_fault + value: fault_unplugged + - dps_val: charger_charging + value: charging + - dps_val: charger_wait + value: waiting + - dps_val: charger_end + value: charged + - dps_val: charger_fault + value: fault + - dps_val: charger_pause + value: paused + - id: 23 + type: string + optional: true + name: system_version + - id: 33 + type: string + optional: true + name: mode_set - entity: sensor class: energy category: diagnostic diff --git a/custom_components/tuya_local/devices/agl_ultracontato.yaml b/custom_components/tuya_local/devices/agl_ultracontato.yaml index c1399e7af3..8da64f489f 100644 --- a/custom_components/tuya_local/devices/agl_ultracontato.yaml +++ b/custom_components/tuya_local/devices/agl_ultracontato.yaml @@ -1,20 +1,19 @@ name: AGL Ultracontato R2 -primary_entity: - entity: cover - class: door - dps: - - id: 1 - name: control - type: boolean - mapping: - - dps_val: true - value: "open" - - dps_val: false - value: "close" - - id: 101 - name: open - type: boolean -secondary_entities: +entities: + - entity: cover + class: door + dps: + - id: 1 + name: control + type: boolean + mapping: + - dps_val: true + value: "open" + - dps_val: false + value: "close" + - id: 101 + name: open + type: boolean - entity: select name: Switch type category: config diff --git a/custom_components/tuya_local/devices/agl_ultramagic_lock.yaml b/custom_components/tuya_local/devices/agl_ultramagic_lock.yaml index f48da561ca..255e7bb13d 100644 --- a/custom_components/tuya_local/devices/agl_ultramagic_lock.yaml +++ b/custom_components/tuya_local/devices/agl_ultramagic_lock.yaml @@ -2,28 +2,27 @@ name: Gate lock products: - id: xrqkoapmq1rwjvms name: AGL Ultra Magic -primary_entity: - entity: cover - class: gate - dps: - - id: 118 - type: boolean - name: control - optional: true - mapping: - - dps_val: true - value: open - - dps_val: false - value: close - - id: 3 - type: boolean - name: action - mapping: - - dps_val: false - value: opened - - dps_val: true - value: closed -secondary_entities: +entities: + - entity: cover + class: gate + dps: + - id: 118 + type: boolean + name: control + optional: true + mapping: + - dps_val: true + value: open + - dps_val: false + value: close + - id: 3 + type: boolean + name: action + mapping: + - dps_val: false + value: opened + - dps_val: true + value: closed - entity: select category: config name: Beep diff --git a/custom_components/tuya_local/devices/ailrinni_fingerprint_lock.yaml b/custom_components/tuya_local/devices/ailrinni_fingerprint_lock.yaml index a816d1974e..7c9e0d82bf 100644 --- a/custom_components/tuya_local/devices/ailrinni_fingerprint_lock.yaml +++ b/custom_components/tuya_local/devices/ailrinni_fingerprint_lock.yaml @@ -5,128 +5,127 @@ products: name: Ironzon PLD 190 - id: okkyfgfs name: Ailrinni BLE fingerprint lock -primary_entity: - entity: lock - dps: - - id: 1 - type: string - name: create_unlock_method - optional: true - sensitive: true - - id: 2 - type: string - name: delete_unlock_method - optional: true - - id: 3 - type: string - name: modify_unlock_method - optional: true - sensitive: true - - id: 6 - type: string - optional: true - name: bluetooth_unlock - - id: 12 - type: integer - name: unlock_fingerprint - optional: true - persist: false - - id: 13 - name: unlock_password - type: integer - optional: true - persist: false - - id: 14 - name: unlock_dynamic_pwd - type: integer - optional: true - persist: false - - id: 19 - name: unlock_ble - type: integer - optional: true - persist: false - - id: 47 # Lock motor state - name: lock - type: boolean - readonly: true - optional: true - mapping: - - dps_val: true # Unlocked - value: false - - dps_val: false # Locked - value: true - - id: 51 - type: string - optional: true - sensitive: true - name: temp_pwd_create - - id: 52 - type: string - optional: true - name: temp_pwd_delete - - id: 53 - type: string - optional: true - sensitive: true - name: temp_pwd_modify - - id: 54 - type: string - optional: true - sensitive: true - name: sync_method - - id: 55 - type: integer - name: unlock_temp_pwd - optional: true - persist: false - - id: 60 - type: string - optional: true - sensitive: true - name: remote_no_pd_setkey - - id: 61 - type: string - optional: true - sensitive: true - name: remote_no_dp_key - - id: 62 - type: integer - name: unlock_app - optional: true - persist: false - - id: 63 - name: unlock_voice - type: integer - optional: true - persist: false - - id: 64 - type: string - optional: true - name: pwd_offline_time - - id: 65 - type: string - optional: true - name: offline_pwd_cleared - - id: 66 - type: string - optional: true - name: offline_pwd_clear_all - - id: 67 - type: string - optional: true - persist: false - name: unlock_offline_pwd - mapping: - - dps_val: null - value: null - - value: 1 - - id: 67 - type: string - optional: true - sensitive: true - name: offline_pwd_details -secondary_entities: +entities: + - entity: lock + dps: + - id: 1 + type: string + name: create_unlock_method + optional: true + sensitive: true + - id: 2 + type: string + name: delete_unlock_method + optional: true + - id: 3 + type: string + name: modify_unlock_method + optional: true + sensitive: true + - id: 6 + type: string + optional: true + name: bluetooth_unlock + - id: 12 + type: integer + name: unlock_fingerprint + optional: true + persist: false + - id: 13 + name: unlock_password + type: integer + optional: true + persist: false + - id: 14 + name: unlock_dynamic_pwd + type: integer + optional: true + persist: false + - id: 19 + name: unlock_ble + type: integer + optional: true + persist: false + - id: 47 # Lock motor state + name: lock + type: boolean + readonly: true + optional: true + mapping: + - dps_val: true # Unlocked + value: false + - dps_val: false # Locked + value: true + - id: 51 + type: string + optional: true + sensitive: true + name: temp_pwd_create + - id: 52 + type: string + optional: true + name: temp_pwd_delete + - id: 53 + type: string + optional: true + sensitive: true + name: temp_pwd_modify + - id: 54 + type: string + optional: true + sensitive: true + name: sync_method + - id: 55 + type: integer + name: unlock_temp_pwd + optional: true + persist: false + - id: 60 + type: string + optional: true + sensitive: true + name: remote_no_pd_setkey + - id: 61 + type: string + optional: true + sensitive: true + name: remote_no_dp_key + - id: 62 + type: integer + name: unlock_app + optional: true + persist: false + - id: 63 + name: unlock_voice + type: integer + optional: true + persist: false + - id: 64 + type: string + optional: true + name: pwd_offline_time + - id: 65 + type: string + optional: true + name: offline_pwd_cleared + - id: 66 + type: string + optional: true + name: offline_pwd_clear_all + - id: 67 + type: string + optional: true + persist: false + name: unlock_offline_pwd + mapping: + - dps_val: null + value: null + - value: 1 + - id: 67 + type: string + optional: true + sensitive: true + name: offline_pwd_details - entity: sensor class: battery dps: diff --git a/custom_components/tuya_local/devices/airquality6in1.yaml b/custom_components/tuya_local/devices/airquality6in1.yaml index 5a58146bf3..447f9b4079 100644 --- a/custom_components/tuya_local/devices/airquality6in1.yaml +++ b/custom_components/tuya_local/devices/airquality6in1.yaml @@ -2,16 +2,15 @@ name: Air quality monitor products: - id: ugjbnqj2mffaexp5 name: Air Housekeeper 6-in-1 -primary_entity: - entity: sensor - class: pm25 - dps: - - id: 2 - type: integer - name: sensor - unit: µg/m³ - class: measurement -secondary_entities: +entities: + - entity: sensor + class: pm25 + dps: + - id: 2 + type: integer + name: sensor + unit: µg/m³ + class: measurement - entity: sensor class: temperature dps: diff --git a/custom_components/tuya_local/devices/airrobo_p20_vacuum.yaml b/custom_components/tuya_local/devices/airrobo_p20_vacuum.yaml index 1af92737c8..7793f66a42 100644 --- a/custom_components/tuya_local/devices/airrobo_p20_vacuum.yaml +++ b/custom_components/tuya_local/devices/airrobo_p20_vacuum.yaml @@ -2,89 +2,88 @@ name: Robot vacuum # products: # - id: UNKNOWN # name: Airrobo P20 -primary_entity: - entity: vacuum - dps: - - id: 2 - type: boolean - name: activate - optional: true - - id: 3 - type: string - name: command - mapping: - - dps_val: standby - value: standby - - dps_val: smart - value: smart - - dps_val: wall_follow - value: wall_follow - - dps_val: spiral - value: clean_spot - - dps_val: partial_bow - value: partial_bow - - dps_val: chargego - value: return_to_base - - id: 4 - type: string - name: direction_control - mapping: - - dps_val: forward - value: forward - - dps_val: turn_left - value: left - - dps_val: turn_right - value: right - - dps_val: stop - value: stop - - id: 5 - type: string - name: status - mapping: - - dps_val: standby - value: idle - - dps_val: smart_clean - value: cleaning - - dps_val: wall_clean - value: cleaning - - dps_val: spot_clean - value: cleaning - - dps_val: mop_clean - value: cleaning - - dps_val: goto_charge - value: returning - - dps_val: charging - value: charging - - dps_val: charge_done - value: docked - - dps_val: paused - value: paused - - dps_val: cleaning - value: cleaning - - dps_val: sleep - value: idle - - id: 13 - type: boolean - name: locate - optional: true - - id: 14 - type: string - name: fan_speed - mapping: - - dps_val: gentle - value: Silent - - dps_val: normal - value: Normal - - dps_val: strong - value: Strong - - id: 18 - type: bitfield - name: error - optional: true - - id: 104 - type: string - name: serial_number -secondary_entities: +entities: + - entity: vacuum + dps: + - id: 2 + type: boolean + name: activate + optional: true + - id: 3 + type: string + name: command + mapping: + - dps_val: standby + value: standby + - dps_val: smart + value: smart + - dps_val: wall_follow + value: wall_follow + - dps_val: spiral + value: clean_spot + - dps_val: partial_bow + value: partial_bow + - dps_val: chargego + value: return_to_base + - id: 4 + type: string + name: direction_control + mapping: + - dps_val: forward + value: forward + - dps_val: turn_left + value: left + - dps_val: turn_right + value: right + - dps_val: stop + value: stop + - id: 5 + type: string + name: status + mapping: + - dps_val: standby + value: idle + - dps_val: smart_clean + value: cleaning + - dps_val: wall_clean + value: cleaning + - dps_val: spot_clean + value: cleaning + - dps_val: mop_clean + value: cleaning + - dps_val: goto_charge + value: returning + - dps_val: charging + value: charging + - dps_val: charge_done + value: docked + - dps_val: paused + value: paused + - dps_val: cleaning + value: cleaning + - dps_val: sleep + value: idle + - id: 13 + type: boolean + name: locate + optional: true + - id: 14 + type: string + name: fan_speed + mapping: + - dps_val: gentle + value: Silent + - dps_val: normal + value: Normal + - dps_val: strong + value: Strong + - id: 18 + type: bitfield + name: error + optional: true + - id: 104 + type: string + name: serial_number - entity: sensor class: battery dps: diff --git a/custom_components/tuya_local/devices/akai_dryer.yaml b/custom_components/tuya_local/devices/akai_dryer.yaml index 13875a6e90..aa3ee89b51 100644 --- a/custom_components/tuya_local/devices/akai_dryer.yaml +++ b/custom_components/tuya_local/devices/akai_dryer.yaml @@ -2,30 +2,29 @@ name: Dryer products: - id: do3cbzmmdqfdpqxw name: Akai heat pump dryer -primary_entity: - entity: sensor - class: enum - icon: "mdi:tumble-dryer" - dps: - - id: 107 - name: sensor - type: string - mapping: - - dps_val: "off" - value: "off" - - dps_val: "set" - value: "set" - - dps_val: "run" - value: "run" - - dps_val: "pause" - value: "pause" - - dps_val: "delay" - value: "delay" - - dps_val: "end" - value: "end" - - dps_val: "err" - value: "error" -secondary_entities: +entities: + - entity: sensor + class: enum + icon: "mdi:tumble-dryer" + dps: + - id: 107 + name: sensor + type: string + mapping: + - dps_val: "off" + value: "off" + - dps_val: "set" + value: "set" + - dps_val: "run" + value: "run" + - dps_val: "pause" + value: "pause" + - dps_val: "delay" + value: "delay" + - dps_val: "end" + value: "end" + - dps_val: "err" + value: "error" - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/aktobis_wdh_310ek_dehumidifier.yaml b/custom_components/tuya_local/devices/aktobis_wdh_310ek_dehumidifier.yaml index 27582e5d2e..49e25d5de5 100644 --- a/custom_components/tuya_local/devices/aktobis_wdh_310ek_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/aktobis_wdh_310ek_dehumidifier.yaml @@ -2,28 +2,27 @@ name: Dehumidifier products: - id: ifasqsxbghku3bwk name: Aktobis WDH-310EKW dehumidifier -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - name: switch - type: boolean - mapping: - - dps_val: false - - dps_val: true - - id: 3 - name: humidity - type: integer - range: - min: 30 - max: 70 - mapping: - - step: 5 - - id: 6 - name: current_humidity - type: integer -secondary_entities: +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + name: switch + type: boolean + mapping: + - dps_val: false + - dps_val: true + - id: 3 + name: humidity + type: integer + range: + min: 30 + max: 70 + mapping: + - step: 5 + - id: 6 + name: current_humidity + type: integer - entity: fan dps: - id: 1 diff --git a/custom_components/tuya_local/devices/alecoair_d12_dehumidifier.yaml b/custom_components/tuya_local/devices/alecoair_d12_dehumidifier.yaml index 11e6ecf38c..7941e508a8 100644 --- a/custom_components/tuya_local/devices/alecoair_d12_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/alecoair_d12_dehumidifier.yaml @@ -2,36 +2,34 @@ name: AlecoAir D12 ECO dehumidifier products: - id: gcthce4ejb8nzgow name: D12 ECO 2.0 -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - name: humidity - type: integer - range: - min: 20 - max: 95 - mapping: - - step: 5 - - id: 5 - name: mode - type: string - mapping: - - dps_val: Continuous - value: boost - - dps_val: Sunny_Day - value: eco - - dps_val: Rain_Day - value: normal - - - id: 6 - name: current_humidity - type: integer -secondary_entities: +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + name: humidity + type: integer + range: + min: 20 + max: 95 + mapping: + - step: 5 + - id: 5 + name: mode + type: string + mapping: + - dps_val: Continuous + value: boost + - dps_val: Sunny_Day + value: eco + - dps_val: Rain_Day + value: normal + - id: 6 + name: current_humidity + type: integer - entity: fan dps: - id: 1 diff --git a/custom_components/tuya_local/devices/alecoair_d16_dehumidifier.yaml b/custom_components/tuya_local/devices/alecoair_d16_dehumidifier.yaml index dc98e39ada..ef1b31acce 100644 --- a/custom_components/tuya_local/devices/alecoair_d16_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/alecoair_d16_dehumidifier.yaml @@ -3,37 +3,36 @@ legacy_type: alecoair_d14_dehumidifier products: - id: pzq25786mlkxmtbb name: AlecoAir D16 Purify -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - name: humidity - type: integer - range: - min: 25 - max: 80 - mapping: - - step: 5 - - id: 4 - name: mode - type: string - mapping: - - dps_val: manual - value: normal - - dps_val: laundry - value: laundry - - dps_val: purify - value: purify - - dps_val: sleep - value: sleep - - id: 16 - name: current_humidity - type: integer -secondary_entities: +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + name: humidity + type: integer + range: + min: 25 + max: 80 + mapping: + - step: 5 + - id: 4 + name: mode + type: string + mapping: + - dps_val: manual + value: normal + - dps_val: laundry + value: laundry + - dps_val: purify + value: purify + - dps_val: sleep + value: sleep + - id: 16 + name: current_humidity + type: integer - entity: fan dps: - id: 1 diff --git a/custom_components/tuya_local/devices/amico_smart_ceiling_fan.yaml b/custom_components/tuya_local/devices/amico_smart_ceiling_fan.yaml index f104ca1efc..57f2c8d1ef 100644 --- a/custom_components/tuya_local/devices/amico_smart_ceiling_fan.yaml +++ b/custom_components/tuya_local/devices/amico_smart_ceiling_fan.yaml @@ -2,36 +2,35 @@ name: Ceiling fan products: - id: eb208a14315d7cb2bd6txt name: Amico 52 inch ceiling fan -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 60 - type: boolean - name: switch - - id: 61 - type: string - name: preset_mode - mapping: - - dps_val: fresh - value: fresh - - dps_val: nature - value: nature - - id: 62 - type: integer - name: speed - range: - min: 1 - max: 6 - - id: 63 - type: string - name: direction - mapping: - - dps_val: forward - value: forward - - dps_val: reverse - value: reverse -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 60 + type: boolean + name: switch + - id: 61 + type: string + name: preset_mode + mapping: + - dps_val: fresh + value: fresh + - dps_val: nature + value: nature + - id: 62 + type: integer + name: speed + range: + min: 1 + max: 6 + - id: 63 + type: string + name: direction + mapping: + - dps_val: forward + value: forward + - dps_val: reverse + value: reverse - entity: light dps: - id: 20 diff --git a/custom_components/tuya_local/devices/andersson_gsh_heater.yaml b/custom_components/tuya_local/devices/andersson_gsh_heater.yaml index 3f364fa73a..a03c1bfc4d 100644 --- a/custom_components/tuya_local/devices/andersson_gsh_heater.yaml +++ b/custom_components/tuya_local/devices/andersson_gsh_heater.yaml @@ -5,39 +5,38 @@ products: # name: Andersson GSH - id: qAmsenZuNF74vRvj name: Devola Intelligent -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: true - value: "heat" - - dps_val: false - value: "off" - - id: 2 - name: temperature - type: integer - unit: C - range: - min: 5 - max: 35 - - id: 3 - name: current_temperature - type: integer - - id: 4 - name: preset_mode - type: string - mapping: - - dps_val: low - value: eco - - dps_val: high - value: boost - - dps_val: af - value: away -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: true + value: "heat" + - dps_val: false + value: "off" + - id: 2 + name: temperature + type: integer + unit: C + range: + min: 5 + max: 35 + - id: 3 + name: current_temperature + type: integer + - id: 4 + name: preset_mode + type: string + mapping: + - dps_val: low + value: eco + - dps_val: high + value: boost + - dps_val: af + value: away - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/anko_fan.yaml b/custom_components/tuya_local/devices/anko_fan.yaml index 01d5f0f534..87bd64fcd0 100644 --- a/custom_components/tuya_local/devices/anko_fan.yaml +++ b/custom_components/tuya_local/devices/anko_fan.yaml @@ -1,50 +1,49 @@ name: Anko fan -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - type: string - name: preset_mode - mapping: - - dps_val: normal - value: normal - - dps_val: nature - value: nature - - dps_val: sleep - value: sleep - - id: 3 - type: string - name: speed - mapping: - - dps_val: "1" - value: 13 - - dps_val: "2" - value: 25 - - dps_val: "3" - value: 37 - - dps_val: "4" - value: 50 - - dps_val: "5" - value: 63 - - dps_val: "6" - value: 75 - - dps_val: "7" - value: 87 - - dps_val: "8" - value: 100 - - id: 4 - type: string - name: oscillate - mapping: - - dps_val: "auto" - value: true - - dps_val: "off" - value: false -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + type: string + name: preset_mode + mapping: + - dps_val: normal + value: normal + - dps_val: nature + value: nature + - dps_val: sleep + value: sleep + - id: 3 + type: string + name: speed + mapping: + - dps_val: "1" + value: 13 + - dps_val: "2" + value: 25 + - dps_val: "3" + value: 37 + - dps_val: "4" + value: 50 + - dps_val: "5" + value: 63 + - dps_val: "6" + value: 75 + - dps_val: "7" + value: 87 + - dps_val: "8" + value: 100 + - id: 4 + type: string + name: oscillate + mapping: + - dps_val: "auto" + value: true + - dps_val: "off" + value: false - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/anko_kettle.yaml b/custom_components/tuya_local/devices/anko_kettle.yaml index 290ff2e499..8614d55b40 100644 --- a/custom_components/tuya_local/devices/anko_kettle.yaml +++ b/custom_components/tuya_local/devices/anko_kettle.yaml @@ -2,44 +2,43 @@ name: Anko kettle products: - id: dft4ebatvon3ha5s name: Anko LD-K3068 -primary_entity: - entity: water_heater - icon: "mdi:kettle" - dps: - - id: 1 - type: boolean - name: operation_mode - mapping: - - dps_val: false - value: "Off" - - dps_val: true - constraint: work_type - conditions: - - dps_val: boiling_quick - value: Quick boil - - dps_val: setting_quick - value: Quick heat - - dps_val: temp_boiling - value: Boil - - dps_val: temp_setting - value: Heat - - id: 2 - type: integer - name: current_temperature - unit: C - - id: 4 - type: integer - name: temperature - range: - min: 85 - max: 90 - mapping: - - step: 5 - - id: 16 - type: string - name: work_type - hidden: true -secondary_entities: +entities: + - entity: water_heater + icon: "mdi:kettle" + dps: + - id: 1 + type: boolean + name: operation_mode + mapping: + - dps_val: false + value: "Off" + - dps_val: true + constraint: work_type + conditions: + - dps_val: boiling_quick + value: Quick boil + - dps_val: setting_quick + value: Quick heat + - dps_val: temp_boiling + value: Boil + - dps_val: temp_setting + value: Heat + - id: 2 + type: integer + name: current_temperature + unit: C + - id: 4 + type: integer + name: temperature + range: + min: 85 + max: 90 + mapping: + - step: 5 + - id: 16 + type: string + name: work_type + hidden: true - entity: switch name: Keep warm icon: "mdi:kettle-outline" diff --git a/custom_components/tuya_local/devices/aquaforte_vsp_poolpump.yaml b/custom_components/tuya_local/devices/aquaforte_vsp_poolpump.yaml index e4a4877bba..e8f0b43388 100644 --- a/custom_components/tuya_local/devices/aquaforte_vsp_poolpump.yaml +++ b/custom_components/tuya_local/devices/aquaforte_vsp_poolpump.yaml @@ -2,14 +2,13 @@ name: Pool pump products: - id: i0elff0w1pehctax name: AquaForte Inverter VSP -primary_entity: - entity: valve - class: water - dps: - - id: 105 - type: boolean - name: valve -secondary_entities: +entities: + - entity: valve + class: water + dps: + - id: 105 + type: boolean + name: valve - entity: select name: Pump mode icon: "mdi:pump" diff --git a/custom_components/tuya_local/devices/aquatech_x6_water_heater.yaml b/custom_components/tuya_local/devices/aquatech_x6_water_heater.yaml index 0398798b7b..ca8e804d49 100644 --- a/custom_components/tuya_local/devices/aquatech_x6_water_heater.yaml +++ b/custom_components/tuya_local/devices/aquatech_x6_water_heater.yaml @@ -1,45 +1,44 @@ name: Aquatech RAPID/X6 -primary_entity: - entity: water_heater - dps: - - id: 1 - type: boolean - name: operation_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: work_mode - conditions: - - dps_val: ECO - value: eco - - dps_val: Stand - value: heat_pump - - dps_val: HYB - value: high_demand - - dps_val: HYB1 - value: performance - - dps_val: ELE - value: electric - - id: 2 - type: string - name: work_mode - hidden: true - - id: 4 - type: integer - name: temperature - unit: C - range: - min: 15 - max: 75 - readonly: true - - id: 7 - type: boolean - name: defrosting - - id: 16 - type: integer - name: current_temperature -secondary_entities: +entities: + - entity: water_heater + dps: + - id: 1 + type: boolean + name: operation_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: work_mode + conditions: + - dps_val: ECO + value: eco + - dps_val: Stand + value: heat_pump + - dps_val: HYB + value: high_demand + - dps_val: HYB1 + value: performance + - dps_val: ELE + value: electric + - id: 2 + type: string + name: work_mode + hidden: true + - id: 4 + type: integer + name: temperature + unit: C + range: + min: 15 + max: 75 + readonly: true + - id: 7 + type: boolean + name: defrosting + - id: 16 + type: integer + name: current_temperature - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/ard100_valve.yaml b/custom_components/tuya_local/devices/ard100_valve.yaml index 5c14ee94db..ab5c77bcc1 100644 --- a/custom_components/tuya_local/devices/ard100_valve.yaml +++ b/custom_components/tuya_local/devices/ard100_valve.yaml @@ -2,13 +2,12 @@ name: Valve controller products: - id: nguto5atyd2xxnap name: ARD-100+ smart valve controller -primary_entity: - entity: valve - dps: - - id: 1 - type: boolean - name: valve -secondary_entities: +entities: + - entity: valve + dps: + - id: 1 + type: boolean + name: valve - entity: switch icon: "mdi:valve" deprecated: valve diff --git a/custom_components/tuya_local/devices/arlec_12speed_tower_fan.yaml b/custom_components/tuya_local/devices/arlec_12speed_tower_fan.yaml index ab38737cc8..b756dfbc69 100644 --- a/custom_components/tuya_local/devices/arlec_12speed_tower_fan.yaml +++ b/custom_components/tuya_local/devices/arlec_12speed_tower_fan.yaml @@ -1,55 +1,54 @@ name: Arlec tower fan products: - id: rklgm99ldz4unh5s -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - name: preset_mode - type: string - mapping: - - dps_val: normal - value: normal - - dps_val: nature - value: nature - - dps_val: sleep - value: sleep - - id: 3 - name: speed - type: string - mapping: - - dps_val: "1" - value: 8 - - dps_val: "2" - value: 17 - - dps_val: "3" - value: 25 - - dps_val: "4" - value: 33 - - dps_val: "5" - value: 42 - - dps_val: "6" - value: 50 - - dps_val: "7" - value: 58 - - dps_val: "8" - value: 67 - - dps_val: "9" - value: 75 - - dps_val: "10" - value: 83 - - dps_val: "11" - value: 92 - - dps_val: "12" - value: 100 - - id: 102 - name: oscillate - type: boolean -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + name: preset_mode + type: string + mapping: + - dps_val: normal + value: normal + - dps_val: nature + value: nature + - dps_val: sleep + value: sleep + - id: 3 + name: speed + type: string + mapping: + - dps_val: "1" + value: 8 + - dps_val: "2" + value: 17 + - dps_val: "3" + value: 25 + - dps_val: "4" + value: 33 + - dps_val: "5" + value: 42 + - dps_val: "6" + value: 50 + - dps_val: "7" + value: 58 + - dps_val: "8" + value: 67 + - dps_val: "9" + value: 75 + - dps_val: "10" + value: 83 + - dps_val: "11" + value: 92 + - dps_val: "12" + value: 100 + - id: 102 + name: oscillate + type: boolean - entity: select translation_key: timer category: config diff --git a/custom_components/tuya_local/devices/arlec_19speed_fan.yaml b/custom_components/tuya_local/devices/arlec_19speed_fan.yaml index 18b43525e0..c4a4fb7061 100644 --- a/custom_components/tuya_local/devices/arlec_19speed_fan.yaml +++ b/custom_components/tuya_local/devices/arlec_19speed_fan.yaml @@ -2,33 +2,32 @@ name: Arlec industrial fan products: - id: 0waab4clioc3qaks name: Arlec 19-speed industrial wall fan -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - name: preset_mode - type: string - mapping: - - dps_val: normal - value: normal - - dps_val: sleep - value: sleep - - dps_val: natural - value: nature - - id: 3 - name: speed - type: integer - range: - min: 1 - max: 19 - - id: 5 - name: oscillate - type: boolean -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + name: preset_mode + type: string + mapping: + - dps_val: normal + value: normal + - dps_val: sleep + value: sleep + - dps_val: natural + value: nature + - id: 3 + name: speed + type: integer + range: + min: 1 + max: 19 + - id: 5 + name: oscillate + type: boolean - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/arlec_6speed_fan.yaml b/custom_components/tuya_local/devices/arlec_6speed_fan.yaml index cba124ae26..b00105cbf5 100644 --- a/custom_components/tuya_local/devices/arlec_6speed_fan.yaml +++ b/custom_components/tuya_local/devices/arlec_6speed_fan.yaml @@ -2,54 +2,53 @@ name: Arlec floor fan products: - id: tsgf7ywzeit2d90b name: Arlec 45cm black floor fan -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - name: preset_mode - type: string - optional: true - mapping: - - dps_val: nature - value: nature - - dps_val: sleep - value: sleep - - dps_val: fresh - value: fresh - - dps_val: smart - value: smart - - dps_val: strong - value: strong - - dps_val: closed - value: "off" - - dps_val: ordinary - value: normal - - dps_val: null - value: "off" - - id: 3 - name: speed - type: string - mapping: - - dps_val: "1" - value: 17 - - dps_val: "2" - value: 33 - - dps_val: "3" - value: 50 - - dps_val: "4" - value: 67 - - dps_val: "5" - value: 83 - - dps_val: "6" - value: 100 - - id: 101 - type: boolean - name: oscillate -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + name: preset_mode + type: string + optional: true + mapping: + - dps_val: nature + value: nature + - dps_val: sleep + value: sleep + - dps_val: fresh + value: fresh + - dps_val: smart + value: smart + - dps_val: strong + value: strong + - dps_val: closed + value: "off" + - dps_val: ordinary + value: normal + - dps_val: null + value: "off" + - id: 3 + name: speed + type: string + mapping: + - dps_val: "1" + value: 17 + - dps_val: "2" + value: 33 + - dps_val: "3" + value: 50 + - dps_val: "4" + value: 67 + - dps_val: "5" + value: 83 + - dps_val: "6" + value: 100 + - id: 101 + type: boolean + name: oscillate - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/arlec_apr005ha_air_purifier.yaml b/custom_components/tuya_local/devices/arlec_apr005ha_air_purifier.yaml index 75d9b8e052..4f09667f57 100644 --- a/custom_components/tuya_local/devices/arlec_apr005ha_air_purifier.yaml +++ b/custom_components/tuya_local/devices/arlec_apr005ha_air_purifier.yaml @@ -2,30 +2,29 @@ name: Air Purifier products: - id: dfgsetrdnabqeimr name: Arlec Air Purifier APR005HA -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 1 - name: switch - type: boolean - - id: 3 - name: preset_mode - type: string - mapping: - - dps_val: Auto - value: smart - - dps_val: Manual - value: normal - - dps_val: Sleep - value: sleep - - id: 4 - type: integer - name: speed - range: - min: 1 - max: 3 -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 1 + name: switch + type: boolean + - id: 3 + name: preset_mode + type: string + mapping: + - dps_val: Auto + value: smart + - dps_val: Manual + value: normal + - dps_val: Sleep + value: sleep + - id: 4 + type: integer + name: speed + range: + min: 1 + max: 3 - entity: switch translation_key: ionizer category: config diff --git a/custom_components/tuya_local/devices/arlec_ceiling_fan_remote.yaml b/custom_components/tuya_local/devices/arlec_ceiling_fan_remote.yaml index 69af3bd713..76351e8b5c 100644 --- a/custom_components/tuya_local/devices/arlec_ceiling_fan_remote.yaml +++ b/custom_components/tuya_local/devices/arlec_ceiling_fan_remote.yaml @@ -5,19 +5,18 @@ products: name: Sulion Cadillac Fan Controller - id: b8bofb3ruee9zwxc name: Arlec AC Fan Controller CFR225HA -primary_entity: - entity: fan - dps: - - id: 1 - type: boolean - name: switch - - id: 3 - type: integer - name: speed - range: - min: 1 - max: 3 -secondary_entities: +entities: + - entity: fan + dps: + - id: 1 + type: boolean + name: switch + - id: 3 + type: integer + name: speed + range: + min: 1 + max: 3 - entity: light dps: - id: 15 diff --git a/custom_components/tuya_local/devices/arlec_fan.yaml b/custom_components/tuya_local/devices/arlec_fan.yaml index 9c1aff5fae..6c8ffbd0a4 100644 --- a/custom_components/tuya_local/devices/arlec_fan.yaml +++ b/custom_components/tuya_local/devices/arlec_fan.yaml @@ -1,31 +1,30 @@ name: ARLEC Grid Connect Fan -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 1 - name: switch - type: boolean - - id: 3 - name: speed - type: integer - range: - min: 1 - max: 6 - - id: 4 - name: direction - type: string - - id: 102 - name: preset_mode - type: string - mapping: - - dps_val: normal - value: normal - - dps_val: sleep - value: sleep - - dps_val: breeze - value: nature -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 1 + name: switch + type: boolean + - id: 3 + name: speed + type: integer + range: + min: 1 + max: 6 + - id: 4 + name: direction + type: string + - id: 102 + name: preset_mode + type: string + mapping: + - dps_val: normal + value: normal + - dps_val: sleep + value: sleep + - dps_val: breeze + value: nature - entity: select translation_key: timer category: config diff --git a/custom_components/tuya_local/devices/arlec_fan_light.yaml b/custom_components/tuya_local/devices/arlec_fan_light.yaml index 0712fc4bae..2200fed46b 100644 --- a/custom_components/tuya_local/devices/arlec_fan_light.yaml +++ b/custom_components/tuya_local/devices/arlec_fan_light.yaml @@ -1,29 +1,28 @@ name: ARLEC fan with light -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 1 - name: switch - type: boolean - - id: 3 - name: speed - type: integer - range: - min: 1 - max: 6 - - id: 4 - name: direction - type: string - - id: 102 - name: preset_mode - type: string - mapping: - - dps_val: nature - value: nature - - dps_val: sleep - value: sleep -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 1 + name: switch + type: boolean + - id: 3 + name: speed + type: integer + range: + min: 1 + max: 6 + - id: 4 + name: direction + type: string + - id: 102 + name: preset_mode + type: string + mapping: + - dps_val: nature + value: nature + - dps_val: sleep + value: sleep - entity: light dps: - id: 9 diff --git a/custom_components/tuya_local/devices/arlec_pa1123bkha_portable_air_conditioner.yaml b/custom_components/tuya_local/devices/arlec_pa1123bkha_portable_air_conditioner.yaml index 23f60cf384..e7044777ec 100644 --- a/custom_components/tuya_local/devices/arlec_pa1123bkha_portable_air_conditioner.yaml +++ b/custom_components/tuya_local/devices/arlec_pa1123bkha_portable_air_conditioner.yaml @@ -2,99 +2,98 @@ name: Portable air conditioner products: - id: fxy4qkdh62geizbw name: Arlec PA1123BKHA portable air conditioner -primary_entity: - entity: climate - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: "1" - value: cool - - dps_val: "2" - value: heat - - dps_val: "3" - value: dry - - dps_val: "4" - value: fan_only - - id: 2 - type: integer - name: temperature - range: - min: 16 - max: 31 - mapping: - - constraint: temperature_unit - conditions: - - dps_val: true - value_redirect: temp_set_f - range: - min: 62 - max: 90 - - id: 3 - type: integer - name: current_temperature - mapping: - - constraint: temperature_unit - conditions: - - dps_val: true - value_redirect: temp_current_f - - id: 101 - name: mode - type: string - hidden: true - - id: 103 - name: preset_mode - type: boolean - mapping: - - dps_val: false - value: none - - dps_val: true - value: sleep - - id: 104 - type: string - name: fan_mode - mapping: - - dps_val: "1" - value: high - - dps_val: "2" - value: medium - - dps_val: "3" - value: low - - id: 106 - name: swing_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: vertical - - id: 109 - type: boolean - name: temperature_unit - mapping: - - dps_val: true - value: F - - value: C - - id: 110 - type: integer - name: temp_set_f - range: - min: 62 - max: 90 - hidden: true - optional: true - - id: 111 - type: integer - name: temp_current_f - hidden: true - optional: true -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: "1" + value: cool + - dps_val: "2" + value: heat + - dps_val: "3" + value: dry + - dps_val: "4" + value: fan_only + - id: 2 + type: integer + name: temperature + range: + min: 16 + max: 31 + mapping: + - constraint: temperature_unit + conditions: + - dps_val: true + value_redirect: temp_set_f + range: + min: 62 + max: 90 + - id: 3 + type: integer + name: current_temperature + mapping: + - constraint: temperature_unit + conditions: + - dps_val: true + value_redirect: temp_current_f + - id: 101 + name: mode + type: string + hidden: true + - id: 103 + name: preset_mode + type: boolean + mapping: + - dps_val: false + value: none + - dps_val: true + value: sleep + - id: 104 + type: string + name: fan_mode + mapping: + - dps_val: "1" + value: high + - dps_val: "2" + value: medium + - dps_val: "3" + value: low + - id: 106 + name: swing_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: vertical + - id: 109 + type: boolean + name: temperature_unit + mapping: + - dps_val: true + value: F + - value: C + - id: 110 + type: integer + name: temp_set_f + range: + min: 62 + max: 90 + hidden: true + optional: true + - id: 111 + type: integer + name: temp_current_f + hidden: true + optional: true - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/arlec_panel_heater.yaml b/custom_components/tuya_local/devices/arlec_panel_heater.yaml index bebc620d53..6d786db531 100644 --- a/custom_components/tuya_local/devices/arlec_panel_heater.yaml +++ b/custom_components/tuya_local/devices/arlec_panel_heater.yaml @@ -2,39 +2,38 @@ name: Arlec 2400W Panel Heater products: - id: 70kki9an9nr0oqbj name: Arlec Panel Heater (2400W) -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: true - value: "heat" - - dps_val: false - value: "off" - - id: 2 - name: temperature - type: integer - unit: C - range: - min: 5 - max: 35 - - id: 3 - name: current_temperature - type: integer - - id: 4 - name: preset_mode - type: string - mapping: - - dps_val: low - value: eco - - dps_val: high - value: boost - - dps_val: af - value: away -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: true + value: "heat" + - dps_val: false + value: "off" + - id: 2 + name: temperature + type: integer + unit: C + range: + min: 5 + max: 35 + - id: 3 + name: current_temperature + type: integer + - id: 4 + name: preset_mode + type: string + mapping: + - dps_val: low + value: eco + - dps_val: high + value: boost + - dps_val: af + value: away - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/arlec_panel_heater_v2.yaml b/custom_components/tuya_local/devices/arlec_panel_heater_v2.yaml index 304b29b0ed..955a4c7165 100644 --- a/custom_components/tuya_local/devices/arlec_panel_heater_v2.yaml +++ b/custom_components/tuya_local/devices/arlec_panel_heater_v2.yaml @@ -2,42 +2,41 @@ name: Arlec 2200W Panel Heater products: - id: zf4japp0z9hihzsz name: Arlec Panel Heater PEH225HA -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: true - value: "heat" - - dps_val: false - value: "off" - - id: 2 - name: temperature - type: integer - unit: C - range: - min: 5 - max: 50 - - id: 3 - name: current_temperature - type: integer - - id: 4 - name: preset_mode - type: string - optional: true - mapping: - - dps_val: ECO - value: eco - - dps_val: Comfort - value: comfort - - dps_val: Antifrost - value: away - - dps_val: null - value: unknown -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: true + value: "heat" + - dps_val: false + value: "off" + - id: 2 + name: temperature + type: integer + unit: C + range: + min: 5 + max: 50 + - id: 3 + name: current_temperature + type: integer + - id: 4 + name: preset_mode + type: string + optional: true + mapping: + - dps_val: ECO + value: eco + - dps_val: Comfort + value: comfort + - dps_val: Antifrost + value: away + - dps_val: null + value: unknown - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/arlec_pb88uha_s2_switch.yaml b/custom_components/tuya_local/devices/arlec_pb88uha_s2_switch.yaml index f9ac935db1..a2147b6146 100644 --- a/custom_components/tuya_local/devices/arlec_pb88uha_s2_switch.yaml +++ b/custom_components/tuya_local/devices/arlec_pb88uha_s2_switch.yaml @@ -2,17 +2,16 @@ name: Quad powerboard products: - id: vcbjjhz6pwwwkyek name: Arlec PB88UHA Series 2 -primary_entity: - entity: switch - translation_key: outlet_x - translation_placeholders: - x: "1" - class: outlet - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + translation_key: outlet_x + translation_placeholders: + x: "1" + class: outlet + dps: + - id: 1 + type: boolean + name: switch - entity: switch translation_key: outlet_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/arlec_rf_transmitter.yaml b/custom_components/tuya_local/devices/arlec_rf_transmitter.yaml index 4ff29cd838..3fb79eb6f9 100644 --- a/custom_components/tuya_local/devices/arlec_rf_transmitter.yaml +++ b/custom_components/tuya_local/devices/arlec_rf_transmitter.yaml @@ -2,58 +2,57 @@ name: RF transmitter products: - id: lclekupkvteemsym name: Arlec HUBRF06HA 8x8 function 433MHz -primary_entity: - entity: select - name: Remote 1 - dps: - - id: 101 - type: string - name: option - mapping: - - dps_val: Button1 - value: Button 1 - - dps_val: Button2 - value: Button 2 - - dps_val: Button3 - value: Button 3 - - dps_val: Button4 - value: Button 4 - - dps_val: Button5 - value: Button 5 - - dps_val: Button6 - value: Button 6 - - dps_val: Button7 - value: Button 7 - - dps_val: Button8 - value: Button 8 - # Apart from 101 and 113, all dps are write only. - # 113 is read only, but usually does not appear, 101 is read/write. - # The following are some write only dps that are not documented - # well enough to usefully expose them. - - id: 109 - type: string - optional: true - name: button_operations - # Documented as raw format: 0x01 learn, 0x02 test 0x03 delete 0x04 save - # The following are undocumented, but names suggest they are for - # relabelling remotes and buttons. But since they are write only - # it is not clear what point there is to that for remote names. - # For buttons, they might change the return code though, which will - # mess up the select entities, because we don't know what to send if - # they are renamed. - - id: 110 - type: string - optional: true - name: button_list - - id: 111 - type: string - optional: true - name: remote_list - - id: 112 - type: string - optional: true - name: remote_name_store -secondary_entities: +entities: + - entity: select + name: Remote 1 + dps: + - id: 101 + type: string + name: option + mapping: + - dps_val: Button1 + value: Button 1 + - dps_val: Button2 + value: Button 2 + - dps_val: Button3 + value: Button 3 + - dps_val: Button4 + value: Button 4 + - dps_val: Button5 + value: Button 5 + - dps_val: Button6 + value: Button 6 + - dps_val: Button7 + value: Button 7 + - dps_val: Button8 + value: Button 8 + # Apart from 101 and 113, all dps are write only. + # 113 is read only, but usually does not appear, 101 is read/write. + # The following are some write only dps that are not documented + # well enough to usefully expose them. + - id: 109 + type: string + optional: true + name: button_operations + # Documented as raw format: 0x01 learn, 0x02 test 0x03 delete 0x04 save + # The following are undocumented, but names suggest they are for + # relabelling remotes and buttons. But since they are write only + # it is not clear what point there is to that for remote names. + # For buttons, they might change the return code though, which will + # mess up the select entities, because we don't know what to send if + # they are renamed. + - id: 110 + type: string + optional: true + name: button_list + - id: 111 + type: string + optional: true + name: remote_list + - id: 112 + type: string + optional: true + name: remote_name_store - entity: select name: Remote 2 dps: diff --git a/custom_components/tuya_local/devices/arlec_rgb_ledstrip.yaml b/custom_components/tuya_local/devices/arlec_rgb_ledstrip.yaml index 475b53cc30..b0fe057b64 100644 --- a/custom_components/tuya_local/devices/arlec_rgb_ledstrip.yaml +++ b/custom_components/tuya_local/devices/arlec_rgb_ledstrip.yaml @@ -2,65 +2,64 @@ name: RGB light products: - id: jawcej1v name: Arlec ALD261HA USB strip light -primary_entity: - entity: light - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - type: string - name: color_mode - mapping: - - dps_val: white - value: white - - dps_val: colour - value: hs - - dps_val: scene - value: Scene - - dps_val: music - value: Music - - id: 5 - type: hex - name: rgbhsv - format: - - name: h - bytes: 2 - range: - min: 0 - max: 360 - - name: s - bytes: 2 - range: - min: 0 - max: 1000 - - name: v - bytes: 2 - range: - min: 0 - max: 1000 - - id: 5 - type: hex - name: brightness - range: - min: 0 - max: 1000 - mask: "00000000FFFF" - - id: 6 - type: hex - name: scene_data - - id: 8 - type: string - optional: true - name: music_data - - id: 9 - type: string - optional: true - name: control_data - - id: 42 - type: string - name: mic_music_data -secondary_entities: +entities: + - entity: light + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + type: string + name: color_mode + mapping: + - dps_val: white + value: white + - dps_val: colour + value: hs + - dps_val: scene + value: Scene + - dps_val: music + value: Music + - id: 5 + type: hex + name: rgbhsv + format: + - name: h + bytes: 2 + range: + min: 0 + max: 360 + - name: s + bytes: 2 + range: + min: 0 + max: 1000 + - name: v + bytes: 2 + range: + min: 0 + max: 1000 + - id: 5 + type: hex + name: brightness + range: + min: 0 + max: 1000 + mask: "00000000FFFF" + - id: 6 + type: hex + name: scene_data + - id: 8 + type: string + optional: true + name: music_data + - id: 9 + type: string + optional: true + name: control_data + - id: 42 + type: string + name: mic_music_data - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/arlec_smart_button.yaml b/custom_components/tuya_local/devices/arlec_smart_button.yaml index 25e945b7f4..87fcda141d 100644 --- a/custom_components/tuya_local/devices/arlec_smart_button.yaml +++ b/custom_components/tuya_local/devices/arlec_smart_button.yaml @@ -2,21 +2,20 @@ name: Smart Button products: - id: kpzc6pm8 name: Arlec SG022HA -primary_entity: - entity: event - class: button - dps: - - id: 1 - type: string - name: event - mapping: - - dps_val: single_click - value: single_click - - dps_val: long_press - value: long_press - - dps_val: double_click - value: double_click -secondary_entities: +entities: + - entity: event + class: button + dps: + - id: 1 + type: string + name: event + mapping: + - dps_val: single_click + value: single_click + - dps_val: long_press + value: long_press + - dps_val: double_click + value: double_click - entity: sensor class: battery category: diagnostic diff --git a/custom_components/tuya_local/devices/arlec_thermostat_smartplug.yaml b/custom_components/tuya_local/devices/arlec_thermostat_smartplug.yaml index 864518040f..1d14781ea3 100644 --- a/custom_components/tuya_local/devices/arlec_thermostat_smartplug.yaml +++ b/custom_components/tuya_local/devices/arlec_thermostat_smartplug.yaml @@ -2,98 +2,97 @@ name: Arlec thermostat smartplug products: - id: 1z2w76xtiawhxleg name: Arlec PCTH01HA -primary_entity: - entity: climate - dps: - - id: 9 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: work_mode - conditions: - - dps_val: "hot" - value: "heat" - - dps_val: "dehumidify" - value: "dry" - - dps_val: "colding" - value: "cool" - - dps_val: "wet" - # There is no humidify/wet mode in HA climate platform - value: "fan_only" - - id: 7 - type: string - name: cycle_time - optional: true - - id: 8 - type: string - name: work_mode - hidden: true - - id: 19 - type: bitfield - name: factory_test - optional: true - - id: 20 - type: string - name: temperature_unit - mapping: - - dps_val: c - value: C - - dps_val: f - value: F - - id: 21 - name: temp_set_f - type: integer - hidden: true - mapping: - - scale: 10 - step: 5 - range: - min: -40 - max: 2210 - - id: 22 - name: temperature - type: integer - range: - min: -200 - max: 1050 - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: temp_set_f - range: - min: -40 - max: 2210 - scale: 10 - step: 5 - - id: 27 - type: integer - name: current_temperature - mapping: - - scale: 10 - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: cur_temp_f - - id: 28 - type: integer - name: cur_temp_f - hidden: true - mapping: - - scale: 10 - - id: 41 - type: integer - name: humidity - range: - min: 1 - max: 99 - - id: 46 - type: integer - name: current_humidity -secondary_entities: +entities: + - entity: climate + dps: + - id: 9 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: work_mode + conditions: + - dps_val: "hot" + value: "heat" + - dps_val: "dehumidify" + value: "dry" + - dps_val: "colding" + value: "cool" + - dps_val: "wet" + # There is no humidify/wet mode in HA climate platform + value: "fan_only" + - id: 7 + type: string + name: cycle_time + optional: true + - id: 8 + type: string + name: work_mode + hidden: true + - id: 19 + type: bitfield + name: factory_test + optional: true + - id: 20 + type: string + name: temperature_unit + mapping: + - dps_val: c + value: C + - dps_val: f + value: F + - id: 21 + name: temp_set_f + type: integer + hidden: true + mapping: + - scale: 10 + step: 5 + range: + min: -40 + max: 2210 + - id: 22 + name: temperature + type: integer + range: + min: -200 + max: 1050 + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: temp_set_f + range: + min: -40 + max: 2210 + scale: 10 + step: 5 + - id: 27 + type: integer + name: current_temperature + mapping: + - scale: 10 + constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: cur_temp_f + - id: 28 + type: integer + name: cur_temp_f + hidden: true + mapping: + - scale: 10 + - id: 41 + type: integer + name: humidity + range: + min: 1 + max: 99 + - id: 46 + type: integer + name: current_humidity - entity: switch class: switch name: Manual Switch diff --git a/custom_components/tuya_local/devices/asahom_outdoor_rgbcw_lights.yaml b/custom_components/tuya_local/devices/asahom_outdoor_rgbcw_lights.yaml index 60459d3441..15aa1d3396 100644 --- a/custom_components/tuya_local/devices/asahom_outdoor_rgbcw_lights.yaml +++ b/custom_components/tuya_local/devices/asahom_outdoor_rgbcw_lights.yaml @@ -2,107 +2,106 @@ name: Decorative lights products: - id: wcx02kgo8o1qwaf8 name: Asahom S105A C -primary_entity: - entity: light - dps: - - id: 20 - type: boolean - name: switch - - id: 21 - name: effect - type: string - mapping: - - dps_val: color - value: "off" - - dps_val: animation - value: Animation - - dps_val: music - value: Music - - dps_val: timer - value: Timer - - id: 22 - name: brightness - type: integer - range: - min: 10 - max: 1000 - - id: 23 - name: color_temp - type: integer - range: - min: 0 - max: 1000 - mapping: - - target_range: - min: 2700 - max: 6500 - - id: 24 - name: rgbhsv - optional: true - type: hex - format: - - name: h - bytes: 2 - range: - min: 0 - max: 360 - - name: s - bytes: 2 - range: - min: 0 - max: 1000 - - name: v - bytes: 2 - range: - min: 0 - max: 1000 - - id: 27 - type: string - optional: true - name: music_data - - id: 101 - type: string - name: color_addressable - - id: 102 - type: string - optional: true - name: color_favorite - - id: 103 - type: string - optional: true - name: animation_preset - - id: 104 - type: string - optional: true - name: animation_diy - - id: 106 - type: integer - name: light_count - - id: 107 - type: string - optional: true - name: animation_folder - - id: 108 - type: string - optional: true - name: music_devicedata - - id: 109 - type: string - optional: true - name: button_setting - - id: 110 - type: string - optional: true - name: splitter_setting - - id: 111 - type: integer - optional: true - name: color_brightness - - id: 116 - type: string - optional: true - name: color_sync -secondary_entities: +entities: + - entity: light + dps: + - id: 20 + type: boolean + name: switch + - id: 21 + name: effect + type: string + mapping: + - dps_val: color + value: "off" + - dps_val: animation + value: Animation + - dps_val: music + value: Music + - dps_val: timer + value: Timer + - id: 22 + name: brightness + type: integer + range: + min: 10 + max: 1000 + - id: 23 + name: color_temp + type: integer + range: + min: 0 + max: 1000 + mapping: + - target_range: + min: 2700 + max: 6500 + - id: 24 + name: rgbhsv + optional: true + type: hex + format: + - name: h + bytes: 2 + range: + min: 0 + max: 360 + - name: s + bytes: 2 + range: + min: 0 + max: 1000 + - name: v + bytes: 2 + range: + min: 0 + max: 1000 + - id: 27 + type: string + optional: true + name: music_data + - id: 101 + type: string + name: color_addressable + - id: 102 + type: string + optional: true + name: color_favorite + - id: 103 + type: string + optional: true + name: animation_preset + - id: 104 + type: string + optional: true + name: animation_diy + - id: 106 + type: integer + name: light_count + - id: 107 + type: string + optional: true + name: animation_folder + - id: 108 + type: string + optional: true + name: music_devicedata + - id: 109 + type: string + optional: true + name: button_setting + - id: 110 + type: string + optional: true + name: splitter_setting + - id: 111 + type: integer + optional: true + name: color_brightness + - id: 116 + type: string + optional: true + name: color_sync - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/asakuki_diffuser.yaml b/custom_components/tuya_local/devices/asakuki_diffuser.yaml index 2873dd7bf8..4828fc2d2e 100644 --- a/custom_components/tuya_local/devices/asakuki_diffuser.yaml +++ b/custom_components/tuya_local/devices/asakuki_diffuser.yaml @@ -2,22 +2,21 @@ name: Aroma diffuser products: - id: 6ASdNwe9IdaewQEl name: Asakuki cube light -primary_entity: - entity: fan - translation_key: aroma_diffuser - dps: - - id: 11 - type: boolean - name: switch - - id: 13 - type: string - name: speed - mapping: - - dps_val: "0" - value: 50 - - dps_val: "1" - value: 100 -secondary_entities: +entities: + - entity: fan + translation_key: aroma_diffuser + dps: + - id: 11 + type: boolean + name: switch + - id: 13 + type: string + name: speed + mapping: + - dps_val: "0" + value: 50 + - dps_val: "1" + value: 100 - entity: light dps: - id: 1 diff --git a/custom_components/tuya_local/devices/asc_wifi_circuit_breaker.yaml b/custom_components/tuya_local/devices/asc_wifi_circuit_breaker.yaml index 33c93e5d75..2edbb8f7fd 100644 --- a/custom_components/tuya_local/devices/asc_wifi_circuit_breaker.yaml +++ b/custom_components/tuya_local/devices/asc_wifi_circuit_breaker.yaml @@ -1,13 +1,12 @@ name: ASC (Wi-Fi) products: - id: yrzel5nutomegk6z -primary_entity: - entity: switch - dps: - - id: 1 - name: switch - type: boolean -secondary_entities: +entities: + - entity: switch + dps: + - id: 1 + name: switch + type: boolean - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/asip_0622_planter.yaml b/custom_components/tuya_local/devices/asip_0622_planter.yaml index 4a7d76e15a..99146a627a 100644 --- a/custom_components/tuya_local/devices/asip_0622_planter.yaml +++ b/custom_components/tuya_local/devices/asip_0622_planter.yaml @@ -2,15 +2,14 @@ name: Planter # products: # - id: # name: ASIP-0622 indoor planter -primary_entity: - entity: switch - icon: "mdi:sprout" - name: Power - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + icon: "mdi:sprout" + name: Power + dps: + - id: 1 + type: boolean + name: switch - entity: switch name: Pump icon: "mdi:water-pump" diff --git a/custom_components/tuya_local/devices/aspen_asp200_fan.yaml b/custom_components/tuya_local/devices/aspen_asp200_fan.yaml index ca3a9633e2..48f32b3ea0 100644 --- a/custom_components/tuya_local/devices/aspen_asp200_fan.yaml +++ b/custom_components/tuya_local/devices/aspen_asp200_fan.yaml @@ -1,40 +1,39 @@ name: Aspen fan legacy_type: aspen_fan -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - type: string - name: direction - mapping: - - dps_val: in - value: forward - - dps_val: out - value: reverse - - dps_val: exch - value: exchange - - id: 3 - type: integer - name: speed - range: - min: 1 - max: 3 - - id: 101 - type: boolean - name: preset_mode - mapping: - - dps_val: false - value: "normal" - - dps_val: true - value: "smart" - - id: 8 - type: integer - name: unknown_8 -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + type: string + name: direction + mapping: + - dps_val: in + value: forward + - dps_val: out + value: reverse + - dps_val: exch + value: exchange + - id: 3 + type: integer + name: speed + range: + min: 1 + max: 3 + - id: 101 + type: boolean + name: preset_mode + mapping: + - dps_val: false + value: "normal" + - dps_val: true + value: "smart" + - id: 8 + type: integer + name: unknown_8 - entity: climate dps: - id: 1 diff --git a/custom_components/tuya_local/devices/atomi_ceiling_fan.yaml b/custom_components/tuya_local/devices/atomi_ceiling_fan.yaml index 28510628a6..15a4e1e177 100644 --- a/custom_components/tuya_local/devices/atomi_ceiling_fan.yaml +++ b/custom_components/tuya_local/devices/atomi_ceiling_fan.yaml @@ -2,31 +2,30 @@ name: Ceiling fan products: - id: keyxcgdguks9shua name: Atomi 52 inch ceiling fan -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 60 - type: boolean - name: switch - - id: 61 - type: string - name: preset_mode - mapping: - - dps_val: fresh - value: fresh - - dps_val: nature - value: nature - - id: 64 - type: integer - name: speed - range: - min: 1 - max: 3 - - id: 71 - type: string - name: unknown_71 -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 60 + type: boolean + name: switch + - id: 61 + type: string + name: preset_mode + mapping: + - dps_val: fresh + value: fresh + - dps_val: nature + value: nature + - id: 64 + type: integer + name: speed + range: + min: 1 + max: 3 + - id: 71 + type: string + name: unknown_71 - entity: light dps: - id: 20 diff --git a/custom_components/tuya_local/devices/atomi_ceramic_heater.yaml b/custom_components/tuya_local/devices/atomi_ceramic_heater.yaml index ed7b8bb707..9bc27cb0ba 100644 --- a/custom_components/tuya_local/devices/atomi_ceramic_heater.yaml +++ b/custom_components/tuya_local/devices/atomi_ceramic_heater.yaml @@ -4,49 +4,48 @@ products: name: Atomi AT1632 - id: tos0dbspyikjzcxe name: Atomi AT1635 -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: heat - - id: 2 - type: integer - name: temperature - range: - min: 60 - max: 86 - unit: F - - id: 3 - type: integer - name: current_temperature - - id: 4 - type: string - name: preset_mode - mapping: - - dps_val: auto - value: eco - - dps_val: low - value: comfort - - dps_val: high - value: boost - - id: 8 - type: boolean - name: swing_mode - # not available on AT1635 - optional: true - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: horizontal -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: heat + - id: 2 + type: integer + name: temperature + range: + min: 60 + max: 86 + unit: F + - id: 3 + type: integer + name: current_temperature + - id: 4 + type: string + name: preset_mode + mapping: + - dps_val: auto + value: eco + - dps_val: low + value: comfort + - dps_val: high + value: boost + - id: 8 + type: boolean + name: swing_mode + # not available on AT1635 + optional: true + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: horizontal - entity: light translation_key: display category: config diff --git a/custom_components/tuya_local/devices/atomi_string_lights.yaml b/custom_components/tuya_local/devices/atomi_string_lights.yaml index a96f387b82..fbcda94032 100644 --- a/custom_components/tuya_local/devices/atomi_string_lights.yaml +++ b/custom_components/tuya_local/devices/atomi_string_lights.yaml @@ -1,78 +1,78 @@ name: Atomi string lights -primary_entity: - entity: light - dps: - - id: 20 - type: boolean - name: switch - - id: 21 - type: string - name: color_mode - mapping: - - dps_val: white - value: color_temp - - dps_val: colour - value: hs - - dps_val: scene1 - value: Strobe - - dps_val: scene2 - value: Fade - - dps_val: scene3 - value: Pulse - - dps_val: scene4 - value: Blink - - dps_val: scene5 - value: Chase - - dps_val: scene6 - value: Christmas - - dps_val: scene7 - value: America - - dps_val: scene8 - value: Pick 2 - - dps_val: scene9 - value: Multi - - id: 22 - name: brightness - type: integer - range: - min: 0 - max: 255 - - id: 23 - name: color_temp - type: integer - range: - min: 0 - max: 255 - mapping: - - target_range: - min: 2700 - max: 6500 - - id: 24 - name: rgbhsv - type: hex - 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 - - id: 101 - name: scene_data - type: hex - optional: true +entities: + - entity: light + dps: + - id: 20 + type: boolean + name: switch + - id: 21 + type: string + name: color_mode + mapping: + - dps_val: white + value: color_temp + - dps_val: colour + value: hs + - dps_val: scene1 + value: Strobe + - dps_val: scene2 + value: Fade + - dps_val: scene3 + value: Pulse + - dps_val: scene4 + value: Blink + - dps_val: scene5 + value: Chase + - dps_val: scene6 + value: Christmas + - dps_val: scene7 + value: America + - dps_val: scene8 + value: Pick 2 + - dps_val: scene9 + value: Multi + - id: 22 + name: brightness + type: integer + range: + min: 0 + max: 255 + - id: 23 + name: color_temp + type: integer + range: + min: 0 + max: 255 + mapping: + - target_range: + min: 2700 + max: 6500 + - id: 24 + name: rgbhsv + type: hex + 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 + - id: 101 + name: scene_data + type: hex + optional: true diff --git a/custom_components/tuya_local/devices/atorch_at2pl_breaker.yaml b/custom_components/tuya_local/devices/atorch_at2pl_breaker.yaml index f311d61759..6419a8604a 100644 --- a/custom_components/tuya_local/devices/atorch_at2pl_breaker.yaml +++ b/custom_components/tuya_local/devices/atorch_at2pl_breaker.yaml @@ -4,17 +4,16 @@ products: name: Atorch AT2PL - id: sq1ahfxhgove4kgo name: Atorch GR2PWS -primary_entity: - entity: switch - dps: - - id: 1 - type: boolean - name: switch - - id: 17 - type: integer - optional: true - name: add_ele -secondary_entities: +entities: + - entity: switch + dps: + - id: 1 + type: boolean + name: switch + - id: 17 + type: integer + optional: true + name: add_ele - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/atorch_at4pw_energymeter.yaml b/custom_components/tuya_local/devices/atorch_at4pw_energymeter.yaml index a95a0b71e1..481f58a882 100644 --- a/custom_components/tuya_local/devices/atorch_at4pw_energymeter.yaml +++ b/custom_components/tuya_local/devices/atorch_at4pw_energymeter.yaml @@ -2,14 +2,13 @@ name: Energy meter products: - id: tjtigg991kvoiiqi name: ATorch AT4PBWP -primary_entity: - entity: switch - class: outlet - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + class: outlet + dps: + - id: 1 + type: boolean + name: switch - entity: number category: config translation_key: timer diff --git a/custom_components/tuya_local/devices/atorch_s1wp.yaml b/custom_components/tuya_local/devices/atorch_s1wp.yaml index 4eb5ffa8b0..e63ca8cfd9 100644 --- a/custom_components/tuya_local/devices/atorch_s1wp.yaml +++ b/custom_components/tuya_local/devices/atorch_s1wp.yaml @@ -2,15 +2,14 @@ name: Energy monitoring plug with display products: - id: sqrf2g1amfutn4co name: Atorch S1WP -primary_entity: - entity: switch - class: outlet - dps: - - id: 1 - type: boolean - name: switch - optional: true -secondary_entities: +entities: + - entity: switch + class: outlet + dps: + - id: 1 + type: boolean + name: switch + optional: true - entity: number category: config class: duration diff --git a/custom_components/tuya_local/devices/aubess_1gang_switch.yaml b/custom_components/tuya_local/devices/aubess_1gang_switch.yaml index 3b76aa384c..f01e056867 100644 --- a/custom_components/tuya_local/devices/aubess_1gang_switch.yaml +++ b/custom_components/tuya_local/devices/aubess_1gang_switch.yaml @@ -4,25 +4,24 @@ products: # name: Aubess 1-gang - id: m4jtkjc43ltrilru name: T34 Smart Plug+ -primary_entity: - entity: switch - dps: - - id: 1 - name: switch - type: boolean - - id: 24 - name: test_bit - type: integer - - id: 42 - name: random_time - type: string - - id: 43 - name: cycle_time - type: string - - id: 44 - name: switch_inching - type: string -secondary_entities: +entities: + - entity: switch + dps: + - id: 1 + name: switch + type: boolean + - id: 24 + name: test_bit + type: integer + - id: 42 + name: random_time + type: string + - id: 43 + name: cycle_time + type: string + - id: 44 + name: switch_inching + type: string - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/aubess_2gang_switch.yaml b/custom_components/tuya_local/devices/aubess_2gang_switch.yaml index 8718b361fe..2ccb0c2e16 100644 --- a/custom_components/tuya_local/devices/aubess_2gang_switch.yaml +++ b/custom_components/tuya_local/devices/aubess_2gang_switch.yaml @@ -2,29 +2,28 @@ name: Double switch products: - id: zexdotwigwiobadr name: SciMagic RX Double Garage door receiver -primary_entity: - entity: switch - translation_key: switch_x - translation_placeholders: - x: "1" - dps: - - id: 1 - name: switch - type: boolean - - id: 42 - type: string - name: random_schedule - - id: 43 - type: string - name: repeating_schedule - - id: 44 - type: string - name: inching - - id: 48 - type: string - optional: true - name: interlock -secondary_entities: +entities: + - entity: switch + translation_key: switch_x + translation_placeholders: + x: "1" + dps: + - id: 1 + name: switch + type: boolean + - id: 42 + type: string + name: random_schedule + - id: 43 + type: string + name: repeating_schedule + - id: 44 + type: string + name: inching + - id: 48 + type: string + optional: true + name: interlock - entity: switch translation_key: switch_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/aubess_rainpoint_irrigation_system.yaml b/custom_components/tuya_local/devices/aubess_rainpoint_irrigation_system.yaml index b5dc2c71e3..36000c7961 100644 --- a/custom_components/tuya_local/devices/aubess_rainpoint_irrigation_system.yaml +++ b/custom_components/tuya_local/devices/aubess_rainpoint_irrigation_system.yaml @@ -2,14 +2,13 @@ name: Irrigation system products: - id: 2ak7r2culspkc7hx name: Aubess RainPoint TTP106W -primary_entity: - entity: valve - class: water - dps: - - id: 1 - name: valve - type: boolean -secondary_entities: +entities: + - entity: valve + class: water + dps: + - id: 1 + name: valve + type: boolean - entity: switch icon: "mdi:pipe-valve" deprecated: valve diff --git a/custom_components/tuya_local/devices/aulifants_energymonitor_breaker.yaml b/custom_components/tuya_local/devices/aulifants_energymonitor_breaker.yaml index 88e2766415..1cb61dee34 100644 --- a/custom_components/tuya_local/devices/aulifants_energymonitor_breaker.yaml +++ b/custom_components/tuya_local/devices/aulifants_energymonitor_breaker.yaml @@ -2,19 +2,18 @@ name: Circuit breaker products: - id: qndxewijhpsz3ixr name: Aulifants SMES200 -primary_entity: - entity: sensor - name: Total energy - class: energy - dps: - - id: 1 - type: integer - name: sensor - unit: kWh - class: total_increasing - mapping: - - scale: 100 -secondary_entities: +entities: + - entity: sensor + name: Total energy + class: energy + dps: + - id: 1 + type: integer + name: sensor + unit: kWh + class: total_increasing + mapping: + - scale: 100 - entity: sensor class: voltage dps: diff --git a/custom_components/tuya_local/devices/avatto_curtain_duallights.yaml b/custom_components/tuya_local/devices/avatto_curtain_duallights.yaml index 551507914e..da99268875 100644 --- a/custom_components/tuya_local/devices/avatto_curtain_duallights.yaml +++ b/custom_components/tuya_local/devices/avatto_curtain_duallights.yaml @@ -2,30 +2,29 @@ name: Curtain and lights products: - id: n76sxga6lyfujuac name: Avatto SYS-CL02 -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: +entities: + - 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 - entity: light name: Light 1 dps: diff --git a/custom_components/tuya_local/devices/avatto_curtain_light.yaml b/custom_components/tuya_local/devices/avatto_curtain_light.yaml index 5dae07fac3..3ec17306b5 100644 --- a/custom_components/tuya_local/devices/avatto_curtain_light.yaml +++ b/custom_components/tuya_local/devices/avatto_curtain_light.yaml @@ -2,30 +2,29 @@ name: Avatto Curtain and Light products: - id: v59tpvs4ubvjalhq name: Avatto CB3S -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: +entities: + - 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 - entity: light dps: - id: 102 diff --git a/custom_components/tuya_local/devices/avatto_curtain_switch.yaml b/custom_components/tuya_local/devices/avatto_curtain_switch.yaml index 98a3281262..2dc40d6f79 100644 --- a/custom_components/tuya_local/devices/avatto_curtain_switch.yaml +++ b/custom_components/tuya_local/devices/avatto_curtain_switch.yaml @@ -1,19 +1,18 @@ name: Avatto curtain switch -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 -secondary_entities: +entities: + - 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 - entity: light category: config translation_key: backlight diff --git a/custom_components/tuya_local/devices/avatto_roller_blinds.yaml b/custom_components/tuya_local/devices/avatto_roller_blinds.yaml index 77f66ec437..027f9f7777 100644 --- a/custom_components/tuya_local/devices/avatto_roller_blinds.yaml +++ b/custom_components/tuya_local/devices/avatto_roller_blinds.yaml @@ -2,62 +2,61 @@ name: Roller blinds products: - id: 3r8gc33pnqsxfe1g name: Quoya MC08 blinds motor -primary_entity: - entity: cover - class: blind - 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 - range: - min: 0 - max: 100 - mapping: - - invert: true - - id: 3 - name: current_position - type: integer - unit: "%" - optional: true - persist: false - mapping: - - invert: true - range: - min: 0 - max: 100 - - id: 7 - name: action - type: string - optional: true - persist: false - mapping: - - dps_val: opening - value: opening - constraint: current_position - conditions: - - dps_val: 0 - value: opened - - dps_val: null - value: null - - dps_val: closing - value: closing - constraint: current_position - conditions: - - dps_val: 100 - value: closed - - dps_val: null - value: null -secondary_entities: +entities: + - entity: cover + class: blind + 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 + range: + min: 0 + max: 100 + mapping: + - invert: true + - id: 3 + name: current_position + type: integer + unit: "%" + optional: true + persist: false + mapping: + - invert: true + range: + min: 0 + max: 100 + - id: 7 + name: action + type: string + optional: true + persist: false + mapping: + - dps_val: opening + value: opening + constraint: current_position + conditions: + - dps_val: 0 + value: opened + - dps_val: null + value: null + - dps_val: closing + value: closing + constraint: current_position + conditions: + - dps_val: 100 + value: closed + - dps_val: null + value: null - entity: select translation_key: timer category: config diff --git a/custom_components/tuya_local/devices/avatto_trv06_radiatorvalve.yaml b/custom_components/tuya_local/devices/avatto_trv06_radiatorvalve.yaml index 3d8400a4cc..b7db1a2441 100644 --- a/custom_components/tuya_local/devices/avatto_trv06_radiatorvalve.yaml +++ b/custom_components/tuya_local/devices/avatto_trv06_radiatorvalve.yaml @@ -2,49 +2,48 @@ name: Radiator products: - id: ow09xlxm name: Avatto/Thaleos TRV06 -primary_entity: - entity: climate - translation_key: heater - dps: - - id: 2 - type: string - name: hvac_mode - optional: true - mapping: - - dps_val: "off" - value: "off" - - dps_val: manual - value: heat - - dps_val: auto - value: auto - - dps_val: null - value: "off" - hidden: true - - id: 3 - type: string - name: hvac_action - optional: true - mapping: - - dps_val: opened - value: heating - - dps_val: closed - value: idle - - id: 4 - type: integer - name: temperature - unit: C - mapping: - - scale: 10 - step: 10 - range: - min: 50 - max: 350 - - id: 5 - type: integer - name: current_temperature - mapping: - - scale: 10 -secondary_entities: +entities: + - entity: climate + translation_key: heater + dps: + - id: 2 + type: string + name: hvac_mode + optional: true + mapping: + - dps_val: "off" + value: "off" + - dps_val: manual + value: heat + - dps_val: auto + value: auto + - dps_val: null + value: "off" + hidden: true + - id: 3 + type: string + name: hvac_action + optional: true + mapping: + - dps_val: opened + value: heating + - dps_val: closed + value: idle + - id: 4 + type: integer + name: temperature + unit: C + mapping: + - scale: 10 + step: 10 + range: + min: 50 + max: 350 + - id: 5 + type: integer + name: current_temperature + mapping: + - scale: 10 - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/avatto_wt100_thermostat.yaml b/custom_components/tuya_local/devices/avatto_wt100_thermostat.yaml index 9b43ed8360..15a26f9427 100644 --- a/custom_components/tuya_local/devices/avatto_wt100_thermostat.yaml +++ b/custom_components/tuya_local/devices/avatto_wt100_thermostat.yaml @@ -2,66 +2,65 @@ name: Thermostat products: - id: gw173aldekvpzalg name: Avatto WT200W-EH -primary_entity: - entity: climate - translation_only_key: thermostat - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: preset_mode - conditions: - - dps_val: cold - # manual - value: heat - - dps_val: hot - # program - value: auto - - dps_val: wind - # temporary program - HA does not have a distinct mode for this - value: auto - - id: 2 - name: temperature - type: integer - unit: C - optional: true - range: - min: 50 - max: 700 - mapping: - - scale: 10 - - id: 3 - name: current_temperature - type: integer - mapping: - - scale: 10 - - id: 4 - name: preset_mode - type: string - mapping: - - dps_val: cold - value: manual - - dps_val: hot - value: program - - dps_val: wind - value: temp_override - hidden: true - - id: 5 - name: hvac_action - type: string - mapping: - - dps_val: "0" - value: idle - - dps_val: "1" - value: heating - - id: 21 - name: max_temperature - type: integer -secondary_entities: +entities: + - entity: climate + translation_only_key: thermostat + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: preset_mode + conditions: + - dps_val: cold + # manual + value: heat + - dps_val: hot + # program + value: auto + - dps_val: wind + # temporary program - HA does not have a distinct mode for this + value: auto + - id: 2 + name: temperature + type: integer + unit: C + optional: true + range: + min: 50 + max: 700 + mapping: + - scale: 10 + - id: 3 + name: current_temperature + type: integer + mapping: + - scale: 10 + - id: 4 + name: preset_mode + type: string + mapping: + - dps_val: cold + value: manual + - dps_val: hot + value: program + - dps_val: wind + value: temp_override + hidden: true + - id: 5 + name: hvac_action + type: string + mapping: + - dps_val: "0" + value: idle + - dps_val: "1" + value: heating + - id: 21 + name: max_temperature + type: integer - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/avidsen_soria_solarinverter.yaml b/custom_components/tuya_local/devices/avidsen_soria_solarinverter.yaml index a6c2901a8a..73c2e559cd 100644 --- a/custom_components/tuya_local/devices/avidsen_soria_solarinverter.yaml +++ b/custom_components/tuya_local/devices/avidsen_soria_solarinverter.yaml @@ -2,27 +2,26 @@ name: Solar inverter products: - id: 0kllybtbzftaee7y name: Avidsen Soria Karst-400 -primary_entity: - entity: sensor - class: energy - dps: - - id: 2 - type: integer - name: sensor - unit: kWh - class: total_increasing - mapping: - - scale: 100 - - id: 15 - name: inverter_type - type: string - - id: 16 - name: inverter_id - type: string - - id: 17 - name: imei_imsi - type: string -secondary_entities: +entities: + - entity: sensor + class: energy + dps: + - id: 2 + type: integer + name: sensor + unit: kWh + class: total_increasing + mapping: + - scale: 100 + - id: 15 + name: inverter_type + type: string + - id: 16 + name: inverter_id + type: string + - id: 17 + name: imei_imsi + type: string - entity: switch name: Inverter switch category: config diff --git a/custom_components/tuya_local/devices/awow_th213_thermostat.yaml b/custom_components/tuya_local/devices/awow_th213_thermostat.yaml index b07c3c946c..b6364da004 100644 --- a/custom_components/tuya_local/devices/awow_th213_thermostat.yaml +++ b/custom_components/tuya_local/devices/awow_th213_thermostat.yaml @@ -1,77 +1,76 @@ name: TH213 thermostat -primary_entity: - entity: climate - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: true - value: "heat" - - dps_val: false - value: "off" - - id: 2 - name: temperature - type: integer - unit: C - range: - min: 5 - max: 30 - - id: 3 - name: current_temperature - type: integer - - id: 4 - name: preset_mode - type: integer - mapping: - - dps_val: 1 - value: home - - dps_val: 2 - value: away - - dps_val: 3 - value: activity - - dps_val: 4 - value: sleep - - id: 102 - type: integer - name: sensor - mapping: - - dps_val: 0 - value: "Internal" - - dps_val: 1 - value: "External" - - dps_val: 2 - value: "Internal & External" - - id: 103 - type: integer - name: temperature_calibration_offset - range: - min: -9 - max: 9 - - id: 104 - type: integer - name: temperature_calibration_swing - range: - min: 1 - max: 9 - - id: 105 - type: boolean - name: hvac_action - mapping: - - dps_val: true - value: heating - - dps_val: false - value: idle - - id: 107 - type: boolean - name: unknown_107 - - id: 108 - type: boolean - name: unknown_108 - - id: 110 - type: integer - name: unknown_110 -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: true + value: "heat" + - dps_val: false + value: "off" + - id: 2 + name: temperature + type: integer + unit: C + range: + min: 5 + max: 30 + - id: 3 + name: current_temperature + type: integer + - id: 4 + name: preset_mode + type: integer + mapping: + - dps_val: 1 + value: home + - dps_val: 2 + value: away + - dps_val: 3 + value: activity + - dps_val: 4 + value: sleep + - id: 102 + type: integer + name: sensor + mapping: + - dps_val: 0 + value: "Internal" + - dps_val: 1 + value: "External" + - dps_val: 2 + value: "Internal & External" + - id: 103 + type: integer + name: temperature_calibration_offset + range: + min: -9 + max: 9 + - id: 104 + type: integer + name: temperature_calibration_swing + range: + min: 1 + max: 9 + - id: 105 + type: boolean + name: hvac_action + mapping: + - dps_val: true + value: heating + - dps_val: false + value: idle + - id: 107 + type: boolean + name: unknown_107 + - id: 108 + type: boolean + name: unknown_108 + - id: 110 + type: integer + name: unknown_110 - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/awow_th213v2_thermostat.yaml b/custom_components/tuya_local/devices/awow_th213v2_thermostat.yaml index 0ae1b1dc68..7fcb00826b 100644 --- a/custom_components/tuya_local/devices/awow_th213v2_thermostat.yaml +++ b/custom_components/tuya_local/devices/awow_th213v2_thermostat.yaml @@ -1,49 +1,48 @@ name: TH213 thermostat -primary_entity: - entity: climate - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: true - value: "heat" - - dps_val: false - value: "off" - - id: 2 - name: temperature - type: integer - unit: C - range: - min: 5 - max: 30 - - id: 3 - name: current_temperature - type: integer - - id: 4 - name: preset_mode - type: integer - mapping: - - dps_val: 1 - value: home - - dps_val: 2 - value: away - - dps_val: 3 - value: activity - - dps_val: 4 - value: sleep - - id: 105 - type: boolean - name: hvac_action - mapping: - - dps_val: true - value: heating - - dps_val: false - value: idle - - id: 116 - type: string - name: unknown_116 -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: true + value: "heat" + - dps_val: false + value: "off" + - id: 2 + name: temperature + type: integer + unit: C + range: + min: 5 + max: 30 + - id: 3 + name: current_temperature + type: integer + - id: 4 + name: preset_mode + type: integer + mapping: + - dps_val: 1 + value: home + - dps_val: 2 + value: away + - dps_val: 3 + value: activity + - dps_val: 4 + value: sleep + - id: 105 + type: boolean + name: hvac_action + mapping: + - dps_val: true + value: heating + - dps_val: false + value: idle + - id: 116 + type: string + name: unknown_116 - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/axen_ks100w_heatpump.yaml b/custom_components/tuya_local/devices/axen_ks100w_heatpump.yaml index 69d1739fc0..845006bc5b 100644 --- a/custom_components/tuya_local/devices/axen_ks100w_heatpump.yaml +++ b/custom_components/tuya_local/devices/axen_ks100w_heatpump.yaml @@ -4,14 +4,13 @@ name: Combo heat pump products: - id: l01fseshej0xmz8x name: Axen KS-100W/EN8BP -primary_entity: - entity: switch - category: config - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + category: config + dps: + - id: 1 + type: boolean + name: switch - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/aygrochy_inline_wifi_air_vent.yaml b/custom_components/tuya_local/devices/aygrochy_inline_wifi_air_vent.yaml index d548780708..8014914b91 100644 --- a/custom_components/tuya_local/devices/aygrochy_inline_wifi_air_vent.yaml +++ b/custom_components/tuya_local/devices/aygrochy_inline_wifi_air_vent.yaml @@ -2,84 +2,83 @@ name: Fan # products: # - id: UNKNOWN # name: Aygrochy fan -primary_entity: - entity: climate - dps: - - id: 2 - name: preset_mode - type: string - mapping: - - dps_val: "ON" - value: "On" - - dps_val: "OFF" - value: "Off" - - dps_val: "TIMER" - value: "Timer" - - dps_val: "AUTO" - value: "Auto" - - dps_val: "ALARM" - value: "Alarm" - - id: 2 - name: hvac_mode - type: string - mapping: - - dps_val: "ON" - value: "fan_only" - - dps_val: "OFF" - value: "off" - - dps_val: "TIMER" - value: "auto" - hidden: true - - dps_val: "AUTO" - value: "auto" - - dps_val: "ALARM" - value: "fan_only" - hidden: true - - id: 8 - name: current_humidity - type: integer - unit: "%" - - id: 9 - name: current_temperature - type: integer - unit: "F" - - id: 110 - name: target_temp_high - type: integer - range: - min: 32 - max: 194 - unit: "F" - mapping: - - constraint: hvac_mode - conditions: - - dps_val: AUTO - value_redirect: auto_temp_high - - id: 106 - name: auto_temp_high - type: integer - range: - min: 32 - max: 194 - - id: 112 - name: target_temp_low - type: integer - range: - min: 32 - max: 194 - unit: "F" - mapping: - - constraint: hvac_mode - conditions: - - dps_val: AUTO - value_redirect: auto_temp_low - - id: 108 - name: auto_temp_low - type: integer - range: - min: 32 - max: 194 -secondary_entities: +entities: + - entity: climate + dps: + - id: 2 + name: preset_mode + type: string + mapping: + - dps_val: "ON" + value: "On" + - dps_val: "OFF" + value: "Off" + - dps_val: "TIMER" + value: "Timer" + - dps_val: "AUTO" + value: "Auto" + - dps_val: "ALARM" + value: "Alarm" + - id: 2 + name: hvac_mode + type: string + mapping: + - dps_val: "ON" + value: "fan_only" + - dps_val: "OFF" + value: "off" + - dps_val: "TIMER" + value: "auto" + hidden: true + - dps_val: "AUTO" + value: "auto" + - dps_val: "ALARM" + value: "fan_only" + hidden: true + - id: 8 + name: current_humidity + type: integer + unit: "%" + - id: 9 + name: current_temperature + type: integer + unit: "F" + - id: 110 + name: target_temp_high + type: integer + range: + min: 32 + max: 194 + unit: "F" + mapping: + - constraint: hvac_mode + conditions: + - dps_val: AUTO + value_redirect: auto_temp_high + - id: 106 + name: auto_temp_high + type: integer + range: + min: 32 + max: 194 + - id: 112 + name: target_temp_low + type: integer + range: + min: 32 + max: 194 + unit: "F" + mapping: + - constraint: hvac_mode + conditions: + - dps_val: AUTO + value_redirect: auto_temp_low + - id: 108 + name: auto_temp_low + type: integer + range: + min: 32 + max: 194 - entity: fan dps: - id: 1 diff --git a/custom_components/tuya_local/devices/ballu_aura.yaml b/custom_components/tuya_local/devices/ballu_aura.yaml index 213ca6c5f4..1f00299d3b 100644 --- a/custom_components/tuya_local/devices/ballu_aura.yaml +++ b/custom_components/tuya_local/devices/ballu_aura.yaml @@ -2,58 +2,56 @@ name: Air conditioner products: - id: r9lwbruavixdspeb name: "Ballu Aura 9/12" -primary_entity: - entity: climate - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: "COOL" - value: cool - - dps_val: "DRY" - value: dry - - dps_val: "FAN" - value: fan_only - - id: 2 - name: temperature - type: integer - range: - min: 17 - max: 30 - unit: C - - id: 3 - name: current_temperature - type: integer - - id: 4 - name: mode - type: string - hidden: true - - id: 5 - name: fan_mode - type: string - mapping: - - dps_val: "1" - value: low - - dps_val: "2" - value: medium - - dps_val: "3" - value: high - - id: 104 - name: swing_mode - type: boolean - mapping: - - dps_val: true - value: vertical - - dps_val: false - value: "off" - -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: "COOL" + value: cool + - dps_val: "DRY" + value: dry + - dps_val: "FAN" + value: fan_only + - id: 2 + name: temperature + type: integer + range: + min: 17 + max: 30 + unit: C + - id: 3 + name: current_temperature + type: integer + - id: 4 + name: mode + type: string + hidden: true + - id: 5 + name: fan_mode + type: string + mapping: + - dps_val: "1" + value: low + - dps_val: "2" + value: medium + - dps_val: "3" + value: high + - id: 104 + name: swing_mode + type: boolean + mapping: + - dps_val: true + value: vertical + - dps_val: false + value: "off" - entity: select translation_key: temperature_unit category: config diff --git a/custom_components/tuya_local/devices/basic_ir_remote.yaml b/custom_components/tuya_local/devices/basic_ir_remote.yaml index bcb17cda5e..b2828f9727 100644 --- a/custom_components/tuya_local/devices/basic_ir_remote.yaml +++ b/custom_components/tuya_local/devices/basic_ir_remote.yaml @@ -4,15 +4,15 @@ products: name: UanTii S06/S18 IR - id: ejv37o6yz9vtxcuo name: RightSitu S18 IR -primary_entity: - entity: remote - dps: - - id: 201 - name: send - type: string - optional: true - - id: 202 - name: receive - type: string - optional: true - persist: false +entities: + - entity: remote + dps: + - id: 201 + name: send + type: string + optional: true + - id: 202 + name: receive + type: string + optional: true + persist: false diff --git a/custom_components/tuya_local/devices/bauhn_ap5w0624_powerstrip.yaml b/custom_components/tuya_local/devices/bauhn_ap5w0624_powerstrip.yaml index 047a0e1095..b761aaab89 100644 --- a/custom_components/tuya_local/devices/bauhn_ap5w0624_powerstrip.yaml +++ b/custom_components/tuya_local/devices/bauhn_ap5w0624_powerstrip.yaml @@ -2,17 +2,16 @@ name: 5-way powerstrip products: - id: bf152cecbcf4180771k2lq name: BAUHN AP5W-0624 -primary_entity: - entity: switch - translation_key: outlet_x - translation_placeholders: - x: "1" - class: outlet - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + translation_key: outlet_x + translation_placeholders: + x: "1" + class: outlet + dps: + - id: 1 + type: boolean + name: switch - entity: switch translation_key: outlet_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/bcom_intercom_camera.yaml b/custom_components/tuya_local/devices/bcom_intercom_camera.yaml index c857aaefd9..c44d9e4321 100644 --- a/custom_components/tuya_local/devices/bcom_intercom_camera.yaml +++ b/custom_components/tuya_local/devices/bcom_intercom_camera.yaml @@ -2,29 +2,28 @@ name: BCom doorbell products: - id: bf71b225dc6dd70835wlbt name: Bcom Majic IPBox -primary_entity: - entity: camera - dps: - - id: 150 - name: record - type: boolean - optional: true - - id: 136 - name: snapshot - type: base64 - persist: false - optional: true - sensitive: true - mapping: - - dps_val: "" - value_redirect: motion_detected - - dps_val: null - value_redirect: motion_detected - - id: 115 - name: motion_detected - type: base64 - sensitive: true -secondary_entities: +entities: + - entity: camera + dps: + - id: 150 + name: record + type: boolean + optional: true + - id: 136 + name: snapshot + type: base64 + persist: false + optional: true + sensitive: true + mapping: + - dps_val: "" + value_redirect: motion_detected + - dps_val: null + value_redirect: motion_detected + - id: 115 + name: motion_detected + type: base64 + sensitive: true - entity: lock name: Door lock dps: diff --git a/custom_components/tuya_local/devices/beca_bac002_thermostat_c.yaml b/custom_components/tuya_local/devices/beca_bac002_thermostat_c.yaml index 9138a202af..53e2767ddd 100644 --- a/custom_components/tuya_local/devices/beca_bac002_thermostat_c.yaml +++ b/custom_components/tuya_local/devices/beca_bac002_thermostat_c.yaml @@ -4,63 +4,62 @@ name: Thermostat products: - id: N8bUqOZ8HBQjU0K0 name: Becasmart BAC005 -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: "0" - value: cool - - dps_val: "1" - value: heat - - dps_val: "2" - value: fan_only - - id: 2 - type: integer - name: temperature - unit: C - range: - min: 10 - max: 70 - mapping: - - scale: 2 - - id: 3 - type: integer - name: current_temperature - mapping: - - scale: 2 - - id: 5 - type: boolean - name: preset_mode - mapping: - - dps_val: true - value: eco - - dps_val: false - value: comfort - - id: 102 - type: string - name: mode - hidden: true - - id: 103 - type: string - name: fan_mode - mapping: - - dps_val: "0" - value: auto - - dps_val: "1" - value: high - - dps_val: "2" - value: medium - - dps_val: "3" - value: low -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: "0" + value: cool + - dps_val: "1" + value: heat + - dps_val: "2" + value: fan_only + - id: 2 + type: integer + name: temperature + unit: C + range: + min: 10 + max: 70 + mapping: + - scale: 2 + - id: 3 + type: integer + name: current_temperature + mapping: + - scale: 2 + - id: 5 + type: boolean + name: preset_mode + mapping: + - dps_val: true + value: eco + - dps_val: false + value: comfort + - id: 102 + type: string + name: mode + hidden: true + - id: 103 + type: string + name: fan_mode + mapping: + - dps_val: "0" + value: auto + - dps_val: "1" + value: high + - dps_val: "2" + value: medium + - dps_val: "3" + value: low - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/beca_bhp6000_thermostat_c.yaml b/custom_components/tuya_local/devices/beca_bhp6000_thermostat_c.yaml index 70bf993aed..9e55d0e20d 100644 --- a/custom_components/tuya_local/devices/beca_bhp6000_thermostat_c.yaml +++ b/custom_components/tuya_local/devices/beca_bhp6000_thermostat_c.yaml @@ -1,55 +1,54 @@ name: Beca BHP-6000 thermostat C products: - id: drwezxukumr9ohuh -primary_entity: - entity: climate - translation_only_key: thermostat - dps: - - id: 2 - name: temperature - type: integer - unit: C - range: - min: 5 - max: 35 - - id: 3 - name: current_temperature - type: integer - - id: 4 - name: preset_mode - type: integer - mapping: - - dps_val: 1 - value: program - - dps_val: 2 - value: temp_override - - dps_val: 3 - value: perm_override - - dps_val: 4 - value: away - - id: 5 - name: hvac_mode - type: integer - mapping: - - dps_val: 1 - value: cool - - dps_val: 2 - value: heat - - dps_val: 3 - value: "off" - - dps_val: 4 - value: heat_cool - - dps_val: 5 - value: auto - - id: 6 - name: fan_mode - type: boolean - mapping: - - dps_val: false - value: auto - - dps_val: true - value: "on" -secondary_entities: +entities: + - entity: climate + translation_only_key: thermostat + dps: + - id: 2 + name: temperature + type: integer + unit: C + range: + min: 5 + max: 35 + - id: 3 + name: current_temperature + type: integer + - id: 4 + name: preset_mode + type: integer + mapping: + - dps_val: 1 + value: program + - dps_val: 2 + value: temp_override + - dps_val: 3 + value: perm_override + - dps_val: 4 + value: away + - id: 5 + name: hvac_mode + type: integer + mapping: + - dps_val: 1 + value: cool + - dps_val: 2 + value: heat + - dps_val: 3 + value: "off" + - dps_val: 4 + value: heat_cool + - dps_val: 5 + value: auto + - id: 6 + name: fan_mode + type: boolean + mapping: + - dps_val: false + value: auto + - dps_val: true + value: "on" - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/beca_bhp6000_thermostat_f.yaml b/custom_components/tuya_local/devices/beca_bhp6000_thermostat_f.yaml index ecbd42a7bd..2ac55c2e8a 100644 --- a/custom_components/tuya_local/devices/beca_bhp6000_thermostat_f.yaml +++ b/custom_components/tuya_local/devices/beca_bhp6000_thermostat_f.yaml @@ -2,55 +2,54 @@ name: Beca BHP-6000 thermostat F products: - id: drwezxukumr9ohuh legacy_type: beca_bhp6000_thermostat -primary_entity: - entity: climate - translation_only_key: thermostat - dps: - - id: 2 - name: temperature - type: integer - unit: F - range: - min: 40 - max: 95 - - id: 3 - name: current_temperature - type: integer - - id: 4 - name: preset_mode - type: integer - mapping: - - dps_val: 1 - value: program - - dps_val: 2 - value: temp_override - - dps_val: 3 - value: perm_override - - dps_val: 4 - value: away - - id: 5 - name: hvac_mode - type: integer - mapping: - - dps_val: 1 - value: cool - - dps_val: 2 - value: heat - - dps_val: 3 - value: "off" - - dps_val: 4 - value: heat_cool - - dps_val: 5 - value: auto - - id: 6 - name: fan_mode - type: boolean - mapping: - - dps_val: false - value: auto - - dps_val: true - value: "on" -secondary_entities: +entities: + - entity: climate + translation_only_key: thermostat + dps: + - id: 2 + name: temperature + type: integer + unit: F + range: + min: 40 + max: 95 + - id: 3 + name: current_temperature + type: integer + - id: 4 + name: preset_mode + type: integer + mapping: + - dps_val: 1 + value: program + - dps_val: 2 + value: temp_override + - dps_val: 3 + value: perm_override + - dps_val: 4 + value: away + - id: 5 + name: hvac_mode + type: integer + mapping: + - dps_val: 1 + value: cool + - dps_val: 2 + value: heat + - dps_val: 3 + value: "off" + - dps_val: 4 + value: heat_cool + - dps_val: 5 + value: auto + - id: 6 + name: fan_mode + type: boolean + mapping: + - dps_val: false + value: auto + - dps_val: true + value: "on" - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/beca_bhp6000_thermostat_mapped.yaml b/custom_components/tuya_local/devices/beca_bhp6000_thermostat_mapped.yaml index daa6660bb4..ec2e6eb825 100644 --- a/custom_components/tuya_local/devices/beca_bhp6000_thermostat_mapped.yaml +++ b/custom_components/tuya_local/devices/beca_bhp6000_thermostat_mapped.yaml @@ -1,386 +1,385 @@ name: Beca BHP-6000 thermostat mapped products: - id: drwezxukumr9ohuh -primary_entity: - entity: climate - translation_only_key: thermostat - dps: - - id: 2 - name: temperature - type: integer - unit: C - range: - min: 5 - max: 35 - # These mappings are not quite F to C, but appear to be what is used - # by the thermostat when set to C (issue #215) - mapping: - - dps_val: 42 - value: 5 - step: 0.5 - - dps_val: 43 - value: 5.5 - step: 0.5 - - dps_val: 44 - value: 6 - step: 0.5 - - dps_val: 45 - value: 6.5 - step: 0.5 - - dps_val: 46 - value: 7 - step: 0.5 - - dps_val: 47 - value: 7.5 - step: 0.5 - - dps_val: 48 - value: 8 - step: 0.5 - - dps_val: 49 - value: 8.5 - step: 0.5 - - dps_val: 50 - value: 9 - step: 0.5 - - dps_val: 51 - value: 9.5 - step: 0.5 - - dps_val: 52 - value: 10 - step: 0.5 - - dps_val: 53 - value: 10.5 - step: 0.5 - - dps_val: 54 - value: 11 - step: 0.5 - - dps_val: 55 - value: 11.5 - step: 0.5 - - dps_val: 56 - value: 12 - step: 0.5 - - dps_val: 57 - value: 12.5 - step: 0.5 - - dps_val: 58 - value: 13 - step: 0.5 - - dps_val: 59 - value: 13.5 - step: 0.5 - - dps_val: 60 - value: 14 - step: 0.5 - - dps_val: 61 - value: 14.5 - step: 0.5 - - dps_val: 62 - value: 15 - step: 0.5 - - dps_val: 63 - value: 15.5 - step: 0.5 - - dps_val: 64 - value: 16 - step: 0.5 - - dps_val: 65 - value: 16.5 - step: 0.5 - - dps_val: 66 - value: 17 - step: 0.5 - - dps_val: 67 - value: 17.5 - step: 0.5 - - dps_val: 68 - value: 18 - step: 0.5 - - dps_val: 69 - value: 18.5 - step: 0.5 - - dps_val: 70 - value: 19 - step: 0.5 - - dps_val: 71 - value: 19.5 - step: 0.5 - - dps_val: 72 - value: 20 - step: 0.5 - - dps_val: 73 - value: 20.5 - step: 0.5 - - dps_val: 74 - value: 21 - step: 0.5 - - dps_val: 75 - value: 21.5 - step: 0.5 - - dps_val: 76 - value: 22 - step: 0.5 - - dps_val: 77 - value: 22.50 - step: 0.5 - - dps_val: 78 - value: 23 - step: 0.5 - - dps_val: 79 - value: 23.50 - step: 0.5 - - dps_val: 80 - value: 24 - step: 0.5 - - dps_val: 81 - value: 24.5 - step: 0.5 - - dps_val: 82 - value: 25 - step: 0.5 - - dps_val: 83 - value: 25.5 - step: 0.5 - - dps_val: 84 - value: 26 - step: 0.5 - - dps_val: 85 - value: 26.5 - step: 0.5 - - dps_val: 86 - value: 27 - step: 0.5 - - dps_val: 87 - value: 27.5 - step: 0.5 - - dps_val: 88 - value: 28 - step: 0.5 - - dps_val: 89 - value: 28.5 - step: 0.5 - - dps_val: 90 - value: 29 - step: 0.5 - - dps_val: 91 - value: 29.5 - step: 0.5 - - dps_val: 92 - value: 30 - step: 0.5 - - dps_val: 93 - value: 30.5 - step: 0.5 - - dps_val: 94 - value: 31 - step: 0.5 - - dps_val: 95 - value: 31.5 - step: 0.5 - - dps_val: 96 - value: 32 - step: 0.5 - - dps_val: 97 - value: 32.5 - step: 0.5 - - dps_val: 98 - value: 33 - step: 0.5 - - dps_val: 99 - value: 33.5 - step: 0.5 - - dps_val: 100 - value: 34 - step: 0.5 - - dps_val: 101 - value: 34.5 - step: 0.5 - - dps_val: 102 - value: 35 - step: 0.5 - - id: 3 - name: current_temperature - type: integer - mapping: - - dps_val: 41 - value: 5 - - dps_val: 42 - value: 5.5 - - dps_val: 43 - value: 6 - - dps_val: 44 - value: 6.5 - - dps_val: 45 - value: 7 - - dps_val: 46 - value: 7.5 - - dps_val: 47 - value: 8 - - dps_val: 48 - value: 8.5 - - dps_val: 49 - value: 9 - - dps_val: 50 - value: 9.5 - - dps_val: 51 - value: 10 - - dps_val: 52 - value: 10.5 - - dps_val: 53 - value: 11 - - dps_val: 54 - value: 11.5 - - dps_val: 55 - value: 12 - - dps_val: 56 - value: 12.5 - - dps_val: 57 - value: 13 - - dps_val: 58 - value: 13.5 - - dps_val: 59 - value: 14 - - dps_val: 60 - value: 14.5 - - dps_val: 61 - value: 15 - - dps_val: 62 - value: 15.5 - - dps_val: 63 - value: 16 - - dps_val: 64 - value: 16.5 - - dps_val: 65 - value: 17 - - dps_val: 66 - value: 17.5 - - dps_val: 67 - value: 18 - - dps_val: 68 - value: 18.5 - - dps_val: 69 - value: 19 - - dps_val: 70 - value: 19.5 - - dps_val: 71 - value: 20 - - dps_val: 72 - value: 20.5 - - dps_val: 73 - value: 21 - - dps_val: 74 - value: 21.5 - - dps_val: 75 - value: 22 - - dps_val: 76 - value: 22.5 - - dps_val: 77 - value: 23 - - dps_val: 78 - value: 23.5 - - dps_val: 79 - value: 24 - - dps_val: 80 - value: 24.5 - - dps_val: 81 - value: 25 - - dps_val: 82 - value: 25.5 - - dps_val: 83 - value: 26 - - dps_val: 84 - value: 26.5 - - dps_val: 85 - value: 27 - - dps_val: 86 - value: 27.5 - - dps_val: 87 - value: 28 - - dps_val: 88 - value: 28.5 - - dps_val: 89 - value: 29 - - dps_val: 90 - value: 29.5 - - dps_val: 91 - value: 30 - - dps_val: 92 - value: 30.5 - - dps_val: 93 - value: 31 - - dps_val: 94 - value: 31.5 - - dps_val: 95 - value: 32 - - dps_val: 96 - value: 32.5 - - dps_val: 97 - value: 33 - - dps_val: 98 - value: 33.5 - - dps_val: 99 - value: 34 - - dps_val: 100 - value: 34.5 - - dps_val: 101 - value: 35 - - dps_val: 102 - value: 35.5 - - dps_val: 103 - value: 36 - - dps_val: 104 - value: 36.5 - - dps_val: 105 - value: 37 - - dps_val: 106 - value: 37.5 - - dps_val: 107 - value: 38 - - dps_val: 108 - value: 38.5 - - dps_val: 109 - value: 39 - - dps_val: 110 - value: 39.5 - - dps_val: 111 - value: 40 - - dps_val: 112 - value: 40.5 - - id: 4 - name: preset_mode - type: integer - mapping: - - dps_val: 1 - value: program - - dps_val: 2 - value: temp_override - - dps_val: 3 - value: perm_override - - dps_val: 4 - value: away - - id: 5 - name: hvac_mode - type: integer - mapping: - - dps_val: 1 - value: cool - - dps_val: 2 - value: heat - - dps_val: 3 - value: "off" - - dps_val: 4 - value: heat_cool - - dps_val: 5 - value: auto - - id: 6 - name: fan_mode - type: boolean - mapping: - - dps_val: false - value: auto - - dps_val: true - value: "on" -secondary_entities: +entities: + - entity: climate + translation_only_key: thermostat + dps: + - id: 2 + name: temperature + type: integer + unit: C + range: + min: 5 + max: 35 + # These mappings are not quite F to C, but appear to be what is used + # by the thermostat when set to C (issue #215) + mapping: + - dps_val: 42 + value: 5 + step: 0.5 + - dps_val: 43 + value: 5.5 + step: 0.5 + - dps_val: 44 + value: 6 + step: 0.5 + - dps_val: 45 + value: 6.5 + step: 0.5 + - dps_val: 46 + value: 7 + step: 0.5 + - dps_val: 47 + value: 7.5 + step: 0.5 + - dps_val: 48 + value: 8 + step: 0.5 + - dps_val: 49 + value: 8.5 + step: 0.5 + - dps_val: 50 + value: 9 + step: 0.5 + - dps_val: 51 + value: 9.5 + step: 0.5 + - dps_val: 52 + value: 10 + step: 0.5 + - dps_val: 53 + value: 10.5 + step: 0.5 + - dps_val: 54 + value: 11 + step: 0.5 + - dps_val: 55 + value: 11.5 + step: 0.5 + - dps_val: 56 + value: 12 + step: 0.5 + - dps_val: 57 + value: 12.5 + step: 0.5 + - dps_val: 58 + value: 13 + step: 0.5 + - dps_val: 59 + value: 13.5 + step: 0.5 + - dps_val: 60 + value: 14 + step: 0.5 + - dps_val: 61 + value: 14.5 + step: 0.5 + - dps_val: 62 + value: 15 + step: 0.5 + - dps_val: 63 + value: 15.5 + step: 0.5 + - dps_val: 64 + value: 16 + step: 0.5 + - dps_val: 65 + value: 16.5 + step: 0.5 + - dps_val: 66 + value: 17 + step: 0.5 + - dps_val: 67 + value: 17.5 + step: 0.5 + - dps_val: 68 + value: 18 + step: 0.5 + - dps_val: 69 + value: 18.5 + step: 0.5 + - dps_val: 70 + value: 19 + step: 0.5 + - dps_val: 71 + value: 19.5 + step: 0.5 + - dps_val: 72 + value: 20 + step: 0.5 + - dps_val: 73 + value: 20.5 + step: 0.5 + - dps_val: 74 + value: 21 + step: 0.5 + - dps_val: 75 + value: 21.5 + step: 0.5 + - dps_val: 76 + value: 22 + step: 0.5 + - dps_val: 77 + value: 22.50 + step: 0.5 + - dps_val: 78 + value: 23 + step: 0.5 + - dps_val: 79 + value: 23.50 + step: 0.5 + - dps_val: 80 + value: 24 + step: 0.5 + - dps_val: 81 + value: 24.5 + step: 0.5 + - dps_val: 82 + value: 25 + step: 0.5 + - dps_val: 83 + value: 25.5 + step: 0.5 + - dps_val: 84 + value: 26 + step: 0.5 + - dps_val: 85 + value: 26.5 + step: 0.5 + - dps_val: 86 + value: 27 + step: 0.5 + - dps_val: 87 + value: 27.5 + step: 0.5 + - dps_val: 88 + value: 28 + step: 0.5 + - dps_val: 89 + value: 28.5 + step: 0.5 + - dps_val: 90 + value: 29 + step: 0.5 + - dps_val: 91 + value: 29.5 + step: 0.5 + - dps_val: 92 + value: 30 + step: 0.5 + - dps_val: 93 + value: 30.5 + step: 0.5 + - dps_val: 94 + value: 31 + step: 0.5 + - dps_val: 95 + value: 31.5 + step: 0.5 + - dps_val: 96 + value: 32 + step: 0.5 + - dps_val: 97 + value: 32.5 + step: 0.5 + - dps_val: 98 + value: 33 + step: 0.5 + - dps_val: 99 + value: 33.5 + step: 0.5 + - dps_val: 100 + value: 34 + step: 0.5 + - dps_val: 101 + value: 34.5 + step: 0.5 + - dps_val: 102 + value: 35 + step: 0.5 + - id: 3 + name: current_temperature + type: integer + mapping: + - dps_val: 41 + value: 5 + - dps_val: 42 + value: 5.5 + - dps_val: 43 + value: 6 + - dps_val: 44 + value: 6.5 + - dps_val: 45 + value: 7 + - dps_val: 46 + value: 7.5 + - dps_val: 47 + value: 8 + - dps_val: 48 + value: 8.5 + - dps_val: 49 + value: 9 + - dps_val: 50 + value: 9.5 + - dps_val: 51 + value: 10 + - dps_val: 52 + value: 10.5 + - dps_val: 53 + value: 11 + - dps_val: 54 + value: 11.5 + - dps_val: 55 + value: 12 + - dps_val: 56 + value: 12.5 + - dps_val: 57 + value: 13 + - dps_val: 58 + value: 13.5 + - dps_val: 59 + value: 14 + - dps_val: 60 + value: 14.5 + - dps_val: 61 + value: 15 + - dps_val: 62 + value: 15.5 + - dps_val: 63 + value: 16 + - dps_val: 64 + value: 16.5 + - dps_val: 65 + value: 17 + - dps_val: 66 + value: 17.5 + - dps_val: 67 + value: 18 + - dps_val: 68 + value: 18.5 + - dps_val: 69 + value: 19 + - dps_val: 70 + value: 19.5 + - dps_val: 71 + value: 20 + - dps_val: 72 + value: 20.5 + - dps_val: 73 + value: 21 + - dps_val: 74 + value: 21.5 + - dps_val: 75 + value: 22 + - dps_val: 76 + value: 22.5 + - dps_val: 77 + value: 23 + - dps_val: 78 + value: 23.5 + - dps_val: 79 + value: 24 + - dps_val: 80 + value: 24.5 + - dps_val: 81 + value: 25 + - dps_val: 82 + value: 25.5 + - dps_val: 83 + value: 26 + - dps_val: 84 + value: 26.5 + - dps_val: 85 + value: 27 + - dps_val: 86 + value: 27.5 + - dps_val: 87 + value: 28 + - dps_val: 88 + value: 28.5 + - dps_val: 89 + value: 29 + - dps_val: 90 + value: 29.5 + - dps_val: 91 + value: 30 + - dps_val: 92 + value: 30.5 + - dps_val: 93 + value: 31 + - dps_val: 94 + value: 31.5 + - dps_val: 95 + value: 32 + - dps_val: 96 + value: 32.5 + - dps_val: 97 + value: 33 + - dps_val: 98 + value: 33.5 + - dps_val: 99 + value: 34 + - dps_val: 100 + value: 34.5 + - dps_val: 101 + value: 35 + - dps_val: 102 + value: 35.5 + - dps_val: 103 + value: 36 + - dps_val: 104 + value: 36.5 + - dps_val: 105 + value: 37 + - dps_val: 106 + value: 37.5 + - dps_val: 107 + value: 38 + - dps_val: 108 + value: 38.5 + - dps_val: 109 + value: 39 + - dps_val: 110 + value: 39.5 + - dps_val: 111 + value: 40 + - dps_val: 112 + value: 40.5 + - id: 4 + name: preset_mode + type: integer + mapping: + - dps_val: 1 + value: program + - dps_val: 2 + value: temp_override + - dps_val: 3 + value: perm_override + - dps_val: 4 + value: away + - id: 5 + name: hvac_mode + type: integer + mapping: + - dps_val: 1 + value: cool + - dps_val: 2 + value: heat + - dps_val: 3 + value: "off" + - dps_val: 4 + value: heat_cool + - dps_val: 5 + value: auto + - id: 6 + name: fan_mode + type: boolean + mapping: + - dps_val: false + value: auto + - dps_val: true + value: "on" - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/beca_bht002_thermostat_c.yaml b/custom_components/tuya_local/devices/beca_bht002_thermostat_c.yaml index 9a04951fba..00b62403a8 100644 --- a/custom_components/tuya_local/devices/beca_bht002_thermostat_c.yaml +++ b/custom_components/tuya_local/devices/beca_bht002_thermostat_c.yaml @@ -3,63 +3,62 @@ legacy_type: beca_bht6000_thermostat_c products: - id: IAYz2WK1th0cMLmL name: Beca BHT-002 / MJZM 16A-3000BH -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: "0" - value: auto - - dps_val: "1" - value: heat - - dps_val: null - value: heat - hidden: true - - id: 2 - type: integer - name: temperature - unit: C - range: - min: 10 - max: 70 - mapping: - - scale: 2 - - id: 3 - type: integer - name: current_temperature - mapping: - - scale: 2 - - id: 4 - type: string - name: mode - optional: true - hidden: true - - id: 5 - type: boolean - name: preset_mode - mapping: - - dps_val: true - value: eco - - dps_val: false - value: comfort - - id: 103 - type: string - # There are many variants of BHT-002 on the market, not all support this - optional: true - name: hvac_action - mapping: - - dps_val: "0" - value: idle - - dps_val: "1" - value: heating -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: "0" + value: auto + - dps_val: "1" + value: heat + - dps_val: null + value: heat + hidden: true + - id: 2 + type: integer + name: temperature + unit: C + range: + min: 10 + max: 70 + mapping: + - scale: 2 + - id: 3 + type: integer + name: current_temperature + mapping: + - scale: 2 + - id: 4 + type: string + name: mode + optional: true + hidden: true + - id: 5 + type: boolean + name: preset_mode + mapping: + - dps_val: true + value: eco + - dps_val: false + value: comfort + - id: 103 + type: string + # There are many variants of BHT-002 on the market, not all support this + optional: true + name: hvac_action + mapping: + - dps_val: "0" + value: idle + - dps_val: "1" + value: heating - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/beca_bht006_thermostat_c.yaml b/custom_components/tuya_local/devices/beca_bht006_thermostat_c.yaml index 1283205f29..9920a505bc 100644 --- a/custom_components/tuya_local/devices/beca_bht006_thermostat_c.yaml +++ b/custom_components/tuya_local/devices/beca_bht006_thermostat_c.yaml @@ -2,90 +2,89 @@ name: Thermostat products: - id: 7jzdtn4pwujmtskd name: Beca BAC-006 fancoil -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: "cold" - value: cool - - dps_val: "hot" - value: heat - - dps_val: "wind" - value: fan_only - - id: 2 - type: string - name: mode - optional: true - hidden: true - - id: 4 - type: boolean - name: preset_mode - mapping: - - dps_val: true - value: "eco" - - dps_val: false - value: "none" - - id: 16 - type: integer - name: temperature - unit: C - range: - min: 50 - max: 350 - mapping: - - scale: 10 - step: 5 - - id: 19 - type: integer - name: max_temperature - mapping: - - scale: 10 - - id: 26 - type: integer - name: min_temperature - mapping: - - scale: 10 - - id: 24 - type: integer - name: current_temperature - mapping: - - scale: 10 - - id: 36 - type: string - name: hvac_action - mapping: - - dps_val: close - value: idle - - dps_val: open - constraint: mode - conditions: - - dps_val: hot - value: heating - - dps_val: cold - value: cooling - - dps_val: wind - value: fan - - id: 28 - type: string - name: fan_mode - mapping: - - dps_val: auto - value: auto - - dps_val: low - value: low - - dps_val: middle - value: medium - - dps_val: high - value: high -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: "cold" + value: cool + - dps_val: "hot" + value: heat + - dps_val: "wind" + value: fan_only + - id: 2 + type: string + name: mode + optional: true + hidden: true + - id: 4 + type: boolean + name: preset_mode + mapping: + - dps_val: true + value: "eco" + - dps_val: false + value: "none" + - id: 16 + type: integer + name: temperature + unit: C + range: + min: 50 + max: 350 + mapping: + - scale: 10 + step: 5 + - id: 19 + type: integer + name: max_temperature + mapping: + - scale: 10 + - id: 26 + type: integer + name: min_temperature + mapping: + - scale: 10 + - id: 24 + type: integer + name: current_temperature + mapping: + - scale: 10 + - id: 36 + type: string + name: hvac_action + mapping: + - dps_val: close + value: idle + - dps_val: open + constraint: mode + conditions: + - dps_val: hot + value: heating + - dps_val: cold + value: cooling + - dps_val: wind + value: fan + - id: 28 + type: string + name: fan_mode + mapping: + - dps_val: auto + value: auto + - dps_val: low + value: low + - dps_val: middle + value: medium + - dps_val: high + value: high - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/beca_zht002_thermostat_c.yaml b/custom_components/tuya_local/devices/beca_zht002_thermostat_c.yaml index 88dd044f3e..f76c35a80e 100644 --- a/custom_components/tuya_local/devices/beca_zht002_thermostat_c.yaml +++ b/custom_components/tuya_local/devices/beca_zht002_thermostat_c.yaml @@ -2,39 +2,37 @@ name: Thermostat products: - id: aoclfnxz name: MOES Zigbee Thermostat -primary_entity: - entity: climate - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: "heat" - - id: 16 - name: temperature - type: integer - unit: C - range: - min: 1 - max: 45 - - id: 24 - name: current_temperature - type: integer - mapping: - - scale: 10 - - id: 36 - name: hvac_action - type: string - mapping: - - dps_val: open - value: heating - - dps_val: close - value: idle - -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: "heat" + - id: 16 + name: temperature + type: integer + unit: C + range: + min: 1 + max: 45 + - id: 24 + name: current_temperature + type: integer + mapping: + - scale: 10 + - id: 36 + name: hvac_action + type: string + mapping: + - dps_val: open + value: heating + - dps_val: close + value: idle - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/becool_heatpump.yaml b/custom_components/tuya_local/devices/becool_heatpump.yaml index 1ec871de93..13d8d8b91f 100644 --- a/custom_components/tuya_local/devices/becool_heatpump.yaml +++ b/custom_components/tuya_local/devices/becool_heatpump.yaml @@ -1,93 +1,92 @@ name: Be Cool BC14KL2101F -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: fan_only - constraint: mode - conditions: - - dps_val: "0" - value: heat_cool - - dps_val: "1" - value: fan_only - - dps_val: "2" - value: dry - - dps_val: "3" - value: cool - - dps_val: "5" - value: heat - - id: 4 - type: integer - name: unknown_4 - - id: 5 - type: string - name: mode - hidden: true - - id: 6 - type: integer - name: temperature - range: - min: 13 - max: 32 - mapping: - - constraint: temperature_unit - conditions: - - dps_val: true - value_redirect: temp_set_f - range: - min: 55 - max: 90 - - id: 8 - type: string - name: fan_mode - mapping: - - dps_val: "1" - value: low - - dps_val: "2" - value: medium - - dps_val: "3" - value: high - - id: 10 - type: boolean - name: temperature_unit - mapping: - - dps_val: false - value: C - - dps_val: true - value: F - - id: 13 - type: integer - name: unknown_13 - - id: 14 - type: integer - name: unknown_14 - - id: 15 - type: integer - name: unknown_15 - - id: 16 - type: boolean - name: unknown_16 - - id: 17 - type: boolean - name: unknown_17 - - id: 18 - name: temp_set_f - type: integer - range: - min: 55 - max: 90 - hidden: true - optional: true - - id: 19 - type: boolean - name: unknown_19 -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: fan_only + constraint: mode + conditions: + - dps_val: "0" + value: heat_cool + - dps_val: "1" + value: fan_only + - dps_val: "2" + value: dry + - dps_val: "3" + value: cool + - dps_val: "5" + value: heat + - id: 4 + type: integer + name: unknown_4 + - id: 5 + type: string + name: mode + hidden: true + - id: 6 + type: integer + name: temperature + range: + min: 13 + max: 32 + mapping: + - constraint: temperature_unit + conditions: + - dps_val: true + value_redirect: temp_set_f + range: + min: 55 + max: 90 + - id: 8 + type: string + name: fan_mode + mapping: + - dps_val: "1" + value: low + - dps_val: "2" + value: medium + - dps_val: "3" + value: high + - id: 10 + type: boolean + name: temperature_unit + mapping: + - dps_val: false + value: C + - dps_val: true + value: F + - id: 13 + type: integer + name: unknown_13 + - id: 14 + type: integer + name: unknown_14 + - id: 15 + type: integer + name: unknown_15 + - id: 16 + type: boolean + name: unknown_16 + - id: 17 + type: boolean + name: unknown_17 + - id: 18 + name: temp_set_f + type: integer + range: + min: 55 + max: 90 + hidden: true + optional: true + - id: 19 + type: boolean + name: unknown_19 - entity: select category: config translation_key: temperature_unit diff --git a/custom_components/tuya_local/devices/benexmart_blind_motor.yaml b/custom_components/tuya_local/devices/benexmart_blind_motor.yaml index 50f14f5a40..02bda3d327 100644 --- a/custom_components/tuya_local/devices/benexmart_blind_motor.yaml +++ b/custom_components/tuya_local/devices/benexmart_blind_motor.yaml @@ -1,35 +1,34 @@ name: benexmart blind motor -primary_entity: - entity: cover - class: blind - 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 - range: - min: 0 - max: 100 - mapping: - - invert: true - - id: 2 - name: current_position - type: integer - range: - min: 0 - max: 100 - mapping: - - invert: true -secondary_entities: +entities: + - entity: cover + class: blind + 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 + range: + min: 0 + max: 100 + mapping: + - invert: true + - id: 2 + name: current_position + type: integer + range: + min: 0 + max: 100 + mapping: + - invert: true - entity: switch category: config name: Reversed diff --git a/custom_components/tuya_local/devices/beok_tcb38_thermostat.yaml b/custom_components/tuya_local/devices/beok_tcb38_thermostat.yaml index 3df5dae588..74fcae1af2 100644 --- a/custom_components/tuya_local/devices/beok_tcb38_thermostat.yaml +++ b/custom_components/tuya_local/devices/beok_tcb38_thermostat.yaml @@ -1,56 +1,55 @@ name: Thermostat # rebadged as RT-70 -primary_entity: - entity: climate - translation_key: thermostat - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: manual - value: heat - - dps_val: auto - value: auto - - id: 2 - type: integer - name: temperature - range: - min: 50 - max: 990 - mapping: - - scale: 10 - step: 5 - unit: C - - id: 3 - type: integer - name: current_temperature - mapping: - - scale: 10 - - id: 4 - type: string - name: mode - hidden: true - - id: 21 - type: integer - name: max_temperature - - id: 22 - type: integer - name: min_temperature - - id: 35 - type: string - name: hvac_action - mapping: - - dps_val: open - value: heating - - dps_val: close - value: idle -secondary_entities: +entities: + - entity: climate + translation_key: thermostat + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: manual + value: heat + - dps_val: auto + value: auto + - id: 2 + type: integer + name: temperature + range: + min: 50 + max: 990 + mapping: + - scale: 10 + step: 5 + unit: C + - id: 3 + type: integer + name: current_temperature + mapping: + - scale: 10 + - id: 4 + type: string + name: mode + hidden: true + - id: 21 + type: integer + name: max_temperature + - id: 22 + type: integer + name: min_temperature + - id: 35 + type: string + name: hvac_action + mapping: + - dps_val: open + value: heating + - dps_val: close + value: idle - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/beok_tgm50_thermostat.yaml b/custom_components/tuya_local/devices/beok_tgm50_thermostat.yaml index 1f784715b9..9f9b37d6f8 100644 --- a/custom_components/tuya_local/devices/beok_tgm50_thermostat.yaml +++ b/custom_components/tuya_local/devices/beok_tgm50_thermostat.yaml @@ -2,68 +2,67 @@ name: Thermostat products: - id: m3j5wouhgsvjlma9 name: Beok TGM50-WIFI-WP -primary_entity: - entity: climate - translation_only_key: thermostat - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: true - constraint: preset_mode - conditions: - - dps_val: auto - value: auto - - dps_val: temporary - value: auto - hidden: true - - dps_val: home - value: heat - - dps_val: leave - value: heat - hidden: true - - dps_val: false - value: "off" - - id: 2 - name: temperature - type: integer - unit: C - range: - min: 50 - max: 300 - mapping: - - scale: 10 - step: 5 - - id: 3 - type: integer - name: current_temperature - mapping: - - scale: 10 - - id: 4 - type: string - name: preset_mode - mapping: - - dps_val: leave - value: away - - dps_val: home - value: manual - - dps_val: auto - value: program - - dps_val: temporary - value: temp_override - - id: 5 - type: string - name: hvac_action - mapping: - - dps_val: "0" - value: idle - - dps_val: "1" - value: heating - - id: 15 - name: max_temperature - type: integer -secondary_entities: +entities: + - entity: climate + translation_only_key: thermostat + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: true + constraint: preset_mode + conditions: + - dps_val: auto + value: auto + - dps_val: temporary + value: auto + hidden: true + - dps_val: home + value: heat + - dps_val: leave + value: heat + hidden: true + - dps_val: false + value: "off" + - id: 2 + name: temperature + type: integer + unit: C + range: + min: 50 + max: 300 + mapping: + - scale: 10 + step: 5 + - id: 3 + type: integer + name: current_temperature + mapping: + - scale: 10 + - id: 4 + type: string + name: preset_mode + mapping: + - dps_val: leave + value: away + - dps_val: home + value: manual + - dps_val: auto + value: program + - dps_val: temporary + value: temp_override + - id: 5 + type: string + name: hvac_action + mapping: + - dps_val: "0" + value: idle + - dps_val: "1" + value: heating + - id: 15 + name: max_temperature + type: integer - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/beok_tgr81_thermostat_c.yaml b/custom_components/tuya_local/devices/beok_tgr81_thermostat_c.yaml index 9f19a602ed..b870f1ded3 100644 --- a/custom_components/tuya_local/devices/beok_tgr81_thermostat_c.yaml +++ b/custom_components/tuya_local/devices/beok_tgr81_thermostat_c.yaml @@ -5,63 +5,62 @@ products: name: Avatto WT200W-EH - id: gogb05wrtredz3bs name: Avatto ME81 -primary_entity: - entity: climate - translation_only_key: thermostat - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: true - constraint: preset_mode - conditions: - - dps_val: auto - value: auto - - dps_val: manual - value: heat - - dps_val: false - value: "off" - - id: 2 - # Deprecated: use hvac_mode to select between these - # left as preset_mode for now to avoid breaking things - name: preset_mode - type: string - mapping: - - dps_val: auto - value: program - - dps_val: manual - value: manual - - id: 16 - type: integer - name: temperature - unit: C - range: - min: 5 - max: 90 - - id: 19 - type: integer - optional: true - name: max_temperature - - id: 24 - type: integer - name: current_temperature - mapping: - - scale: 10 - - id: 26 - optional: true - type: integer - name: min_temperature - - id: 36 - type: string - name: hvac_action - optional: true - mapping: - - dps_val: close - value: idle - - dps_val: open - value: heating -secondary_entities: +entities: + - entity: climate + translation_only_key: thermostat + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: true + constraint: preset_mode + conditions: + - dps_val: auto + value: auto + - dps_val: manual + value: heat + - dps_val: false + value: "off" + - id: 2 + # Deprecated: use hvac_mode to select between these + # left as preset_mode for now to avoid breaking things + name: preset_mode + type: string + mapping: + - dps_val: auto + value: program + - dps_val: manual + value: manual + - id: 16 + type: integer + name: temperature + unit: C + range: + min: 5 + max: 90 + - id: 19 + type: integer + optional: true + name: max_temperature + - id: 24 + type: integer + name: current_temperature + mapping: + - scale: 10 + - id: 26 + optional: true + type: integer + name: min_temperature + - id: 36 + type: string + name: hvac_action + optional: true + mapping: + - dps_val: close + value: idle + - dps_val: open + value: heating - entity: number name: Temperature calibration category: config diff --git a/custom_components/tuya_local/devices/beok_tol47_thermostat.yaml b/custom_components/tuya_local/devices/beok_tol47_thermostat.yaml index bd4b5f9a44..bb3460b038 100644 --- a/custom_components/tuya_local/devices/beok_tol47_thermostat.yaml +++ b/custom_components/tuya_local/devices/beok_tol47_thermostat.yaml @@ -1,58 +1,57 @@ name: Beok TOL47 thermostat -primary_entity: - entity: climate - translation_only_key: thermostat - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: preset_mode - conditions: - - dps_val: cold - value: heat - - dps_val: hot - value: auto - - dps_val: wind - value: auto - - id: 2 - type: integer - name: temperature - unit: C - mapping: - - scale: 10 - step: 5 - range: - min: 50 - max: 950 - - id: 3 - type: integer - name: current_temperature - mapping: - - scale: 10 - - id: 4 - type: string - name: preset_mode - mapping: - - dps_val: cold - value: manual - - dps_val: hot - value: program - - dps_val: wind - value: temp_override - hidden: true - - id: 5 - type: string - name: hvac_action - mapping: - - dps_val: "0" - value: idle - - dps_val: "1" - value: heating -secondary_entities: +entities: + - entity: climate + translation_only_key: thermostat + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: preset_mode + conditions: + - dps_val: cold + value: heat + - dps_val: hot + value: auto + - dps_val: wind + value: auto + - id: 2 + type: integer + name: temperature + unit: C + mapping: + - scale: 10 + step: 5 + range: + min: 50 + max: 950 + - id: 3 + type: integer + name: current_temperature + mapping: + - scale: 10 + - id: 4 + type: string + name: preset_mode + mapping: + - dps_val: cold + value: manual + - dps_val: hot + value: program + - dps_val: wind + value: temp_override + hidden: true + - id: 5 + type: string + name: hvac_action + mapping: + - dps_val: "0" + value: idle + - dps_val: "1" + value: heating - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/beok_tr8b_thermostat.yaml b/custom_components/tuya_local/devices/beok_tr8b_thermostat.yaml index d9b7c63bc4..d7f9e8a3df 100644 --- a/custom_components/tuya_local/devices/beok_tr8b_thermostat.yaml +++ b/custom_components/tuya_local/devices/beok_tr8b_thermostat.yaml @@ -1,121 +1,120 @@ name: Beok TR8B thermostat -primary_entity: - entity: climate - translation_only_key: combo_floor - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: preset_mode - conditions: - - dps_val: cool - value: cool - - dps_val: ventil - value: fan_only - - dps_val: heat - value: heat - - dps_val: floor - value: cool - - dps_val: floor_heat - value: heat - - id: 2 - type: string - name: preset_mode - mapping: - - dps_val: cool - value: cool - - dps_val: ventil - value: fan_only - - dps_val: heat - value: heat - - dps_val: floor - value: floor_cool - - dps_val: floor_heat - value: floor_heat - - id: 16 - type: integer - name: temperature - range: - min: 50 - max: 2000 - mapping: - - scale: 10 - step: 5 - constraint: temperature_unit - conditions: - - dps_val: f - step: 10 - - id: 19 - type: integer - name: max_temperature - mapping: - - scale: 10 - - id: 23 - type: string - name: temperature_unit - mapping: - - dps_val: c - value: C - - dps_val: f - value: F - - id: 24 - type: integer - name: current_temperature - mapping: - - scale: 10 - - id: 26 - type: integer - name: min_temperature - mapping: - - scale: 10 - - id: 28 - type: string - name: fan_mode - mapping: - - dps_val: auto - value: auto - - dps_val: low - value: low - - dps_val: middle - value: medium - - dps_val: high - value: high - - id: 36 - type: string - name: hvac_action - mapping: - - dps_val: open - value: idle - constraint: preset_mode - conditions: - - dps_val: [cool, floor] - value: cooling - - dps_val: [heat, floor_heat] - value: heating - - dps_val: close - value: idle - - id: 101 - type: bitfield - name: features - - id: 102 - type: integer - name: temperature_step - mapping: - - scale: 10 - - id: 104 - type: bitfield - name: valid_modes - - id: 105 - type: string - name: model - - id: 106 - type: string - name: light_mode -secondary_entities: +entities: + - entity: climate + translation_only_key: combo_floor + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: preset_mode + conditions: + - dps_val: cool + value: cool + - dps_val: ventil + value: fan_only + - dps_val: heat + value: heat + - dps_val: floor + value: cool + - dps_val: floor_heat + value: heat + - id: 2 + type: string + name: preset_mode + mapping: + - dps_val: cool + value: cool + - dps_val: ventil + value: fan_only + - dps_val: heat + value: heat + - dps_val: floor + value: floor_cool + - dps_val: floor_heat + value: floor_heat + - id: 16 + type: integer + name: temperature + range: + min: 50 + max: 2000 + mapping: + - scale: 10 + step: 5 + constraint: temperature_unit + conditions: + - dps_val: f + step: 10 + - id: 19 + type: integer + name: max_temperature + mapping: + - scale: 10 + - id: 23 + type: string + name: temperature_unit + mapping: + - dps_val: c + value: C + - dps_val: f + value: F + - id: 24 + type: integer + name: current_temperature + mapping: + - scale: 10 + - id: 26 + type: integer + name: min_temperature + mapping: + - scale: 10 + - id: 28 + type: string + name: fan_mode + mapping: + - dps_val: auto + value: auto + - dps_val: low + value: low + - dps_val: middle + value: medium + - dps_val: high + value: high + - id: 36 + type: string + name: hvac_action + mapping: + - dps_val: open + value: idle + constraint: preset_mode + conditions: + - dps_val: [cool, floor] + value: cooling + - dps_val: [heat, floor_heat] + value: heating + - dps_val: close + value: idle + - id: 101 + type: bitfield + name: features + - id: 102 + type: integer + name: temperature_step + mapping: + - scale: 10 + - id: 104 + type: bitfield + name: valid_modes + - id: 105 + type: string + name: model + - id: 106 + type: string + name: light_mode - entity: switch translation_key: anti_frost category: config diff --git a/custom_components/tuya_local/devices/beok_tr9b_thermostat.yaml b/custom_components/tuya_local/devices/beok_tr9b_thermostat.yaml index d39f14759b..4794d1abe0 100644 --- a/custom_components/tuya_local/devices/beok_tr9b_thermostat.yaml +++ b/custom_components/tuya_local/devices/beok_tr9b_thermostat.yaml @@ -1,67 +1,66 @@ name: Beok TR9B thermostat -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: auto - value: auto - - dps_val: manual - value: heat - - id: 2 - type: string - name: mode - hidden: true - - id: 16 - type: integer - name: temperature - range: - min: 50 - max: 10000 - mapping: - - scale: 10 - step: 5 - constraint: temperature_unit - conditions: - - dps_val: f - step: 10 - - id: 19 - type: integer - name: max_temperature - mapping: - - scale: 10 - - id: 23 - type: string - name: temperature_unit - mapping: - - dps_val: c - value: C - - dps_val: f - value: F - - id: 24 - type: integer - name: current_temperature - mapping: - - scale: 10 - - id: 26 - type: integer - name: min_temperature - mapping: - - scale: 10 - - id: 101 - type: integer - name: unknown_101 - - id: 102 - type: integer - name: unknown_102 -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: auto + value: auto + - dps_val: manual + value: heat + - id: 2 + type: string + name: mode + hidden: true + - id: 16 + type: integer + name: temperature + range: + min: 50 + max: 10000 + mapping: + - scale: 10 + step: 5 + constraint: temperature_unit + conditions: + - dps_val: f + step: 10 + - id: 19 + type: integer + name: max_temperature + mapping: + - scale: 10 + - id: 23 + type: string + name: temperature_unit + mapping: + - dps_val: c + value: C + - dps_val: f + value: F + - id: 24 + type: integer + name: current_temperature + mapping: + - scale: 10 + - id: 26 + type: integer + name: min_temperature + mapping: + - scale: 10 + - id: 101 + type: integer + name: unknown_101 + - id: 102 + type: integer + name: unknown_102 - entity: switch translation_key: anti_frost category: config diff --git a/custom_components/tuya_local/devices/betterlife_bl1500_heater.yaml b/custom_components/tuya_local/devices/betterlife_bl1500_heater.yaml index a99468c799..f744342b57 100644 --- a/custom_components/tuya_local/devices/betterlife_bl1500_heater.yaml +++ b/custom_components/tuya_local/devices/betterlife_bl1500_heater.yaml @@ -1,44 +1,43 @@ name: Betterlife BL1500 heater products: - id: ptiFKEk2bgAslxOA -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: true - value: heat - - dps_val: false - value: "off" - - id: 2 - type: integer - name: temperature - unit: C - range: - min: 15 - max: 30 - mapping: - - constraint: preset_mode - conditions: - - dps_val: "2" - value: 20 - range: - min: 20 - max: 20 - - id: 4 - type: string - name: preset_mode - mapping: - - dps_val: "0" - value: comfort - - dps_val: "1" - value: boost - - dps_val: "2" - value: eco -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: true + value: heat + - dps_val: false + value: "off" + - id: 2 + type: integer + name: temperature + unit: C + range: + min: 15 + max: 30 + mapping: + - constraint: preset_mode + conditions: + - dps_val: "2" + value: 20 + range: + min: 20 + max: 20 + - id: 4 + type: string + name: preset_mode + mapping: + - dps_val: "0" + value: comfort + - dps_val: "1" + value: boost + - dps_val: "2" + value: eco - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/bht002_galw_thermostat.yaml b/custom_components/tuya_local/devices/bht002_galw_thermostat.yaml index f1bac7afd3..c8967b0f55 100644 --- a/custom_components/tuya_local/devices/bht002_galw_thermostat.yaml +++ b/custom_components/tuya_local/devices/bht002_galw_thermostat.yaml @@ -1,55 +1,54 @@ name: Thermostat -primary_entity: - entity: climate - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: manual - value: heat - - dps_val: program - value: auto - - id: 2 - name: mode - type: string - - id: 3 - name: hvac_action - type: boolean - optional: true - mapping: - - dps_val: false - value: idle - - dps_val: true - value: heating - - dps_val: null - value: idle - - id: 16 - name: temperature - type: integer - unit: C - range: - min: 50 - max: 950 - mapping: - - scale: 10 - step: 5 - - id: 19 - name: max_temperature - type: integer - mapping: - - scale: 10 - - id: 24 - name: current_temperature - type: integer - mapping: - - scale: 10 -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: manual + value: heat + - dps_val: program + value: auto + - id: 2 + name: mode + type: string + - id: 3 + name: hvac_action + type: boolean + optional: true + mapping: + - dps_val: false + value: idle + - dps_val: true + value: heating + - dps_val: null + value: idle + - id: 16 + name: temperature + type: integer + unit: C + range: + min: 50 + max: 950 + mapping: + - scale: 10 + step: 5 + - id: 19 + name: max_temperature + type: integer + mapping: + - scale: 10 + - id: 24 + name: current_temperature + type: integer + mapping: + - scale: 10 - entity: button translation_key: factory_reset category: config diff --git a/custom_components/tuya_local/devices/bht002_gblw_thermostat.yaml b/custom_components/tuya_local/devices/bht002_gblw_thermostat.yaml index 5063d0dce6..9fc1a245e5 100644 --- a/custom_components/tuya_local/devices/bht002_gblw_thermostat.yaml +++ b/custom_components/tuya_local/devices/bht002_gblw_thermostat.yaml @@ -2,61 +2,60 @@ name: Thermostat products: - id: v5214objiaepcaer name: BHT-002 GBLW -primary_entity: - entity: climate - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: manual - value: heat - - dps_val: program - value: auto - - id: 2 - name: mode - type: string - - id: 3 - name: hvac_action - type: string - optional: true - mapping: - - dps_val: Warming - value: heating - - dps_val: Heat - value: heating - - dps_val: "Off" - value: idle - - dps_val: Closed - value: idle - - dps_val: null - value: idle - - id: 16 - name: temperature - type: integer - unit: C - range: - min: 50 - max: 950 - mapping: - - scale: 10 - step: 5 - - id: 19 - name: max_temperature - type: integer - mapping: - - scale: 10 - - id: 24 - name: current_temperature - type: integer - mapping: - - scale: 10 -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: manual + value: heat + - dps_val: program + value: auto + - id: 2 + name: mode + type: string + - id: 3 + name: hvac_action + type: string + optional: true + mapping: + - dps_val: Warming + value: heating + - dps_val: Heat + value: heating + - dps_val: "Off" + value: idle + - dps_val: Closed + value: idle + - dps_val: null + value: idle + - id: 16 + name: temperature + type: integer + unit: C + range: + min: 50 + max: 950 + mapping: + - scale: 10 + step: 5 + - id: 19 + name: max_temperature + type: integer + mapping: + - scale: 10 + - id: 24 + name: current_temperature + type: integer + mapping: + - scale: 10 - entity: button translation_key: factory_reset category: config diff --git a/custom_components/tuya_local/devices/ble_adaprox_fingerbot.yaml b/custom_components/tuya_local/devices/ble_adaprox_fingerbot.yaml index 972f48e0c3..faaeec4754 100644 --- a/custom_components/tuya_local/devices/ble_adaprox_fingerbot.yaml +++ b/custom_components/tuya_local/devices/ble_adaprox_fingerbot.yaml @@ -1,13 +1,12 @@ name: BLE ADAPROX Fingerbot products: - id: yiihr7zh -primary_entity: - entity: switch - dps: - - id: 2 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + dps: + - id: 2 + type: boolean + name: switch - entity: sensor class: battery category: diagnostic diff --git a/custom_components/tuya_local/devices/ble_hct611_watertimer.yaml b/custom_components/tuya_local/devices/ble_hct611_watertimer.yaml index 4fc7d9c963..3c0e6a963e 100644 --- a/custom_components/tuya_local/devices/ble_hct611_watertimer.yaml +++ b/custom_components/tuya_local/devices/ble_hct611_watertimer.yaml @@ -2,53 +2,52 @@ name: Water timer products: - id: tqzkwarw name: HCT-611 -primary_entity: - entity: valve - class: water - dps: - - id: 1 - type: boolean - name: valve - - id: 12 - type: string - name: state - optional: true - - id: 110 - type: boolean - name: switch_record - - id: 101 - type: base64 - name: program_1 - optional: true - - id: 102 - type: base64 - name: program_2 - optional: true - - id: 103 - type: base64 - name: program_3 - optional: true - - id: 104 - type: base64 - name: program_4 - optional: true - - id: 105 - type: base64 - name: program_5 - optional: true - - id: 106 - type: base64 - name: program_6 - optional: true - - id: 107 - type: base64 - name: program_7 - optional: true - - id: 108 - type: base64 - name: program_8 - optional: true -secondary_entities: +entities: + - entity: valve + class: water + dps: + - id: 1 + type: boolean + name: valve + - id: 12 + type: string + name: state + optional: true + - id: 110 + type: boolean + name: switch_record + - id: 101 + type: base64 + name: program_1 + optional: true + - id: 102 + type: base64 + name: program_2 + optional: true + - id: 103 + type: base64 + name: program_3 + optional: true + - id: 104 + type: base64 + name: program_4 + optional: true + - id: 105 + type: base64 + name: program_5 + optional: true + - id: 106 + type: base64 + name: program_6 + optional: true + - id: 107 + type: base64 + name: program_7 + optional: true + - id: 108 + type: base64 + name: program_8 + optional: true - entity: switch icon: "mdi:pipe-valve" deprecated: valve diff --git a/custom_components/tuya_local/devices/ble_hu06_lock.yaml b/custom_components/tuya_local/devices/ble_hu06_lock.yaml index 0c8c315ff2..d263b35cd8 100644 --- a/custom_components/tuya_local/devices/ble_hu06_lock.yaml +++ b/custom_components/tuya_local/devices/ble_hu06_lock.yaml @@ -4,57 +4,56 @@ products: name: HU06 - id: xicdxood name: Impression ImSmart C502 -primary_entity: - entity: lock - dps: - - id: 13 - name: unlock_password - type: integer - optional: true - persist: false - - id: 16 - name: unlock_key - type: integer - optional: true - persist: false - - id: 19 - name: unlock_ble - type: integer - optional: true - persist: false - - id: 21 - name: jammed - type: string - optional: true - persist: false - mapping: - - dps_val: tongue_bad - value: true - - value: false - - id: 43 - name: unlock_fingerprint - type: integer - optional: true - persist: false - - id: 47 - name: lock - type: boolean - readonly: true - - id: 62 - name: unlock_app - type: integer - optional: true - persist: false - - id: 63 - name: unlock_voice - type: integer - optional: true - persist: false - - id: 105 - name: lock_record - type: string - optional: true -secondary_entities: +entities: + - entity: lock + dps: + - id: 13 + name: unlock_password + type: integer + optional: true + persist: false + - id: 16 + name: unlock_key + type: integer + optional: true + persist: false + - id: 19 + name: unlock_ble + type: integer + optional: true + persist: false + - id: 21 + name: jammed + type: string + optional: true + persist: false + mapping: + - dps_val: tongue_bad + value: true + - value: false + - id: 43 + name: unlock_fingerprint + type: integer + optional: true + persist: false + - id: 47 + name: lock + type: boolean + readonly: true + - id: 62 + name: unlock_app + type: integer + optional: true + persist: false + - id: 63 + name: unlock_voice + type: integer + optional: true + persist: false + - id: 105 + name: lock_record + type: string + optional: true - entity: sensor class: battery category: diagnostic diff --git a/custom_components/tuya_local/devices/ble_orion_lock.yaml b/custom_components/tuya_local/devices/ble_orion_lock.yaml index a6378de041..39df593da4 100644 --- a/custom_components/tuya_local/devices/ble_orion_lock.yaml +++ b/custom_components/tuya_local/devices/ble_orion_lock.yaml @@ -2,37 +2,36 @@ name: Orion BLE lock products: - id: a6nttc41 name: Orion DL021HA -primary_entity: - entity: lock - dps: - - id: 1 - type: string - name: unlock_method_register - optional: true - sensitive: true - - id: 2 - type: string - name: unlock_method_delete - optional: true - - id: 12 - type: integer - name: unlock_fingerprint - persist: false - optional: true - - id: 19 - type: integer - name: unlock_app - persist: false - optional: true - - id: 33 - type: boolean - name: lock - - id: 54 - type: string - name: sync_method - optional: true - sensitive: true -secondary_entities: +entities: + - entity: lock + dps: + - id: 1 + type: string + name: unlock_method_register + optional: true + sensitive: true + - id: 2 + type: string + name: unlock_method_delete + optional: true + - id: 12 + type: integer + name: unlock_fingerprint + persist: false + optional: true + - id: 19 + type: integer + name: unlock_app + persist: false + optional: true + - id: 33 + type: boolean + name: lock + - id: 54 + type: string + name: sync_method + optional: true + sensitive: true - entity: sensor class: battery category: diagnostic diff --git a/custom_components/tuya_local/devices/ble_pt216_temp_humidity.yaml b/custom_components/tuya_local/devices/ble_pt216_temp_humidity.yaml index 62726f2d88..2f92ad781f 100644 --- a/custom_components/tuya_local/devices/ble_pt216_temp_humidity.yaml +++ b/custom_components/tuya_local/devices/ble_pt216_temp_humidity.yaml @@ -2,18 +2,17 @@ name: Temperature and humidity sensor products: - id: 04nb6kdt name: PT216 / PT19DB-2 -primary_entity: - entity: sensor - class: temperature - dps: - - id: 1 - type: integer - name: sensor - unit: C - class: measurement - mapping: - - scale: 10 -secondary_entities: +entities: + - entity: sensor + class: temperature + dps: + - id: 1 + type: integer + name: sensor + unit: C + class: measurement + mapping: + - scale: 10 - entity: sensor class: humidity dps: diff --git a/custom_components/tuya_local/devices/ble_pulido_p13_lock.yaml b/custom_components/tuya_local/devices/ble_pulido_p13_lock.yaml index e48d987ce5..9f4e5f9d2b 100644 --- a/custom_components/tuya_local/devices/ble_pulido_p13_lock.yaml +++ b/custom_components/tuya_local/devices/ble_pulido_p13_lock.yaml @@ -2,68 +2,67 @@ name: Smart Lock products: - id: kdq0tdbz name: Pulido ‎P13 -primary_entity: - entity: lock - dps: - - id: 1 - type: string - name: create_unlock_method - optional: true - sensitive: true - - id: 2 - type: string - name: delete_unlock_method - optional: true - - id: 3 - type: string - name: modify_unlock_method - optional: true - sensitive: true - - id: 12 - type: integer - name: unlock_fingerprint - optional: true - persist: false - - id: 13 - name: unlock_password - type: integer - optional: true - persist: false - - id: 15 - name: unlock_card - type: integer - optional: true - persist: false - - id: 19 - name: unlock_ble - type: integer - optional: true - persist: false - - id: 47 # Lock motor state - name: lock - type: boolean - readonly: true - mapping: - - dps_val: true # Unlocked - value: false - - dps_val: false # Locked - value: true - - id: 55 - type: integer - name: unlock_temp_pwd - optional: true - persist: false - - id: 62 - type: integer - name: unlock_app - optional: true - persist: false - - id: 63 - name: unlock_voice - type: integer - optional: true - persist: false -secondary_entities: +entities: + - entity: lock + dps: + - id: 1 + type: string + name: create_unlock_method + optional: true + sensitive: true + - id: 2 + type: string + name: delete_unlock_method + optional: true + - id: 3 + type: string + name: modify_unlock_method + optional: true + sensitive: true + - id: 12 + type: integer + name: unlock_fingerprint + optional: true + persist: false + - id: 13 + name: unlock_password + type: integer + optional: true + persist: false + - id: 15 + name: unlock_card + type: integer + optional: true + persist: false + - id: 19 + name: unlock_ble + type: integer + optional: true + persist: false + - id: 47 # Lock motor state + name: lock + type: boolean + readonly: true + mapping: + - dps_val: true # Unlocked + value: false + - dps_val: false # Locked + value: true + - id: 55 + type: integer + name: unlock_temp_pwd + optional: true + persist: false + - id: 62 + type: integer + name: unlock_app + optional: true + persist: false + - id: 63 + name: unlock_voice + type: integer + optional: true + persist: false - entity: sensor name: Alert class: enum diff --git a/custom_components/tuya_local/devices/ble_smart_plant_moisture.yaml b/custom_components/tuya_local/devices/ble_smart_plant_moisture.yaml index bc4b38bed6..c52fd4dd0d 100644 --- a/custom_components/tuya_local/devices/ble_smart_plant_moisture.yaml +++ b/custom_components/tuya_local/devices/ble_smart_plant_moisture.yaml @@ -2,16 +2,15 @@ name: Moisture sensor products: - id: gvygg3m8 name: SGS01 -primary_entity: - entity: sensor - name: Soil Moisture - class: moisture - dps: - - id: 3 - name: sensor - type: integer - unit: "%" -secondary_entities: +entities: + - entity: sensor + name: Soil Moisture + class: moisture + dps: + - id: 3 + name: sensor + type: integer + unit: "%" - entity: sensor name: Soil Temperature class: temperature diff --git a/custom_components/tuya_local/devices/ble_solar_light.yaml b/custom_components/tuya_local/devices/ble_solar_light.yaml index 8bd3e6da6a..3a529dc9ae 100644 --- a/custom_components/tuya_local/devices/ble_solar_light.yaml +++ b/custom_components/tuya_local/devices/ble_solar_light.yaml @@ -2,85 +2,84 @@ name: Solar garden light products: - id: bt1raf68 name: Smart Ape solar garden light -primary_entity: - entity: light - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - name: color_mode - type: string - mapping: - - dps_val: white - value: color_temp - - dps_val: colour - value: hs - - dps_val: scene - value: Scene - - dps_val: music - value: Music - - id: 3 - name: brightness - type: integer - range: - min: 10 - max: 1000 - mapping: - - constraint: standby - conditions: - - dps_val: true - value_redirect: standby_brightness - - id: 4 - name: color_temp - type: integer - range: - min: 0 - max: 1000 - mapping: - - target_range: - min: 2700 - max: 6500 - - id: 5 - name: rgbhsv - type: hex - format: - - name: h - bytes: 2 - range: - min: 0 - max: 360 - - name: s - bytes: 2 - range: - min: 0 - max: 1000 - - name: v - bytes: 2 - range: - min: 0 - max: 1000 - - id: 6 - name: scene_data - type: hex - - id: 8 - name: music_data - type: hex - optional: true - - id: 59 - name: standby_brightness - type: integer - optional: true - range: - min: 0 - max: 1000 - hidden: true - - id: 61 - name: standby - type: boolean - hidden: true - optional: true -secondary_entities: +entities: + - entity: light + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + name: color_mode + type: string + mapping: + - dps_val: white + value: color_temp + - dps_val: colour + value: hs + - dps_val: scene + value: Scene + - dps_val: music + value: Music + - id: 3 + name: brightness + type: integer + range: + min: 10 + max: 1000 + mapping: + - constraint: standby + conditions: + - dps_val: true + value_redirect: standby_brightness + - id: 4 + name: color_temp + type: integer + range: + min: 0 + max: 1000 + mapping: + - target_range: + min: 2700 + max: 6500 + - id: 5 + name: rgbhsv + type: hex + format: + - name: h + bytes: 2 + range: + min: 0 + max: 360 + - name: s + bytes: 2 + range: + min: 0 + max: 1000 + - name: v + bytes: 2 + range: + min: 0 + max: 1000 + - id: 6 + name: scene_data + type: hex + - id: 8 + name: music_data + type: hex + optional: true + - id: 59 + name: standby_brightness + type: integer + optional: true + range: + min: 0 + max: 1000 + hidden: true + - id: 61 + name: standby + type: boolean + hidden: true + optional: true - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/ble_tcs024b_smart_plant_moisture.yaml b/custom_components/tuya_local/devices/ble_tcs024b_smart_plant_moisture.yaml index ad63b74dd8..cf1bb00caa 100644 --- a/custom_components/tuya_local/devices/ble_tcs024b_smart_plant_moisture.yaml +++ b/custom_components/tuya_local/devices/ble_tcs024b_smart_plant_moisture.yaml @@ -2,15 +2,14 @@ name: Soil moisture sensor products: - id: j5mynqs3 name: TCS024B -primary_entity: - entity: sensor - class: moisture - dps: - - id: 2 - name: sensor - type: integer - unit: "%" -secondary_entities: +entities: + - entity: sensor + class: moisture + dps: + - id: 2 + name: sensor + type: integer + unit: "%" - entity: sensor class: temperature dps: diff --git a/custom_components/tuya_local/devices/ble_water_valve.yaml b/custom_components/tuya_local/devices/ble_water_valve.yaml index de7d4b326a..d880f585a8 100644 --- a/custom_components/tuya_local/devices/ble_water_valve.yaml +++ b/custom_components/tuya_local/devices/ble_water_valve.yaml @@ -9,26 +9,25 @@ products: name: SOP10 - id: so5ybnw9 name: BWC-495.bt Royal Gardineer -primary_entity: - entity: valve - class: water - dps: - - id: 1 - type: boolean - name: valve - - id: 13 - type: string - name: weather - optional: true - - id: 16 - type: string - name: soak_schedule - optional: true - - id: 17 - type: string - name: irrigation_schedule - optional: true -secondary_entities: +entities: + - entity: valve + class: water + dps: + - id: 1 + type: boolean + name: valve + - id: 13 + type: string + name: weather + optional: true + - id: 16 + type: string + name: soak_schedule + optional: true + - id: 17 + type: string + name: irrigation_schedule + optional: true - entity: switch icon: "mdi:pipe-valve" deprecated: valve diff --git a/custom_components/tuya_local/devices/ble_yl01_watertester.yaml b/custom_components/tuya_local/devices/ble_yl01_watertester.yaml index 54d708699d..b83b6594ad 100644 --- a/custom_components/tuya_local/devices/ble_yl01_watertester.yaml +++ b/custom_components/tuya_local/devices/ble_yl01_watertester.yaml @@ -2,19 +2,18 @@ name: Water quality monitor products: - id: v1jqz5cy name: BLE-YL01 Waterquality tester -primary_entity: - entity: sensor - icon: "mdi:pool-thermometer" - class: temperature - dps: - - id: 2 - type: integer - name: sensor - unit: "°C" - class: measurement - mapping: - - scale: 10 -secondary_entities: +entities: + - entity: sensor + icon: "mdi:pool-thermometer" + class: temperature + dps: + - id: 2 + type: integer + name: sensor + unit: "°C" + class: measurement + mapping: + - scale: 10 - entity: sensor name: TDS dps: diff --git a/custom_components/tuya_local/devices/ble_ysgbs01_lock.yaml b/custom_components/tuya_local/devices/ble_ysgbs01_lock.yaml index 71f7b6ef6b..c29ea37a6d 100644 --- a/custom_components/tuya_local/devices/ble_ysgbs01_lock.yaml +++ b/custom_components/tuya_local/devices/ble_ysgbs01_lock.yaml @@ -2,68 +2,67 @@ name: Door lock products: - id: isk2p555 name: YSG BS01 BLE lock -primary_entity: - entity: lock - dps: - - id: 1 - type: string - name: create_unlock_method - optional: true - sensitive: true - - id: 2 - type: string - name: delete_unlock_method - optional: true - - id: 3 - type: string - name: modify_unlock_method - optional: true - sensitive: true - - id: 6 - type: string - name: bluetooth_unlock - optional: true - - id: 12 - type: integer - name: unlock_fingerprint - optional: true - persist: false - - id: 13 - type: integer - name: unlock_password - optional: true - persist: false - - id: 14 - type: integer - name: unlock_dynamic_pwd - optional: true - persist: false - - id: 19 - type: integer - name: unlock_ble - optional: true - persist: false - - id: 47 - type: boolean - name: lock - optional: true - readonly: true - - id: 55 - type: integer - name: unlock_temp_pwd - optional: true - persist: false - - id: 62 - type: integer - name: unlock_app - optional: true - persist: false - - id: 63 - type: integer - name: unlock_voice - optional: true - persist: false -secondary_entities: +entities: + - entity: lock + dps: + - id: 1 + type: string + name: create_unlock_method + optional: true + sensitive: true + - id: 2 + type: string + name: delete_unlock_method + optional: true + - id: 3 + type: string + name: modify_unlock_method + optional: true + sensitive: true + - id: 6 + type: string + name: bluetooth_unlock + optional: true + - id: 12 + type: integer + name: unlock_fingerprint + optional: true + persist: false + - id: 13 + type: integer + name: unlock_password + optional: true + persist: false + - id: 14 + type: integer + name: unlock_dynamic_pwd + optional: true + persist: false + - id: 19 + type: integer + name: unlock_ble + optional: true + persist: false + - id: 47 + type: boolean + name: lock + optional: true + readonly: true + - id: 55 + type: integer + name: unlock_temp_pwd + optional: true + persist: false + - id: 62 + type: integer + name: unlock_app + optional: true + persist: false + - id: 63 + type: integer + name: unlock_voice + optional: true + persist: false - entity: sensor class: battery category: diagnostic diff --git a/custom_components/tuya_local/devices/blitzwolf_bw_lt31.yaml b/custom_components/tuya_local/devices/blitzwolf_bw_lt31.yaml index 274e1878fc..3c234295eb 100644 --- a/custom_components/tuya_local/devices/blitzwolf_bw_lt31.yaml +++ b/custom_components/tuya_local/devices/blitzwolf_bw_lt31.yaml @@ -2,56 +2,55 @@ name: LED strip products: - id: khu3zzkkjemj6oat name: Blitzwolf BW-LT31 -primary_entity: - entity: light - icon: "mdi:led-strip-variant" - dps: - - id: 20 - type: boolean - name: switch - - id: 21 - type: string - name: color_mode - mapping: - - dps_val: dynamic_mod - value: Dynamic - - dps_val: color - value: hs - - dps_val: scene_mod - value: Scene - - dps_val: music - value: Music - - id: 22 - name: brightness - type: integer - optional: true - range: - min: 10 - max: 1000 - - id: 24 - name: rgbhsv - type: hex - optional: true - format: - - name: h - bytes: 2 - range: - min: 0 - max: 360 - - name: s - bytes: 2 - range: - min: 0 - max: 1000 - - name: v - bytes: 2 - range: - min: 0 - max: 1000 - - id: 103 - name: line_sequence_adjustment - type: integer -secondary_entities: +entities: + - entity: light + icon: "mdi:led-strip-variant" + dps: + - id: 20 + type: boolean + name: switch + - id: 21 + type: string + name: color_mode + mapping: + - dps_val: dynamic_mod + value: Dynamic + - dps_val: color + value: hs + - dps_val: scene_mod + value: Scene + - dps_val: music + value: Music + - id: 22 + name: brightness + type: integer + optional: true + range: + min: 10 + max: 1000 + - id: 24 + name: rgbhsv + type: hex + optional: true + format: + - name: h + bytes: 2 + range: + min: 0 + max: 360 + - name: s + bytes: 2 + range: + min: 0 + max: 1000 + - name: v + bytes: 2 + range: + min: 0 + max: 1000 + - id: 103 + name: line_sequence_adjustment + type: integer - entity: select name: Music icon: "mdi:palette" diff --git a/custom_components/tuya_local/devices/blitzwolf_bwis6_alarm.yaml b/custom_components/tuya_local/devices/blitzwolf_bwis6_alarm.yaml index ee320d2c83..b22ea8dd46 100644 --- a/custom_components/tuya_local/devices/blitzwolf_bwis6_alarm.yaml +++ b/custom_components/tuya_local/devices/blitzwolf_bwis6_alarm.yaml @@ -2,25 +2,24 @@ name: Alarm system products: - id: gcymopbbssihh6h2 name: BlitzWolf BW-IS6 -primary_entity: - entity: alarm_control_panel - dps: - - id: 1 - type: string - name: alarm_state - mapping: - - dps_val: disarmed - value: disarmed - - dps_val: arm - value: arm_away - - dps_val: home - value: arm_home - - dps_val: sos - value: triggered - - id: 38 - type: string - name: sub_admin -secondary_entities: +entities: + - entity: alarm_control_panel + dps: + - id: 1 + type: string + name: alarm_state + mapping: + - dps_val: disarmed + value: disarmed + - dps_val: arm + value: arm_away + - dps_val: home + value: arm_home + - dps_val: sos + value: triggered + - id: 38 + type: string + name: sub_admin - entity: number name: Exit delay category: config diff --git a/custom_components/tuya_local/devices/blitzwolf_bwsh2_humidifier.yaml b/custom_components/tuya_local/devices/blitzwolf_bwsh2_humidifier.yaml index af75e09d10..48e3567b6a 100644 --- a/custom_components/tuya_local/devices/blitzwolf_bwsh2_humidifier.yaml +++ b/custom_components/tuya_local/devices/blitzwolf_bwsh2_humidifier.yaml @@ -1,33 +1,33 @@ # sample DPS {'1': False, '3': 'grade1', '6': 'close', 19: 'cancel'} -name: BlitzWolf BWSH2 humidifier +name: Humidifier products: - id: 20268362d8bfc0080ec9 -primary_entity: - entity: fan - icon: "mdi:humidifier" - dps: - - id: 1 - name: switch - type: boolean - - id: 3 - name: speed - type: string - mapping: - - dps_val: sleep - value: 10 - - dps_val: grade1 - value: 25 - - dps_val: grade2 - value: 40 - - dps_val: grade3 - value: 55 - - dps_val: grade4 - value: 70 - - dps_val: grade5 - value: 85 - - dps_val: grade6 - value: 100 -secondary_entities: + name: BlitzWolf BWSH2 +entities: + - entity: fan + icon: "mdi:humidifier" + dps: + - id: 1 + name: switch + type: boolean + - id: 3 + name: speed + type: string + mapping: + - dps_val: sleep + value: 10 + - dps_val: grade1 + value: 25 + - dps_val: grade2 + value: 40 + - dps_val: grade3 + value: 55 + - dps_val: grade4 + value: 70 + - dps_val: grade5 + value: 85 + - dps_val: grade6 + value: 100 - entity: light dps: - id: 6 diff --git a/custom_components/tuya_local/devices/blitzwolf_bwsh5_humidifier.yaml b/custom_components/tuya_local/devices/blitzwolf_bwsh5_humidifier.yaml index aa49562532..43fd3420ec 100644 --- a/custom_components/tuya_local/devices/blitzwolf_bwsh5_humidifier.yaml +++ b/custom_components/tuya_local/devices/blitzwolf_bwsh5_humidifier.yaml @@ -2,44 +2,43 @@ name: Humidifier products: - id: lqzme7o0kzhumdxr name: BlitzWolf BWSH5 -primary_entity: - entity: humidifier - class: humidifier - dps: - - id: 1 - name: switch - type: boolean - - id: 4 - name: mode - type: string - mapping: - - dps_val: auto - value: auto - - dps_val: health - value: comfort - - dps_val: baby - value: baby - - dps_val: sleep - value: sleep - - dps_val: humidity - value: eco - - dps_val: work - value: boost - - dps_val: manual - value: normal - - id: 13 - name: humidity - type: integer - optional: true - range: - min: 35 - max: 75 - mapping: - - step: 5 - - id: 14 - name: current_humidity - type: integer -secondary_entities: +entities: + - entity: humidifier + class: humidifier + dps: + - id: 1 + name: switch + type: boolean + - id: 4 + name: mode + type: string + mapping: + - dps_val: auto + value: auto + - dps_val: health + value: comfort + - dps_val: baby + value: baby + - dps_val: sleep + value: sleep + - dps_val: humidity + value: eco + - dps_val: work + value: boost + - dps_val: manual + value: normal + - id: 13 + name: humidity + type: integer + optional: true + range: + min: 35 + max: 75 + mapping: + - step: 5 + - id: 14 + name: current_humidity + type: integer - entity: switch translation_key: uv_sterilization category: config diff --git a/custom_components/tuya_local/devices/blitzwolf_bwshp6_smartplug.yaml b/custom_components/tuya_local/devices/blitzwolf_bwshp6_smartplug.yaml index a877ac5483..b90a364ac1 100644 --- a/custom_components/tuya_local/devices/blitzwolf_bwshp6_smartplug.yaml +++ b/custom_components/tuya_local/devices/blitzwolf_bwshp6_smartplug.yaml @@ -1,24 +1,23 @@ name: Smartplug -primary_entity: - entity: switch - class: outlet - dps: - - id: 1 - name: switch - type: boolean - - id: 21 - name: factory_test - type: bitfield - - id: 41 - name: cycle_time - type: base64 - - id: 42 - name: random_time - type: base64 - - id: 43 - name: inching - type: base64 -secondary_entities: +entities: + - entity: switch + class: outlet + dps: + - id: 1 + name: switch + type: boolean + - id: 21 + name: factory_test + type: bitfield + - id: 41 + name: cycle_time + type: base64 + - id: 42 + name: random_time + type: base64 + - id: 43 + name: inching + type: base64 - entity: sensor name: Energy category: diagnostic diff --git a/custom_components/tuya_local/devices/blitzwolf_bwshp9_powerstrip.yaml b/custom_components/tuya_local/devices/blitzwolf_bwshp9_powerstrip.yaml index b94d1dc557..c78aab8ec5 100644 --- a/custom_components/tuya_local/devices/blitzwolf_bwshp9_powerstrip.yaml +++ b/custom_components/tuya_local/devices/blitzwolf_bwshp9_powerstrip.yaml @@ -2,17 +2,16 @@ name: 3 outlet + USB powerstrip products: - id: 4es44udrj48pqtlb name: BlitzWolf SHP-9 -primary_entity: - entity: switch - class: outlet - translation_key: outlet_x - translation_placeholders: - x: "1" - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + class: outlet + translation_key: outlet_x + translation_placeholders: + x: "1" + dps: + - id: 1 + type: boolean + name: switch - entity: switch translation_key: outlet_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/blumfeldt_cosmicbeam_heater.yaml b/custom_components/tuya_local/devices/blumfeldt_cosmicbeam_heater.yaml index 68bac2ea2d..179178786d 100644 --- a/custom_components/tuya_local/devices/blumfeldt_cosmicbeam_heater.yaml +++ b/custom_components/tuya_local/devices/blumfeldt_cosmicbeam_heater.yaml @@ -2,50 +2,49 @@ name: Heater products: - id: maxyau6xjalwq5id name: Blumfeltd Cosmic Beam Smart 24 IR radiant heater -primary_entity: - entity: climate - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: heat - - id: 2 - name: temperature - type: integer - range: - min: 5 - max: 45 - mapping: - - constraint: temperature_unit - conditions: - - dps_val: true - range: - min: 41 - max: 113 - - id: 3 - name: current_temperature - type: integer - - id: 4 - name: preset_mode - type: string - mapping: - - dps_val: low - value: eco - - dps_val: high - value: boost - - id: 101 - name: temperature_unit - type: boolean - mapping: - - dps_val: false - value: C - - dps_val: true - value: F -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: heat + - id: 2 + name: temperature + type: integer + range: + min: 5 + max: 45 + mapping: + - constraint: temperature_unit + conditions: + - dps_val: true + range: + min: 41 + max: 113 + - id: 3 + name: current_temperature + type: integer + - id: 4 + name: preset_mode + type: string + mapping: + - dps_val: low + value: eco + - dps_val: high + value: boost + - id: 101 + name: temperature_unit + type: boolean + mapping: + - dps_val: false + value: C + - dps_val: true + value: F - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/bneta_f1d_petfeeder.yaml b/custom_components/tuya_local/devices/bneta_f1d_petfeeder.yaml index df4cfa3e16..51fb8e5303 100644 --- a/custom_components/tuya_local/devices/bneta_f1d_petfeeder.yaml +++ b/custom_components/tuya_local/devices/bneta_f1d_petfeeder.yaml @@ -2,15 +2,14 @@ name: Pet feeder products: - id: aehfntztbgk0nf8e name: BNETA F1-D -primary_entity: - entity: light - translation_key: indicator - category: config - dps: - - id: 101 - type: boolean - name: switch -secondary_entities: +entities: + - entity: light + translation_key: indicator + category: config + dps: + - id: 101 + type: boolean + name: switch - entity: switch name: Flip image icon: "mdi:flip-horizontal" diff --git a/custom_components/tuya_local/devices/bonaire_heater.yaml b/custom_components/tuya_local/devices/bonaire_heater.yaml index c62f496abb..af03202eea 100644 --- a/custom_components/tuya_local/devices/bonaire_heater.yaml +++ b/custom_components/tuya_local/devices/bonaire_heater.yaml @@ -2,40 +2,38 @@ name: Electric Heater products: - id: xto0qf9xem5bi7sj name: Bonaire HPC5200020 -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: true - value: "heat" - - dps_val: false - value: "off" - - id: 2 - name: temperature - type: integer - unit: C - range: - min: 5 - max: 35 - - id: 3 - name: current_temperature - type: integer - - id: 4 - name: preset_mode - type: string - mapping: - - dps_val: low - value: eco - - dps_val: high - value: boost - - dps_val: af - value: away - -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: true + value: "heat" + - dps_val: false + value: "off" + - id: 2 + name: temperature + type: integer + unit: C + range: + min: 5 + max: 35 + - id: 3 + name: current_temperature + type: integer + - id: 4 + name: preset_mode + type: string + mapping: + - dps_val: low + value: eco + - dps_val: high + value: boost + - dps_val: af + value: away - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/brade_mc6_thermostat.yaml b/custom_components/tuya_local/devices/brade_mc6_thermostat.yaml index f291787d58..e16054f0ea 100644 --- a/custom_components/tuya_local/devices/brade_mc6_thermostat.yaml +++ b/custom_components/tuya_local/devices/brade_mc6_thermostat.yaml @@ -2,132 +2,131 @@ name: HVAC thermostat products: - id: jnchsgfzhp5wytun name: Brade MC6 -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: Cool - value: cool - - dps_val: Heat - value: heat - - dps_val: Vent - value: fan_only - - dps_val: Dehumid - value: dry - - dps_val: Auto - value: heat_cool - - id: 2 - type: string - name: fan_mode - mapping: - - dps_val: low - value: low - - dps_val: med - value: medium - - dps_val: high - value: high - - dps_val: auto - value: auto - - id: 3 - type: string - name: hvac_action - - id: 16 - type: integer - name: temperature - range: - min: 50 - max: 990 - mapping: - - scale: 10 - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: temp_set_f - range: - min: 410 - max: 1220 - - id: 17 - type: integer - name: temp_set_f - range: - min: 410 - max: 1220 - mapping: - - scale: 10 - hidden: true - - id: 18 - type: integer - name: max_temp_f - hidden: true - mapping: - - scale: 10 - - id: 19 - type: integer - name: max_temperature - mapping: - - scale: 10 - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: max_temp_f - - id: 20 - type: integer - name: min_temp_f - hidden: true - mapping: - - scale: 10 - - id: 23 - type: string - name: temperature_unit - mapping: - - dps_val: f - value: F - - dps_val: c - value: C - - id: 24 - type: integer - name: current_temperature - mapping: - - scale: 10 - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: temp_current_f - - id: 25 - type: integer - name: current_humidity - - id: 26 - type: integer - name: min_temperature - mapping: - - scale: 10 - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: min_temp_f - - id: 29 - type: integer - name: temp_current_f - hidden: true - mapping: - - scale: 10 - - id: 64 - type: string - name: mode - hidden: true - - id: 69 - type: string - name: program - optional: true -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: Cool + value: cool + - dps_val: Heat + value: heat + - dps_val: Vent + value: fan_only + - dps_val: Dehumid + value: dry + - dps_val: Auto + value: heat_cool + - id: 2 + type: string + name: fan_mode + mapping: + - dps_val: low + value: low + - dps_val: med + value: medium + - dps_val: high + value: high + - dps_val: auto + value: auto + - id: 3 + type: string + name: hvac_action + - id: 16 + type: integer + name: temperature + range: + min: 50 + max: 990 + mapping: + - scale: 10 + constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: temp_set_f + range: + min: 410 + max: 1220 + - id: 17 + type: integer + name: temp_set_f + range: + min: 410 + max: 1220 + mapping: + - scale: 10 + hidden: true + - id: 18 + type: integer + name: max_temp_f + hidden: true + mapping: + - scale: 10 + - id: 19 + type: integer + name: max_temperature + mapping: + - scale: 10 + constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: max_temp_f + - id: 20 + type: integer + name: min_temp_f + hidden: true + mapping: + - scale: 10 + - id: 23 + type: string + name: temperature_unit + mapping: + - dps_val: f + value: F + - dps_val: c + value: C + - id: 24 + type: integer + name: current_temperature + mapping: + - scale: 10 + constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: temp_current_f + - id: 25 + type: integer + name: current_humidity + - id: 26 + type: integer + name: min_temperature + mapping: + - scale: 10 + constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: min_temp_f + - id: 29 + type: integer + name: temp_current_f + hidden: true + mapping: + - scale: 10 + - id: 64 + type: string + name: mode + hidden: true + - id: 69 + type: string + name: program + optional: true - entity: number name: Maximum temperature category: config diff --git a/custom_components/tuya_local/devices/bresser_smart_thermo_hygrometer.yaml b/custom_components/tuya_local/devices/bresser_smart_thermo_hygrometer.yaml index 268ca2a408..e9b32803cc 100644 --- a/custom_components/tuya_local/devices/bresser_smart_thermo_hygrometer.yaml +++ b/custom_components/tuya_local/devices/bresser_smart_thermo_hygrometer.yaml @@ -2,18 +2,17 @@ name: Thermo hygrometer products: - id: xpxdr5q6vc8aztq0 name: Bresser 7-channel -primary_entity: - entity: sensor - class: temperature - dps: - - id: 1 - name: sensor - type: integer - unit: C - mapping: - - scale: 10 - class: measurement -secondary_entities: +entities: + - entity: sensor + class: temperature + dps: + - id: 1 + name: sensor + type: integer + unit: C + mapping: + - scale: 10 + class: measurement - entity: sensor class: humidity dps: diff --git a/custom_components/tuya_local/devices/bresser_weather_station.yaml b/custom_components/tuya_local/devices/bresser_weather_station.yaml index 0fb9479065..645c174081 100644 --- a/custom_components/tuya_local/devices/bresser_weather_station.yaml +++ b/custom_components/tuya_local/devices/bresser_weather_station.yaml @@ -4,23 +4,22 @@ name: Weather station products: - id: 8qk6p78udvbjwlof name: Bresser C6085A -primary_entity: - entity: sensor - name: Indoor temperature - class: temperature - dps: - - id: 1 - <<: &temperature - type: integer - name: sensor - unit: C - mapping: - - scale: 10 - class: measurement - - id: 68 - type: string - name: com_index -secondary_entities: +entities: + - entity: sensor + name: Indoor temperature + class: temperature + dps: + - id: 1 + <<: &temperature + type: integer + name: sensor + unit: C + mapping: + - scale: 10 + class: measurement + - id: 68 + type: string + name: com_index - entity: sensor name: Indoor humidity class: humidity diff --git a/custom_components/tuya_local/devices/breville_airdynamic3d_fan.yaml b/custom_components/tuya_local/devices/breville_airdynamic3d_fan.yaml index cd2d8085e3..68bb9e6cdf 100644 --- a/custom_components/tuya_local/devices/breville_airdynamic3d_fan.yaml +++ b/custom_components/tuya_local/devices/breville_airdynamic3d_fan.yaml @@ -2,38 +2,37 @@ name: Air circulator products: - id: wpkdomrtayuzuqvc name: Breville AirDynamic 3D -primary_entity: - entity: fan - dps: - - id: 1 - type: boolean - name: switch - - id: 3 - type: integer - name: speed - range: - min: 0 - max: 8 - - id: 2 - type: string - name: preset_mode - mapping: - - dps_val: NORMAL - value: normal - - dps_val: NATURAL_N1 - value: Natural 1 - - dps_val: NATURAL_N2 - value: Natural 2 - - dps_val: NATURAL_N3 - value: Natural 3 - - dps_val: ECO - value: smart - - dps_val: TURBO - value: strong - - id: 5 - type: boolean - name: oscillate -secondary_entities: +entities: + - entity: fan + dps: + - id: 1 + type: boolean + name: switch + - id: 3 + type: integer + name: speed + range: + min: 0 + max: 8 + - id: 2 + type: string + name: preset_mode + mapping: + - dps_val: NORMAL + value: normal + - dps_val: NATURAL_N1 + value: Natural 1 + - dps_val: NATURAL_N2 + value: Natural 2 + - dps_val: NATURAL_N3 + value: Natural 3 + - dps_val: ECO + value: smart + - dps_val: TURBO + value: strong + - id: 5 + type: boolean + name: oscillate - entity: switch name: Vertical oscillation icon: "mdi:swap-vertical" diff --git a/custom_components/tuya_local/devices/breville_easyair_purifier.yaml b/custom_components/tuya_local/devices/breville_easyair_purifier.yaml index ed9b93da03..b29e02fc36 100644 --- a/custom_components/tuya_local/devices/breville_easyair_purifier.yaml +++ b/custom_components/tuya_local/devices/breville_easyair_purifier.yaml @@ -1,26 +1,26 @@ -name: Breville Easy Air +name: Air purifier products: - id: k2mlahbu9v4xxdlb -primary_entity: - entity: fan - icon: "mdi:air-purifier" - dps: - - id: 1 - name: switch - type: boolean - - id: 4 - type: string - name: speed - mapping: - - dps_val: low - value: 25 - - dps_val: mid - value: 50 - - dps_val: high - value: 75 - - dps_val: turbo - value: 100 -secondary_entities: + name: Breville Easy Air +entities: + - entity: fan + icon: "mdi:air-purifier" + dps: + - id: 1 + name: switch + type: boolean + - id: 4 + type: string + name: speed + mapping: + - dps_val: low + value: 25 + - dps_val: mid + value: 50 + - dps_val: high + value: 75 + - dps_val: turbo + value: 100 - entity: switch name: Night mode category: config diff --git a/custom_components/tuya_local/devices/breville_lad208_dehumidifier.yaml b/custom_components/tuya_local/devices/breville_lad208_dehumidifier.yaml index 2ec4df663d..9eca62343b 100644 --- a/custom_components/tuya_local/devices/breville_lad208_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/breville_lad208_dehumidifier.yaml @@ -2,46 +2,45 @@ name: Dehumidifier products: - id: 6cad6hhp5kbwbtyq name: Breville Smart Dry Connect Dehumidifier (LAD208) -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - name: switch - type: boolean - mapping: - - dps_val: false - icon: "mdi:air-humidifier-off" - icon_priority: 2 - - dps_val: true - icon: "mdi:air-humidifier" - icon_priority: 4 - - id: 2 - name: mode - type: string - mapping: - - dps_val: 0 - value: "auto" - - dps_val: 1 - value: "boost" - - dps_val: 2 - value: "laundry" - icon: "mdi:t-shirt-crew" - icon_priority: 3 - - dps_val: 3 - value: "purify" - - id: 4 - name: humidity - type: integer - range: - min: 30 - max: 80 - mapping: - - step: 5 - - id: 104 - type: integer - name: current_humidity -secondary_entities: +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + name: switch + type: boolean + mapping: + - dps_val: false + icon: "mdi:air-humidifier-off" + icon_priority: 2 + - dps_val: true + icon: "mdi:air-humidifier" + icon_priority: 4 + - id: 2 + name: mode + type: string + mapping: + - dps_val: 0 + value: "auto" + - dps_val: 1 + value: "boost" + - dps_val: 2 + value: "laundry" + icon: "mdi:t-shirt-crew" + icon_priority: 3 + - dps_val: 3 + value: "purify" + - id: 4 + name: humidity + type: integer + range: + min: 30 + max: 80 + mapping: + - step: 5 + - id: 104 + type: integer + name: current_humidity - entity: fan name: Fan category: config diff --git a/custom_components/tuya_local/devices/breville_smart_air_viral_protect_plus.yaml b/custom_components/tuya_local/devices/breville_smart_air_viral_protect_plus.yaml index cc8aca225c..1f35c0e0e6 100644 --- a/custom_components/tuya_local/devices/breville_smart_air_viral_protect_plus.yaml +++ b/custom_components/tuya_local/devices/breville_smart_air_viral_protect_plus.yaml @@ -1,37 +1,37 @@ -name: Breville Smart Air Plus +name: Air purifier products: - id: "emh1sylyfw7n2b50" -primary_entity: - entity: fan - translation_only_key: fan_with_presets - icon: "mdi:air-purifier" - dps: - - id: 1 - name: switch - type: boolean - - id: 3 - type: string - name: preset_mode - mapping: - - dps_val: auto - value: smart - - dps_val: manual - value: normal - - dps_val: sleep - value: sleep - - id: 4 - type: string - name: speed - mapping: - - dps_val: "low" - value: 25 - - dps_val: "mid" - value: 50 - - dps_val: "high" - value: 75 - - dps_val: "tubo" # there's a typo in the firmware - value: 100 -secondary_entities: + name: Breville Smart Air Plus +entities: + - entity: fan + translation_only_key: fan_with_presets + icon: "mdi:air-purifier" + dps: + - id: 1 + name: switch + type: boolean + - id: 3 + type: string + name: preset_mode + mapping: + - dps_val: auto + value: smart + - dps_val: manual + value: normal + - dps_val: sleep + value: sleep + - id: 4 + type: string + name: speed + mapping: + - dps_val: "low" + value: 25 + - dps_val: "mid" + value: 50 + - dps_val: "high" + value: 75 + - dps_val: "tubo" # there's a typo in the firmware + value: 100 - entity: sensor class: pm25 dps: diff --git a/custom_components/tuya_local/devices/breville_smartairconnect_purifier.yaml b/custom_components/tuya_local/devices/breville_smartairconnect_purifier.yaml index 8912dd6be9..a64dbdeee1 100644 --- a/custom_components/tuya_local/devices/breville_smartairconnect_purifier.yaml +++ b/custom_components/tuya_local/devices/breville_smartairconnect_purifier.yaml @@ -1,33 +1,33 @@ -name: Breville Smart Air Connect Purifier +name: Air purifier products: - id: tltdxtehttjbkjni -primary_entity: - entity: fan - translation_only_key: fan_with_presets - icon: "mdi:air-purifier" - dps: - - id: 1 - name: switch - type: boolean - - id: 3 - name: preset_mode - type: string - mapping: - - dps_val: manual - value: normal - - dps_val: auto - value: smart - - id: 4 - type: string - name: speed - mapping: - - dps_val: low - value: 33 - - dps_val: mid - value: 66 - - dps_val: high - value: 100 -secondary_entities: + name: Breville Smart Air Connect +entities: + - entity: fan + translation_only_key: fan_with_presets + icon: "mdi:air-purifier" + dps: + - id: 1 + name: switch + type: boolean + - id: 3 + name: preset_mode + type: string + mapping: + - dps_val: manual + value: normal + - dps_val: auto + value: smart + - id: 4 + type: string + name: speed + mapping: + - dps_val: low + value: 33 + - dps_val: mid + value: 66 + - dps_val: high + value: 100 - entity: sensor class: pm25 dps: diff --git a/custom_components/tuya_local/devices/briliant_fan_light.yaml b/custom_components/tuya_local/devices/briliant_fan_light.yaml index e6d6a787d5..b890f16b98 100644 --- a/custom_components/tuya_local/devices/briliant_fan_light.yaml +++ b/custom_components/tuya_local/devices/briliant_fan_light.yaml @@ -2,36 +2,35 @@ name: Ceiling Fan products: - id: q0czoqfxdjynmkgj name: Brilliant Smart Ceiling Fan -primary_entity: - entity: fan - translation_key: fan_with_presets - dps: - - id: 1 - name: switch - type: boolean - - id: 3 - name: speed - type: string - mapping: - - dps_val: "1" - value: 33 - - dps_val: "2" - value: 66 - - dps_val: "3" - value: 100 - - id: 2 - name: preset_mode - type: string - mapping: - - dps_val: Normal - value: normal - - dps_val: Sleep - value: sleep - - dps_val: WakeUp - value: fresh - - dps_val: Nature - value: nature -secondary_entities: +entities: + - entity: fan + translation_key: fan_with_presets + dps: + - id: 1 + name: switch + type: boolean + - id: 3 + name: speed + type: string + mapping: + - dps_val: "1" + value: 33 + - dps_val: "2" + value: 66 + - dps_val: "3" + value: 100 + - id: 2 + name: preset_mode + type: string + mapping: + - dps_val: Normal + value: normal + - dps_val: Sleep + value: sleep + - dps_val: WakeUp + value: fresh + - dps_val: Nature + value: nature - entity: light dps: - id: 9 diff --git a/custom_components/tuya_local/devices/brilliant_double_switch.yaml b/custom_components/tuya_local/devices/brilliant_double_switch.yaml index fa3bfd56e1..bc2d3ee2e5 100644 --- a/custom_components/tuya_local/devices/brilliant_double_switch.yaml +++ b/custom_components/tuya_local/devices/brilliant_double_switch.yaml @@ -2,17 +2,16 @@ name: Double wall switch products: - id: 5pyb1usxij5kzs47 name: Briliiant Smart glass wall switch 2-gang -primary_entity: - entity: switch - class: switch - translation_key: switch_x - translation_placeholders: - x: "1" - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + class: switch + translation_key: switch_x + translation_placeholders: + x: "1" + dps: + - id: 1 + type: boolean + name: switch - entity: switch class: switch translation_key: switch_x diff --git a/custom_components/tuya_local/devices/brilliant_quad_powerstrip_usb.yaml b/custom_components/tuya_local/devices/brilliant_quad_powerstrip_usb.yaml index e63b7355c9..1a09f3d5f3 100644 --- a/custom_components/tuya_local/devices/brilliant_quad_powerstrip_usb.yaml +++ b/custom_components/tuya_local/devices/brilliant_quad_powerstrip_usb.yaml @@ -2,17 +2,16 @@ name: Quad powerstrip with USB products: - id: keyphg5es7xsedyr name: Brilliant Smart Quad Powerstrip with USB -primary_entity: - entity: switch - translation_key: outlet_x - translation_placeholders: - x: "1" - class: outlet - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + translation_key: outlet_x + translation_placeholders: + x: "1" + class: outlet + dps: + - id: 1 + type: boolean + name: switch - entity: switch translation_key: outlet_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/brilliant_quad_switch.yaml b/custom_components/tuya_local/devices/brilliant_quad_switch.yaml index fedeaf3f67..5744ed5087 100644 --- a/custom_components/tuya_local/devices/brilliant_quad_switch.yaml +++ b/custom_components/tuya_local/devices/brilliant_quad_switch.yaml @@ -2,17 +2,16 @@ name: Quad wall switch products: - id: kopqi7ax9pwi7nr2 name: Brilliant Smart glass wall switch 4-gang -primary_entity: - entity: switch - class: switch - translation_key: switch_x - translation_placeholders: - x: "1" - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + class: switch + translation_key: switch_x + translation_placeholders: + x: "1" + dps: + - id: 1 + type: boolean + name: switch - entity: switch class: switch translation_key: switch_x diff --git a/custom_components/tuya_local/devices/brilliant_single_switch.yaml b/custom_components/tuya_local/devices/brilliant_single_switch.yaml index bf2ad5780e..5b96b00899 100644 --- a/custom_components/tuya_local/devices/brilliant_single_switch.yaml +++ b/custom_components/tuya_local/devices/brilliant_single_switch.yaml @@ -2,14 +2,13 @@ name: Wall switch products: - id: me0f991hyvz5uaew name: Briliiant Smart glass wall switch 1-gang -primary_entity: - entity: switch - class: switch - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + class: switch + dps: + - id: 1 + type: boolean + name: switch - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/brilliant_triple_switch.yaml b/custom_components/tuya_local/devices/brilliant_triple_switch.yaml index f2fc4af4dc..769e7be11c 100644 --- a/custom_components/tuya_local/devices/brilliant_triple_switch.yaml +++ b/custom_components/tuya_local/devices/brilliant_triple_switch.yaml @@ -2,17 +2,16 @@ name: Triple wall switch products: - id: o2epqysxigahd7mn name: Briliiant Smart glass wall switch 3-gang -primary_entity: - entity: switch - class: switch - translation_key: switch_x - translation_placeholders: - x: "1" - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + class: switch + translation_key: switch_x + translation_placeholders: + x: "1" + dps: + - id: 1 + type: boolean + name: switch - entity: switch class: switch translation_key: switch_x diff --git a/custom_components/tuya_local/devices/brizlabs_string_lights.yaml b/custom_components/tuya_local/devices/brizlabs_string_lights.yaml index 21b4894d10..e3b36150e8 100644 --- a/custom_components/tuya_local/devices/brizlabs_string_lights.yaml +++ b/custom_components/tuya_local/devices/brizlabs_string_lights.yaml @@ -2,40 +2,39 @@ name: String lights # products: # - id: UNKNOWN # name: Brizlabs string lights -primary_entity: - entity: light - dps: - - id: 20 - type: boolean - name: switch - - id: 21 - type: string - name: effect - mapping: - - dps_val: colour - value: "off" - - dps_val: scene - value: Scene - - id: 24 - name: rgbhsv - type: hex - format: - - name: h - bytes: 2 - range: - min: 0 - max: 360 - - name: s - bytes: 2 - range: - min: 0 - max: 1000 - - name: v - bytes: 2 - range: - min: 0 - max: 1000 -secondary_entities: +entities: + - entity: light + dps: + - id: 20 + type: boolean + name: switch + - id: 21 + type: string + name: effect + mapping: + - dps_val: colour + value: "off" + - dps_val: scene + value: Scene + - id: 24 + name: rgbhsv + type: hex + format: + - name: h + bytes: 2 + range: + min: 0 + max: 360 + - name: s + bytes: 2 + range: + min: 0 + max: 1000 + - name: v + bytes: 2 + range: + min: 0 + max: 1000 - entity: select name: Scene icon: "mdi:palette" diff --git a/custom_components/tuya_local/devices/bstuokey_access_keypad.yaml b/custom_components/tuya_local/devices/bstuokey_access_keypad.yaml index db815184f2..4b951d99c7 100644 --- a/custom_components/tuya_local/devices/bstuokey_access_keypad.yaml +++ b/custom_components/tuya_local/devices/bstuokey_access_keypad.yaml @@ -2,48 +2,47 @@ name: Access control keypad products: - id: 5k8h97qska6pf5cm name: BSTUOKEY keypad -primary_entity: - entity: lock - dps: - - id: 104 - type: boolean - name: lock - optional: true - mapping: - - dps_val: true - value: false - - dps_val: false - value: true - - id: 10 - type: string - optional: true - persist: false - name: unlock_fingerprint - - id: 11 - type: string - optional: true - persist: false - name: unlock_password - - id: 12 - type: string - optional: true - persist: false - name: unlock_card - - id: 16 - type: string - optional: true - persist: false - name: unlock_temp_pwd - - id: 17 - type: string - optional: true - persist: false - name: unlock_offline_pwd - - id: 23 - type: string - optional: true - name: alarm_record -secondary_entities: +entities: + - entity: lock + dps: + - id: 104 + type: boolean + name: lock + optional: true + mapping: + - dps_val: true + value: false + - dps_val: false + value: true + - id: 10 + type: string + optional: true + persist: false + name: unlock_fingerprint + - id: 11 + type: string + optional: true + persist: false + name: unlock_password + - id: 12 + type: string + optional: true + persist: false + name: unlock_card + - id: 16 + type: string + optional: true + persist: false + name: unlock_temp_pwd + - id: 17 + type: string + optional: true + persist: false + name: unlock_offline_pwd + - id: 23 + type: string + optional: true + name: alarm_record - entity: number name: Doorbell volume icon: "mdi:bell" diff --git a/custom_components/tuya_local/devices/bstuokey_invisible_lock.yaml b/custom_components/tuya_local/devices/bstuokey_invisible_lock.yaml index 75b69b24e6..4e65f1a50a 100644 --- a/custom_components/tuya_local/devices/bstuokey_invisible_lock.yaml +++ b/custom_components/tuya_local/devices/bstuokey_invisible_lock.yaml @@ -2,64 +2,63 @@ name: Door lock products: - id: kpn4zaf7 name: BSTUOKEY RX2052 invisible induction lock -primary_entity: - entity: lock - dps: - - id: 1 - type: string - optional: true - sensitive: true - name: unlock_method_create - - id: 2 - type: string - optional: true - name: unlock_method_delete - - id: 3 - type: string - optional: true - sensitive: true - name: unlock_method_modify - - id: 15 - type: integer - optional: true - persist: false - name: unlock_card - - id: 19 - type: integer - optional: true - persist: false - name: unlock_ble - - id: 21 - type: string - optional: true - persist: false - name: jammed - mapping: - - dps_val: tongue_bad - value: true - - dps_val: tongue_not_out - value: true - - value: false - - id: 47 - type: boolean - readonly: true - name: lock - - id: 54 - type: string - optional: true - sensitive: true - name: synch_method - - id: 70 - type: string - optional: true - sensitive: true - name: check_code_set - - id: 71 - type: string - optional: true - sensitive: true - name: ble_unlock_check -secondary_entities: +entities: + - entity: lock + dps: + - id: 1 + type: string + optional: true + sensitive: true + name: unlock_method_create + - id: 2 + type: string + optional: true + name: unlock_method_delete + - id: 3 + type: string + optional: true + sensitive: true + name: unlock_method_modify + - id: 15 + type: integer + optional: true + persist: false + name: unlock_card + - id: 19 + type: integer + optional: true + persist: false + name: unlock_ble + - id: 21 + type: string + optional: true + persist: false + name: jammed + mapping: + - dps_val: tongue_bad + value: true + - dps_val: tongue_not_out + value: true + - value: false + - id: 47 + type: boolean + readonly: true + name: lock + - id: 54 + type: string + optional: true + sensitive: true + name: synch_method + - id: 70 + type: string + optional: true + sensitive: true + name: check_code_set + - id: 71 + type: string + optional: true + sensitive: true + name: ble_unlock_check - entity: sensor class: battery category: diagnostic diff --git a/custom_components/tuya_local/devices/bvf_cp1_heater.yaml b/custom_components/tuya_local/devices/bvf_cp1_heater.yaml index ac288a067f..80fa6d1f1e 100644 --- a/custom_components/tuya_local/devices/bvf_cp1_heater.yaml +++ b/custom_components/tuya_local/devices/bvf_cp1_heater.yaml @@ -2,50 +2,49 @@ name: Heater products: - id: t2htqaryl4gymeuv name: BVP CP-1 -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: heat - - id: 2 - type: string - name: preset_mode - mapping: - - dps_val: hot - value: comfort - - dps_val: eco - value: eco - - dps_val: cold - value: away - - dps_val: auto - value: home - - id: 3 - type: string - optional: true - name: hvac_action - mapping: - - dps_val: heating - value: heating - - dps_val: standby - value: idle - - id: 16 - type: integer - name: temperature - range: - min: 5 - max: 45 - unit: C - - id: 24 - type: integer - name: current_temperature -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: heat + - id: 2 + type: string + name: preset_mode + mapping: + - dps_val: hot + value: comfort + - dps_val: eco + value: eco + - dps_val: cold + value: away + - dps_val: auto + value: home + - id: 3 + type: string + optional: true + name: hvac_action + mapping: + - dps_val: heating + value: heating + - dps_val: standby + value: idle + - id: 16 + type: integer + name: temperature + range: + min: 5 + max: 45 + unit: C + - id: 24 + type: integer + name: current_temperature - entity: light translation_key: display category: config diff --git a/custom_components/tuya_local/devices/bwt_heatpump.yaml b/custom_components/tuya_local/devices/bwt_heatpump.yaml index 7fb4c88471..bb30514c90 100644 --- a/custom_components/tuya_local/devices/bwt_heatpump.yaml +++ b/custom_components/tuya_local/devices/bwt_heatpump.yaml @@ -1,45 +1,44 @@ name: BWT FI 45 pool heatpump -primary_entity: - entity: climate - translation_only_key: pool_heatpump - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: "heat" - - id: 2 - name: temperature - type: integer - unit: C - range: - min: 5 - max: 40 - - id: 3 - name: current_temperature - type: integer - - id: 4 - name: preset_mode - type: string - mapping: - - dps_val: heat - value: smart_heat - - dps_val: quickheat - value: quick_heat - - dps_val: quietheat - value: quiet_heat - - dps_val: cool - value: smart_cool - - dps_val: quickcool - value: quick_cool - - dps_val: quietcool - value: quiet_cool - - dps_val: auto - value: auto -secondary_entities: +entities: + - entity: climate + translation_only_key: pool_heatpump + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: "heat" + - id: 2 + name: temperature + type: integer + unit: C + range: + min: 5 + max: 40 + - id: 3 + name: current_temperature + type: integer + - id: 4 + name: preset_mode + type: string + mapping: + - dps_val: heat + value: smart_heat + - dps_val: quickheat + value: quick_heat + - dps_val: quietheat + value: quiet_heat + - dps_val: cool + value: smart_cool + - dps_val: quickcool + value: quick_cool + - dps_val: quietcool + value: quiet_cool + - dps_val: auto + value: auto - entity: binary_sensor class: problem name: Water flow diff --git a/custom_components/tuya_local/devices/cadence_aroma_diffuser.yaml b/custom_components/tuya_local/devices/cadence_aroma_diffuser.yaml index e6b1909f69..577c3e4133 100644 --- a/custom_components/tuya_local/devices/cadence_aroma_diffuser.yaml +++ b/custom_components/tuya_local/devices/cadence_aroma_diffuser.yaml @@ -2,22 +2,21 @@ name: Aroma diffuser products: - id: 1sim2gu7dd5rh3j3 name: Cadence Ultrasonic -primary_entity: - entity: fan - translation_key: aroma_diffuser - dps: - - id: 2 - name: switch - type: boolean - - id: 103 - name: preset_mode - type: string - mapping: - - dps_val: continued - value: continuous - - dps_val: indirect - value: intermittent -secondary_entities: +entities: + - entity: fan + translation_key: aroma_diffuser + dps: + - id: 2 + name: switch + type: boolean + - id: 103 + name: preset_mode + type: string + mapping: + - dps_val: continued + value: continuous + - dps_val: indirect + value: intermittent - entity: switch name: Power category: config diff --git a/custom_components/tuya_local/devices/caldo_up_t_wifi.yaml b/custom_components/tuya_local/devices/caldo_up_t_wifi.yaml index cdd0fbf645..4538b40d1a 100644 --- a/custom_components/tuya_local/devices/caldo_up_t_wifi.yaml +++ b/custom_components/tuya_local/devices/caldo_up_t_wifi.yaml @@ -2,47 +2,46 @@ name: Fan heater products: - id: dqy0z9997a18rkaw name: Olimpia Splendid Caldo Up T -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: true - value: heat - - dps_val: false - value: "off" - - id: 2 - type: integer - name: temperature - unit: C - range: - min: 18 - max: 45 - - id: 3 - type: integer - name: current_temperature - - id: 5 - type: string - name: preset_mode - mapping: - - dps_val: "level_1" - value: none - - dps_val: "level_2" - value: comfort - - dps_val: "level_3" - value: boost - - id: 8 - type: boolean - name: swing_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: "on" -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: true + value: heat + - dps_val: false + value: "off" + - id: 2 + type: integer + name: temperature + unit: C + range: + min: 18 + max: 45 + - id: 3 + type: integer + name: current_temperature + - id: 5 + type: string + name: preset_mode + mapping: + - dps_val: "level_1" + value: none + - dps_val: "level_2" + value: comfort + - dps_val: "level_3" + value: boost + - id: 8 + type: boolean + name: swing_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: "on" - entity: switch name: Window detection icon: "mdi:window-open-variant" diff --git a/custom_components/tuya_local/devices/calex_aromadiffuser.yaml b/custom_components/tuya_local/devices/calex_aromadiffuser.yaml index de6c32ff30..a1df5b77cd 100644 --- a/custom_components/tuya_local/devices/calex_aromadiffuser.yaml +++ b/custom_components/tuya_local/devices/calex_aromadiffuser.yaml @@ -2,13 +2,12 @@ name: Aroma diffuser products: - id: orw9vhekocfzx78l name: Calex v2.0 -primary_entity: - entity: switch - dps: - - id: 1 - name: switch - type: boolean -secondary_entities: +entities: + - entity: switch + dps: + - id: 1 + name: switch + type: boolean - entity: switch name: Spray dps: diff --git a/custom_components/tuya_local/devices/calex_convector_heater.yaml b/custom_components/tuya_local/devices/calex_convector_heater.yaml index aa6aa10c21..7debdc0a50 100644 --- a/custom_components/tuya_local/devices/calex_convector_heater.yaml +++ b/custom_components/tuya_local/devices/calex_convector_heater.yaml @@ -2,57 +2,56 @@ name: Convection heater products: - id: yqnv4v88805rpkr1 name: Calex Smart Heater -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: true - value: "heat" - - dps_val: false - value: "off" - - id: 2 - name: temperature - type: integer - unit: C - range: - min: 5 - max: 35 - - id: 3 - name: current_temperature - type: integer - unit: C - range: - min: -20 - max: 50 - - id: 11 - name: hvac_action - type: string - mapping: - - dps_val: standby - value: idle - - dps_val: working - value: heating - - id: 26 - name: week_program - type: string - optional: true - - id: 101 - name: preset_mode - type: string - mapping: - - dps_val: H1 - value: eco - - dps_val: H2 - value: boost - - dps_val: AF - value: away - - dps_val: P7 - value: activity -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: true + value: "heat" + - dps_val: false + value: "off" + - id: 2 + name: temperature + type: integer + unit: C + range: + min: 5 + max: 35 + - id: 3 + name: current_temperature + type: integer + unit: C + range: + min: -20 + max: 50 + - id: 11 + name: hvac_action + type: string + mapping: + - dps_val: standby + value: idle + - dps_val: working + value: heating + - id: 26 + name: week_program + type: string + optional: true + - id: 101 + name: preset_mode + type: string + mapping: + - dps_val: H1 + value: eco + - dps_val: H2 + value: boost + - dps_val: AF + value: away + - dps_val: P7 + value: activity - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/calex_s45cleare27_light.yaml b/custom_components/tuya_local/devices/calex_s45cleare27_light.yaml index c933133774..c48a9770f6 100644 --- a/custom_components/tuya_local/devices/calex_s45cleare27_light.yaml +++ b/custom_components/tuya_local/devices/calex_s45cleare27_light.yaml @@ -2,58 +2,57 @@ name: CCT lightbulb products: - id: q66b4arnni1rnqlk name: Calex S45 Clear E27 -primary_entity: - entity: light - dps: - - id: 20 - type: boolean - name: switch - - id: 21 - type: string - name: color_mode - mapping: - - dps_val: white - value: color_temp - - dps_val: colour - value: Colour - - dps_val: scene - value: Scene - - dps_val: music - value: Music - - id: 22 - name: brightness - type: integer - range: - min: 10 - max: 1000 - - id: 23 - name: color_temp - type: integer - optional: true - range: - min: 0 - max: 1000 - mapping: - - target_range: - min: 2700 - max: 6500 - - id: 28 - name: control_data - type: hex - optional: true - - id: 30 - name: rhythm_mode - type: base64 - optional: true - - id: 31 - name: sleep_mode - type: base64 - optional: true - - id: 32 - name: wakeup_mode - type: base64 - optional: true -secondary_entities: +entities: + - entity: light + dps: + - id: 20 + type: boolean + name: switch + - id: 21 + type: string + name: color_mode + mapping: + - dps_val: white + value: color_temp + - dps_val: colour + value: Colour + - dps_val: scene + value: Scene + - dps_val: music + value: Music + - id: 22 + name: brightness + type: integer + range: + min: 10 + max: 1000 + - id: 23 + name: color_temp + type: integer + optional: true + range: + min: 0 + max: 1000 + mapping: + - target_range: + min: 2700 + max: 6500 + - id: 28 + name: control_data + type: hex + optional: true + - id: 30 + name: rhythm_mode + type: base64 + optional: true + - id: 31 + name: sleep_mode + type: base64 + optional: true + - id: 32 + name: wakeup_mode + type: base64 + optional: true - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/calibo_smart_ceiling_fan.yaml b/custom_components/tuya_local/devices/calibo_smart_ceiling_fan.yaml index 554782bbd7..58321f2065 100644 --- a/custom_components/tuya_local/devices/calibo_smart_ceiling_fan.yaml +++ b/custom_components/tuya_local/devices/calibo_smart_ceiling_fan.yaml @@ -2,33 +2,32 @@ name: Fan with light products: - id: 78m2fjtcj26yab5a name: Calibo Cloudfan DC with Light -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - type: string - name: preset_mode - mapping: - - dps_val: nature - value: nature - - dps_val: sleep - value: sleep - - dps_val: normal - value: normal - - id: 3 - name: speed - type: integer - range: - min: 1 - max: 6 - - id: 8 - name: direction - type: string -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + type: string + name: preset_mode + mapping: + - dps_val: nature + value: nature + - dps_val: sleep + value: sleep + - dps_val: normal + value: normal + - id: 3 + name: speed + type: integer + range: + min: 1 + max: 6 + - id: 8 + name: direction + type: string - entity: light dps: - id: 15 diff --git a/custom_components/tuya_local/devices/camnsmart_e27_camera.yaml b/custom_components/tuya_local/devices/camnsmart_e27_camera.yaml index 6391804052..d5a71ec2bd 100644 --- a/custom_components/tuya_local/devices/camnsmart_e27_camera.yaml +++ b/custom_components/tuya_local/devices/camnsmart_e27_camera.yaml @@ -2,29 +2,28 @@ name: Camera products: - id: ivdxyvyy8aqzm1ix name: Camnsmart E27TY -primary_entity: - entity: camera - dps: - - id: 109 - type: string - name: memory_card_capacity - - id: 134 - type: boolean - name: motion_enable - optional: true - - id: 150 - type: boolean - name: record - optional: true - - id: 178 - type: string - name: log_event - optional: true - - id: 185 - type: string - name: log_message - optional: true -secondary_entities: +entities: + - entity: camera + dps: + - id: 109 + type: string + name: memory_card_capacity + - id: 134 + type: boolean + name: motion_enable + optional: true + - id: 150 + type: boolean + name: record + optional: true + - id: 178 + type: string + name: log_event + optional: true + - id: 185 + type: string + name: log_message + optional: true - entity: light translation_key: indicator category: config diff --git a/custom_components/tuya_local/devices/carro_ph805_humidifier.yaml b/custom_components/tuya_local/devices/carro_ph805_humidifier.yaml index 3fbed6d952..532fb8277f 100644 --- a/custom_components/tuya_local/devices/carro_ph805_humidifier.yaml +++ b/custom_components/tuya_local/devices/carro_ph805_humidifier.yaml @@ -2,31 +2,30 @@ name: Humidifier products: - id: g5wedazavod2wg3h name: Carro PH-805-24 -primary_entity: - entity: humidifier - class: humidifier - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - name: mode - type: boolean - mapping: - - dps_val: true - value: auto - - dps_val: false - value: normal - - id: 13 - name: humidity - type: integer - range: - min: 40 - max: 90 - - id: 14 - name: current_humidity - type: integer -secondary_entities: +entities: + - entity: humidifier + class: humidifier + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + name: mode + type: boolean + mapping: + - dps_val: true + value: auto + - dps_val: false + value: normal + - id: 13 + name: humidity + type: integer + range: + min: 40 + max: 90 + - id: 14 + name: current_humidity + type: integer - entity: fan icon: "mdi:sprinkler-variant" name: Spray diff --git a/custom_components/tuya_local/devices/carro_pn04f02d_fan_light.yaml b/custom_components/tuya_local/devices/carro_pn04f02d_fan_light.yaml index cb3326040d..2c2be9799d 100644 --- a/custom_components/tuya_local/devices/carro_pn04f02d_fan_light.yaml +++ b/custom_components/tuya_local/devices/carro_pn04f02d_fan_light.yaml @@ -2,29 +2,28 @@ name: Ceiling fan products: - id: 6ahfblexspuaem65 name: Carro PN-04F02D -primary_entity: - entity: light - dps: - - id: 20 - type: boolean - name: switch - - id: 21 - 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 - name: work_mode - optional: true - - id: 22 - name: brightness - type: integer - range: - min: 10 - max: 1000 - - id: 28 - type: string - name: control_data - optional: true -secondary_entities: +entities: + - entity: light + dps: + - id: 20 + type: boolean + name: switch + - id: 21 + type: string + # Shows in the docs with standard white/colour/scene/music + # properties but this is a dimming switch and doesn't have those + name: work_mode + optional: true + - id: 22 + name: brightness + type: integer + range: + min: 10 + max: 1000 + - id: 28 + type: string + name: control_data + optional: true - entity: fan dps: - id: 60 diff --git a/custom_components/tuya_local/devices/carro_smart_ceiling_fan_light.yaml b/custom_components/tuya_local/devices/carro_smart_ceiling_fan_light.yaml index 263b82431c..bcc96183e6 100644 --- a/custom_components/tuya_local/devices/carro_smart_ceiling_fan_light.yaml +++ b/custom_components/tuya_local/devices/carro_smart_ceiling_fan_light.yaml @@ -2,47 +2,46 @@ name: Ceiling fan light products: - id: pwn8rplbjtokxaec name: Carro (Qizheng) Fan Light -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - type: string - name: preset_mode - mapping: - - dps_val: sleep - value: sleep - - dps_val: normal - value: normal - - dps_val: nature - value: nature - - id: 3 - type: integer - name: speed - range: - min: 1 - max: 10 - - id: 103 - type: string - name: direction - - id: 6 - name: countdown - type: integer - unit: h - range: - min: 0 - max: 8 - - id: 7 - name: countdown_left - type: integer - unit: min - range: - min: 0 - max: 480 -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + type: string + name: preset_mode + mapping: + - dps_val: sleep + value: sleep + - dps_val: normal + value: normal + - dps_val: nature + value: nature + - id: 3 + type: integer + name: speed + range: + min: 1 + max: 10 + - id: 103 + type: string + name: direction + - id: 6 + name: countdown + type: integer + unit: h + range: + min: 0 + max: 8 + - id: 7 + name: countdown_left + type: integer + unit: min + range: + min: 0 + max: 480 - entity: light name: Warm light dps: diff --git a/custom_components/tuya_local/devices/carson_cb.yaml b/custom_components/tuya_local/devices/carson_cb.yaml index f710c5568b..eb3c451515 100644 --- a/custom_components/tuya_local/devices/carson_cb.yaml +++ b/custom_components/tuya_local/devices/carson_cb.yaml @@ -5,72 +5,71 @@ products: name: Shinco Yoau YWD1 # also sold as Axelair Tempero CMM3000, Domair Callisto # (product id may be same or different?) -primary_entity: - entity: climate - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: COOL - value: cool - - dps_val: FAN - value: fan_only - - dps_val: DRY - value: dry - - dps_val: HEAT - value: heat - - id: 2 - name: temperature - type: integer - range: - min: 16 - max: 30 - mapping: - - constraint: temperature_unit - conditions: - - dps_val: "F" - range: - min: 60 - max: 86 - optional: true - - id: 3 - name: current_temperature - type: integer - - id: 4 - name: mode - type: string - hidden: true - - id: 5 - name: fan_mode - type: integer - mapping: - - dps_val: 1 - value: low - - dps_val: 2 - value: medium - - dps_val: 3 - value: high - - id: 19 - name: temperature_unit - type: string - - id: 104 - name: swing_mode - type: boolean - mapping: - - dps_val: true - value: "vertical" - - dps_val: false - value: "off" - - id: 110 - name: model_code - type: integer -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: COOL + value: cool + - dps_val: FAN + value: fan_only + - dps_val: DRY + value: dry + - dps_val: HEAT + value: heat + - id: 2 + name: temperature + type: integer + range: + min: 16 + max: 30 + mapping: + - constraint: temperature_unit + conditions: + - dps_val: "F" + range: + min: 60 + max: 86 + optional: true + - id: 3 + name: current_temperature + type: integer + - id: 4 + name: mode + type: string + hidden: true + - id: 5 + name: fan_mode + type: integer + mapping: + - dps_val: 1 + value: low + - dps_val: 2 + value: medium + - dps_val: 3 + value: high + - id: 19 + name: temperature_unit + type: string + - id: 104 + name: swing_mode + type: boolean + mapping: + - dps_val: true + value: "vertical" + - dps_val: false + value: "off" + - id: 110 + name: model_code + type: integer - entity: select translation_key: temperature_unit category: config diff --git a/custom_components/tuya_local/devices/casafan_ceiling_fan_light.yaml b/custom_components/tuya_local/devices/casafan_ceiling_fan_light.yaml index e74cd1651c..7ef7427a94 100644 --- a/custom_components/tuya_local/devices/casafan_ceiling_fan_light.yaml +++ b/custom_components/tuya_local/devices/casafan_ceiling_fan_light.yaml @@ -2,33 +2,32 @@ name: Ceiling fan and light products: - id: qx9ovwpe9isccpb6 name: Casafan ECO Neo III -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - type: string - name: preset_mode - mapping: - - dps_val: nature_off - value: normal - - dps_val: nature_Low - value: nature - - dps_val: nature_Hi - value: strong - - id: 3 - type: integer - name: speed - range: - min: 1 - max: 6 - - id: 8 - type: string - name: direction -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + type: string + name: preset_mode + mapping: + - dps_val: nature_off + value: normal + - dps_val: nature_Low + value: nature + - dps_val: nature_Hi + value: strong + - id: 3 + type: integer + name: speed + range: + min: 1 + max: 6 + - id: 8 + type: string + name: direction - entity: light dps: - id: 15 diff --git a/custom_components/tuya_local/devices/casdon_td_pro_2.yaml b/custom_components/tuya_local/devices/casdon_td_pro_2.yaml index b2a60cfac3..539eaed6d9 100644 --- a/custom_components/tuya_local/devices/casdon_td_pro_2.yaml +++ b/custom_components/tuya_local/devices/casdon_td_pro_2.yaml @@ -2,98 +2,96 @@ name: Oven products: - id: wab6oustdukujpkn name: Casdon TD Pro 2 -primary_entity: - entity: climate - translation_only_key: oven - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: true - value: "heat" - - dps_val: false - value: "off" - - id: 7 - name: temperature - type: integer - unit: C - range: - min: 0 - max: 500 - mapping: - - step: 5 - - id: 8 - name: current_temperature - type: integer - - id: 105 - name: preset_mode - type: string - mapping: - - dps_val: "1" - value: healthy_steam - - dps_val: "2" - value: fresh_steam - - dps_val: "3" - value: high_temp_steam - - dps_val: "4" - value: stew - - dps_val: "5" - value: bake_up_and_down - - dps_val: "6" - value: bbq - - dps_val: "7" - value: bottom_hot_air - - dps_val: "8" - value: on_strong_roast - - dps_val: "9" - value: 3d_hot_air - - dps_val: "10" - value: air_fry - - dps_val: "11" - value: steam_frying - - dps_val: "12" - value: one_click_bread - - dps_val: "13" - value: quick_heat - - dps_val: "14" - value: keep_warm - - dps_val: "15" - value: unfreeze - - dps_val: "16" - value: fermentation - - dps_val: "17" - value: descale - - dps_val: "18" - value: local_recipes - - dps_val: "19" - value: drying - - dps_val: "20" - value: custom - - dps_val: "21" - value: low_steaming - - dps_val: "22" - value: medium_steaming - - dps_val: "23" - value: high_steaming - - id: 102 - type: string - name: hvac_action - mapping: - - dps_val: cooking - value: heating - - dps_val: reservation - value: idle - - dps_val: cancel - value: idle - - dps_val: done - value: idle - - dps_val: pause - value: idle - - dps_val: "wait" - value: idle - -secondary_entities: +entities: + - entity: climate + translation_only_key: oven + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: true + value: "heat" + - dps_val: false + value: "off" + - id: 7 + name: temperature + type: integer + unit: C + range: + min: 0 + max: 500 + mapping: + - step: 5 + - id: 8 + name: current_temperature + type: integer + - id: 105 + name: preset_mode + type: string + mapping: + - dps_val: "1" + value: healthy_steam + - dps_val: "2" + value: fresh_steam + - dps_val: "3" + value: high_temp_steam + - dps_val: "4" + value: stew + - dps_val: "5" + value: bake_up_and_down + - dps_val: "6" + value: bbq + - dps_val: "7" + value: bottom_hot_air + - dps_val: "8" + value: on_strong_roast + - dps_val: "9" + value: 3d_hot_air + - dps_val: "10" + value: air_fry + - dps_val: "11" + value: steam_frying + - dps_val: "12" + value: one_click_bread + - dps_val: "13" + value: quick_heat + - dps_val: "14" + value: keep_warm + - dps_val: "15" + value: unfreeze + - dps_val: "16" + value: fermentation + - dps_val: "17" + value: descale + - dps_val: "18" + value: local_recipes + - dps_val: "19" + value: drying + - dps_val: "20" + value: custom + - dps_val: "21" + value: low_steaming + - dps_val: "22" + value: medium_steaming + - dps_val: "23" + value: high_steaming + - id: 102 + type: string + name: hvac_action + mapping: + - dps_val: cooking + value: heating + - dps_val: reservation + value: idle + - dps_val: cancel + value: idle + - dps_val: done + value: idle + - dps_val: pause + value: idle + - dps_val: "wait" + value: idle - entity: switch name: Start icon: "mdi:play-pause" diff --git a/custom_components/tuya_local/devices/catit_pet_feeder.yaml b/custom_components/tuya_local/devices/catit_pet_feeder.yaml index f1593a6d2c..606518c347 100644 --- a/custom_components/tuya_local/devices/catit_pet_feeder.yaml +++ b/custom_components/tuya_local/devices/catit_pet_feeder.yaml @@ -1,22 +1,21 @@ name: Catit Pet Feeder -primary_entity: - entity: number - icon: "mdi:paw" - name: Manual feed - dps: - - id: 14 - name: value - type: integer - range: - min: 1 - max: 12 - - id: 104 - name: meal_plan - type: string - - id: 102 - name: unknown_102 - type: boolean -secondary_entities: +entities: + - entity: number + icon: "mdi:paw" + name: Manual feed + dps: + - id: 14 + name: value + type: integer + range: + min: 1 + max: 12 + - id: 104 + name: meal_plan + type: string + - id: 102 + name: unknown_102 + type: boolean - entity: sensor icon: "mdi:paw" name: Feed report diff --git a/custom_components/tuya_local/devices/catit_pixi_6meal_feeder.yaml b/custom_components/tuya_local/devices/catit_pixi_6meal_feeder.yaml index a2687686bd..3d6c46fef6 100644 --- a/custom_components/tuya_local/devices/catit_pixi_6meal_feeder.yaml +++ b/custom_components/tuya_local/devices/catit_pixi_6meal_feeder.yaml @@ -1,28 +1,28 @@ -name: Catit Pixi 6-Meal Feeder +name: Pet feeder products: - id: wmkepdif6qzirl7a -primary_entity: - entity: button - name: Quick Feed - icon: "mdi:food-drumstick" - dps: - - id: 2 - type: boolean - name: button - optional: true - - id: 1 - 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 number - # - Enable/Disabled - name: meal_plan - optional: true -secondary_entities: + name: Catit Pixi 6-Meal +entities: + - entity: button + name: Quick Feed + icon: "mdi:food-drumstick" + dps: + - id: 2 + type: boolean + name: button + optional: true + - id: 1 + 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 number + # - Enable/Disabled + name: meal_plan + optional: true - entity: sensor icon: "mdi:paw" name: Feed report diff --git a/custom_components/tuya_local/devices/catit_pixi_smart_feeder.yaml b/custom_components/tuya_local/devices/catit_pixi_smart_feeder.yaml index 987b729e61..0bcf195d50 100644 --- a/custom_components/tuya_local/devices/catit_pixi_smart_feeder.yaml +++ b/custom_components/tuya_local/devices/catit_pixi_smart_feeder.yaml @@ -6,20 +6,19 @@ products: name: GiotoHun Pet feeder - id: ojqmjnoxqygqldsp name: PUPPY KITTY Automatic Cat & Dog Feeder -primary_entity: - entity: button - name: Quick Feed - icon: "mdi:food-drumstick" - dps: - - id: 2 - type: boolean - name: button - optional: true - - id: 1 - name: meal_plan - type: string - optional: true -secondary_entities: +entities: + - entity: button + name: Quick Feed + icon: "mdi:food-drumstick" + dps: + - id: 2 + type: boolean + name: button + optional: true + - id: 1 + name: meal_plan + type: string + optional: true - entity: sensor icon: "mdi:paw" name: Feed report diff --git a/custom_components/tuya_local/devices/catit_pixi_smart_fountain.yaml b/custom_components/tuya_local/devices/catit_pixi_smart_fountain.yaml index 171bd61ac0..0f10f96e6a 100644 --- a/custom_components/tuya_local/devices/catit_pixi_smart_fountain.yaml +++ b/custom_components/tuya_local/devices/catit_pixi_smart_fountain.yaml @@ -1,14 +1,14 @@ -name: Catit Pixi smart fountain +name: Water fountain products: - id: z3rpyvznfcch99aa -primary_entity: - entity: switch - icon: "mdi:water-pump" - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: + name: Catit Pixi smart fountain +entities: + - entity: switch + icon: "mdi:water-pump" + dps: + - id: 1 + type: boolean + name: switch - entity: button name: Filter replaced icon: "mdi:air-filter" diff --git a/custom_components/tuya_local/devices/cbi_astute_outdoor_smartswitch.yaml b/custom_components/tuya_local/devices/cbi_astute_outdoor_smartswitch.yaml index dc2461c309..27cc0e02b5 100644 --- a/custom_components/tuya_local/devices/cbi_astute_outdoor_smartswitch.yaml +++ b/custom_components/tuya_local/devices/cbi_astute_outdoor_smartswitch.yaml @@ -1,15 +1,14 @@ -name: Astute smart controller +name: Switch products: - id: xzgtyrqbab8lm2zo - name: CBI ASC switch -primary_entity: - entity: switch - class: switch - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: + name: CBI Astute Smart Controller switch +entities: + - entity: switch + class: switch + dps: + - id: 1 + type: boolean + name: switch - entity: number category: config class: duration diff --git a/custom_components/tuya_local/devices/cc_curtain.yaml b/custom_components/tuya_local/devices/cc_curtain.yaml index 068abf6461..fe628695b5 100644 --- a/custom_components/tuya_local/devices/cc_curtain.yaml +++ b/custom_components/tuya_local/devices/cc_curtain.yaml @@ -2,19 +2,19 @@ name: Curtain products: - id: dy1jPRPGVR9G7PWY name: CC smart curtain 1 -primary_entity: - entity: cover - dps: - - id: 2 - name: curtain_status - type: string - - id: 101 - name: control - type: string - mapping: - - dps_val: 01 - value: stop - - dps_val: 02 - value: open - - dps_val: 03 - value: close +entities: + - entity: cover + dps: + - id: 2 + name: curtain_status + type: string + - id: 101 + name: control + type: string + mapping: + - dps_val: 01 + value: stop + - dps_val: 02 + value: open + - dps_val: 03 + value: close diff --git a/custom_components/tuya_local/devices/ccb11_blind_controller.yaml b/custom_components/tuya_local/devices/ccb11_blind_controller.yaml index ddd64e1153..9fff1bdb29 100644 --- a/custom_components/tuya_local/devices/ccb11_blind_controller.yaml +++ b/custom_components/tuya_local/devices/ccb11_blind_controller.yaml @@ -2,66 +2,65 @@ name: Blind controller products: - id: 3r8gc33pnqsxfe1g name: CCB-11 -primary_entity: - entity: cover - class: blind - 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 - type: integer - name: position - unit: "%" - range: - min: 0 - max: 100 - - id: 3 - type: integer - name: current_position - unit: "%" - - id: 7 - type: string - name: action - mapping: - - dps_val: opening - value: opening - constraint: current_position - conditions: - - dps_val: 100 - value: opened - - dps_val: closing - value: closing - constraint: current_position - conditions: - - dps_val: 0 - value: closed - - id: 11 - type: string - name: unknown_11 - - id: 12 - type: integer - name: unknown_12 - - id: 103 - type: boolean - name: unknown_103 - - id: 104 - type: boolean - name: unknown_104 - - id: 105 - type: boolean - name: unknown_105 - - id: 106 - type: string - name: unknown_106 -secondary_entities: +entities: + - entity: cover + class: blind + 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 + type: integer + name: position + unit: "%" + range: + min: 0 + max: 100 + - id: 3 + type: integer + name: current_position + unit: "%" + - id: 7 + type: string + name: action + mapping: + - dps_val: opening + value: opening + constraint: current_position + conditions: + - dps_val: 100 + value: opened + - dps_val: closing + value: closing + constraint: current_position + conditions: + - dps_val: 0 + value: closed + - id: 11 + type: string + name: unknown_11 + - id: 12 + type: integer + name: unknown_12 + - id: 103 + type: boolean + name: unknown_103 + - id: 104 + type: boolean + name: unknown_104 + - id: 105 + type: boolean + name: unknown_105 + - id: 106 + type: string + name: unknown_106 - entity: select name: Motor direction icon: "mdi:arrow-u-down-left" diff --git a/custom_components/tuya_local/devices/cct_lightbulb.yaml b/custom_components/tuya_local/devices/cct_lightbulb.yaml index 878e6dc6bd..e06b90d478 100644 --- a/custom_components/tuya_local/devices/cct_lightbulb.yaml +++ b/custom_components/tuya_local/devices/cct_lightbulb.yaml @@ -10,36 +10,35 @@ products: name: Connect 10W Smart White Bulb E27 - id: owzzoxsdudnxgije name: Genio CCT Downlight -primary_entity: - entity: light - dps: - - id: 20 - type: boolean - name: switch - - id: 21 - name: work_mode - type: string - - id: 22 - name: brightness - type: integer - range: - min: 10 - max: 1000 - - id: 23 - name: color_temp - type: integer - range: - min: 0 - max: 1000 - mapping: - - target_range: - min: 2700 - max: 6500 - - id: 25 - name: scene - type: hex - optional: true -secondary_entities: +entities: + - entity: light + dps: + - id: 20 + type: boolean + name: switch + - id: 21 + name: work_mode + type: string + - id: 22 + name: brightness + type: integer + range: + min: 10 + max: 1000 + - id: 23 + name: color_temp + type: integer + range: + min: 0 + max: 1000 + mapping: + - target_range: + min: 2700 + max: 6500 + - id: 25 + name: scene + type: hex + optional: true - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/cct_modeless_lightbulb.yaml b/custom_components/tuya_local/devices/cct_modeless_lightbulb.yaml index 3b568fa98f..1b455756ad 100644 --- a/custom_components/tuya_local/devices/cct_modeless_lightbulb.yaml +++ b/custom_components/tuya_local/devices/cct_modeless_lightbulb.yaml @@ -2,25 +2,25 @@ name: CCT light products: - id: ewrj9uit2axunpyn name: Connect CSH-GU53WW5W -primary_entity: - entity: light - dps: - - id: 1 - type: boolean - name: switch - - id: 3 - name: brightness - type: integer - range: - min: 25 - max: 255 - - id: 4 - name: color_temp - type: integer - range: - min: 0 - max: 255 - mapping: - - target_range: - min: 2700 - max: 6500 +entities: + - entity: light + dps: + - id: 1 + type: boolean + name: switch + - id: 3 + name: brightness + type: integer + range: + min: 25 + max: 255 + - id: 4 + name: color_temp + type: integer + range: + min: 0 + max: 255 + mapping: + - target_range: + min: 2700 + max: 6500 diff --git a/custom_components/tuya_local/devices/cct_v1_lightbulb.yaml b/custom_components/tuya_local/devices/cct_v1_lightbulb.yaml index 27de7a902d..dd9bc92220 100644 --- a/custom_components/tuya_local/devices/cct_v1_lightbulb.yaml +++ b/custom_components/tuya_local/devices/cct_v1_lightbulb.yaml @@ -10,27 +10,27 @@ products: name: Geeni GN-BW230-999 - id: xhkuywg6rwwqocl6 name: Laser SMT-WWDL53-L -primary_entity: - entity: light - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - type: integer - name: brightness - optional: true - range: - min: 25 - max: 255 - - id: 3 - type: integer - optional: true - name: color_temp - range: - min: 0 - max: 255 - mapping: - - target_range: - min: 2700 - max: 6500 +entities: + - entity: light + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + type: integer + name: brightness + optional: true + range: + min: 25 + max: 255 + - id: 3 + type: integer + optional: true + name: color_temp + range: + min: 0 + max: 255 + mapping: + - target_range: + min: 2700 + max: 6500 diff --git a/custom_components/tuya_local/devices/cecofry_5500_airfryer.yaml b/custom_components/tuya_local/devices/cecofry_5500_airfryer.yaml index 851e76501b..465c7bac6a 100644 --- a/custom_components/tuya_local/devices/cecofry_5500_airfryer.yaml +++ b/custom_components/tuya_local/devices/cecofry_5500_airfryer.yaml @@ -2,31 +2,30 @@ name: Air fryer products: - id: xxwvfk9qrn56r4n6 name: Cecofry 5500 Connected -primary_entity: - entity: switch - icon: "mdi:toaster-oven" - dps: - - id: 1 - type: boolean - optional: true - name: switch - - id: 11 - type: string - optional: true - name: multistep - - id: 22 - type: string - optional: true - name: cloud_recipe_id - - id: 23 - type: string - optional: true - name: cooking_history_id - - id: 101 - type: string - optional: true - name: device_version -secondary_entities: +entities: + - entity: switch + icon: "mdi:toaster-oven" + dps: + - id: 1 + type: boolean + optional: true + name: switch + - id: 11 + type: string + optional: true + name: multistep + - id: 22 + type: string + optional: true + name: cloud_recipe_id + - id: 23 + type: string + optional: true + name: cooking_history_id + - id: 101 + type: string + optional: true + name: device_version - entity: button name: Start icon: "mdi:play" diff --git a/custom_components/tuya_local/devices/cecotec_bigdry_4000_dehumidifier.yaml b/custom_components/tuya_local/devices/cecotec_bigdry_4000_dehumidifier.yaml index 07b76dcb05..2d0cc750b0 100644 --- a/custom_components/tuya_local/devices/cecotec_bigdry_4000_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/cecotec_bigdry_4000_dehumidifier.yaml @@ -3,47 +3,46 @@ products: - id: d44nan1uokr1hlwf name: Cecotec BigDry 4000 Expert # {"dps": {"1": true, "3": "60", "4": "low", "6": 54, "7": 23, "19": 0}} -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - name: switch - type: boolean - - id: 3 - type: string - name: humidity - mapping: - - dps_val: "40" - value: 40 - - dps_val: "45" - value: 45 - - dps_val: "50" - value: 50 - - dps_val: "55" - value: 55 - - dps_val: "60" - value: 60 - - dps_val: "65" - value: 65 - - dps_val: "70" - value: 70 - - dps_val: "75" - value: 75 - - dps_val: "80" - value: 80 - - id: 6 - name: current_humidity - type: integer - - id: 4 - type: string - name: mode - mapping: - - dps_val: low - value: eco - - dps_val: high - value: boost -secondary_entities: +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + name: switch + type: boolean + - id: 3 + type: string + name: humidity + mapping: + - dps_val: "40" + value: 40 + - dps_val: "45" + value: 45 + - dps_val: "50" + value: 50 + - dps_val: "55" + value: 55 + - dps_val: "60" + value: 60 + - dps_val: "65" + value: 65 + - dps_val: "70" + value: 70 + - dps_val: "75" + value: 75 + - dps_val: "80" + value: 80 + - id: 6 + name: current_humidity + type: integer + - id: 4 + type: string + name: mode + mapping: + - dps_val: low + value: eco + - dps_val: high + value: boost - entity: sensor class: temperature dps: diff --git a/custom_components/tuya_local/devices/cecotec_fan_light.yaml b/custom_components/tuya_local/devices/cecotec_fan_light.yaml index dd833c322d..e405cb7d11 100644 --- a/custom_components/tuya_local/devices/cecotec_fan_light.yaml +++ b/custom_components/tuya_local/devices/cecotec_fan_light.yaml @@ -2,37 +2,36 @@ name: Fan with light products: - id: 9uydeea5iojq3msy name: Cecotec AQUA CONNECTED -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - type: string - name: preset_mode - mapping: - - dps_val: nature - value: nature - - dps_val: sleep - value: sleep - - dps_val: fresh - value: fresh - - dps_val: smart - value: smart - - dps_val: custom - value: custom - - id: 3 - name: speed - type: integer - range: - min: 1 - max: 6 - - id: 8 - name: direction - type: string -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + type: string + name: preset_mode + mapping: + - dps_val: nature + value: nature + - dps_val: sleep + value: sleep + - dps_val: fresh + value: fresh + - dps_val: smart + value: smart + - dps_val: custom + value: custom + - id: 3 + name: speed + type: integer + range: + min: 1 + max: 6 + - id: 8 + name: direction + type: string - entity: light dps: - id: 15 diff --git a/custom_components/tuya_local/devices/ceres_plus_petfeeder.yaml b/custom_components/tuya_local/devices/ceres_plus_petfeeder.yaml index fb7e8f1466..67de05277f 100644 --- a/custom_components/tuya_local/devices/ceres_plus_petfeeder.yaml +++ b/custom_components/tuya_local/devices/ceres_plus_petfeeder.yaml @@ -2,32 +2,31 @@ name: Pet feeder products: - id: 8zrzjldq07tlxnlv name: Ceres Plus Momoschoice -primary_entity: - entity: sensor - translation_key: status - icon: "mdi:paw" - dps: - - id: 234 - type: string - name: sensor - optional: true - - id: 237 - type: string - name: feed_plan - optional: true - - id: 242 - name: feeding_record - type: string - optional: true - - id: 244 - type: string - name: planned_feed_report - optional: true - - id: 246 - type: string - name: feed_report - optional: true -secondary_entities: +entities: + - entity: sensor + translation_key: status + icon: "mdi:paw" + dps: + - id: 234 + type: string + name: sensor + optional: true + - id: 237 + type: string + name: feed_plan + optional: true + - id: 242 + name: feeding_record + type: string + optional: true + - id: 244 + type: string + name: planned_feed_report + optional: true + - id: 246 + type: string + name: feed_report + optional: true - entity: light translation_key: indicator category: config diff --git a/custom_components/tuya_local/devices/cesmarthome_acwall_outlet.yaml b/custom_components/tuya_local/devices/cesmarthome_acwall_outlet.yaml index f578295605..c5a77e7f96 100644 --- a/custom_components/tuya_local/devices/cesmarthome_acwall_outlet.yaml +++ b/custom_components/tuya_local/devices/cesmarthome_acwall_outlet.yaml @@ -2,13 +2,12 @@ name: Wall outlet products: - id: xca2lqfaztnmk5jh name: CE Smart Home LQ-2-W3 -primary_entity: - entity: switch - dps: - - id: 101 - name: switch - type: boolean -secondary_entities: +entities: + - entity: switch + dps: + - id: 101 + name: switch + type: boolean - entity: number category: config class: duration diff --git a/custom_components/tuya_local/devices/chanfok_fan_light.yaml b/custom_components/tuya_local/devices/chanfok_fan_light.yaml index 3f64b1319d..bb3bd63c92 100644 --- a/custom_components/tuya_local/devices/chanfok_fan_light.yaml +++ b/custom_components/tuya_local/devices/chanfok_fan_light.yaml @@ -2,35 +2,34 @@ name: Chanfok ceiling fan products: - id: tvtzgei8bgaezsvi name: JST-DC-WYfen -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 60 - type: boolean - name: switch - - id: 61 - type: string - name: preset_mode - mapping: - - dps_val: fresh - value: fresh - - dps_val: nature - value: nature - - id: 62 - type: integer - name: speed - range: - min: 1 - max: 6 - - id: 63 - type: string - name: direction - - id: 101 - type: boolean - name: unknown_101 - optional: true -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 60 + type: boolean + name: switch + - id: 61 + type: string + name: preset_mode + mapping: + - dps_val: fresh + value: fresh + - dps_val: nature + value: nature + - id: 62 + type: integer + name: speed + range: + min: 1 + max: 6 + - id: 63 + type: string + name: direction + - id: 101 + type: boolean + name: unknown_101 + optional: true - entity: light dps: - id: 20 diff --git a/custom_components/tuya_local/devices/ciarra_cbcs4850_rangehood.yaml b/custom_components/tuya_local/devices/ciarra_cbcs4850_rangehood.yaml index 895377abf8..a9c84594c0 100644 --- a/custom_components/tuya_local/devices/ciarra_cbcs4850_rangehood.yaml +++ b/custom_components/tuya_local/devices/ciarra_cbcs4850_rangehood.yaml @@ -2,19 +2,18 @@ name: Range hood products: - id: aiwq2zdatwjllekd name: Ciarra CBCS4850 -primary_entity: - entity: fan - dps: - - id: 2 - type: integer - name: speed - range: - min: 0 - max: 4 - - id: 12 - type: string - name: status -secondary_entities: +entities: + - entity: fan + dps: + - id: 2 + type: integer + name: speed + range: + min: 0 + max: 4 + - id: 12 + type: string + name: status - entity: switch dps: - id: 1 diff --git a/custom_components/tuya_local/devices/cleanair_604b_humidifier.yaml b/custom_components/tuya_local/devices/cleanair_604b_humidifier.yaml index 0da2d02958..49cb853fb1 100644 --- a/custom_components/tuya_local/devices/cleanair_604b_humidifier.yaml +++ b/custom_components/tuya_local/devices/cleanair_604b_humidifier.yaml @@ -2,36 +2,35 @@ name: Humidifier products: - id: cqoisddoci9i3yer name: Clean Air 604B Smart -primary_entity: - entity: humidifier - dps: - - id: 1 - name: switch - type: boolean - - id: 13 - name: humidity - type: integer - range: - min: 30 - max: 75 - - id: 14 - name: current_humidity - type: integer - - id: 23 - type: string - name: mode - mapping: - - dps_val: auto - value: auto - - dps_val: level1 - value: low - - dps_val: level2 - value: middle - - dps_val: level3 - value: high - - dps_val: sleep - value: sleep -secondary_entities: +entities: + - entity: humidifier + dps: + - id: 1 + name: switch + type: boolean + - id: 13 + name: humidity + type: integer + range: + min: 30 + max: 75 + - id: 14 + name: current_humidity + type: integer + - id: 23 + type: string + name: mode + mapping: + - dps_val: auto + value: auto + - dps_val: level1 + value: low + - dps_val: level2 + value: middle + - dps_val: level3 + value: high + - dps_val: sleep + value: sleep - entity: switch name: Sound icon: mdi:volume-high diff --git a/custom_components/tuya_local/devices/cleanair_605b_humidifier.yaml b/custom_components/tuya_local/devices/cleanair_605b_humidifier.yaml index f6e8d9a406..91d3adb530 100644 --- a/custom_components/tuya_local/devices/cleanair_605b_humidifier.yaml +++ b/custom_components/tuya_local/devices/cleanair_605b_humidifier.yaml @@ -2,36 +2,35 @@ name: Humidifier products: - id: 7mijurr4i9e0ewat name: Clean Air 605B Smart -primary_entity: - entity: humidifier - dps: - - id: 1 - name: switch - type: boolean - - id: 13 - name: humidity - type: integer - range: - min: 30 - max: 75 - mapping: - - step: 5 - - id: 14 - name: current_humidity - type: integer - - id: 23 - name: mode - type: string - mapping: - - dps_val: auto - value: auto - - dps_val: level1 - value: "1" - - dps_val: level2 - value: "2" - - dps_val: level3 - value: "3" -secondary_entities: +entities: + - entity: humidifier + dps: + - id: 1 + name: switch + type: boolean + - id: 13 + name: humidity + type: integer + range: + min: 30 + max: 75 + mapping: + - step: 5 + - id: 14 + name: current_humidity + type: integer + - id: 23 + name: mode + type: string + mapping: + - dps_val: auto + value: auto + - dps_val: level1 + value: "1" + - dps_val: level2 + value: "2" + - dps_val: level3 + value: "3" - entity: sensor name: Current temperature class: temperature diff --git a/custom_components/tuya_local/devices/cleverio_ad100_dehumidifier.yaml b/custom_components/tuya_local/devices/cleverio_ad100_dehumidifier.yaml index ab17c12481..a24929bf5e 100644 --- a/custom_components/tuya_local/devices/cleverio_ad100_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/cleverio_ad100_dehumidifier.yaml @@ -2,23 +2,22 @@ name: Dehumidifier products: - id: jkscqnjueuczotho name: Cleverio AD100 -primary_entity: - entity: fan - name: Dehumidifier - translation_key: fan_with_presets - dps: - - id: 102 - type: boolean - name: switch - - id: 2 - type: string - name: preset_mode - mapping: - - dps_val: sleep - value: sleep - - dps_val: High - value: strong -secondary_entities: +entities: + - entity: fan + name: Dehumidifier + translation_key: fan_with_presets + dps: + - id: 102 + type: boolean + name: switch + - id: 2 + type: string + name: preset_mode + mapping: + - dps_val: sleep + value: sleep + - dps_val: High + value: strong - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/cleverio_ap100_purifier.yaml b/custom_components/tuya_local/devices/cleverio_ap100_purifier.yaml index a8e9036618..17beac48cc 100644 --- a/custom_components/tuya_local/devices/cleverio_ap100_purifier.yaml +++ b/custom_components/tuya_local/devices/cleverio_ap100_purifier.yaml @@ -2,20 +2,19 @@ name: Air purifier products: - id: 6bspwvsqhl4vuanj name: Cleverio AP100 -primary_entity: - entity: fan - icon: "mdi:air-purifier" - dps: - - id: 1 - type: boolean - name: switch - - id: 4 - type: integer - name: speed - range: - min: 1 - max: 4 -secondary_entities: +entities: + - entity: fan + icon: "mdi:air-purifier" + dps: + - id: 1 + type: boolean + name: switch + - id: 4 + type: integer + name: speed + range: + min: 1 + max: 4 - entity: sensor name: Filter icon: "mdi:air-filter" diff --git a/custom_components/tuya_local/devices/cleverio_cd200_doorbell.yaml b/custom_components/tuya_local/devices/cleverio_cd200_doorbell.yaml index 72c1d0ae2c..7eef34495e 100644 --- a/custom_components/tuya_local/devices/cleverio_cd200_doorbell.yaml +++ b/custom_components/tuya_local/devices/cleverio_cd200_doorbell.yaml @@ -2,32 +2,31 @@ name: Video doorbell products: - id: tpd76kmnwwsun4iq name: Cleverio CD-200 -primary_entity: - entity: camera - dps: - - id: 150 - type: boolean - optional: true - name: record - - id: 154 - type: base64 - optional: true - sensitive: true - persist: false - name: snapshot - mapping: - - dps_val: null - value_redirect: movement_pic - - id: 115 - type: base64 - optional: true - sensitive: true - name: movement_pic - - id: 240 - type: boolean - optional: true - name: motion_enable -secondary_entities: +entities: + - entity: camera + dps: + - id: 150 + type: boolean + optional: true + name: record + - id: 154 + type: base64 + optional: true + sensitive: true + persist: false + name: snapshot + mapping: + - dps_val: null + value_redirect: movement_pic + - id: 115 + type: base64 + optional: true + sensitive: true + name: movement_pic + - id: 240 + type: boolean + optional: true + name: motion_enable - entity: switch name: Flip image icon: "mdi:flip-horizontal" diff --git a/custom_components/tuya_local/devices/cleverio_pf100_petfeeder.yaml b/custom_components/tuya_local/devices/cleverio_pf100_petfeeder.yaml index 3f7a3bf20f..34f066cb2e 100644 --- a/custom_components/tuya_local/devices/cleverio_pf100_petfeeder.yaml +++ b/custom_components/tuya_local/devices/cleverio_pf100_petfeeder.yaml @@ -2,25 +2,24 @@ name: Pet feeder products: - id: wfkzyy0evslzsmoi name: Cleverio PF100 -primary_entity: - entity: number - name: Manual feed - icon: "mdi:food-drumstick" - dps: - - id: 3 - type: integer - name: value - range: - min: 1 - max: 20 - - id: 1 - type: string - optional: true - name: meal_plan - - id: 103 - type: string - name: mode -secondary_entities: +entities: + - entity: number + name: Manual feed + icon: "mdi:food-drumstick" + dps: + - id: 3 + type: integer + name: value + range: + min: 1 + max: 20 + - id: 1 + type: string + optional: true + name: meal_plan + - id: 103 + type: string + name: mode - entity: button translation_key: factory_reset category: config diff --git a/custom_components/tuya_local/devices/cnc_ycb9zf_breaker.yaml b/custom_components/tuya_local/devices/cnc_ycb9zf_breaker.yaml index e12978bb2c..71364e5a10 100644 --- a/custom_components/tuya_local/devices/cnc_ycb9zf_breaker.yaml +++ b/custom_components/tuya_local/devices/cnc_ycb9zf_breaker.yaml @@ -2,21 +2,20 @@ name: Circuit breaker products: - id: bryydwbntbjkq8pk name: Faens FSZN03-100AP 2P -primary_entity: - entity: switch - icon: "mdi:fuse" - dps: - - id: 1 - type: boolean - name: switch - - id: 101 - type: string - name: event - - id: 110 - type: string - optional: true - name: version -secondary_entities: +entities: + - entity: switch + icon: "mdi:fuse" + dps: + - id: 1 + type: boolean + name: switch + - id: 101 + type: string + name: event + - id: 110 + type: string + optional: true + name: version - entity: sensor class: voltage category: diagnostic diff --git a/custom_components/tuya_local/devices/co2_box.yaml b/custom_components/tuya_local/devices/co2_box.yaml index a1eaf17091..1c666e7666 100644 --- a/custom_components/tuya_local/devices/co2_box.yaml +++ b/custom_components/tuya_local/devices/co2_box.yaml @@ -2,12 +2,12 @@ name: CO2 box products: - id: ot8jbazilxrskg6s name: DCR-CO2 -primary_entity: - entity: sensor - class: carbon_dioxide - dps: - - id: 2 - type: integer - class: measurement - name: sensor - unit: ppm +entities: + - entity: sensor + class: carbon_dioxide + dps: + - id: 2 + type: integer + class: measurement + name: sensor + unit: ppm diff --git a/custom_components/tuya_local/devices/comon_lights.yaml b/custom_components/tuya_local/devices/comon_lights.yaml index 6241edfa9f..792ed5489e 100644 --- a/custom_components/tuya_local/devices/comon_lights.yaml +++ b/custom_components/tuya_local/devices/comon_lights.yaml @@ -2,52 +2,51 @@ name: String light controller products: - id: swzi5fagtytgxe0f name: Lexi Lighting LLXAPT01 -primary_entity: - entity: light - dps: - - id: 20 - type: boolean - name: switch - - id: 21 - type: string - name: effect - mapping: - - dps_val: scene - value: Scene - - dps_val: music - value: Music - - id: 22 - name: brightness - type: integer - range: - min: 10 - max: 1000 - - id: 25 - name: scene_data - type: hex - optional: true - - id: 27 - name: music_data - type: hex - optional: true - - id: 28 - name: control_data - type: hex - optional: true - - id: 101 - name: scene_list - # scene_configuration - type: string - - id: 103 - name: scene_combine - type: string - # sets what 6 scenes get used - optional: true - - id: 102 - name: scene - type: string - optional: true -secondary_entities: +entities: + - entity: light + dps: + - id: 20 + type: boolean + name: switch + - id: 21 + type: string + name: effect + mapping: + - dps_val: scene + value: Scene + - dps_val: music + value: Music + - id: 22 + name: brightness + type: integer + range: + min: 10 + max: 1000 + - id: 25 + name: scene_data + type: hex + optional: true + - id: 27 + name: music_data + type: hex + optional: true + - id: 28 + name: control_data + type: hex + optional: true + - id: 101 + name: scene_list + # scene_configuration + type: string + - id: 103 + name: scene_combine + type: string + # sets what 6 scenes get used + optional: true + - id: 102 + name: scene + type: string + optional: true - entity: select name: Scene icon: "mdi:palette" diff --git a/custom_components/tuya_local/devices/compteur_energy_meter.yaml b/custom_components/tuya_local/devices/compteur_energy_meter.yaml index 14d31607c1..6041830fd8 100644 --- a/custom_components/tuya_local/devices/compteur_energy_meter.yaml +++ b/custom_components/tuya_local/devices/compteur_energy_meter.yaml @@ -1,36 +1,36 @@ -name: Compteur electric meter +name: Energy meter products: - id: 1whdy4a8ypamjloi -primary_entity: - entity: sensor - class: energy - dps: - - id: 17 - type: integer - name: sensor - mapping: - - scale: 1000 - unit: kWh - class: total_increasing - - id: 21 - name: unknown_21 - type: integer - - id: 22 - name: unknown_22 - type: integer - - id: 23 - name: unknown_23 - type: integer - - id: 24 - name: unknown_24 - type: integer - - id: 25 - name: unknown_25 - type: integer - - id: 26 - name: unknown_26 - type: integer -secondary_entities: + name: Compteur electric meter +entities: + - entity: sensor + class: energy + dps: + - id: 17 + type: integer + name: sensor + mapping: + - scale: 1000 + unit: kWh + class: total_increasing + - id: 21 + name: unknown_21 + type: integer + - id: 22 + name: unknown_22 + type: integer + - id: 23 + name: unknown_23 + type: integer + - id: 24 + name: unknown_24 + type: integer + - id: 25 + name: unknown_25 + type: integer + - id: 26 + name: unknown_26 + type: integer - entity: sensor category: diagnostic class: voltage diff --git a/custom_components/tuya_local/devices/confortotal_minisplit.yaml b/custom_components/tuya_local/devices/confortotal_minisplit.yaml index b88f888455..73ac29e095 100644 --- a/custom_components/tuya_local/devices/confortotal_minisplit.yaml +++ b/custom_components/tuya_local/devices/confortotal_minisplit.yaml @@ -2,128 +2,127 @@ name: Air conditioner products: - id: mzhwsoeaumuxleaf name: Confortotal Mini Split CICON242 -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: auto - value: heat_cool - - dps_val: cold - value: cool - - dps_val: wind - value: fan_only - - dps_val: wet - value: dry - - dps_val: hot - value: heat - - id: 2 - type: integer - name: temperature - unit: C - range: - min: 16 - max: 90 - mapping: - - dps_val: 61 - value: 16.1 - - dps_val: 62 - value: 16.7 - - dps_val: 63 - value: 17.2 - - dps_val: 64 - value: 17.8 - - dps_val: 65 - value: 18.3 - - dps_val: 66 - value: 18.9 - - dps_val: 67 - value: 19.4 - - dps_val: 68 - value: 20 - - dps_val: 69 - value: 20.6 - - dps_val: 70 - value: 21.1 - - dps_val: 71 - value: 21.7 - - dps_val: 72 - value: 22.2 - - dps_val: 73 - value: 22.8 - - dps_val: 74 - value: 23.3 - - dps_val: 75 - value: 23.9 - - dps_val: 76 - value: 24.4 - - dps_val: 77 - value: 25 - - dps_val: 78 - value: 25.6 - - dps_val: 79 - value: 26.1 - - dps_val: 80 - value: 26.7 - - dps_val: 81 - value: 27.2 - - dps_val: 82 - value: 27.8 - - dps_val: 83 - value: 28.3 - - dps_val: 84 - value: 28.9 - - dps_val: 85 - value: 29.4 - - dps_val: 86 - value: 30 - - dps_val: 87 - value: 30.6 - - dps_val: 88 - value: 31.1 - - dps_val: 89 - value: 31.7 - - dps_val: 90 - value: 32.2 - - id: 3 - type: integer - name: current_temperature - - id: 4 - type: string - name: mode - hidden: true - - id: 5 - type: string - name: fan_mode - mapping: - - dps_val: strong - value: strong - - dps_val: auto - value: auto - - dps_val: low - value: low - - dps_val: middle - value: medium - - dps_val: high - value: high - - dps_val: mute - value: quiet - - id: 25 - name: preset_mode - type: boolean - mapping: - - dps_val: true - value: sleep - - dps_val: false - value: comfort -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: auto + value: heat_cool + - dps_val: cold + value: cool + - dps_val: wind + value: fan_only + - dps_val: wet + value: dry + - dps_val: hot + value: heat + - id: 2 + type: integer + name: temperature + unit: C + range: + min: 16 + max: 90 + mapping: + - dps_val: 61 + value: 16.1 + - dps_val: 62 + value: 16.7 + - dps_val: 63 + value: 17.2 + - dps_val: 64 + value: 17.8 + - dps_val: 65 + value: 18.3 + - dps_val: 66 + value: 18.9 + - dps_val: 67 + value: 19.4 + - dps_val: 68 + value: 20 + - dps_val: 69 + value: 20.6 + - dps_val: 70 + value: 21.1 + - dps_val: 71 + value: 21.7 + - dps_val: 72 + value: 22.2 + - dps_val: 73 + value: 22.8 + - dps_val: 74 + value: 23.3 + - dps_val: 75 + value: 23.9 + - dps_val: 76 + value: 24.4 + - dps_val: 77 + value: 25 + - dps_val: 78 + value: 25.6 + - dps_val: 79 + value: 26.1 + - dps_val: 80 + value: 26.7 + - dps_val: 81 + value: 27.2 + - dps_val: 82 + value: 27.8 + - dps_val: 83 + value: 28.3 + - dps_val: 84 + value: 28.9 + - dps_val: 85 + value: 29.4 + - dps_val: 86 + value: 30 + - dps_val: 87 + value: 30.6 + - dps_val: 88 + value: 31.1 + - dps_val: 89 + value: 31.7 + - dps_val: 90 + value: 32.2 + - id: 3 + type: integer + name: current_temperature + - id: 4 + type: string + name: mode + hidden: true + - id: 5 + type: string + name: fan_mode + mapping: + - dps_val: strong + value: strong + - dps_val: auto + value: auto + - dps_val: low + value: low + - dps_val: middle + value: medium + - dps_val: high + value: high + - dps_val: mute + value: quiet + - id: 25 + name: preset_mode + type: boolean + mapping: + - dps_val: true + value: sleep + - dps_val: false + value: comfort - entity: switch translation_key: ionizer category: config diff --git a/custom_components/tuya_local/devices/cooper_hunter_air_conditioner.yaml b/custom_components/tuya_local/devices/cooper_hunter_air_conditioner.yaml index 91046889c4..e2ea9b12e2 100644 --- a/custom_components/tuya_local/devices/cooper_hunter_air_conditioner.yaml +++ b/custom_components/tuya_local/devices/cooper_hunter_air_conditioner.yaml @@ -1,126 +1,125 @@ -name: Cooper and Hunter air conditioner +name: Air conditioner products: - id: a38i3yjbj4b4r9o0 name: Cooper and Hunter Nordic Evo NG -primary_entity: - entity: climate - translation_only_key: aircon_extra - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: auto - value: heat_cool - - dps_val: cold - value: cool - - dps_val: hot - value: heat - - dps_val: wet - value: dry - - dps_val: wind - value: fan_only +entities: + - entity: climate + translation_only_key: aircon_extra + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: auto + value: heat_cool + - dps_val: cold + value: cool + - dps_val: hot + value: heat + - dps_val: wet + value: dry + - dps_val: wind + value: fan_only - - id: 2 - name: temperature - type: integer - range: - min: 16 - max: 31 - mapping: - - step: 1 - constraint: mode - conditions: - - dps_val: wet - invalid: true - - dps_val: wind - invalid: true - - id: 150 - name: current_temperature - type: integer - mapping: - - scale: 10 - - id: 4 - name: mode - type: string - hidden: true - - id: 5 - name: fan_mode - type: string - mapping: - - dps_val: auto - value: auto - - dps_val: quiet - value: quiet - - dps_val: fan1 - value: low - - dps_val: fan2 - value: medlow - - dps_val: fan3 - value: medium - - dps_val: fan4 - value: medhigh - - dps_val: fan5 - value: high - - id: 31 - name: swing_mode - type: string - mapping: - - dps_val: "off" - value: "off" - - dps_val: "on" - value: "on" - - dps_val: "angle1" - value: "topmost" - - dps_val: "angle2" - value: "top" - - dps_val: "angle3" - value: "middle" - - dps_val: "angle4" - value: "down" - - dps_val: "angle5" - value: "downmost" - - id: 19 - name: temperature_unit - type: string - mapping: - - dps_val: f - value: F - - dps_val: c - value: C - - id: 17 - name: humidity - type: integer - optional: true - unit: "%" - range: - min: 40 - max: 90 - mapping: - - step: 5 - constraint: mode - conditions: - - dps_val: auto - invalid: true - - dps_val: cold - invalid: true - - dps_val: hot - invalid: true - - dps_val: wind - invalid: true - - id: 152 - name: current_humidity - type: integer - unit: "%" - class: measurement - mapping: - - scale: 10 -secondary_entities: + - id: 2 + name: temperature + type: integer + range: + min: 16 + max: 31 + mapping: + - step: 1 + constraint: mode + conditions: + - dps_val: wet + invalid: true + - dps_val: wind + invalid: true + - id: 150 + name: current_temperature + type: integer + mapping: + - scale: 10 + - id: 4 + name: mode + type: string + hidden: true + - id: 5 + name: fan_mode + type: string + mapping: + - dps_val: auto + value: auto + - dps_val: quiet + value: quiet + - dps_val: fan1 + value: low + - dps_val: fan2 + value: medlow + - dps_val: fan3 + value: medium + - dps_val: fan4 + value: medhigh + - dps_val: fan5 + value: high + - id: 31 + name: swing_mode + type: string + mapping: + - dps_val: "off" + value: "off" + - dps_val: "on" + value: "on" + - dps_val: "angle1" + value: "topmost" + - dps_val: "angle2" + value: "top" + - dps_val: "angle3" + value: "middle" + - dps_val: "angle4" + value: "down" + - dps_val: "angle5" + value: "downmost" + - id: 19 + name: temperature_unit + type: string + mapping: + - dps_val: f + value: F + - dps_val: c + value: C + - id: 17 + name: humidity + type: integer + optional: true + unit: "%" + range: + min: 40 + max: 90 + mapping: + - step: 5 + constraint: mode + conditions: + - dps_val: auto + invalid: true + - dps_val: cold + invalid: true + - dps_val: hot + invalid: true + - dps_val: wind + invalid: true + - id: 152 + name: current_humidity + type: integer + unit: "%" + class: measurement + mapping: + - scale: 10 - entity: switch name: Power category: config diff --git a/custom_components/tuya_local/devices/costway_portable_ac.yaml b/custom_components/tuya_local/devices/costway_portable_ac.yaml index aed99846d0..39e0dffabf 100644 --- a/custom_components/tuya_local/devices/costway_portable_ac.yaml +++ b/custom_components/tuya_local/devices/costway_portable_ac.yaml @@ -2,55 +2,55 @@ name: Portable air conditioner products: - id: 86sjxqebxymrjt3z name: COSTWAY -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: cold - value: cool - - dps_val: wind - value: fan_only - - dps_val: wet - value: dry - - id: 2 - type: integer - name: temperature - range: - min: 16 - max: 30 - unit: C - - id: 3 - type: integer - name: current_temperature - - id: 4 - type: string - name: mode - hidden: true - - id: 5 - type: string - name: fan_mode - mapping: - - dps_val: low - value: low - - dps_val: high - value: high - - id: 20 - type: integer - name: unknown_20 - - id: 103 - type: boolean - name: unknown_103 - - id: 107 - type: integer - name: unknown_106 - - id: 109 - type: integer - name: unknown_107 +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: cold + value: cool + - dps_val: wind + value: fan_only + - dps_val: wet + value: dry + - id: 2 + type: integer + name: temperature + range: + min: 16 + max: 30 + unit: C + - id: 3 + type: integer + name: current_temperature + - id: 4 + type: string + name: mode + hidden: true + - id: 5 + type: string + name: fan_mode + mapping: + - dps_val: low + value: low + - dps_val: high + value: high + - id: 20 + type: integer + name: unknown_20 + - id: 103 + type: boolean + name: unknown_103 + - id: 107 + type: integer + name: unknown_106 + - id: 109 + type: integer + name: unknown_107 diff --git a/custom_components/tuya_local/devices/create_fan_light.yaml b/custom_components/tuya_local/devices/create_fan_light.yaml index 6638856f4a..8cf1fee743 100644 --- a/custom_components/tuya_local/devices/create_fan_light.yaml +++ b/custom_components/tuya_local/devices/create_fan_light.yaml @@ -2,24 +2,23 @@ name: Ceiling fan with light products: - id: p8z27dfdwc4riyp9 name: Create XW-FAN-215-D -primary_entity: - entity: fan - dps: - - id: 60 - type: boolean - name: switch - - id: 62 - type: integer - optional: true - name: speed - range: - min: 1 - max: 6 - - id: 63 - type: string - optional: true - name: direction -secondary_entities: +entities: + - entity: fan + dps: + - id: 60 + type: boolean + name: switch + - id: 62 + type: integer + optional: true + name: speed + range: + min: 1 + max: 6 + - id: 63 + type: string + optional: true + name: direction - entity: light dps: - id: 20 diff --git a/custom_components/tuya_local/devices/create_warmtoweladvance_heater.yaml b/custom_components/tuya_local/devices/create_warmtoweladvance_heater.yaml index 86cda9452a..9ffc1f95f6 100644 --- a/custom_components/tuya_local/devices/create_warmtoweladvance_heater.yaml +++ b/custom_components/tuya_local/devices/create_warmtoweladvance_heater.yaml @@ -2,106 +2,105 @@ name: Heater products: - id: cior1o59zipid8xo name: Create Warm Towel Advance -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: preset_mode - conditions: - - dps_val: P1 - value: auto - - dps_val: [P2, P3] - value: auto - hidden: true - - dps_val: CF - value: heat - - dps_val: [EC, AF] - value: heat - hidden: true - - dps_val: ST - value: "off" - hidden: true - - dps_val: D2 - value: dry - - dps_val: [D3, D4] - value: dry - hidden: true - - id: 2 - type: integer - name: temperature - range: - min: 5 - max: 35 - unit: C - mapping: - - constraint: preset_mode - conditions: - - dps_val: EC - range: - min: 1 - max: 31 - - dps_val: AF - invalid: true - - id: 3 - type: integer - name: current_temperature - - id: 4 - type: string - name: preset_mode - mapping: - - dps_val: CF - value: comfort - - dps_val: EC - value: eco - - dps_val: P1 - value: Daytime - - dps_val: P2 - value: Morning+Evening - - dps_val: P3 - value: Program - - dps_val: AF - value: away - - dps_val: ST - value: ST - hidden: true - - dps_val: D2 - value: Dry 2 - - dps_val: D3 - value: Dry 3 - - dps_val: D4 - value: Dry 4 - - id: 11 - type: string - name: hvac_action - mapping: - - dps_val: standby - value: idle - - dps_val: working - value: heating - constraint: preset_mode - conditions: - - dps_val: [D2, D3, D4] - value: drying - - id: 26 - type: string - optional: true - name: custom_program - - id: 109 - type: boolean - name: fan_mode - mapping: - - dps_val: true - value: "on" - - dps_val: false - value: "off" -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: preset_mode + conditions: + - dps_val: P1 + value: auto + - dps_val: [P2, P3] + value: auto + hidden: true + - dps_val: CF + value: heat + - dps_val: [EC, AF] + value: heat + hidden: true + - dps_val: ST + value: "off" + hidden: true + - dps_val: D2 + value: dry + - dps_val: [D3, D4] + value: dry + hidden: true + - id: 2 + type: integer + name: temperature + range: + min: 5 + max: 35 + unit: C + mapping: + - constraint: preset_mode + conditions: + - dps_val: EC + range: + min: 1 + max: 31 + - dps_val: AF + invalid: true + - id: 3 + type: integer + name: current_temperature + - id: 4 + type: string + name: preset_mode + mapping: + - dps_val: CF + value: comfort + - dps_val: EC + value: eco + - dps_val: P1 + value: Daytime + - dps_val: P2 + value: Morning+Evening + - dps_val: P3 + value: Program + - dps_val: AF + value: away + - dps_val: ST + value: ST + hidden: true + - dps_val: D2 + value: Dry 2 + - dps_val: D3 + value: Dry 3 + - dps_val: D4 + value: Dry 4 + - id: 11 + type: string + name: hvac_action + mapping: + - dps_val: standby + value: idle + - dps_val: working + value: heating + constraint: preset_mode + conditions: + - dps_val: [D2, D3, D4] + value: drying + - id: 26 + type: string + optional: true + name: custom_program + - id: 109 + type: boolean + name: fan_mode + mapping: + - dps_val: true + value: "on" + - dps_val: false + value: "off" - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/cronos_gphdda_heater.yaml b/custom_components/tuya_local/devices/cronos_gphdda_heater.yaml index 5274b8a3d9..a9be4485c8 100644 --- a/custom_components/tuya_local/devices/cronos_gphdda_heater.yaml +++ b/custom_components/tuya_local/devices/cronos_gphdda_heater.yaml @@ -2,40 +2,39 @@ name: Heater products: - id: gdxxobacdlckd0ye name: Cronos GPH-D-DA -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: true - value: "heat" - - dps_val: false - value: "off" - - id: 2 - name: temperature - type: integer - unit: C - range: - min: 5 - max: 50 - - id: 3 - name: current_temperature - type: integer - - id: 5 - name: preset_mode - type: string - optional: true - mapping: - - dps_val: "level_1" - value: eco - - dps_val: "level_2" - value: comfort - - dps_val: "level_3" - value: boost -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: true + value: "heat" + - dps_val: false + value: "off" + - id: 2 + name: temperature + type: integer + unit: C + range: + min: 5 + max: 50 + - id: 3 + name: current_temperature + type: integer + - id: 5 + name: preset_mode + type: string + optional: true + mapping: + - dps_val: "level_1" + value: eco + - dps_val: "level_2" + value: comfort + - dps_val: "level_3" + value: boost - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/currysmarter_6gen_rollershutter.yaml b/custom_components/tuya_local/devices/currysmarter_6gen_rollershutter.yaml index d34bce23e7..6252814a15 100644 --- a/custom_components/tuya_local/devices/currysmarter_6gen_rollershutter.yaml +++ b/custom_components/tuya_local/devices/currysmarter_6gen_rollershutter.yaml @@ -2,27 +2,26 @@ name: Roller shutter products: - id: csgb8eqhczvjaetl name: Curry Smarter 6Gen -primary_entity: - entity: cover - class: shutter - dps: - - id: 1 - type: string - name: control - mapping: - - dps_val: open - value: open - - dps_val: close - value: close - - dps_val: stop - value: stop - - id: 2 - type: integer - name: position - range: - min: 0 - max: 100 -secondary_entities: +entities: + - entity: cover + class: shutter + dps: + - id: 1 + type: string + name: control + mapping: + - dps_val: open + value: open + - dps_val: close + value: close + - dps_val: stop + value: stop + - id: 2 + type: integer + name: position + range: + min: 0 + max: 100 - entity: select name: Calibration icon: "mdi:arrow-collapse-vertical" diff --git a/custom_components/tuya_local/devices/curtain_with_feedback.yaml b/custom_components/tuya_local/devices/curtain_with_feedback.yaml index 2fa47d4755..05c52e414c 100644 --- a/custom_components/tuya_local/devices/curtain_with_feedback.yaml +++ b/custom_components/tuya_local/devices/curtain_with_feedback.yaml @@ -1,31 +1,30 @@ name: Curtain module -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 - - id: 2 - name: current_position - type: integer -secondary_entities: +entities: + - 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 + - id: 2 + name: current_position + type: integer - entity: select name: Motor reverse mode category: config diff --git a/custom_components/tuya_local/devices/daewoo_dhome_heatpump.yaml b/custom_components/tuya_local/devices/daewoo_dhome_heatpump.yaml index acedd25f89..c0e7c4fbaa 100644 --- a/custom_components/tuya_local/devices/daewoo_dhome_heatpump.yaml +++ b/custom_components/tuya_local/devices/daewoo_dhome_heatpump.yaml @@ -2,57 +2,56 @@ name: Air conditioner products: - id: 4aeadm1xijnxjsu6 name: Daewoo DHome OL-A011 -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: Cool - value: cool - - dps_val: Dry - value: dry - - dps_val: Fan - value: fan_only - - dps_val: Heat - value: heat - - id: 2 - type: integer - name: temperature - range: - min: 16 - max: 32 - unit: C - - id: 3 - type: integer - name: current_temperature - - id: 4 - type: string - name: mode - hidden: true - - id: 5 - type: string - name: fan_mode - mapping: - - dps_val: Low - value: low - - dps_val: Hig - value: high - - id: 101 - type: boolean - name: preset_mode - mapping: - - dps_val: true - value: sleep - - dps_val: false - value: comfort -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: Cool + value: cool + - dps_val: Dry + value: dry + - dps_val: Fan + value: fan_only + - dps_val: Heat + value: heat + - id: 2 + type: integer + name: temperature + range: + min: 16 + max: 32 + unit: C + - id: 3 + type: integer + name: current_temperature + - id: 4 + type: string + name: mode + hidden: true + - id: 5 + type: string + name: fan_mode + mapping: + - dps_val: Low + value: low + - dps_val: Hig + value: high + - id: 101 + type: boolean + name: preset_mode + mapping: + - dps_val: true + value: sleep + - dps_val: false + value: comfort - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/daizuki_heatpump.yaml b/custom_components/tuya_local/devices/daizuki_heatpump.yaml index b9852f962e..092b8c61d4 100644 --- a/custom_components/tuya_local/devices/daizuki_heatpump.yaml +++ b/custom_components/tuya_local/devices/daizuki_heatpump.yaml @@ -1,119 +1,118 @@ name: Daizuki Heatpump (F) -primary_entity: - entity: climate - translation_only_key: aircon_extra - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: cold - value: cool - - dps_val: hot - value: heat - - dps_val: wet - value: dry - - dps_val: wind - value: fan_only - - dps_val: auto - value: heat_cool - - id: 2 - type: integer - name: temperature - range: - min: 610 - max: 880 - mapping: - - scale: 10 - step: 10 - unit: F - - id: 4 - type: string - name: mode - hidden: true - - id: 5 - type: string - name: fan_mode - mapping: - - dps_val: auto - value: auto - - dps_val: mute - value: quiet - - dps_val: low - value: low - - dps_val: mid_low - value: medlow - - dps_val: mid - value: medium - - dps_val: mid_high - value: medhigh - - dps_val: high - value: high - - dps_val: strong - value: strong - - id: 105 - type: string - name: sleep_mode - - id: 110 - type: bitfield - name: flags - - id: 113 - type: string - name: swing_mode - mapping: - - dps_val: "0" - value: "off" - - dps_val: "1" - value: "on" - - value: "on" - hidden: true - - id: 114 - type: string - name: swing_horizontal_mode - mapping: - - dps_val: "0" - value: "off" - - dps_val: "1" - value: "on" - - value: "on" - hidden: true - - id: 119 - type: string - name: electricity_management - - id: 120 - type: string - name: gen_mode - - id: 123 - type: hex - name: flags_2 - - id: 125 - type: string - name: air_quality - optional: true - - id: 128 - type: string - name: model_code - - id: 129 - type: string - name: energy - - id: 130 - type: integer - name: eco_temp - - id: 132 - type: boolean - name: hot_cool - - id: 133 - type: string - name: swing_action - - id: 134 - type: json - name: statistics -secondary_entities: +entities: + - entity: climate + translation_only_key: aircon_extra + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: cold + value: cool + - dps_val: hot + value: heat + - dps_val: wet + value: dry + - dps_val: wind + value: fan_only + - dps_val: auto + value: heat_cool + - id: 2 + type: integer + name: temperature + range: + min: 610 + max: 880 + mapping: + - scale: 10 + step: 10 + unit: F + - id: 4 + type: string + name: mode + hidden: true + - id: 5 + type: string + name: fan_mode + mapping: + - dps_val: auto + value: auto + - dps_val: mute + value: quiet + - dps_val: low + value: low + - dps_val: mid_low + value: medlow + - dps_val: mid + value: medium + - dps_val: mid_high + value: medhigh + - dps_val: high + value: high + - dps_val: strong + value: strong + - id: 105 + type: string + name: sleep_mode + - id: 110 + type: bitfield + name: flags + - id: 113 + type: string + name: swing_mode + mapping: + - dps_val: "0" + value: "off" + - dps_val: "1" + value: "on" + - value: "on" + hidden: true + - id: 114 + type: string + name: swing_horizontal_mode + mapping: + - dps_val: "0" + value: "off" + - dps_val: "1" + value: "on" + - value: "on" + hidden: true + - id: 119 + type: string + name: electricity_management + - id: 120 + type: string + name: gen_mode + - id: 123 + type: hex + name: flags_2 + - id: 125 + type: string + name: air_quality + optional: true + - id: 128 + type: string + name: model_code + - id: 129 + type: string + name: energy + - id: 130 + type: integer + name: eco_temp + - id: 132 + type: boolean + name: hot_cool + - id: 133 + type: string + name: swing_action + - id: 134 + type: json + name: statistics - entity: sensor class: temperature dps: diff --git a/custom_components/tuya_local/devices/deakon_evi_waterheatpump.yaml b/custom_components/tuya_local/devices/deakon_evi_waterheatpump.yaml index 18b6a87146..1a5eac42fe 100644 --- a/custom_components/tuya_local/devices/deakon_evi_waterheatpump.yaml +++ b/custom_components/tuya_local/devices/deakon_evi_waterheatpump.yaml @@ -2,62 +2,61 @@ name: Radiator heatpump products: - id: 02ek8thasvo40fmd name: Deakon EVI A2pro -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - hidden: true - - dps_val: true - constraint: mode - conditions: - - dps_val: hot - value: heat - hidden: true - - dps_val: cold - value: cool - hidden: true - - dps_val: hotwater - value: "off" - - dps_val: hot_hotwater - value: heat - - dps_val: cold_hotwater - value: cool - - id: 2 - type: integer - name: temperature - unit: C - range: - min: 7 - max: 60 - - id: 3 - type: integer - name: current_temperature - - id: 4 - type: string - name: mode - hidden: true - - id: 103 - type: string - name: hvac_action - mapping: - - dps_val: "off" - value: idle - - dps_val: "on" - value: heating - constraint: mode - conditions: - - dps_val: cold - value: cooling - - dps_val: defrost - value: defrosting - - dps_val: antifrozen - value: heating -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + hidden: true + - dps_val: true + constraint: mode + conditions: + - dps_val: hot + value: heat + hidden: true + - dps_val: cold + value: cool + hidden: true + - dps_val: hotwater + value: "off" + - dps_val: hot_hotwater + value: heat + - dps_val: cold_hotwater + value: cool + - id: 2 + type: integer + name: temperature + unit: C + range: + min: 7 + max: 60 + - id: 3 + type: integer + name: current_temperature + - id: 4 + type: string + name: mode + hidden: true + - id: 103 + type: string + name: hvac_action + mapping: + - dps_val: "off" + value: idle + - dps_val: "on" + value: heating + constraint: mode + conditions: + - dps_val: cold + value: cooling + - dps_val: defrost + value: defrosting + - dps_val: antifrozen + value: heating - entity: select name: Combined mode icon: "mdi:heat-pump" diff --git a/custom_components/tuya_local/devices/della_airconditioner.yaml b/custom_components/tuya_local/devices/della_airconditioner.yaml index 1dd4084c64..19acc1def5 100644 --- a/custom_components/tuya_local/devices/della_airconditioner.yaml +++ b/custom_components/tuya_local/devices/della_airconditioner.yaml @@ -1,83 +1,82 @@ name: Della air conditioner -primary_entity: - entity: climate - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: cold - value: cool - - dps_val: hot - value: heat - - dps_val: wet - value: dry - - dps_val: wind - value: fan_only - - dps_val: auto - value: heat_cool - - id: 2 - name: temperature - type: integer - range: - min: 160 - max: 320 - mapping: - - scale: 10 - step: 10 - constraint: temperature_unit - conditions: - - dps_val: F - range: - min: 600 - max: 900 - - id: 3 - name: current_temperature - type: integer - mapping: - - scale: 10 - - id: 4 - name: mode - type: string - hidden: true - - id: 5 - name: fan_mode - type: string - mapping: - - dps_val: low - value: low - - dps_val: mid - value: medium - - dps_val: high - value: high - - dps_val: auto - value: auto - # preset only works in cooling mode - - id: 8 - name: preset_mode - type: boolean - mapping: - - dps_val: true - value: eco - - dps_val: false - value: comfort - - id: 19 - name: temperature_unit - type: string - - id: 105 - name: swing_mode - type: boolean - mapping: - - dps_val: true - value: vertical - - dps_val: false - value: "off" -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: cold + value: cool + - dps_val: hot + value: heat + - dps_val: wet + value: dry + - dps_val: wind + value: fan_only + - dps_val: auto + value: heat_cool + - id: 2 + name: temperature + type: integer + range: + min: 160 + max: 320 + mapping: + - scale: 10 + step: 10 + constraint: temperature_unit + conditions: + - dps_val: F + range: + min: 600 + max: 900 + - id: 3 + name: current_temperature + type: integer + mapping: + - scale: 10 + - id: 4 + name: mode + type: string + hidden: true + - id: 5 + name: fan_mode + type: string + mapping: + - dps_val: low + value: low + - dps_val: mid + value: medium + - dps_val: high + value: high + - dps_val: auto + value: auto + # preset only works in cooling mode + - id: 8 + name: preset_mode + type: boolean + mapping: + - dps_val: true + value: eco + - dps_val: false + value: comfort + - id: 19 + name: temperature_unit + type: string + - id: 105 + name: swing_mode + type: boolean + mapping: + - dps_val: true + value: vertical + - dps_val: false + value: "off" - entity: switch name: Emergency heat icon: "mdi:fire" diff --git a/custom_components/tuya_local/devices/deltaco_shlw5m_ledstrip.yaml b/custom_components/tuya_local/devices/deltaco_shlw5m_ledstrip.yaml index ce4bbb77f6..02ff9c2b07 100644 --- a/custom_components/tuya_local/devices/deltaco_shlw5m_ledstrip.yaml +++ b/custom_components/tuya_local/devices/deltaco_shlw5m_ledstrip.yaml @@ -2,37 +2,37 @@ name: LED strip products: - id: gplzywt8cht24mhs name: DELTACO SH-LW5M -primary_entity: - entity: light - dps: - - id: 1 - type: boolean - name: switch - - id: 3 - type: integer - name: brightness - optional: true - range: - min: 25 - max: 255 - - id: 104 - type: string - name: effect - optional: true - mapping: - - dps_val: "1" - value: "Combination" - - dps_val: "2" - value: "In Wave" - - dps_val: "3" - value: "Sequence" - - dps_val: "4" - value: "Slo-glo" - - dps_val: "5" - value: "Chasing" - - dps_val: "6" - value: "Fade" - - dps_val: "7" - value: "Twinkle" - - dps_val: "8" - value: "Steady" +entities: + - entity: light + dps: + - id: 1 + type: boolean + name: switch + - id: 3 + type: integer + name: brightness + optional: true + range: + min: 25 + max: 255 + - id: 104 + type: string + name: effect + optional: true + mapping: + - dps_val: "1" + value: "Combination" + - dps_val: "2" + value: "In Wave" + - dps_val: "3" + value: "Sequence" + - dps_val: "4" + value: "Slo-glo" + - dps_val: "5" + value: "Chasing" + - dps_val: "6" + value: "Fade" + - dps_val: "7" + value: "Twinkle" + - dps_val: "8" + value: "Steady" diff --git a/custom_components/tuya_local/devices/depuley_smart_ceiling_fan.yaml b/custom_components/tuya_local/devices/depuley_smart_ceiling_fan.yaml index ea718645e6..1656fc71f9 100644 --- a/custom_components/tuya_local/devices/depuley_smart_ceiling_fan.yaml +++ b/custom_components/tuya_local/devices/depuley_smart_ceiling_fan.yaml @@ -2,78 +2,77 @@ name: Ceiling fan light products: - id: czvfkmtazfs0ohaq name: Depuley WS-FPZ37-18I-EU -primary_entity: - entity: light - dps: - - id: 20 - name: switch - type: boolean - - id: 21 - name: color_mode - type: string - mapping: - - dps_val: white - value: color_temp - - dps_val: colour - value: Color - - dps_val: scene - value: Scene - - dps_val: music - value: Music - - id: 22 - name: brightness - type: integer - optional: true - range: - min: 10 - max: 1000 - - id: 23 - name: color_temp - type: integer - optional: true - range: - min: 0 - max: 1000 - mapping: - - target_range: - min: 2700 - max: 6500 - - id: 24 - name: ignored_rgbhsv - type: string - optional: true - - id: 36 - name: mix_light_scene - type: base64 - optional: true - - id: 51 - name: mix_rgbcw - type: base64 - optional: true - - id: 58 - type: integer - name: brightness_min_1 - optional: true - range: - min: 10 - max: 1000 - - id: 59 - name: led_type_1 - type: string - optional: true - mapping: - - dps_val: led - value: led - - dps_val: incandescent - value: incandescent - - dps_val: halogen - value: halogen - - id: 28 - name: control_data - type: hex - optional: true +entities: + - entity: light + dps: + - id: 20 + name: switch + type: boolean + - id: 21 + name: color_mode + type: string + mapping: + - dps_val: white + value: color_temp + - dps_val: colour + value: Color + - dps_val: scene + value: Scene + - dps_val: music + value: Music + - id: 22 + name: brightness + type: integer + optional: true + range: + min: 10 + max: 1000 + - id: 23 + name: color_temp + type: integer + optional: true + range: + min: 0 + max: 1000 + mapping: + - target_range: + min: 2700 + max: 6500 + - id: 24 + name: ignored_rgbhsv + type: string + optional: true + - id: 36 + name: mix_light_scene + type: base64 + optional: true + - id: 51 + name: mix_rgbcw + type: base64 + optional: true + - id: 58 + type: integer + name: brightness_min_1 + optional: true + range: + min: 10 + max: 1000 + - id: 59 + name: led_type_1 + type: string + optional: true + mapping: + - dps_val: led + value: led + - dps_val: incandescent + value: incandescent + - dps_val: halogen + value: halogen + - id: 28 + name: control_data + type: hex + optional: true -secondary_entities: - entity: select name: Scene icon: "mdi:palette" diff --git a/custom_components/tuya_local/devices/desk_lamp.yaml b/custom_components/tuya_local/devices/desk_lamp.yaml index 581b0b9fd5..13abad6537 100644 --- a/custom_components/tuya_local/devices/desk_lamp.yaml +++ b/custom_components/tuya_local/devices/desk_lamp.yaml @@ -2,30 +2,30 @@ name: Desk Lamp products: - id: b0j0lto1o0ijwb39 name: Desk Lamp Setti+ SL601 -primary_entity: - entity: light - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - type: string - name: work_mode - - id: 3 - name: brightness - type: integer - optional: true - range: - min: 25 - max: 255 - - id: 4 - name: color_temp - type: integer - optional: true - range: - min: 0 - max: 255 - mapping: - - target_range: - min: 2700 - max: 6500 +entities: + - entity: light + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + type: string + name: work_mode + - id: 3 + name: brightness + type: integer + optional: true + range: + min: 25 + max: 255 + - id: 4 + name: color_temp + type: integer + optional: true + range: + min: 0 + max: 255 + mapping: + - target_range: + min: 2700 + max: 6500 diff --git a/custom_components/tuya_local/devices/deta_dimmer_switch.yaml b/custom_components/tuya_local/devices/deta_dimmer_switch.yaml index b2b792cb8d..22193001e8 100644 --- a/custom_components/tuya_local/devices/deta_dimmer_switch.yaml +++ b/custom_components/tuya_local/devices/deta_dimmer_switch.yaml @@ -2,19 +2,18 @@ name: Dimmer switch products: - id: zdbapiyvwyi4wtrr name: Deta 6910HA series2 -primary_entity: - entity: light - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - name: brightness - type: integer - range: - min: 10 - max: 1000 -secondary_entities: +entities: + - entity: light + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + name: brightness + type: integer + range: + min: 10 + max: 1000 - entity: number name: Minimum brightness category: config diff --git a/custom_components/tuya_local/devices/deta_fan.yaml b/custom_components/tuya_local/devices/deta_fan.yaml index 63e529577c..4b91990e84 100644 --- a/custom_components/tuya_local/devices/deta_fan.yaml +++ b/custom_components/tuya_local/devices/deta_fan.yaml @@ -1,20 +1,19 @@ name: Deta fan controller -primary_entity: - entity: fan - dps: - - id: 1 - type: boolean - name: switch - - id: 3 - type: integer - name: speed - range: - min: 1 - max: 3 - - id: 102 - type: integer - name: timer -secondary_entities: +entities: + - entity: fan + dps: + - id: 1 + type: boolean + name: switch + - id: 3 + type: integer + name: speed + range: + min: 1 + max: 3 + - id: 102 + type: integer + name: timer - entity: light dps: - id: 9 diff --git a/custom_components/tuya_local/devices/devola_patio_heater.yaml b/custom_components/tuya_local/devices/devola_patio_heater.yaml index efd8d3769d..d4331c9b21 100644 --- a/custom_components/tuya_local/devices/devola_patio_heater.yaml +++ b/custom_components/tuya_local/devices/devola_patio_heater.yaml @@ -1,74 +1,73 @@ name: Devola patio heater -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: heat - - id: 2 - type: integer - name: temperature - range: - min: 5 - max: 45 - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: temp_f - range: - min: 44 - max: 99 - - id: 3 - type: integer - name: current_temperature - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: current_temp_f - - id: 6 - type: boolean - name: preset_mode - mapping: - - dps_val: true - value: eco - - dps_val: false - value: comfort - - id: 14 - type: string - name: hvac_action - mapping: - - dps_val: heating - value: heating - - dps_val: warming - value: idle - - id: 19 - type: string - name: temperature_unit - mapping: - - dps_val: c - value: C - - dps_val: f - value: F - - id: 20 - type: integer - name: temp_f - range: - min: 44 - max: 99 - hidden: true - - id: 21 - type: integer - name: current_temp_f - hidden: true -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: heat + - id: 2 + type: integer + name: temperature + range: + min: 5 + max: 45 + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: temp_f + range: + min: 44 + max: 99 + - id: 3 + type: integer + name: current_temperature + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: current_temp_f + - id: 6 + type: boolean + name: preset_mode + mapping: + - dps_val: true + value: eco + - dps_val: false + value: comfort + - id: 14 + type: string + name: hvac_action + mapping: + - dps_val: heating + value: heating + - dps_val: warming + value: idle + - id: 19 + type: string + name: temperature_unit + mapping: + - dps_val: c + value: C + - dps_val: f + value: F + - id: 20 + type: integer + name: temp_f + range: + min: 44 + max: 99 + hidden: true + - id: 21 + type: integer + name: current_temp_f + hidden: true - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/digoo_dgsp01_dual_nightlight_switch.yaml b/custom_components/tuya_local/devices/digoo_dgsp01_dual_nightlight_switch.yaml index 200c0548ea..e3813e2fec 100644 --- a/custom_components/tuya_local/devices/digoo_dgsp01_dual_nightlight_switch.yaml +++ b/custom_components/tuya_local/devices/digoo_dgsp01_dual_nightlight_switch.yaml @@ -1,12 +1,11 @@ name: Digoo DG-SP01 -primary_entity: - entity: switch - class: outlet - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + class: outlet + dps: + - id: 1 + type: boolean + name: switch - entity: light translation_key: nightlight dps: diff --git a/custom_components/tuya_local/devices/digoo_dgsp202.yaml b/custom_components/tuya_local/devices/digoo_dgsp202.yaml index d954ac66b1..23acb4be6f 100644 --- a/custom_components/tuya_local/devices/digoo_dgsp202.yaml +++ b/custom_components/tuya_local/devices/digoo_dgsp202.yaml @@ -1,15 +1,14 @@ name: DIGOO DG-SP202 -primary_entity: - entity: switch - class: outlet - translation_key: outlet_x - translation_placeholders: - x: "1" - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + class: outlet + translation_key: outlet_x + translation_placeholders: + x: "1" + dps: + - id: 1 + type: boolean + name: switch - entity: switch translation_key: outlet_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/digoo_hamb_alarm.yaml b/custom_components/tuya_local/devices/digoo_hamb_alarm.yaml index 361312d0d7..bfbc8c33a5 100644 --- a/custom_components/tuya_local/devices/digoo_hamb_alarm.yaml +++ b/custom_components/tuya_local/devices/digoo_hamb_alarm.yaml @@ -2,45 +2,44 @@ name: Alarm system products: - id: a4xyigjpkcmfafvh name: Digoo DG-HAMB -primary_entity: - entity: alarm_control_panel - dps: - - id: 1 - type: string - name: alarm_state - mapping: - - dps_val: disarmed - value: disarmed - - dps_val: arm - value: armed_away - - dps_val: home - value: armed_home - - dps_val: sos - value: triggered - - id: 1 - type: string - name: trigger - mapping: - - dps_val: sos - value: true - - value: false - - id: 36 - type: string - optional: true - name: sub_class - - id: 37 - type: string - optional: true - name: sub_type - - id: 38 - type: string - optional: true - name: sub_admin - - id: 39 - type: string - optional: true - name: sub_state -secondary_entities: +entities: + - entity: alarm_control_panel + dps: + - id: 1 + type: string + name: alarm_state + mapping: + - dps_val: disarmed + value: disarmed + - dps_val: arm + value: armed_away + - dps_val: home + value: armed_home + - dps_val: sos + value: triggered + - id: 1 + type: string + name: trigger + mapping: + - dps_val: sos + value: true + - value: false + - id: 36 + type: string + optional: true + name: sub_class + - id: 37 + type: string + optional: true + name: sub_type + - id: 38 + type: string + optional: true + name: sub_admin + - id: 39 + type: string + optional: true + name: sub_state - entity: number name: Exit delay category: config diff --git a/custom_components/tuya_local/devices/diivoo_dwv010.yaml b/custom_components/tuya_local/devices/diivoo_dwv010.yaml index f5aae2a5c2..016ff4c894 100644 --- a/custom_components/tuya_local/devices/diivoo_dwv010.yaml +++ b/custom_components/tuya_local/devices/diivoo_dwv010.yaml @@ -2,18 +2,17 @@ name: Dual water timer products: - id: r6ya07uz name: Diivoo DWV010 -primary_entity: - entity: valve - class: water - name: Valve 1 - dps: - - id: 1 - type: boolean - name: valve - - id: 12 - type: string - name: operation -secondary_entities: +entities: + - entity: valve + class: water + name: Valve 1 + dps: + - id: 1 + type: boolean + name: valve + - id: 12 + type: string + name: operation - entity: valve class: water name: Valve 2 diff --git a/custom_components/tuya_local/devices/diivoo_wt05.yaml b/custom_components/tuya_local/devices/diivoo_wt05.yaml index 9b594706a1..73181c7474 100644 --- a/custom_components/tuya_local/devices/diivoo_wt05.yaml +++ b/custom_components/tuya_local/devices/diivoo_wt05.yaml @@ -16,15 +16,14 @@ name: Dual water timer products: - id: fdrbxxbg name: Diivoo WT-05 -primary_entity: - entity: valve - class: water - name: Valve 1 - dps: - - id: 105 - type: boolean - name: valve -secondary_entities: +entities: + - entity: valve + class: water + name: Valve 1 + dps: + - id: 105 + type: boolean + name: valve - entity: valve class: water name: Valve 2 diff --git a/custom_components/tuya_local/devices/dimming_1ch_switch.yaml b/custom_components/tuya_local/devices/dimming_1ch_switch.yaml index f4cbb04bde..dbc9fcd6ca 100644 --- a/custom_components/tuya_local/devices/dimming_1ch_switch.yaml +++ b/custom_components/tuya_local/devices/dimming_1ch_switch.yaml @@ -2,25 +2,24 @@ name: Dimmer products: - id: 5zsarybcltypoeaa name: Single channel module -primary_entity: - entity: light - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - name: brightness - type: integer - range: - min: 10 - max: 1000 - - id: 3 - type: integer - name: min_brightness - - id: 5 - type: integer - name: max_brightness -secondary_entities: +entities: + - entity: light + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + name: brightness + type: integer + range: + min: 10 + max: 1000 + - id: 3 + type: integer + name: min_brightness + - id: 5 + type: integer + name: max_brightness - entity: select name: LED type icon: "mdi:led-on" diff --git a/custom_components/tuya_local/devices/dimming_light_track.yaml b/custom_components/tuya_local/devices/dimming_light_track.yaml index 4c6ed79da4..d0acecaa69 100644 --- a/custom_components/tuya_local/devices/dimming_light_track.yaml +++ b/custom_components/tuya_local/devices/dimming_light_track.yaml @@ -2,29 +2,29 @@ name: Dimming CCT light products: - id: fkxcslivaluonzdp name: LightStar track light -primary_entity: - entity: light - dps: - - id: 20 - type: boolean - name: switch - - id: 22 - name: brightness - type: integer - range: - min: 5 - max: 1000 - - id: 23 - name: color_temp - type: integer - range: - min: 0 - max: 1000 - mapping: - - invert: true - target_range: - min: 2700 - max: 6500 - - id: 106 - name: identity - type: string +entities: + - entity: light + dps: + - id: 20 + type: boolean + name: switch + - id: 22 + name: brightness + type: integer + range: + min: 5 + max: 1000 + - id: 23 + name: color_temp + type: integer + range: + min: 0 + max: 1000 + mapping: + - invert: true + target_range: + min: 2700 + max: 6500 + - id: 106 + name: identity + type: string diff --git a/custom_components/tuya_local/devices/dimming_lightbulb.yaml b/custom_components/tuya_local/devices/dimming_lightbulb.yaml index a5481de795..39c5bf93a3 100644 --- a/custom_components/tuya_local/devices/dimming_lightbulb.yaml +++ b/custom_components/tuya_local/devices/dimming_lightbulb.yaml @@ -6,19 +6,18 @@ products: name: Arlec Smart 4W 380lm Candle Dimmable Bulb GLD060HA - id: aok3caeleulg1neh name: S10 wireless dimmer -primary_entity: - entity: light - dps: - - id: 20 - type: boolean - name: switch - - id: 22 - name: brightness - type: integer - range: - min: 10 - max: 1000 -secondary_entities: +entities: + - entity: light + dps: + - id: 20 + type: boolean + name: switch + - id: 22 + name: brightness + type: integer + range: + min: 10 + max: 1000 - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/ditua_dt1522yn_aromadiffuser.yaml b/custom_components/tuya_local/devices/ditua_dt1522yn_aromadiffuser.yaml index fce29f57b0..24f346863c 100644 --- a/custom_components/tuya_local/devices/ditua_dt1522yn_aromadiffuser.yaml +++ b/custom_components/tuya_local/devices/ditua_dt1522yn_aromadiffuser.yaml @@ -4,26 +4,25 @@ products: name: Ditua DT-1522-YN - id: venoaj75waptukdf name: Sierra Modern Home diffuser -primary_entity: - entity: fan - translation_key: aroma_diffuser - dps: - - id: 1 - type: boolean - name: switch - - id: 103 - type: string - name: speed - optional: true - mapping: - - dps_val: small - value: 50 - - dps_val: large - value: 100 - - dps_val: null - value: 0 - hidden: true -secondary_entities: +entities: + - entity: fan + translation_key: aroma_diffuser + dps: + - id: 1 + type: boolean + name: switch + - id: 103 + type: string + name: speed + optional: true + mapping: + - dps_val: small + value: 50 + - dps_val: large + value: 100 + - dps_val: null + value: 0 + hidden: true - entity: light category: config dps: diff --git a/custom_components/tuya_local/devices/djive_arc_fan.yaml b/custom_components/tuya_local/devices/djive_arc_fan.yaml index b2055567bb..0e1cd18801 100644 --- a/custom_components/tuya_local/devices/djive_arc_fan.yaml +++ b/custom_components/tuya_local/devices/djive_arc_fan.yaml @@ -2,37 +2,36 @@ name: Humidifying fan products: - id: bf5fd02f13d3f6d92exy2t name: djive Flowmate ARC Humidifier -primary_entity: - entity: fan - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - name: preset_mode - type: string - optional: true - mapping: - - dps_val: close - value: normal - - dps_val: auto - value: smart - - dps_val: strong - value: strong - - dps_val: fresh - value: fresh - - dps_val: sleep - value: sleep - - id: 3 - name: speed - type: integer - range: - min: 1 - max: 9 - - id: 5 - type: boolean - name: oscillate -secondary_entities: +entities: + - entity: fan + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + name: preset_mode + type: string + optional: true + mapping: + - dps_val: close + value: normal + - dps_val: auto + value: smart + - dps_val: strong + value: strong + - dps_val: fresh + value: fresh + - dps_val: sleep + value: sleep + - id: 3 + name: speed + type: integer + range: + min: 1 + max: 9 + - id: 5 + type: boolean + name: oscillate - entity: select category: config name: Humidifier diff --git a/custom_components/tuya_local/devices/doel_tiplus_litterbox.yaml b/custom_components/tuya_local/devices/doel_tiplus_litterbox.yaml index cb4dd95969..6489de0ac3 100644 --- a/custom_components/tuya_local/devices/doel_tiplus_litterbox.yaml +++ b/custom_components/tuya_local/devices/doel_tiplus_litterbox.yaml @@ -2,31 +2,30 @@ name: Litter box products: - id: ijas23irjjaenllv name: DOEL Ti+ -primary_entity: - entity: sensor - name: Cat weight - icon: "mdi:cat" - class: weight - dps: - - id: 6 - type: integer - name: sensor - class: measurement - mapping: - - scale: 10 - constraint: unit - conditions: - - dps_val: lb - value_redirect: weight_lb - - id: 108 - type: string - name: unit - - id: 134 - type: integer - name: weight_lb - mapping: - - scale: 10 -secondary_entities: +entities: + - entity: sensor + name: Cat weight + icon: "mdi:cat" + class: weight + dps: + - id: 6 + type: integer + name: sensor + class: measurement + mapping: + - scale: 10 + constraint: unit + conditions: + - dps_val: lb + value_redirect: weight_lb + - id: 108 + type: string + name: unit + - id: 134 + type: integer + name: weight_lb + mapping: + - scale: 10 - entity: sensor name: Daily visits icon: "mdi:emoticon-poop" diff --git a/custom_components/tuya_local/devices/dongguan_electric_curtain.yaml b/custom_components/tuya_local/devices/dongguan_electric_curtain.yaml index 02bb90ce70..03c4c233f4 100644 --- a/custom_components/tuya_local/devices/dongguan_electric_curtain.yaml +++ b/custom_components/tuya_local/devices/dongguan_electric_curtain.yaml @@ -2,35 +2,34 @@ name: Curtain robot products: - id: kcy0x4pi name: Dongguan LY1678-2 -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: 3 - name: current_position - type: integer - unit: "%" - range: - min: 0 - max: 100 - mapping: - - invert: true - optional: true - persist: false - - id: 7 - name: learning_state - type: string -secondary_entities: +entities: + - 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: 3 + name: current_position + type: integer + unit: "%" + range: + min: 0 + max: 100 + mapping: + - invert: true + optional: true + persist: false + - id: 7 + name: learning_state + type: string - entity: select category: config name: Closed position diff --git a/custom_components/tuya_local/devices/dongguan_garage_door_opener.yaml b/custom_components/tuya_local/devices/dongguan_garage_door_opener.yaml index b562483983..abad3131af 100644 --- a/custom_components/tuya_local/devices/dongguan_garage_door_opener.yaml +++ b/custom_components/tuya_local/devices/dongguan_garage_door_opener.yaml @@ -6,28 +6,27 @@ name: Garage opener products: - id: 1wwbzczt9hrtwqjr name: Dongguan PJ-WGDOOR01 -primary_entity: - entity: cover - class: garage - dps: - - id: 1 - type: boolean - name: control - optional: true # Sometimes this DP doesn't report state - mapping: - - dps_val: true - value: open - - dps_val: false - value: close - - id: 3 - type: boolean - name: action - mapping: - - dps_val: true - value: opened - - dps_val: false - value: closed -secondary_entities: +entities: + - entity: cover + class: garage + dps: + - id: 1 + type: boolean + name: control + optional: true # Sometimes this DP doesn't report state + mapping: + - dps_val: true + value: open + - dps_val: false + value: close + - id: 3 + type: boolean + name: action + mapping: + - dps_val: true + value: opened + - dps_val: false + value: closed - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/door_peephole_camera.yaml b/custom_components/tuya_local/devices/door_peephole_camera.yaml index 880a0661d9..af60f160d6 100644 --- a/custom_components/tuya_local/devices/door_peephole_camera.yaml +++ b/custom_components/tuya_local/devices/door_peephole_camera.yaml @@ -2,18 +2,17 @@ name: Camera products: - id: fzsbulp3wg64l8vx name: TY-W160D -primary_entity: - entity: camera - dps: - - id: 134 - type: boolean - name: motion_enable - optional: true - - id: 150 - type: boolean - name: record - optional: true -secondary_entities: +entities: + - entity: camera + dps: + - id: 134 + type: boolean + name: motion_enable + optional: true + - id: 150 + type: boolean + name: record + optional: true - entity: switch name: Flip image category: config diff --git a/custom_components/tuya_local/devices/dooya_curtain.yaml b/custom_components/tuya_local/devices/dooya_curtain.yaml index 841a9c02ba..dff6df796a 100644 --- a/custom_components/tuya_local/devices/dooya_curtain.yaml +++ b/custom_components/tuya_local/devices/dooya_curtain.yaml @@ -3,27 +3,26 @@ legacy_type: smartcurtain_acs_wt products: - id: spjpuwf1u2dc7tlt name: SmartCurtain 3 -primary_entity: - entity: cover - class: curtain - dps: - - id: 101 - type: string - name: control - mapping: - - dps_val: open - value: open - - dps_val: close - value: close - - dps_val: stop - value: stop - - id: 102 - type: integer - name: current_position - - id: 104 - type: integer - name: position -secondary_entities: +entities: + - entity: cover + class: curtain + dps: + - id: 101 + type: string + name: control + mapping: + - dps_val: open + value: open + - dps_val: close + value: close + - dps_val: stop + value: stop + - id: 102 + type: integer + name: current_position + - id: 104 + type: integer + name: position - entity: select name: Direction icon: "mdi:swap-horizontal" diff --git a/custom_components/tuya_local/devices/dr_heater_dr008_thermostat.yaml b/custom_components/tuya_local/devices/dr_heater_dr008_thermostat.yaml index 655e287b58..a4000a3e69 100644 --- a/custom_components/tuya_local/devices/dr_heater_dr008_thermostat.yaml +++ b/custom_components/tuya_local/devices/dr_heater_dr008_thermostat.yaml @@ -2,95 +2,94 @@ name: Floor thermostat # products: # - id: UNKNOWN # name: Dr. Heater DR-008 -primary_entity: - entity: climate - translation_key: thermostat - dps: - - id: 101 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: heat - - id: 102 - type: integer - name: temperature - range: - min: 200 - max: 500 - mapping: - - scale: 10 - step: 5 - constraint: temperature_unit - conditions: - - dps_val: true - step: 10 - range: - min: 680 - max: 1220 - - id: 103 - type: string - name: preset_mode - mapping: - - dps_val: Smart - value: program - - dps_val: Manual - value: manual - - dps_val: Anti_frozen - value: away - - id: 105 - type: integer - name: current_temperature - mapping: - - constraint: sensor - conditions: - - dps_val: "0" - scale: 10 - - dps_val: "1" - value_redirect: floor_temperature - - dps_val: "2" - scale: 10 - - id: 106 - type: integer - name: floor_temperature - hidden: true - mapping: - - scale: 10 - - id: 107 - name: temperature_unit - type: boolean - mapping: - - dps_val: false - value: C - - dps_val: true - value: F - - id: 111 - type: string - name: sensor - hidden: true - - id: 118 - type: boolean - name: hvac_action - mapping: - - dps_val: true - value: heating - - dps_val: false - value: idle - - id: 112 - type: integer - name: temperature_calibration_offset - range: - min: -9 - max: 9 - - id: 113 - type: integer - name: floor_calibration_offset - range: - min: -9 - max: 9 -secondary_entities: +entities: + - entity: climate + translation_key: thermostat + dps: + - id: 101 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: heat + - id: 102 + type: integer + name: temperature + range: + min: 200 + max: 500 + mapping: + - scale: 10 + step: 5 + constraint: temperature_unit + conditions: + - dps_val: true + step: 10 + range: + min: 680 + max: 1220 + - id: 103 + type: string + name: preset_mode + mapping: + - dps_val: Smart + value: program + - dps_val: Manual + value: manual + - dps_val: Anti_frozen + value: away + - id: 105 + type: integer + name: current_temperature + mapping: + - constraint: sensor + conditions: + - dps_val: "0" + scale: 10 + - dps_val: "1" + value_redirect: floor_temperature + - dps_val: "2" + scale: 10 + - id: 106 + type: integer + name: floor_temperature + hidden: true + mapping: + - scale: 10 + - id: 107 + name: temperature_unit + type: boolean + mapping: + - dps_val: false + value: C + - dps_val: true + value: F + - id: 111 + type: string + name: sensor + hidden: true + - id: 118 + type: boolean + name: hvac_action + mapping: + - dps_val: true + value: heating + - dps_val: false + value: idle + - id: 112 + type: integer + name: temperature_calibration_offset + range: + min: -9 + max: 9 + - id: 113 + type: integer + name: floor_calibration_offset + range: + min: -9 + max: 9 - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/dream_maker_feel_fan.yaml b/custom_components/tuya_local/devices/dream_maker_feel_fan.yaml index 210b67a767..3d54ce000c 100644 --- a/custom_components/tuya_local/devices/dream_maker_feel_fan.yaml +++ b/custom_components/tuya_local/devices/dream_maker_feel_fan.yaml @@ -2,34 +2,32 @@ name: Pedestal Fan products: - id: lf3n6whotmyd1d1q name: Dream Maker Feel Fan DM01 -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - type: string - name: preset_mode - mapping: - - dps_val: "Straight" - value: normal - - dps_val: "Natural" - value: nature - - dps_val: "AI" - value: smart - - id: 3 - type: integer - name: speed - range: - min: 0 - max: 100 - - id: 5 - type: boolean - name: oscillate - -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + type: string + name: preset_mode + mapping: + - dps_val: "Straight" + value: normal + - dps_val: "Natural" + value: nature + - dps_val: "AI" + value: smart + - id: 3 + type: integer + name: speed + range: + min: 0 + max: 100 + - id: 5 + type: boolean + name: oscillate - entity: select name: Oscillation Angle icon: mdi:arrow-oscillating diff --git a/custom_components/tuya_local/devices/dreamlight_led_strip.yaml b/custom_components/tuya_local/devices/dreamlight_led_strip.yaml index c49e604dad..08f02dc309 100644 --- a/custom_components/tuya_local/devices/dreamlight_led_strip.yaml +++ b/custom_components/tuya_local/devices/dreamlight_led_strip.yaml @@ -2,88 +2,87 @@ name: RGBCW light strip products: - id: aok3caeleulg1neh name: LSC LED Strip RGBIC+CCT 2x5M -primary_entity: - entity: light - dps: - - id: 20 - type: boolean - name: switch - - id: 21 - type: string - name: color_mode - mapping: - - dps_val: white - value: color_temp - - dps_val: colour - value: hs - - dps_val: scene - value: Scene - - dps_val: music - value: Music - - id: 22 - name: brightness - type: integer - optional: true - range: - min: 10 - max: 1000 - mapping: - - dps_val: null - value: 0 - - id: 23 - name: color_temp - type: integer - optional: true - range: - min: 0 - max: 1000 - mapping: - - target_range: - min: 2700 - max: 6500 - - id: 24 - name: rgbhsv - type: hex - optional: true - format: - - name: h - bytes: 2 - range: - min: 0 - max: 360 - - name: s - bytes: 2 - range: - min: 0 - max: 1000 - - name: v - bytes: 2 - range: - min: 0 - max: 1000 - - id: 27 - name: music_data - type: hex - optional: true - - id: 46 - name: length_cm - type: integer - - id: 47 - name: pixels - type: integer - - id: 51 - name: dreamlight_scene - type: string - optional: true - - id: 52 - name: dreamlight_music_data - type: string - optional: true - - id: 61 - name: paint_colour_data - type: string - optional: true -secondary_entities: +entities: + - entity: light + dps: + - id: 20 + type: boolean + name: switch + - id: 21 + type: string + name: color_mode + mapping: + - dps_val: white + value: color_temp + - dps_val: colour + value: hs + - dps_val: scene + value: Scene + - dps_val: music + value: Music + - id: 22 + name: brightness + type: integer + optional: true + range: + min: 10 + max: 1000 + mapping: + - dps_val: null + value: 0 + - id: 23 + name: color_temp + type: integer + optional: true + range: + min: 0 + max: 1000 + mapping: + - target_range: + min: 2700 + max: 6500 + - id: 24 + name: rgbhsv + type: hex + optional: true + format: + - name: h + bytes: 2 + range: + min: 0 + max: 360 + - name: s + bytes: 2 + range: + min: 0 + max: 1000 + - name: v + bytes: 2 + range: + min: 0 + max: 1000 + - id: 27 + name: music_data + type: hex + optional: true + - id: 46 + name: length_cm + type: integer + - id: 47 + name: pixels + type: integer + - id: 51 + name: dreamlight_scene + type: string + optional: true + - id: 52 + name: dreamlight_music_data + type: string + optional: true + - id: 61 + name: paint_colour_data + type: string + optional: true - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/dry_pury_evo_dehumidifier.yaml b/custom_components/tuya_local/devices/dry_pury_evo_dehumidifier.yaml index 52e43bbdd9..f386ca147a 100644 --- a/custom_components/tuya_local/devices/dry_pury_evo_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/dry_pury_evo_dehumidifier.yaml @@ -2,35 +2,34 @@ name: Dehumidifier products: - id: oya6k3fqen43zyi7 name: Argo DRY PURY EVO WF 21 -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - name: humidity - type: integer - range: - min: 30 - max: 80 - mapping: - - step: 5 - - id: 5 - name: mode - type: string - mapping: - - dps_val: dehumidify - value: comfort - - dps_val: drying - value: laundry - - dps_val: sleep - value: sleep - - id: 6 - name: current_humidity - type: integer -secondary_entities: +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + name: humidity + type: integer + range: + min: 30 + max: 80 + mapping: + - step: 5 + - id: 5 + name: mode + type: string + mapping: + - dps_val: dehumidify + value: comfort + - dps_val: drying + value: laundry + - dps_val: sleep + value: sleep + - id: 6 + name: current_humidity + type: integer - entity: fan dps: - id: 1 diff --git a/custom_components/tuya_local/devices/dts238_7_energy_meter.yaml b/custom_components/tuya_local/devices/dts238_7_energy_meter.yaml index 87d1eed62b..24715f252c 100644 --- a/custom_components/tuya_local/devices/dts238_7_energy_meter.yaml +++ b/custom_components/tuya_local/devices/dts238_7_energy_meter.yaml @@ -2,41 +2,40 @@ name: Energy meter products: - id: 1rlikmowi2erb6qw name: DTS238-7 -primary_entity: - entity: sensor - name: Total energy - class: energy - dps: - - id: 1 - type: integer - name: sensor - unit: kWh - class: total_increasing - mapping: - - scale: 100 - - id: 6 - type: base64 - name: phase_a - optional: true - - id: 7 - type: base64 - name: phase_b - optional: true - - id: 8 - type: base64 - name: phase_c - 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 - - id: 17 - name: alarm_set - type: string - optional: true - - id: 18 - name: meter_id - type: string -secondary_entities: +entities: + - entity: sensor + name: Total energy + class: energy + dps: + - id: 1 + type: integer + name: sensor + unit: kWh + class: total_increasing + mapping: + - scale: 100 + - id: 6 + type: base64 + name: phase_a + optional: true + - id: 7 + type: base64 + name: phase_b + optional: true + - id: 8 + type: base64 + name: phase_c + 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 + - id: 17 + name: alarm_set + type: string + optional: true + - id: 18 + name: meter_id + type: string - entity: sensor name: Total power class: power diff --git a/custom_components/tuya_local/devices/dual_clamp_energymeter.yaml b/custom_components/tuya_local/devices/dual_clamp_energymeter.yaml index 3a092e7403..0b60b211fb 100644 --- a/custom_components/tuya_local/devices/dual_clamp_energymeter.yaml +++ b/custom_components/tuya_local/devices/dual_clamp_energymeter.yaml @@ -2,20 +2,19 @@ name: Dual energy meter products: - id: jbarpbsikxovmxeg name: Bidirectional 2-way CT clamp -primary_entity: - entity: sensor - class: energy - name: Total active energy - category: diagnostic - dps: - - id: 107 - type: integer - name: sensor - unit: kWh - class: total_increasing - mapping: - - scale: 100 -secondary_entities: +entities: + - entity: sensor + class: energy + name: Total active energy + category: diagnostic + dps: + - id: 107 + type: integer + name: sensor + unit: kWh + class: total_increasing + mapping: + - scale: 100 - entity: sensor class: power category: diagnostic diff --git a/custom_components/tuya_local/devices/dual_dimmer_module.yaml b/custom_components/tuya_local/devices/dual_dimmer_module.yaml index fb1e2e633c..861d3917ab 100644 --- a/custom_components/tuya_local/devices/dual_dimmer_module.yaml +++ b/custom_components/tuya_local/devices/dual_dimmer_module.yaml @@ -2,20 +2,19 @@ name: Dual dimmer products: - id: 3ovuf2vazfsz2hfd name: LG921 -primary_entity: - entity: light - name: Light 1 - dps: - - id: 101 - type: boolean - name: switch - - id: 102 - name: brightness - type: integer - range: - min: 25 - max: 255 -secondary_entities: +entities: + - entity: light + name: Light 1 + dps: + - id: 101 + type: boolean + name: switch + - id: 102 + name: brightness + type: integer + range: + min: 25 + max: 255 - entity: light name: Light 2 dps: diff --git a/custom_components/tuya_local/devices/dual_power_monitor_smartplug.yaml b/custom_components/tuya_local/devices/dual_power_monitor_smartplug.yaml index cef346dec7..968fd6bea8 100644 --- a/custom_components/tuya_local/devices/dual_power_monitor_smartplug.yaml +++ b/custom_components/tuya_local/devices/dual_power_monitor_smartplug.yaml @@ -1,19 +1,18 @@ name: Dual power monitoring smartplug -primary_entity: - entity: switch - translation_key: outlet_x - translation_placeholders: - x: "1" - class: outlet - dps: - - id: 1 - type: boolean - name: switch - - id: 6 - type: integer - name: add_ele - optional: true -secondary_entities: +entities: + - entity: switch + translation_key: outlet_x + translation_placeholders: + x: "1" + class: outlet + dps: + - id: 1 + type: boolean + name: switch + - id: 6 + type: integer + name: add_ele + optional: true - entity: switch translation_key: outlet_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/dual_power_monitor_smartplugv2.yaml b/custom_components/tuya_local/devices/dual_power_monitor_smartplugv2.yaml index a2a9c31ea9..3a3309638c 100644 --- a/custom_components/tuya_local/devices/dual_power_monitor_smartplugv2.yaml +++ b/custom_components/tuya_local/devices/dual_power_monitor_smartplugv2.yaml @@ -4,33 +4,32 @@ products: name: Deltaco SH-P02 - id: arf4t5idnhpt88ii name: Smatrul dual wall plug -primary_entity: - entity: switch - translation_key: outlet_x - translation_placeholders: - x: "1" - class: outlet - dps: - - id: 1 - type: boolean - name: switch - - id: 17 - type: integer - name: add_ele - optional: true - - id: 21 - type: bitfield - name: factory_test - optional: true - - id: 25 - type: integer - name: ele_calibration - optional: true - - id: 42 - type: string - name: schedule - optional: true -secondary_entities: +entities: + - entity: switch + translation_key: outlet_x + translation_placeholders: + x: "1" + class: outlet + dps: + - id: 1 + type: boolean + name: switch + - id: 17 + type: integer + name: add_ele + optional: true + - id: 21 + type: bitfield + name: factory_test + optional: true + - id: 25 + type: integer + name: ele_calibration + optional: true + - id: 42 + type: string + name: schedule + optional: true - entity: switch translation_key: outlet_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/duux_blizzard_portable_aircon.yaml b/custom_components/tuya_local/devices/duux_blizzard_portable_aircon.yaml index 184c8df560..86b9ff443b 100644 --- a/custom_components/tuya_local/devices/duux_blizzard_portable_aircon.yaml +++ b/custom_components/tuya_local/devices/duux_blizzard_portable_aircon.yaml @@ -4,91 +4,90 @@ products: name: Duux Blizzard - id: 1wfuo7w1yoejmgbn name: Klarstein Kraftwerk Smart -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: auto - value: auto - - dps_val: cool - value: cool - - dps_val: dry - value: dry - - dps_val: fan - value: fan_only - - dps_val: heat - value: heat - available: heat_available - - id: 2 - type: string - name: mode - hidden: true - - id: 3 - type: string - name: fan_mode - mapping: - - dps_val: low - value: low - - dps_val: mid - value: medium - - dps_val: high - value: high - - id: 5 - type: integer - name: temperature - optional: true - range: - min: 18 - max: 32 - mapping: - - constraint: temperature_unit - conditions: - - dps_val: true - value_redirect: temp_set_f - range: - min: 64 - max: 90 - - id: 8 - type: integer - name: current_temperature - mapping: - - constraint: temperature_unit - conditions: - - dps_val: true - value_redirect: temp_current_f - - id: 10 - type: integer - name: temp_set_f - optional: true - hidden: true - range: - min: 64 - max: 90 - - id: 11 - type: integer - name: temp_current_f - hidden: true - optional: true - - id: 13 - type: boolean - name: heat_available - - id: 14 - type: boolean - name: temperature_unit - mapping: - - dps_val: false - value: C - - dps_val: true - value: F -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: auto + value: auto + - dps_val: cool + value: cool + - dps_val: dry + value: dry + - dps_val: fan + value: fan_only + - dps_val: heat + value: heat + available: heat_available + - id: 2 + type: string + name: mode + hidden: true + - id: 3 + type: string + name: fan_mode + mapping: + - dps_val: low + value: low + - dps_val: mid + value: medium + - dps_val: high + value: high + - id: 5 + type: integer + name: temperature + optional: true + range: + min: 18 + max: 32 + mapping: + - constraint: temperature_unit + conditions: + - dps_val: true + value_redirect: temp_set_f + range: + min: 64 + max: 90 + - id: 8 + type: integer + name: current_temperature + mapping: + - constraint: temperature_unit + conditions: + - dps_val: true + value_redirect: temp_current_f + - id: 10 + type: integer + name: temp_set_f + optional: true + hidden: true + range: + min: 64 + max: 90 + - id: 11 + type: integer + name: temp_current_f + hidden: true + optional: true + - id: 13 + type: boolean + name: heat_available + - id: 14 + type: boolean + name: temperature_unit + mapping: + - dps_val: false + value: C + - dps_val: true + value: F - entity: number translation_key: timer category: config diff --git a/custom_components/tuya_local/devices/duux_bright_purifier.yaml b/custom_components/tuya_local/devices/duux_bright_purifier.yaml index 56899ad02d..fe85b587d1 100644 --- a/custom_components/tuya_local/devices/duux_bright_purifier.yaml +++ b/custom_components/tuya_local/devices/duux_bright_purifier.yaml @@ -2,29 +2,28 @@ name: Air purifier products: - id: go2ndjijilncwuf7 name: Duux Bright -primary_entity: - entity: fan - translation_key: fan_with_presets - icon: "mdi:air-purifier" - dps: - - id: 1 - type: boolean - name: switch - - id: 4 - type: string - name: preset_mode - mapping: - - dps_val: auto - value: auto - - dps_val: "1" - value: low - - dps_val: "2" - value: medium - - dps_val: "3" - value: high - - dps_val: sleep - value: sleep -secondary_entities: +entities: + - entity: fan + translation_key: fan_with_presets + icon: "mdi:air-purifier" + dps: + - id: 1 + type: boolean + name: switch + - id: 4 + type: string + name: preset_mode + mapping: + - dps_val: auto + value: auto + - dps_val: "1" + value: low + - dps_val: "2" + value: medium + - dps_val: "3" + value: high + - dps_val: sleep + value: sleep - entity: sensor class: pm25 dps: diff --git a/custom_components/tuya_local/devices/duux_whisper_fan.yaml b/custom_components/tuya_local/devices/duux_whisper_fan.yaml index 84d46629f0..f56ea04a37 100644 --- a/custom_components/tuya_local/devices/duux_whisper_fan.yaml +++ b/custom_components/tuya_local/devices/duux_whisper_fan.yaml @@ -2,88 +2,87 @@ name: Pedestal fan products: - id: dune79w7bsu6dg3e name: Duux Whisper Flex -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - type: string - name: preset_mode - mapping: - - dps_val: "0" - value: normal - - dps_val: "1" - value: nature - - dps_val: "2" - value: sleep - - id: 3 - type: string - name: speed - mapping: - - dps_val: "1" - value: 4 - - dps_val: "2" - value: 8 - - dps_val: "3" - value: 12 - - dps_val: "4" - value: 15 - - dps_val: "5" - value: 19 - - dps_val: "6" - value: 23 - - dps_val: "7" - value: 27 - - dps_val: "8" - value: 31 - - dps_val: "9" - value: 35 - - dps_val: "10" - value: 38 - - dps_val: "11" - value: 42 - - dps_val: "12" - value: 46 - - dps_val: "13" - value: 50 - - dps_val: "14" - value: 54 - - dps_val: "15" - value: 58 - - dps_val: "16" - value: 62 - - dps_val: "17" - value: 65 - - dps_val: "18" - value: 69 - - dps_val: "19" - value: 73 - - dps_val: "20" - value: 77 - - dps_val: "21" - value: 81 - - dps_val: "22" - value: 85 - - dps_val: "23" - value: 88 - - dps_val: "24" - value: 92 - - dps_val: "25" - value: 96 - - dps_val: "26" - value: 100 - - id: 4 - type: string - name: oscillate - mapping: - - dps_val: "1" - value: true - - dps_val: "0" - value: false -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + type: string + name: preset_mode + mapping: + - dps_val: "0" + value: normal + - dps_val: "1" + value: nature + - dps_val: "2" + value: sleep + - id: 3 + type: string + name: speed + mapping: + - dps_val: "1" + value: 4 + - dps_val: "2" + value: 8 + - dps_val: "3" + value: 12 + - dps_val: "4" + value: 15 + - dps_val: "5" + value: 19 + - dps_val: "6" + value: 23 + - dps_val: "7" + value: 27 + - dps_val: "8" + value: 31 + - dps_val: "9" + value: 35 + - dps_val: "10" + value: 38 + - dps_val: "11" + value: 42 + - dps_val: "12" + value: 46 + - dps_val: "13" + value: 50 + - dps_val: "14" + value: 54 + - dps_val: "15" + value: 58 + - dps_val: "16" + value: 62 + - dps_val: "17" + value: 65 + - dps_val: "18" + value: 69 + - dps_val: "19" + value: 73 + - dps_val: "20" + value: 77 + - dps_val: "21" + value: 81 + - dps_val: "22" + value: 85 + - dps_val: "23" + value: 88 + - dps_val: "24" + value: 92 + - dps_val: "25" + value: 96 + - dps_val: "26" + value: 100 + - id: 4 + type: string + name: oscillate + mapping: + - dps_val: "1" + value: true + - dps_val: "0" + value: false - entity: switch name: Vertical oscillation category: config diff --git a/custom_components/tuya_local/devices/duux_whisper_flex_ultimate_fan.yaml b/custom_components/tuya_local/devices/duux_whisper_flex_ultimate_fan.yaml index 98a69bf241..d16e0c9464 100644 --- a/custom_components/tuya_local/devices/duux_whisper_flex_ultimate_fan.yaml +++ b/custom_components/tuya_local/devices/duux_whisper_flex_ultimate_fan.yaml @@ -2,30 +2,29 @@ name: Portable Fan products: - id: cjsa4k7tqbpuyq3l name: Duux Whisper Flex Ultimate -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - type: string - name: preset_mode - mapping: - - dps_val: "0" - value: normal - - dps_val: "1" - value: nature - - dps_val: "2" - value: sleep - - id: 3 - type: integer - name: speed - range: - min: 0 - max: 30 -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + type: string + name: preset_mode + mapping: + - dps_val: "0" + value: normal + - dps_val: "1" + value: nature + - dps_val: "2" + value: sleep + - id: 3 + type: integer + name: speed + range: + min: 0 + max: 30 - entity: switch name: Horizontal oscillation category: config diff --git a/custom_components/tuya_local/devices/dynasty_btx_fireplace.yaml b/custom_components/tuya_local/devices/dynasty_btx_fireplace.yaml index 1e6a42d1ee..af10c79a42 100644 --- a/custom_components/tuya_local/devices/dynasty_btx_fireplace.yaml +++ b/custom_components/tuya_local/devices/dynasty_btx_fireplace.yaml @@ -2,62 +2,61 @@ name: Fireplace products: - id: 6lmohn7hdu9uh78r name: Dynasty BTX Fireplace -primary_entity: - entity: climate - icon: "mdi:fireplace" - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: heat - - id: 3 - name: current_temperature - type: integer - - id: 5 - name: temperature - type: string - unit: C - range: - min: 16 - max: 30 - mapping: - - dps_val: "0" - value: 16 - - dps_val: "1" - value: 19 - - dps_val: "2" - value: 21 - - dps_val: "3" - value: 23 - - dps_val: "4" - value: 25 - - dps_val: "5" - value: 27 - - dps_val: "6" - value: 30 - - id: 13 - name: temperature_unit_setting - type: string - mapping: - - dps_val: "c" - value: C - - dps_val: "f" - value: F - - id: 107 - name: fan_mode - type: string - mapping: - - dps_val: "0" - value: "off" - - dps_val: "1" - value: high - - dps_val: "2" - value: low -secondary_entities: +entities: + - entity: climate + icon: "mdi:fireplace" + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: heat + - id: 3 + name: current_temperature + type: integer + - id: 5 + name: temperature + type: string + unit: C + range: + min: 16 + max: 30 + mapping: + - dps_val: "0" + value: 16 + - dps_val: "1" + value: 19 + - dps_val: "2" + value: 21 + - dps_val: "3" + value: 23 + - dps_val: "4" + value: 25 + - dps_val: "5" + value: 27 + - dps_val: "6" + value: 30 + - id: 13 + name: temperature_unit_setting + type: string + mapping: + - dps_val: "c" + value: C + - dps_val: "f" + value: F + - id: 107 + name: fan_mode + type: string + mapping: + - dps_val: "0" + value: "off" + - dps_val: "1" + value: high + - dps_val: "2" + value: low - entity: select translation_key: timer category: config diff --git a/custom_components/tuya_local/devices/eanons_humidifier.yaml b/custom_components/tuya_local/devices/eanons_humidifier.yaml index d48fe911a0..d4547f4b98 100644 --- a/custom_components/tuya_local/devices/eanons_humidifier.yaml +++ b/custom_components/tuya_local/devices/eanons_humidifier.yaml @@ -1,37 +1,36 @@ name: Eanons/pureenjoy humidifier -primary_entity: - entity: humidifier - class: humidifier - dps: - - id: 3 - name: timer_hr - type: string - - id: 4 - name: timer_min - type: integer - - id: 10 - name: switch - type: boolean - - id: 12 - name: mode - type: string - mapping: - - dps_val: sleep - value: sleep - - dps_val: humidity - value: auto - - dps_val: work - value: normal - - id: 15 - name: humidity - type: integer - range: - min: 40 - max: 90 - - id: 16 - name: current_humidity - type: integer -secondary_entities: +entities: + - entity: humidifier + class: humidifier + dps: + - id: 3 + name: timer_hr + type: string + - id: 4 + name: timer_min + type: integer + - id: 10 + name: switch + type: boolean + - id: 12 + name: mode + type: string + mapping: + - dps_val: sleep + value: sleep + - dps_val: humidity + value: auto + - dps_val: work + value: normal + - id: 15 + name: humidity + type: integer + range: + min: 40 + max: 90 + - id: 16 + name: current_humidity + type: integer - entity: fan name: Intensity dps: diff --git a/custom_components/tuya_local/devices/earu_dpn_circuitbreaker.yaml b/custom_components/tuya_local/devices/earu_dpn_circuitbreaker.yaml index 963b91bb8f..30ad296007 100644 --- a/custom_components/tuya_local/devices/earu_dpn_circuitbreaker.yaml +++ b/custom_components/tuya_local/devices/earu_dpn_circuitbreaker.yaml @@ -2,14 +2,13 @@ name: Circuit breaker products: - id: azpywu5zfg5wyzpn name: EARU SW MCB -primary_entity: - entity: switch - icon: "mdi:fuse" - dps: - - id: 1 - name: switch - type: boolean -secondary_entities: +entities: + - entity: switch + icon: "mdi:fuse" + dps: + - id: 1 + name: switch + type: boolean - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/earu_k6h3aw_thermostat.yaml b/custom_components/tuya_local/devices/earu_k6h3aw_thermostat.yaml index 2237938827..82953b0524 100644 --- a/custom_components/tuya_local/devices/earu_k6h3aw_thermostat.yaml +++ b/custom_components/tuya_local/devices/earu_k6h3aw_thermostat.yaml @@ -2,63 +2,62 @@ name: Thermostat products: - id: v6foggibzyjlvwdx name: EARU Electronic K6H-3A-W -primary_entity: - entity: climate - translation_key: thermostat - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: true - value: heat - - dps_val: false - value: "off" - - id: 2 - name: preset_mode - type: string - mapping: - - dps_val: auto - value: program - - dps_val: manual - value: manual - - dps_val: eco - value: eco - - id: 16 - type: integer - name: temperature - unit: C - range: - min: 0 - max: 900 - mapping: - - scale: 10 - step: 5 - - id: 19 - type: integer - name: max_temperature - mapping: - - scale: 10 - - id: 24 - type: integer - name: current_temperature - mapping: - - scale: 10 - - id: 26 - optional: true - type: integer - name: min_temperature - mapping: - - scale: 10 - - id: 36 - type: string - name: hvac_action - mapping: - - dps_val: close - value: idle - - dps_val: open - value: heating -secondary_entities: +entities: + - entity: climate + translation_key: thermostat + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: true + value: heat + - dps_val: false + value: "off" + - id: 2 + name: preset_mode + type: string + mapping: + - dps_val: auto + value: program + - dps_val: manual + value: manual + - dps_val: eco + value: eco + - id: 16 + type: integer + name: temperature + unit: C + range: + min: 0 + max: 900 + mapping: + - scale: 10 + step: 5 + - id: 19 + type: integer + name: max_temperature + mapping: + - scale: 10 + - id: 24 + type: integer + name: current_temperature + mapping: + - scale: 10 + - id: 26 + optional: true + type: integer + name: min_temperature + mapping: + - scale: 10 + - id: 36 + type: string + name: hvac_action + mapping: + - dps_val: close + value: idle + - dps_val: open + value: heating - entity: number name: Calibration offset category: config diff --git a/custom_components/tuya_local/devices/earu_smart_wifi_circuit_breaker_with_energy_monitor.yaml b/custom_components/tuya_local/devices/earu_smart_wifi_circuit_breaker_with_energy_monitor.yaml index 879a7ea4cc..c1e4b43df2 100644 --- a/custom_components/tuya_local/devices/earu_smart_wifi_circuit_breaker_with_energy_monitor.yaml +++ b/custom_components/tuya_local/devices/earu_smart_wifi_circuit_breaker_with_energy_monitor.yaml @@ -4,19 +4,18 @@ products: name: EARU SW RCB - id: aqktrdhlsw8q90dr name: Zemismart SPM01-D2TW-ZM -primary_entity: - entity: switch - icon: "mdi:fuse" - name: Fuse switch - dps: - - id: 16 - name: switch - type: boolean - - id: 19 - type: string - optional: true - name: breaker_id -secondary_entities: +entities: + - entity: switch + icon: "mdi:fuse" + name: Fuse switch + dps: + - id: 16 + name: switch + type: boolean + - id: 19 + type: string + optional: true + name: breaker_id - entity: sensor name: Total energy class: energy diff --git a/custom_components/tuya_local/devices/ebac_dj4000_dehumidifier.yaml b/custom_components/tuya_local/devices/ebac_dj4000_dehumidifier.yaml index ac4609c512..52d4bd0b4b 100644 --- a/custom_components/tuya_local/devices/ebac_dj4000_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/ebac_dj4000_dehumidifier.yaml @@ -2,46 +2,45 @@ name: EBAC DJ4000 dehumidifier products: - id: ehsgslj5gb0amqnx name: DJ4000 -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - name: switch - type: boolean - mapping: - - dps_val: false - icon: "mdi:ait-humidifier-off" - icon_priority: 1 - - dps_val: true - icon: "mdi:air-humidifier" - icon_priority: 3 - - id: 2 - name: humidity - type: integer - range: - min: 35 - max: 80 - mapping: - - step: 5 - - id: 5 - name: mode - type: string - mapping: - - dps_val: dehumidify - value: comfort - - dps_val: drying - value: laundry - icon: "mdi:tshirt-crew-outline" - icon_priority: 2 - - dps_val: manual - value: normal - - dps_val: boost - value: boost - - id: 6 - type: integer - name: current_humidity -secondary_entities: +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + name: switch + type: boolean + mapping: + - dps_val: false + icon: "mdi:ait-humidifier-off" + icon_priority: 1 + - dps_val: true + icon: "mdi:air-humidifier" + icon_priority: 3 + - id: 2 + name: humidity + type: integer + range: + min: 35 + max: 80 + mapping: + - step: 5 + - id: 5 + name: mode + type: string + mapping: + - dps_val: dehumidify + value: comfort + - dps_val: drying + value: laundry + icon: "mdi:tshirt-crew-outline" + icon_priority: 2 + - dps_val: manual + value: normal + - dps_val: boost + value: boost + - id: 6 + type: integer + name: current_humidity - entity: fan dps: - id: 103 diff --git a/custom_components/tuya_local/devices/eberg_cooly_c35hd.yaml b/custom_components/tuya_local/devices/eberg_cooly_c35hd.yaml index 5e8294bd1d..9124a2c73e 100644 --- a/custom_components/tuya_local/devices/eberg_cooly_c35hd.yaml +++ b/custom_components/tuya_local/devices/eberg_cooly_c35hd.yaml @@ -1,97 +1,96 @@ name: Eberg Cooly C35HD -primary_entity: - entity: climate - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: "1" - value: heat - - dps_val: "2" - value: dry - - dps_val: "3" - value: cool - - dps_val: "4" - value: fan_only - - id: 4 - name: unknown_4 - type: integer - - id: 5 - name: mode - type: string - hidden: true - - id: 6 - name: temperature - type: integer - range: - min: 13 - max: 32 - mapping: - - constraint: temperature_unit - conditions: - - dps_val: true - value_redirect: temperature_f - range: - min: 55 - max: 90 - - id: 8 - name: fan_mode - type: string - mapping: - - dps_val: 0 - value: auto - - dps_val: 1 - value: low - - dps_val: 2 - value: medium - - dps_val: 3 - value: high - - id: 10 - name: temperature_unit - type: boolean - mapping: - - dps_val: false - value: "C" - - dps_val: true - value: "F" - - id: 13 - type: integer - name: unknown_13 - - id: 14 - type: integer - name: unknown_14 - - id: 15 - type: integer - name: unknown_15 - - id: 16 - name: swing_mode - type: boolean - mapping: - - dps_val: true - value: "vertical" - - dps_val: false - value: "off" - - id: 17 - type: boolean - name: unknown_17 - - id: 18 - type: integer - name: temperature_f - hidden: true - optional: true - range: - min: 55 - max: 90 - - id: 19 - type: boolean - name: unknown_19 -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: "1" + value: heat + - dps_val: "2" + value: dry + - dps_val: "3" + value: cool + - dps_val: "4" + value: fan_only + - id: 4 + name: unknown_4 + type: integer + - id: 5 + name: mode + type: string + hidden: true + - id: 6 + name: temperature + type: integer + range: + min: 13 + max: 32 + mapping: + - constraint: temperature_unit + conditions: + - dps_val: true + value_redirect: temperature_f + range: + min: 55 + max: 90 + - id: 8 + name: fan_mode + type: string + mapping: + - dps_val: 0 + value: auto + - dps_val: 1 + value: low + - dps_val: 2 + value: medium + - dps_val: 3 + value: high + - id: 10 + name: temperature_unit + type: boolean + mapping: + - dps_val: false + value: "C" + - dps_val: true + value: "F" + - id: 13 + type: integer + name: unknown_13 + - id: 14 + type: integer + name: unknown_14 + - id: 15 + type: integer + name: unknown_15 + - id: 16 + name: swing_mode + type: boolean + mapping: + - dps_val: true + value: "vertical" + - dps_val: false + value: "off" + - id: 17 + type: boolean + name: unknown_17 + - id: 18 + type: integer + name: temperature_f + hidden: true + optional: true + range: + min: 55 + max: 90 + - id: 19 + type: boolean + name: unknown_19 - entity: select category: config translation_key: temperature_unit diff --git a/custom_components/tuya_local/devices/eberg_qubo_q40hd_heatpump.yaml b/custom_components/tuya_local/devices/eberg_qubo_q40hd_heatpump.yaml index 8536ad7821..a844831d10 100644 --- a/custom_components/tuya_local/devices/eberg_qubo_q40hd_heatpump.yaml +++ b/custom_components/tuya_local/devices/eberg_qubo_q40hd_heatpump.yaml @@ -1,111 +1,110 @@ name: Eberg Qubo Q40HD portable heatpump -primary_entity: - entity: climate - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: cold - value: cool - - dps_val: hot - value: heat - - dps_val: dehumidify - value: dry - - id: 2 - name: temperature - type: integer - range: - min: 17 - max: 30 - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - range: - min: 63 - max: 86 - - id: 3 - name: current_temperature - type: integer - - id: 4 - name: mode - type: string - hidden: true - - id: 5 - name: fan_mode - type: string - mapping: - - dps_val: auto - value: auto - - dps_val: low - value: low - - dps_val: middle - value: medium - - dps_val: high - value: high - - id: 19 - name: temperature_unit - type: string - mapping: - - dps_val: c - value: C - - dps_val: f - value: F - - id: 22 - type: integer - name: timer - - id: 25 - type: boolean - name: preset_mode - mapping: - - dps_val: true - value: sleep - - dps_val: false - value: comfort - - id: 30 - type: boolean - name: swing_mode - mapping: - - dps_val: true - value: vertical - - dps_val: false - value: "off" - - id: 101 - name: hvac_action - type: string - # mappings based on dev portal info and observed values - mapping: - - dps_val: heat_s - value: heating - - dps_val: cool_s - value: cooling - - dps_val: ventilation - value: fan - - dps_val: auto - value: idle - - dps_val: anti-clockwise - value: fan - - dps_val: hot - value: heating - - dps_val: appointment - value: idle - - dps_val: wet - value: drying - - dps_val: auto_clean - value: idle - - dps_val: wind - value: fan - - dps_val: eco - value: idle - - dps_val: "off" - value: idle -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: cold + value: cool + - dps_val: hot + value: heat + - dps_val: dehumidify + value: dry + - id: 2 + name: temperature + type: integer + range: + min: 17 + max: 30 + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + range: + min: 63 + max: 86 + - id: 3 + name: current_temperature + type: integer + - id: 4 + name: mode + type: string + hidden: true + - id: 5 + name: fan_mode + type: string + mapping: + - dps_val: auto + value: auto + - dps_val: low + value: low + - dps_val: middle + value: medium + - dps_val: high + value: high + - id: 19 + name: temperature_unit + type: string + mapping: + - dps_val: c + value: C + - dps_val: f + value: F + - id: 22 + type: integer + name: timer + - id: 25 + type: boolean + name: preset_mode + mapping: + - dps_val: true + value: sleep + - dps_val: false + value: comfort + - id: 30 + type: boolean + name: swing_mode + mapping: + - dps_val: true + value: vertical + - dps_val: false + value: "off" + - id: 101 + name: hvac_action + type: string + # mappings based on dev portal info and observed values + mapping: + - dps_val: heat_s + value: heating + - dps_val: cool_s + value: cooling + - dps_val: ventilation + value: fan + - dps_val: auto + value: idle + - dps_val: anti-clockwise + value: fan + - dps_val: hot + value: heating + - dps_val: appointment + value: idle + - dps_val: wet + value: drying + - dps_val: auto_clean + value: idle + - dps_val: wind + value: fan + - dps_val: eco + value: idle + - dps_val: "off" + value: idle - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/eberg_rico_r12e2_dehumidifier.yaml b/custom_components/tuya_local/devices/eberg_rico_r12e2_dehumidifier.yaml index 4c4d9b8592..7eb055232b 100644 --- a/custom_components/tuya_local/devices/eberg_rico_r12e2_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/eberg_rico_r12e2_dehumidifier.yaml @@ -2,40 +2,39 @@ name: Dehumidifier products: - id: dcz1i1obofram8zt name: Eberg Rico R12E2 -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - type: integer - name: humidity - range: - min: 30 - max: 80 - mapping: - - step: 5 - - id: 5 - name: mode - type: string - mapping: - - dps_val: Continuities - value: boost - - dps_val: Auto - value: auto - - dps_val: Sleep - value: sleep - - id: 6 - type: integer - name: current_humidity - # This doesn't actually have an ionizer, but having the dp - # will aid in detection - - id: 10 - type: boolean - name: ionizer -secondary_entities: +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + type: integer + name: humidity + range: + min: 30 + max: 80 + mapping: + - step: 5 + - id: 5 + name: mode + type: string + mapping: + - dps_val: Continuities + value: boost + - dps_val: Auto + value: auto + - dps_val: Sleep + value: sleep + - id: 6 + type: integer + name: current_humidity + # This doesn't actually have an ionizer, but having the dp + # will aid in detection + - id: 10 + type: boolean + name: ionizer - entity: fan dps: - id: 1 diff --git a/custom_components/tuya_local/devices/ecopoint_ev_charger.yaml b/custom_components/tuya_local/devices/ecopoint_ev_charger.yaml index 54cbac03cf..b3ff883ec2 100644 --- a/custom_components/tuya_local/devices/ecopoint_ev_charger.yaml +++ b/custom_components/tuya_local/devices/ecopoint_ev_charger.yaml @@ -2,43 +2,42 @@ name: EV charger products: - id: jui3mys5c9rfdju2 name: Ecopoint 32A EV charger -primary_entity: - entity: sensor - translation_key: status - icon: "mdi:ev-station" - class: enum - dps: - - id: 3 # work_state - type: string - name: sensor - mapping: - - dps_val: charger_charging - value: charging - - dps_val: charger_free - value: available - - dps_val: charger_insert - value: plugged_in - - dps_val: charger_free_fault - value: fault_unplugged - - dps_val: charger_wait - value: waiting - - dps_val: charger_pause - value: paused - - dps_val: charger_end - value: charged - - dps_val: charger_fault - value: fault - - id: 21 - type: string - optional: true - name: card_binding - - id: 22 # meter_id - type: string - name: meter_id - - id: 23 # system_version - type: string - name: system_version -secondary_entities: +entities: + - entity: sensor + translation_key: status + icon: "mdi:ev-station" + class: enum + dps: + - id: 3 # work_state + type: string + name: sensor + mapping: + - dps_val: charger_charging + value: charging + - dps_val: charger_free + value: available + - dps_val: charger_insert + value: plugged_in + - dps_val: charger_free_fault + value: fault_unplugged + - dps_val: charger_wait + value: waiting + - dps_val: charger_pause + value: paused + - dps_val: charger_end + value: charged + - dps_val: charger_fault + value: fault + - id: 21 + type: string + optional: true + name: card_binding + - id: 22 # meter_id + type: string + name: meter_id + - id: 23 # system_version + type: string + name: system_version - entity: sensor class: energy dps: diff --git a/custom_components/tuya_local/devices/ecostrad_accentiq_heater.yaml b/custom_components/tuya_local/devices/ecostrad_accentiq_heater.yaml index bbd390529a..ec049f5e92 100644 --- a/custom_components/tuya_local/devices/ecostrad_accentiq_heater.yaml +++ b/custom_components/tuya_local/devices/ecostrad_accentiq_heater.yaml @@ -4,48 +4,47 @@ name: Heater # name: Ecostrad Accent iQ # - id: UNKNOWN # name: Byecold B0DF1PKDFP -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: true - value: heat - - dps_val: false - value: "off" - - id: 2 - type: integer - name: temperature - range: - min: 0 - max: 450 - mapping: - - scale: 10 - step: 5 - constraint: temperature_unit - conditions: - - dps_val: false - step: 10 - range: - min: 32 - max: 113 - - id: 3 - type: integer - name: current_temperature - mapping: - - scale: 10 - - id: 101 - type: boolean - name: temperature_unit - mapping: - - dps_val: true - value: C - - dps_val: false - value: F -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: true + value: heat + - dps_val: false + value: "off" + - id: 2 + type: integer + name: temperature + range: + min: 0 + max: 450 + mapping: + - scale: 10 + step: 5 + constraint: temperature_unit + conditions: + - dps_val: false + step: 10 + range: + min: 32 + max: 113 + - id: 3 + type: integer + name: current_temperature + mapping: + - scale: 10 + - id: 101 + type: boolean + name: temperature_unit + mapping: + - dps_val: true + value: C + - dps_val: false + value: F - entity: select translation_key: timer category: config diff --git a/custom_components/tuya_local/devices/ecostrad_iq_heating_element.yaml b/custom_components/tuya_local/devices/ecostrad_iq_heating_element.yaml index 43b2f1d19e..31e2313e4f 100644 --- a/custom_components/tuya_local/devices/ecostrad_iq_heating_element.yaml +++ b/custom_components/tuya_local/devices/ecostrad_iq_heating_element.yaml @@ -1,65 +1,63 @@ name: Ecostrad iQ heating element -primary_entity: - entity: climate - translation_only_key: thermostat - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: true - value: "heat" - - dps_val: false - value: "off" - - id: 2 - type: string - name: preset_mode - mapping: - - dps_val: "auto" - value: program - - dps_val: "eco" - value: eco - - dps_val: "hot" - value: comfort - - dps_val: "only_inside" - value: boost - - id: 16 - type: integer - name: temperature - unit: C - range: - min: 70 - max: 300 - mapping: - - scale: 10 - step: 5 - constraint: preset_mode - conditions: - - dps_val: only_inside - value_redirect: radiator_temperature - range: - min: 300 - max: 700 - - id: 24 - type: integer - name: current_temperature - mapping: - - scale: 10 - - id: 57 - type: integer - name: radiator_temperature - range: - min: 300 - max: 700 - mapping: - - scale: 10 - step: 5 - - id: 110 - type: string - name: schedule - optional: true - -secondary_entities: +entities: + - entity: climate + translation_only_key: thermostat + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: true + value: "heat" + - dps_val: false + value: "off" + - id: 2 + type: string + name: preset_mode + mapping: + - dps_val: "auto" + value: program + - dps_val: "eco" + value: eco + - dps_val: "hot" + value: comfort + - dps_val: "only_inside" + value: boost + - id: 16 + type: integer + name: temperature + unit: C + range: + min: 70 + max: 300 + mapping: + - scale: 10 + step: 5 + constraint: preset_mode + conditions: + - dps_val: only_inside + value_redirect: radiator_temperature + range: + min: 300 + max: 700 + - id: 24 + type: integer + name: current_temperature + mapping: + - scale: 10 + - id: 57 + type: integer + name: radiator_temperature + range: + min: 300 + max: 700 + mapping: + - scale: 10 + step: 5 + - id: 110 + type: string + name: schedule + optional: true - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/ecostrad_iqceramic_radiator.yaml b/custom_components/tuya_local/devices/ecostrad_iqceramic_radiator.yaml index c20cfb1b0d..9a014948ea 100644 --- a/custom_components/tuya_local/devices/ecostrad_iqceramic_radiator.yaml +++ b/custom_components/tuya_local/devices/ecostrad_iqceramic_radiator.yaml @@ -1,53 +1,52 @@ name: Ecostrad radiator -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: true - value: heat - - dps_val: false - value: "off" - - id: 2 - type: string - name: preset_mode - mapping: - - dps_val: "auto" - value: Program - - dps_val: "eco" - value: eco - - dps_val: "hot" - value: comfort - - dps_val: "cold" - value: away - - dps_val: "person_infrared_ray" - value: activity - - dps_val: "line_control" - value: Pilot Wire - - id: 16 - type: integer - name: temperature - unit: C - range: - min: 70 - max: 300 - mapping: - - scale: 10 - step: 5 - - id: 24 - type: integer - name: current_temperature - mapping: - - scale: 10 - # documented as unavailable on this model in the manual - # left as an attribute so it can be observed - - id: 109 - name: limit_function - type: string -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: true + value: heat + - dps_val: false + value: "off" + - id: 2 + type: string + name: preset_mode + mapping: + - dps_val: "auto" + value: Program + - dps_val: "eco" + value: eco + - dps_val: "hot" + value: comfort + - dps_val: "cold" + value: away + - dps_val: "person_infrared_ray" + value: activity + - dps_val: "line_control" + value: Pilot Wire + - id: 16 + type: integer + name: temperature + unit: C + range: + min: 70 + max: 300 + mapping: + - scale: 10 + step: 5 + - id: 24 + type: integer + name: current_temperature + mapping: + - scale: 10 + # documented as unavailable on this model in the manual + # left as an attribute so it can be observed + - id: 109 + name: limit_function + type: string - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/edgetheorylabs_coldplunge_heatpump.yaml b/custom_components/tuya_local/devices/edgetheorylabs_coldplunge_heatpump.yaml index 0abbe520d0..623d0dc439 100644 --- a/custom_components/tuya_local/devices/edgetheorylabs_coldplunge_heatpump.yaml +++ b/custom_components/tuya_local/devices/edgetheorylabs_coldplunge_heatpump.yaml @@ -2,35 +2,33 @@ name: Pool heat pump products: - id: orwtoimcnasji7jw name: Edge Theory Labs cold plunge heat pump -primary_entity: - entity: climate - translation_key: pool_heatpump - dps: - - id: 121 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: heat_cool - - id: 17 - name: temperature - type: integer - range: - min: 32 - max: 107 - unit: F - - id: 29 - name: current_temperature - type: integer - mapping: - - scale: 10 - - id: 115 - name: mode - type: boolean - -secondary_entities: +entities: + - entity: climate + translation_key: pool_heatpump + dps: + - id: 121 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: heat_cool + - id: 17 + name: temperature + type: integer + range: + min: 32 + max: 107 + unit: F + - id: 29 + name: current_temperature + type: integer + mapping: + - scale: 10 + - id: 115 + name: mode + type: boolean - entity: binary_sensor name: Compressor class: running diff --git a/custom_components/tuya_local/devices/eeese_anna_dehumidifier.yaml b/custom_components/tuya_local/devices/eeese_anna_dehumidifier.yaml index e1a17001c0..280d3d4937 100644 --- a/custom_components/tuya_local/devices/eeese_anna_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/eeese_anna_dehumidifier.yaml @@ -1,37 +1,36 @@ name: Eeese Anna dehumidifier -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - name: humidity - type: integer - range: - min: 30 - max: 80 - mapping: - - step: 5 - - id: 5 - name: mode - type: string - mapping: - - dps_val: Manual - value: normal - - dps_val: Auto - value: auto - - dps_val: Laundrydrying - value: laundry - - dps_val: Sleeping - value: sleep - - dps_val: Purifying - value: purify - - id: 6 - name: current_humidity - type: integer -secondary_entities: +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + name: humidity + type: integer + range: + min: 30 + max: 80 + mapping: + - step: 5 + - id: 5 + name: mode + type: string + mapping: + - dps_val: Manual + value: normal + - dps_val: Auto + value: auto + - dps_val: Laundrydrying + value: laundry + - dps_val: Sleeping + value: sleep + - dps_val: Purifying + value: purify + - id: 6 + name: current_humidity + type: integer - entity: binary_sensor translation_key: tank_full category: diagnostic diff --git a/custom_components/tuya_local/devices/eeese_carl_dehumidifier.yaml b/custom_components/tuya_local/devices/eeese_carl_dehumidifier.yaml index 3cba018adb..f2c330e61d 100644 --- a/custom_components/tuya_local/devices/eeese_carl_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/eeese_carl_dehumidifier.yaml @@ -1,35 +1,34 @@ name: Eeese Carl dehumidifier -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - name: humidity - type: integer - range: - min: 25 - max: 80 - mapping: - - step: 5 - - id: 4 - name: mode - type: string - mapping: - - dps_val: manual - value: normal - - dps_val: auto - value: auto - - dps_val: laundry - value: laundry - - dps_val: purify - value: purify - - id: 16 - type: integer - name: current_humidity -secondary_entities: +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + name: humidity + type: integer + range: + min: 25 + max: 80 + mapping: + - step: 5 + - id: 4 + name: mode + type: string + mapping: + - dps_val: manual + value: normal + - dps_val: auto + value: auto + - dps_val: laundry + value: laundry + - dps_val: purify + value: purify + - id: 16 + type: integer + name: current_humidity - entity: binary_sensor translation_key: tank_full category: diagnostic diff --git a/custom_components/tuya_local/devices/eeese_otto_dehumidifier.yaml b/custom_components/tuya_local/devices/eeese_otto_dehumidifier.yaml index 7b40928a60..82a5beea08 100644 --- a/custom_components/tuya_local/devices/eeese_otto_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/eeese_otto_dehumidifier.yaml @@ -1,33 +1,32 @@ name: Eeese Otto dehumidifier -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - name: humidity - type: integer - range: - min: 25 - max: 80 - mapping: - - step: 5 - - id: 5 - name: mode - type: string - mapping: - - dps_val: Manual - value: normal - - dps_val: Clothdrying - value: laundry - - dps_val: SLeeping - value: sleep - - id: 6 - type: integer - name: current_humidity -secondary_entities: +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + name: humidity + type: integer + range: + min: 25 + max: 80 + mapping: + - step: 5 + - id: 5 + name: mode + type: string + mapping: + - dps_val: Manual + value: normal + - dps_val: Clothdrying + value: laundry + - dps_val: SLeeping + value: sleep + - id: 6 + type: integer + name: current_humidity - entity: binary_sensor translation_key: tank_full category: diagnostic diff --git a/custom_components/tuya_local/devices/eesee_adam_dehumidifier.yaml b/custom_components/tuya_local/devices/eesee_adam_dehumidifier.yaml index 12406362e8..904edc2830 100644 --- a/custom_components/tuya_local/devices/eesee_adam_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/eesee_adam_dehumidifier.yaml @@ -1,32 +1,31 @@ name: Dehumidifier legacy_type: eeese_emil_dehumidifier -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - name: humidity - type: integer - range: - min: 25 - max: 80 - mapping: - - step: 5 - - id: 4 - name: mode - type: string - mapping: - - dps_val: manual - value: normal - - dps_val: laundry - value: laundry - - id: 16 - type: integer - name: current_humidity -secondary_entities: +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + name: humidity + type: integer + range: + min: 25 + max: 80 + mapping: + - step: 5 + - id: 4 + name: mode + type: string + mapping: + - dps_val: manual + value: normal + - dps_val: laundry + value: laundry + - id: 16 + type: integer + name: current_humidity - entity: fan dps: - id: 1 diff --git a/custom_components/tuya_local/devices/eglo_ceiling_fan.yaml b/custom_components/tuya_local/devices/eglo_ceiling_fan.yaml index 512dfe27c8..257696a5b0 100644 --- a/custom_components/tuya_local/devices/eglo_ceiling_fan.yaml +++ b/custom_components/tuya_local/devices/eglo_ceiling_fan.yaml @@ -2,38 +2,38 @@ name: Ceiling fan products: - id: k8j78n65zeu3orz7 name: Eglo Surf -primary_entity: - entity: fan - dps: - - id: 60 - type: boolean - name: switch - - id: 62 - type: integer - name: speed - mapping: - - dps_val: 0 - value: 0 - - dps_val: 1 - value: 20 - - dps_val: 2 - value: 40 - - dps_val: 3 - value: 60 - - dps_val: 4 - value: 80 - - dps_val: 5 - value: 100 - # Sleep mode - extra slow - - dps_val: -1 - value: 10 - - id: 63 - type: string - name: direction - - id: 64 - type: integer - name: timer - range: - min: 0 - max: 540 - unit: min +entities: + - entity: fan + dps: + - id: 60 + type: boolean + name: switch + - id: 62 + type: integer + name: speed + mapping: + - dps_val: 0 + value: 0 + - dps_val: 1 + value: 20 + - dps_val: 2 + value: 40 + - dps_val: 3 + value: 60 + - dps_val: 4 + value: 80 + - dps_val: 5 + value: 100 + # Sleep mode - extra slow + - dps_val: -1 + value: 10 + - id: 63 + type: string + name: direction + - id: 64 + type: integer + name: timer + range: + min: 0 + max: 540 + unit: min diff --git a/custom_components/tuya_local/devices/electric_panel_heater.yaml b/custom_components/tuya_local/devices/electric_panel_heater.yaml index afccd1a1dd..4785e25822 100644 --- a/custom_components/tuya_local/devices/electric_panel_heater.yaml +++ b/custom_components/tuya_local/devices/electric_panel_heater.yaml @@ -1,55 +1,54 @@ -name: Electric Panel Heater +name: Panel heater products: - id: urxauhwqufusih5h name: Cleverio AR10 / AR20 -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: heat - - id: 2 - name: temperature - type: integer - range: - min: 5 - max: 45 - mapping: - - constraint: temperature_unit - conditions: - - dps_val: F - range: - min: 41 - max: 113 - - id: 3 - name: current_temperature - type: integer - - id: 4 - name: preset_mode - type: string - mapping: - - dps_val: low - value: eco - - dps_val: high - value: boost - - id: 101 - name: hvac_action - type: boolean - mapping: - - dps_val: false - value: idle - - dps_val: true - value: heating - - id: 103 - name: temperature_unit - type: string -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: heat + - id: 2 + name: temperature + type: integer + range: + min: 5 + max: 45 + mapping: + - constraint: temperature_unit + conditions: + - dps_val: F + range: + min: 41 + max: 113 + - id: 3 + name: current_temperature + type: integer + - id: 4 + name: preset_mode + type: string + mapping: + - dps_val: low + value: eco + - dps_val: high + value: boost + - id: 101 + name: hvac_action + type: boolean + mapping: + - dps_val: false + value: idle + - dps_val: true + value: heating + - id: 103 + name: temperature_unit + type: string - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/electriq_12wminv_heatpump.yaml b/custom_components/tuya_local/devices/electriq_12wminv_heatpump.yaml index 69466e4300..9ec2342755 100644 --- a/custom_components/tuya_local/devices/electriq_12wminv_heatpump.yaml +++ b/custom_components/tuya_local/devices/electriq_12wminv_heatpump.yaml @@ -1,112 +1,111 @@ name: ElectriQ 12WMINV heatpump -primary_entity: - entity: climate - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: cold - value: cool - - dps_val: wind - value: fan_only - - dps_val: wet - value: dry - - dps_val: hot - value: heat - - dps_val: auto - value: heat_cool - - id: 2 - name: temperature - type: integer - unit: C - range: - min: 16 - max: 32 - - id: 3 - name: current_temperature - type: integer - - id: 4 - name: mode - type: string - hidden: true - - id: 5 - name: fan_mode - type: integer - mapping: - - dps_val: 1 - value: auto - constraint: mode - conditions: - - dps_val: wet - invalid: true - - dps_val: 2 - value: top - constraint: mode - conditions: - - dps_val: wet - invalid: true - - dps_val: 3 - value: low - constraint: mode - conditions: - - dps_val: wet - invalid: true - - dps_val: 4 - value: medium - constraint: mode - conditions: - - dps_val: wet - invalid: true - - dps_val: 5 - value: high - constraint: mode - conditions: - - dps_val: wet - invalid: true - - id: 8 - name: unknown_8 - type: boolean - - id: 12 - name: unknown_12 - type: boolean - - id: 102 - name: unknown_102 - type: boolean - - id: 103 - name: unknown_103 - type: boolean - - id: 106 - name: swing_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: "on" - - id: 107 - name: swing_horizontal_mode - type: boolean - mapping: - - dps_val: true - value: "on" - - dps_val: false - value: "off" - - id: 108 - name: unknown_108 - type: integer - - id: 109 - name: unknown_109 - type: integer - - id: 110 - name: unknown_110 - type: integer -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: cold + value: cool + - dps_val: wind + value: fan_only + - dps_val: wet + value: dry + - dps_val: hot + value: heat + - dps_val: auto + value: heat_cool + - id: 2 + name: temperature + type: integer + unit: C + range: + min: 16 + max: 32 + - id: 3 + name: current_temperature + type: integer + - id: 4 + name: mode + type: string + hidden: true + - id: 5 + name: fan_mode + type: integer + mapping: + - dps_val: 1 + value: auto + constraint: mode + conditions: + - dps_val: wet + invalid: true + - dps_val: 2 + value: top + constraint: mode + conditions: + - dps_val: wet + invalid: true + - dps_val: 3 + value: low + constraint: mode + conditions: + - dps_val: wet + invalid: true + - dps_val: 4 + value: medium + constraint: mode + conditions: + - dps_val: wet + invalid: true + - dps_val: 5 + value: high + constraint: mode + conditions: + - dps_val: wet + invalid: true + - id: 8 + name: unknown_8 + type: boolean + - id: 12 + name: unknown_12 + type: boolean + - id: 102 + name: unknown_102 + type: boolean + - id: 103 + name: unknown_103 + type: boolean + - id: 106 + name: swing_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: "on" + - id: 107 + name: swing_horizontal_mode + type: boolean + mapping: + - dps_val: true + value: "on" + - dps_val: false + value: "off" + - id: 108 + name: unknown_108 + type: integer + - id: 109 + name: unknown_109 + type: integer + - id: 110 + name: unknown_110 + type: integer - entity: switch translation_key: sleep dps: diff --git a/custom_components/tuya_local/devices/electriq_airflex15w_heatpump.yaml b/custom_components/tuya_local/devices/electriq_airflex15w_heatpump.yaml index 17f5c35835..13a8c92fae 100644 --- a/custom_components/tuya_local/devices/electriq_airflex15w_heatpump.yaml +++ b/custom_components/tuya_local/devices/electriq_airflex15w_heatpump.yaml @@ -1,118 +1,118 @@ -name: ElectriQ Airflex 15W heatpump +name: Heat pump products: - id: 4RUISW6Lmtz2u1l8 -primary_entity: - entity: climate - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: preset_mode - conditions: - - dps_val: "0" # auto - value: heat_cool - - dps_val: "1" # cold - value: cool - - dps_val: "2" # hot - value: heat - - dps_val: "3" # wet - value: dry - - dps_val: "5" # fan - value: fan_only - - id: 2 - type: integer - name: temperature - range: - min: 16 - max: 31 - mapping: - - constraint: temperature_unit - conditions: - - dps_val: true - value_redirect: temp_set_f - range: - min: 62 - max: 90 - - id: 3 - type: integer - name: current_temperature - mapping: - - constraint: temperature_unit - conditions: - - dps_val: true - value_redirect: temp_current_f - - id: 17 - type: integer - name: humidity - range: - min: 0 - max: 100 - - id: 20 - type: integer - name: unknown_20 - - id: 101 - type: string - # at least some firmware versions of this model do not like combining - # dps in hvac_mode, so duplicate in presets to allow single dp commands - name: preset_mode - mapping: - - dps_val: "0" - value: Auto - - dps_val: "1" - value: Cool - - dps_val: "2" - value: Heat - - dps_val: "3" - value: Dry - - dps_val: "5" - value: Fan - - id: 103 - type: boolean - name: unknown_103 - - id: 104 - type: string - name: fan_mode - mapping: - - dps_val: "3" - value: low - - dps_val: "2" - value: medium - - dps_val: "1" - value: high - - id: 105 - type: integer - name: unknown_105 - - id: 106 - type: boolean - name: unknown_106 - - id: 109 - type: boolean - name: temperature_unit - mapping: - - dps_val: true - value: F - - value: C - - id: 110 - type: integer - name: temp_set_f - range: - min: 62 - max: 90 - hidden: true - optional: true - - id: 111 - type: integer - name: temp_current_f - hidden: true - optional: true - - id: 112 - type: integer - name: current_humidity -secondary_entities: + name: ElectriQ Airflex 15W +entities: + - entity: climate + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: preset_mode + conditions: + - dps_val: "0" # auto + value: heat_cool + - dps_val: "1" # cold + value: cool + - dps_val: "2" # hot + value: heat + - dps_val: "3" # wet + value: dry + - dps_val: "5" # fan + value: fan_only + - id: 2 + type: integer + name: temperature + range: + min: 16 + max: 31 + mapping: + - constraint: temperature_unit + conditions: + - dps_val: true + value_redirect: temp_set_f + range: + min: 62 + max: 90 + - id: 3 + type: integer + name: current_temperature + mapping: + - constraint: temperature_unit + conditions: + - dps_val: true + value_redirect: temp_current_f + - id: 17 + type: integer + name: humidity + range: + min: 0 + max: 100 + - id: 20 + type: integer + name: unknown_20 + - id: 101 + type: string + # at least some firmware versions of this model do not like combining + # dps in hvac_mode, so duplicate in presets to allow single dp commands + name: preset_mode + mapping: + - dps_val: "0" + value: Auto + - dps_val: "1" + value: Cool + - dps_val: "2" + value: Heat + - dps_val: "3" + value: Dry + - dps_val: "5" + value: Fan + - id: 103 + type: boolean + name: unknown_103 + - id: 104 + type: string + name: fan_mode + mapping: + - dps_val: "3" + value: low + - dps_val: "2" + value: medium + - dps_val: "1" + value: high + - id: 105 + type: integer + name: unknown_105 + - id: 106 + type: boolean + name: unknown_106 + - id: 109 + type: boolean + name: temperature_unit + mapping: + - dps_val: true + value: F + - value: C + - id: 110 + type: integer + name: temp_set_f + range: + min: 62 + max: 90 + hidden: true + optional: true + - id: 111 + type: integer + name: temp_current_f + hidden: true + optional: true + - id: 112 + type: integer + name: current_humidity # At least some firmware versions do not like combining dps into hvac_mode # above, so provide a simple single dp on/off switch as an alternative - entity: switch diff --git a/custom_components/tuya_local/devices/electriq_cd12pro_dehumidifier.yaml b/custom_components/tuya_local/devices/electriq_cd12pro_dehumidifier.yaml index 106a324317..f8225c627d 100644 --- a/custom_components/tuya_local/devices/electriq_cd12pro_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/electriq_cd12pro_dehumidifier.yaml @@ -1,35 +1,34 @@ name: "Electriq CD12PRO-LE dehumidifier" -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - type: integer - name: humidity - range: - min: 35 - max: 80 - mapping: - - step: 5 - - id: 5 - name: mode - type: string - mapping: - - dps_val: "Smart" - value: auto - - dps_val: "Dehumidify" - value: normal - - dps_val: Laundry - value: laundry - - dps_val: Fan - value: purify - - id: 6 - name: current_humidity - type: integer -secondary_entities: +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + type: integer + name: humidity + range: + min: 35 + max: 80 + mapping: + - step: 5 + - id: 5 + name: mode + type: string + mapping: + - dps_val: "Smart" + value: auto + - dps_val: "Dehumidify" + value: normal + - dps_val: Laundry + value: laundry + - dps_val: Fan + value: purify + - id: 6 + name: current_humidity + type: integer - entity: fan dps: - id: 1 diff --git a/custom_components/tuya_local/devices/electriq_cd12pw_dehumidifier.yaml b/custom_components/tuya_local/devices/electriq_cd12pw_dehumidifier.yaml index a424700b67..db387fc1a4 100644 --- a/custom_components/tuya_local/devices/electriq_cd12pw_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/electriq_cd12pw_dehumidifier.yaml @@ -1,43 +1,42 @@ name: "Electriq CD12PW dehumidifier" -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - name: switch - type: boolean - mapping: - - dps_val: false - icon: "mdi:air-humidifier-off" - icon_priority: 1 - - dps_val: true - icon: "mdi:air-humidifier" - icon_priority: 3 - - id: 2 - name: mode - type: string - mapping: - - dps_val: "auto" - value: auto - - dps_val: "fan" - value: purify - icon: "mdi:air-purifier" - icon_priority: 2 - - id: 3 - type: integer - name: current_humidity - - id: 4 - type: integer - name: humidity - range: - min: 35 - max: 80 - mapping: - - step: 5 - - id: 103 - type: integer - name: current_temperature -secondary_entities: +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + name: switch + type: boolean + mapping: + - dps_val: false + icon: "mdi:air-humidifier-off" + icon_priority: 1 + - dps_val: true + icon: "mdi:air-humidifier" + icon_priority: 3 + - id: 2 + name: mode + type: string + mapping: + - dps_val: "auto" + value: auto + - dps_val: "fan" + value: purify + icon: "mdi:air-purifier" + icon_priority: 2 + - id: 3 + type: integer + name: current_humidity + - id: 4 + type: integer + name: humidity + range: + min: 35 + max: 80 + mapping: + - step: 5 + - id: 103 + type: integer + name: current_temperature - entity: light translation_key: display category: config diff --git a/custom_components/tuya_local/devices/electriq_cd12pwv2_dehumidifier.yaml b/custom_components/tuya_local/devices/electriq_cd12pwv2_dehumidifier.yaml index 8bf47fe6e1..93fe32393b 100644 --- a/custom_components/tuya_local/devices/electriq_cd12pwv2_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/electriq_cd12pwv2_dehumidifier.yaml @@ -1,31 +1,30 @@ name: "Electriq CD12PW-V2 dehumidifier" -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - type: integer - name: humidity - range: - min: 35 - max: 80 - mapping: - - step: 5 - - id: 5 - name: mode - type: string - mapping: - - dps_val: "Smart" - value: auto - - dps_val: "Air_purifier" - value: purify - - id: 6 - type: integer - name: current_humidity -secondary_entities: +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + type: integer + name: humidity + range: + min: 35 + max: 80 + mapping: + - step: 5 + - id: 5 + name: mode + type: string + mapping: + - dps_val: "Smart" + value: auto + - dps_val: "Air_purifier" + value: purify + - id: 6 + type: integer + name: current_humidity - entity: light translation_key: display category: config diff --git a/custom_components/tuya_local/devices/electriq_cd20pro_dehumidifier.yaml b/custom_components/tuya_local/devices/electriq_cd20pro_dehumidifier.yaml index c7c37c43b0..0779a85180 100644 --- a/custom_components/tuya_local/devices/electriq_cd20pro_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/electriq_cd20pro_dehumidifier.yaml @@ -7,49 +7,48 @@ products: name: Klarstein Dryfy Pro Connect - id: m0wtqltrepknlpdj name: Morris Premier plus -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - name: switch - type: boolean - mapping: - - dps_val: false - icon: "mdi:air-humidifier-off" - icon_priority: 1 - - dps_val: true - icon: "mdi:air-humidifier" - icon_priority: 3 - - id: 2 - name: mode - type: string - optional: true - mapping: - - dps_val: auto - value: auto - - dps_val: low - value: eco - - dps_val: high - value: boost - icon: "mdi:tshirt-crew-outline" - icon_priority: 2 - - dps_val: fan - value: purify - icon: "mdi:air-purifier" - icon_priority: 2 - - id: 3 - type: integer - name: current_humidity - - id: 4 - type: integer - name: humidity - range: - min: 35 - max: 80 - mapping: - - step: 5 -secondary_entities: +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + name: switch + type: boolean + mapping: + - dps_val: false + icon: "mdi:air-humidifier-off" + icon_priority: 1 + - dps_val: true + icon: "mdi:air-humidifier" + icon_priority: 3 + - id: 2 + name: mode + type: string + optional: true + mapping: + - dps_val: auto + value: auto + - dps_val: low + value: eco + - dps_val: high + value: boost + icon: "mdi:tshirt-crew-outline" + icon_priority: 2 + - dps_val: fan + value: purify + icon: "mdi:air-purifier" + icon_priority: 2 + - id: 3 + type: integer + name: current_humidity + - id: 4 + type: integer + name: humidity + range: + min: 35 + max: 80 + mapping: + - step: 5 - entity: select name: Direction category: config diff --git a/custom_components/tuya_local/devices/electriq_cd25pro_dehumidifier.yaml b/custom_components/tuya_local/devices/electriq_cd25pro_dehumidifier.yaml index 072bbd9695..d2051b0c56 100644 --- a/custom_components/tuya_local/devices/electriq_cd25pro_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/electriq_cd25pro_dehumidifier.yaml @@ -1,47 +1,46 @@ name: "Electriq CD25PRO-LE-V2 dehumidifier" legacy_type: electriq_dehumidifier -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - name: switch - type: boolean - mapping: - - dps_val: false - icon: "mdi:air-humidifier-off" - icon_priority: 1 - - dps_val: true - icon: "mdi:air-humidifier" - icon_priority: 3 - - id: 2 - name: mode - type: string - mapping: - - dps_val: auto - value: auto - - dps_val: low - value: eco - - dps_val: high - value: boost - icon: "mdi:tshirt-crew-outline" - icon_priority: 2 - - dps_val: fan - value: purify - icon: "mdi:air-purifier" - icon_priority: 2 - - id: 3 - type: integer - name: current_humidity - - id: 4 - type: integer - name: humidity - range: - min: 35 - max: 80 - mapping: - - step: 5 -secondary_entities: +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + name: switch + type: boolean + mapping: + - dps_val: false + icon: "mdi:air-humidifier-off" + icon_priority: 1 + - dps_val: true + icon: "mdi:air-humidifier" + icon_priority: 3 + - id: 2 + name: mode + type: string + mapping: + - dps_val: auto + value: auto + - dps_val: low + value: eco + - dps_val: high + value: boost + icon: "mdi:tshirt-crew-outline" + icon_priority: 2 + - dps_val: fan + value: purify + icon: "mdi:air-purifier" + icon_priority: 2 + - id: 3 + type: integer + name: current_humidity + - id: 4 + type: integer + name: humidity + range: + min: 35 + max: 80 + mapping: + - step: 5 - entity: fan translation_only_key: fan_with_presets dps: diff --git a/custom_components/tuya_local/devices/electriq_desd9lw_dehumidifier.yaml b/custom_components/tuya_local/devices/electriq_desd9lw_dehumidifier.yaml index cbc59c45d8..dc30417b83 100644 --- a/custom_components/tuya_local/devices/electriq_desd9lw_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/electriq_desd9lw_dehumidifier.yaml @@ -1,80 +1,79 @@ name: ElectriQ DESD9LW dehumidifier -primary_entity: - entity: climate - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: "Auto" - value: "auto" - - dps_val: "Heater" - value: "heat" - - dps_val: "Dehumidity" - value: "dry" - - dps_val: "Fan" - value: "fan_only" - - id: 2 - type: integer - name: humidity - range: - min: 35 - max: 80 - mapping: - - step: 5 - - id: 4 - type: string - name: fan_mode - mapping: - - dps_val: Low - constraint: mode - conditions: - - dps_val: Auto - invalid: true - value: low - - dps_val: Medium - constraint: mode - conditions: - - dps_val: Auto - invalid: true - value: medium - - dps_val: High - constraint: mode - conditions: - - dps_val: Auto - invalid: true - value: high - - id: 5 - name: mode - type: string - hidden: true - - id: 6 - type: integer - name: current_humidity - - id: 7 - type: integer - name: current_temperature - - id: 10 - type: boolean - name: swing_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: "vertical" - - id: 101 - type: integer - name: temperature - unit: C - range: - min: 16 - max: 30 -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: "Auto" + value: "auto" + - dps_val: "Heater" + value: "heat" + - dps_val: "Dehumidity" + value: "dry" + - dps_val: "Fan" + value: "fan_only" + - id: 2 + type: integer + name: humidity + range: + min: 35 + max: 80 + mapping: + - step: 5 + - id: 4 + type: string + name: fan_mode + mapping: + - dps_val: Low + constraint: mode + conditions: + - dps_val: Auto + invalid: true + value: low + - dps_val: Medium + constraint: mode + conditions: + - dps_val: Auto + invalid: true + value: medium + - dps_val: High + constraint: mode + conditions: + - dps_val: Auto + invalid: true + value: high + - id: 5 + name: mode + type: string + hidden: true + - id: 6 + type: integer + name: current_humidity + - id: 7 + type: integer + name: current_temperature + - id: 10 + type: boolean + name: swing_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: "vertical" + - id: 101 + type: integer + name: temperature + unit: C + range: + min: 16 + max: 30 - entity: light translation_key: uv_sterilization dps: diff --git a/custom_components/tuya_local/devices/electriq_desd9lwv2_dehumidifier.yaml b/custom_components/tuya_local/devices/electriq_desd9lwv2_dehumidifier.yaml index 4f2d9b92df..509bf51d78 100644 --- a/custom_components/tuya_local/devices/electriq_desd9lwv2_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/electriq_desd9lwv2_dehumidifier.yaml @@ -2,74 +2,73 @@ name: Dehumidifier products: - id: g2hl04s82mgtkpec name: ElectriQ DESD9LW-V2 -primary_entity: - entity: climate - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: "Auto" - value: "auto" - - dps_val: "Heater" - value: "heat" - - dps_val: "Dehumidity" - value: "dry" - - dps_val: "Fan" - value: "fan_only" - - id: 2 - type: integer - name: humidity - range: - min: 35 - max: 80 - mapping: - - step: 5 - - id: 4 - type: string - name: fan_mode - mapping: - - dps_val: Low - value: low - - dps_val: Medium - value: medium - - dps_val: High - value: high - - dps_val: auto - value: auto - - id: 5 - name: mode - type: string - hidden: true - - id: 6 - type: integer - name: current_humidity - - id: 7 - type: integer - name: current_temperature - - id: 102 - type: string - name: swing_mode - mapping: - - dps_val: "90" - value: "off" - - dps_val: "45" - value: "middle" - - dps_val: "0_90" - value: "vertical" - - id: 101 - type: integer - name: temperature - unit: C - range: - min: 16 - max: 30 -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: "Auto" + value: "auto" + - dps_val: "Heater" + value: "heat" + - dps_val: "Dehumidity" + value: "dry" + - dps_val: "Fan" + value: "fan_only" + - id: 2 + type: integer + name: humidity + range: + min: 35 + max: 80 + mapping: + - step: 5 + - id: 4 + type: string + name: fan_mode + mapping: + - dps_val: Low + value: low + - dps_val: Medium + value: medium + - dps_val: High + value: high + - dps_val: auto + value: auto + - id: 5 + name: mode + type: string + hidden: true + - id: 6 + type: integer + name: current_humidity + - id: 7 + type: integer + name: current_temperature + - id: 102 + type: string + name: swing_mode + mapping: + - dps_val: "90" + value: "off" + - dps_val: "45" + value: "middle" + - dps_val: "0_90" + value: "vertical" + - id: 101 + type: integer + name: temperature + unit: C + range: + min: 16 + max: 30 - entity: light translation_key: uv_sterilization dps: diff --git a/custom_components/tuya_local/devices/electriq_ecosilent12wap_aircon.yaml b/custom_components/tuya_local/devices/electriq_ecosilent12wap_aircon.yaml index 009ce98d64..36111bcc7e 100644 --- a/custom_components/tuya_local/devices/electriq_ecosilent12wap_aircon.yaml +++ b/custom_components/tuya_local/devices/electriq_ecosilent12wap_aircon.yaml @@ -1,127 +1,126 @@ name: ElectriQ EcoSilent12WAP -primary_entity: - entity: climate - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: true - constraint: mode - conditions: - - dps_val: "cool" - value: cool - - dps_val: "fan" - value: fan_only - - dps_val: "smartcool" - value: auto - - dps_val: "dry" - value: dry - - dps_val: false - value: "off" - - id: 2 - name: temperature - type: integer - range: - min: 17 - max: 30 - mapping: - - scale: 1 - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: temperature_f - range: - min: 62 - max: 86 - - id: 3 - name: current_temperature - type: integer - mapping: - - scale: 1 - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: current_temperature_f - - id: 4 - name: mode - type: string - hidden: true - - id: 5 - name: fan_mode - type: string - mapping: - - dps_val: "f1" - constraint: hvac_mode - conditions: - - dps_val: false - value: "off" - - dps_val: true - value: low - - dps_val: "f2" - constraint: hvac_mode - conditions: - - dps_val: false - value: "off" - - dps_val: true - value: diffuse - - dps_val: "f3" - constraint: hvac_mode - conditions: - - dps_val: false - value: "off" - - dps_val: true - value: medium - - dps_val: "f4" - constraint: hvac_mode - conditions: - - dps_val: false - value: "off" - - dps_val: true - value: high - - dps_val: "f5" - constraint: hvac_mode - conditions: - - dps_val: false - value: "off" - - dps_val: true - value: top - - id: 19 - name: temperature_unit - type: string - mapping: - - dps_val: f - value: F - - dps_val: c - value: C - - id: 22 - name: timer - type: integer - - id: 23 - name: current_temperature_f - type: integer - hidden: true - optional: true - - id: 24 - name: temperature_f - type: integer - hidden: true - optional: true - range: - min: 62 - max: 86 - - id: 101 - name: swing_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: vertical - - id: 102 - name: sleep_mode - type: boolean -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: true + constraint: mode + conditions: + - dps_val: "cool" + value: cool + - dps_val: "fan" + value: fan_only + - dps_val: "smartcool" + value: auto + - dps_val: "dry" + value: dry + - dps_val: false + value: "off" + - id: 2 + name: temperature + type: integer + range: + min: 17 + max: 30 + mapping: + - scale: 1 + constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: temperature_f + range: + min: 62 + max: 86 + - id: 3 + name: current_temperature + type: integer + mapping: + - scale: 1 + constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: current_temperature_f + - id: 4 + name: mode + type: string + hidden: true + - id: 5 + name: fan_mode + type: string + mapping: + - dps_val: "f1" + constraint: hvac_mode + conditions: + - dps_val: false + value: "off" + - dps_val: true + value: low + - dps_val: "f2" + constraint: hvac_mode + conditions: + - dps_val: false + value: "off" + - dps_val: true + value: diffuse + - dps_val: "f3" + constraint: hvac_mode + conditions: + - dps_val: false + value: "off" + - dps_val: true + value: medium + - dps_val: "f4" + constraint: hvac_mode + conditions: + - dps_val: false + value: "off" + - dps_val: true + value: high + - dps_val: "f5" + constraint: hvac_mode + conditions: + - dps_val: false + value: "off" + - dps_val: true + value: top + - id: 19 + name: temperature_unit + type: string + mapping: + - dps_val: f + value: F + - dps_val: c + value: C + - id: 22 + name: timer + type: integer + - id: 23 + name: current_temperature_f + type: integer + hidden: true + optional: true + - id: 24 + name: temperature_f + type: integer + hidden: true + optional: true + range: + min: 62 + max: 86 + - id: 101 + name: swing_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: vertical + - id: 102 + name: sleep_mode + type: boolean - entity: select category: config translation_key: temperature_unit diff --git a/custom_components/tuya_local/devices/electriq_ecosilent14hpw_aircon.yaml b/custom_components/tuya_local/devices/electriq_ecosilent14hpw_aircon.yaml index 3175cc5d04..c9f4cc966f 100644 --- a/custom_components/tuya_local/devices/electriq_ecosilent14hpw_aircon.yaml +++ b/custom_components/tuya_local/devices/electriq_ecosilent14hpw_aircon.yaml @@ -1,105 +1,104 @@ name: ElectriQ EcoSilent14HPW -primary_entity: - entity: climate - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: true - constraint: mode - conditions: - - dps_val: "cool" - value: cool - - dps_val: "fan" - value: fan_only - - dps_val: "heat" - value: heat - - dps_val: "smart_cool" - value: auto - - dps_val: "dry" - value: dry - - dps_val: false - value: "off" - - id: 2 - name: temperature - type: integer - range: - min: 17 - max: 30 - mapping: - - scale: 1 - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: temperature_f - range: - min: 62 - max: 86 - - id: 3 - name: current_temperature - type: integer - mapping: - - scale: 1 - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: current_temperature_f - - id: 4 - name: mode - type: string - hidden: true - - id: 5 - name: fan_mode - type: string - mapping: - - dps_val: "f1" - value: low - - dps_val: "f2" - value: diffuse - - dps_val: "f3" - value: medium - - dps_val: "f4" - value: high - - dps_val: "f5" - value: top - - id: 19 - name: temperature_unit - type: string - mapping: - - dps_val: f - value: F - - dps_val: c - value: C - - id: 22 - name: timer - type: integer - - id: 23 - name: current_temperature_f - type: integer - optional: true - hidden: true - - id: 24 - name: temperature_f - type: integer - optional: true - hidden: true - range: - min: 62 - max: 86 - - id: 101 - name: swing_mode - type: boolean - mapping: - - dps_val: false - constraint: hvac_mode - value: "off" - - dps_val: true - value: vertical - - id: 102 - name: sleep_mode - type: boolean -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: true + constraint: mode + conditions: + - dps_val: "cool" + value: cool + - dps_val: "fan" + value: fan_only + - dps_val: "heat" + value: heat + - dps_val: "smart_cool" + value: auto + - dps_val: "dry" + value: dry + - dps_val: false + value: "off" + - id: 2 + name: temperature + type: integer + range: + min: 17 + max: 30 + mapping: + - scale: 1 + constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: temperature_f + range: + min: 62 + max: 86 + - id: 3 + name: current_temperature + type: integer + mapping: + - scale: 1 + constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: current_temperature_f + - id: 4 + name: mode + type: string + hidden: true + - id: 5 + name: fan_mode + type: string + mapping: + - dps_val: "f1" + value: low + - dps_val: "f2" + value: diffuse + - dps_val: "f3" + value: medium + - dps_val: "f4" + value: high + - dps_val: "f5" + value: top + - id: 19 + name: temperature_unit + type: string + mapping: + - dps_val: f + value: F + - dps_val: c + value: C + - id: 22 + name: timer + type: integer + - id: 23 + name: current_temperature_f + type: integer + optional: true + hidden: true + - id: 24 + name: temperature_f + type: integer + optional: true + hidden: true + range: + min: 62 + max: 86 + - id: 101 + name: swing_mode + type: boolean + mapping: + - dps_val: false + constraint: hvac_mode + value: "off" + - dps_val: true + value: vertical + - id: 102 + name: sleep_mode + type: boolean - entity: select category: config translation_key: temperature_unit diff --git a/custom_components/tuya_local/devices/electriq_pd45e_dehumidifier.yaml b/custom_components/tuya_local/devices/electriq_pd45e_dehumidifier.yaml index 1e4b01f809..024da9da72 100644 --- a/custom_components/tuya_local/devices/electriq_pd45e_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/electriq_pd45e_dehumidifier.yaml @@ -1,49 +1,49 @@ -name: Electriq PD45E dehumidifier +name: Dehumidifier products: - id: 75174020a4e57c1945ca -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - type: string - name: mode - mapping: - - dps_val: "1" - value: normal - - dps_val: "2" - value: purify - - dps_val: "3" - value: laundry - - id: 3 - name: current_humidity - type: integer - - id: 4 - name: humidity - type: integer - range: - min: 35 - max: 80 - mapping: - - step: 5 - - id: 11 - type: integer - name: unknown_11 - # Probably one of these integers is timer, the other fault_code - - id: 106 - type: integer - name: unknown_106 - - id: 107 - type: boolean - name: unknown_107 - # Probably one boolean is defrost indicator, the other may be tank? - - id: 108 - type: boolean - name: unknown_108 -secondary_entities: + name: Electriq PD45E +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + type: string + name: mode + mapping: + - dps_val: "1" + value: normal + - dps_val: "2" + value: purify + - dps_val: "3" + value: laundry + - id: 3 + name: current_humidity + type: integer + - id: 4 + name: humidity + type: integer + range: + min: 35 + max: 80 + mapping: + - step: 5 + - id: 11 + type: integer + name: unknown_11 + # Probably one of these integers is timer, the other fault_code + - id: 106 + type: integer + name: unknown_106 + - id: 107 + type: boolean + name: unknown_107 + # Probably one boolean is defrost indicator, the other may be tank? + - id: 108 + type: boolean + name: unknown_108 - entity: fan dps: - id: 1 diff --git a/custom_components/tuya_local/devices/elinksmart_khsy2626_fan.yaml b/custom_components/tuya_local/devices/elinksmart_khsy2626_fan.yaml index cd6574729d..32868912bd 100644 --- a/custom_components/tuya_local/devices/elinksmart_khsy2626_fan.yaml +++ b/custom_components/tuya_local/devices/elinksmart_khsy2626_fan.yaml @@ -2,35 +2,34 @@ name: Fan products: - id: t5nfkruajk3rl4fq name: elinkSmart KH-SY2626 -primary_entity: - entity: fan - translation_key: fan_with_presets - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - type: string - name: preset_mode - mapping: - - dps_val: fresh - value: fresh - - dps_val: nature - value: nature - - dps_val: smart - value: smart - - dps_val: sleep - value: sleep - - id: 3 - type: integer - name: speed - range: - min: 1 - max: 15 - - id: 5 - type: boolean - name: oscillate -secondary_entities: +entities: + - entity: fan + translation_key: fan_with_presets + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + type: string + name: preset_mode + mapping: + - dps_val: fresh + value: fresh + - dps_val: nature + value: nature + - dps_val: smart + value: smart + - dps_val: sleep + value: sleep + - id: 3 + type: integer + name: speed + range: + min: 1 + max: 15 + - id: 5 + type: boolean + name: oscillate - entity: light translation_key: display category: config diff --git a/custom_components/tuya_local/devices/elspet_cat_litterbox.yaml b/custom_components/tuya_local/devices/elspet_cat_litterbox.yaml index f9500cffd1..12710429c4 100644 --- a/custom_components/tuya_local/devices/elspet_cat_litterbox.yaml +++ b/custom_components/tuya_local/devices/elspet_cat_litterbox.yaml @@ -2,16 +2,15 @@ name: Cat litter box products: - id: asx54fyagpyhxtej name: Elspet Spaceship -primary_entity: - entity: switch - name: Power - category: config - icon: "mdi:power" - dps: - - id: 101 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + name: Power + category: config + icon: "mdi:power" + dps: + - id: 101 + type: boolean + name: switch - entity: sensor translation_key: status category: diagnostic diff --git a/custom_components/tuya_local/devices/em3378_weather_station.yaml b/custom_components/tuya_local/devices/em3378_weather_station.yaml index 151a2c55c0..8b0950933e 100644 --- a/custom_components/tuya_local/devices/em3378_weather_station.yaml +++ b/custom_components/tuya_local/devices/em3378_weather_station.yaml @@ -2,30 +2,29 @@ name: Weather Station products: - id: q9opgtca8ymbxpqn name: EM3378 -primary_entity: - entity: sensor - name: Indoor temperature - class: temperature - dps: - - id: 101 - type: integer - name: sensor - class: measurement - mapping: - - scale: 10 - unit: F - # we need the full range of values to expose this as a light control - - id: 118 - name: backlight_brightness - type: string - - id: 121 - name: backlight_leading_time - type: integer - # below is probably related to the built in USB charger, but is encoded - - id: 122 - name: output_power - type: string -secondary_entities: +entities: + - entity: sensor + name: Indoor temperature + class: temperature + dps: + - id: 101 + type: integer + name: sensor + class: measurement + mapping: + - scale: 10 + unit: F + # we need the full range of values to expose this as a light control + - id: 118 + name: backlight_brightness + type: string + - id: 121 + name: backlight_leading_time + type: integer + # below is probably related to the built in USB charger, but is encoded + - id: 122 + name: output_power + type: string - entity: sensor name: Indoor humidity class: humidity diff --git a/custom_components/tuya_local/devices/ems_waterheater.yaml b/custom_components/tuya_local/devices/ems_waterheater.yaml index 41d323e06c..275dc08456 100644 --- a/custom_components/tuya_local/devices/ems_waterheater.yaml +++ b/custom_components/tuya_local/devices/ems_waterheater.yaml @@ -2,36 +2,35 @@ name: Water heater products: - id: nqlqesmkrje7vdhm name: EMS Thermal TH200DT heatpump -primary_entity: - entity: water_heater - dps: - - id: 1 - type: boolean - name: operation_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: auto - value: heat_pump - - dps_val: mix - value: high_demand - - dps_val: electric - value: electric - - id: 2 - type: integer - name: temperature - range: - min: 10 - max: 70 - unit: C - - id: 4 - type: string - name: mode - hidden: true -secondary_entities: +entities: + - entity: water_heater + dps: + - id: 1 + type: boolean + name: operation_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: auto + value: heat_pump + - dps_val: mix + value: high_demand + - dps_val: electric + value: electric + - id: 2 + type: integer + name: temperature + range: + min: 10 + max: 70 + unit: C + - id: 4 + type: string + name: mode + hidden: true - entity: sensor class: temperature dps: diff --git a/custom_components/tuya_local/devices/emylo_energy_meter.yaml b/custom_components/tuya_local/devices/emylo_energy_meter.yaml index a800e44158..e0621563bc 100644 --- a/custom_components/tuya_local/devices/emylo_energy_meter.yaml +++ b/custom_components/tuya_local/devices/emylo_energy_meter.yaml @@ -1,28 +1,27 @@ -name: eMylo meter +name: Energy meter products: - id: nqbs1onwskmmmaac - name: EAI-90 -primary_entity: - entity: sensor - class: energy - dps: - - id: 1 - type: integer - name: sensor - unit: kWh - class: total_increasing - mapping: - - scale: 100 - - id: 6 - type: string - name: phase_a - optional: true - force: true - - id: 17 - type: string - name: alarm - optional: true -secondary_entities: + name: eMylo EAI-90 +entities: + - entity: sensor + class: energy + dps: + - id: 1 + type: integer + name: sensor + unit: kWh + class: total_increasing + mapping: + - scale: 100 + - id: 6 + type: string + name: phase_a + optional: true + force: true + - id: 17 + type: string + name: alarm + optional: true - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/enbrighten_cafe_stringlights.yaml b/custom_components/tuya_local/devices/enbrighten_cafe_stringlights.yaml index 174dc0c6b9..c88f505666 100644 --- a/custom_components/tuya_local/devices/enbrighten_cafe_stringlights.yaml +++ b/custom_components/tuya_local/devices/enbrighten_cafe_stringlights.yaml @@ -2,22 +2,21 @@ name: String lights products: - id: irp66izb2pbedb4o name: Enbrighten Café WB-57415 -primary_entity: - entity: light - icon: "mdi:led-strip" - dps: - - id: 20 - type: boolean - name: switch - - id: 28 - type: string - optional: true - name: control_data - - id: 106 - type: string - optional: true - name: mode -secondary_entities: +entities: + - entity: light + icon: "mdi:led-strip" + dps: + - id: 20 + type: boolean + name: switch + - id: 28 + type: string + optional: true + name: control_data + - id: 106 + type: string + optional: true + name: mode - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/enbrighten_curtainlights.yaml b/custom_components/tuya_local/devices/enbrighten_curtainlights.yaml index 3703fbbef7..433badb3ba 100644 --- a/custom_components/tuya_local/devices/enbrighten_curtainlights.yaml +++ b/custom_components/tuya_local/devices/enbrighten_curtainlights.yaml @@ -1,39 +1,38 @@ name: Curtain lights -primary_entity: - entity: light - dps: - - id: 20 - type: boolean - name: switch - - id: 21 - type: string - name: effect - mapping: - - dps_val: colour - value: "off" - - dps_val: scene - value: Scene - - id: 24 - name: rgbhsv - type: hex - optional: true - format: - - name: h - bytes: 2 - range: - min: 0 - max: 360 - - name: s - bytes: 2 - range: - min: 0 - max: 1000 - - name: v - bytes: 2 - range: - min: 0 - max: 1000 -secondary_entities: +entities: + - entity: light + dps: + - id: 20 + type: boolean + name: switch + - id: 21 + type: string + name: effect + mapping: + - dps_val: colour + value: "off" + - dps_val: scene + value: Scene + - id: 24 + name: rgbhsv + type: hex + optional: true + format: + - name: h + bytes: 2 + range: + min: 0 + max: 360 + - name: s + bytes: 2 + range: + min: 0 + max: 1000 + - name: v + bytes: 2 + range: + min: 0 + max: 1000 - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/energy_monitoring_powerstrip.yaml b/custom_components/tuya_local/devices/energy_monitoring_powerstrip.yaml index 8582aeb557..6cc676e395 100644 --- a/custom_components/tuya_local/devices/energy_monitoring_powerstrip.yaml +++ b/custom_components/tuya_local/devices/energy_monitoring_powerstrip.yaml @@ -1,32 +1,31 @@ name: Energy monitoring powerstrip products: - id: 7hBwPPNdDP1xHrWv -primary_entity: - entity: switch - translation_key: switch_x - translation_placeholders: - x: "1" - class: outlet - dps: - - id: 1 - type: boolean - name: switch - - id: 105 - type: integer - name: unknown_105 - - id: 106 - type: integer - name: unknown_106 - - id: 107 - type: integer - name: unknown_107 - - id: 108 - type: integer - name: unknown_108 - - id: 109 - type: integer - name: unknown_109 -secondary_entities: +entities: + - entity: switch + translation_key: switch_x + translation_placeholders: + x: "1" + class: outlet + dps: + - id: 1 + type: boolean + name: switch + - id: 105 + type: integer + name: unknown_105 + - id: 106 + type: integer + name: unknown_106 + - id: 107 + type: integer + name: unknown_107 + - id: 108 + type: integer + name: unknown_108 + - id: 109 + type: integer + name: unknown_109 - entity: switch translation_key: switch_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/ept_level_sensor.yaml b/custom_components/tuya_local/devices/ept_level_sensor.yaml index e641f3068a..0e3afd3499 100644 --- a/custom_components/tuya_local/devices/ept_level_sensor.yaml +++ b/custom_components/tuya_local/devices/ept_level_sensor.yaml @@ -2,22 +2,21 @@ name: Level sensor products: - id: npfinze0zsvta7aj name: EPT 3m ultrasonic -primary_entity: - entity: sensor - translation_key: status - class: enum - dps: - - id: 1 - type: string - name: sensor - mapping: - - dps_val: normal - value: normal - - dps_val: lower_alarm - value: low - - dps_val: upper_alarm - value: high -secondary_entities: +entities: + - entity: sensor + translation_key: status + class: enum + dps: + - id: 1 + type: string + name: sensor + mapping: + - dps_val: normal + value: normal + - dps_val: lower_alarm + value: low + - dps_val: upper_alarm + value: high - entity: sensor name: Depth class: distance diff --git a/custom_components/tuya_local/devices/eruiklink_curtains.yaml b/custom_components/tuya_local/devices/eruiklink_curtains.yaml index 24081bf876..d895ebee06 100644 --- a/custom_components/tuya_local/devices/eruiklink_curtains.yaml +++ b/custom_components/tuya_local/devices/eruiklink_curtains.yaml @@ -2,40 +2,39 @@ name: Curtain products: - id: oxzxmhkdvqexpwqo name: Eruiklink curtain motor -primary_entity: - entity: cover - class: curtain - dps: - - id: 1 - type: string - name: control - mapping: - - dps_val: open - value: open - - dps_val: close - value: close - - dps_val: stop - value: stop - - id: 2 - type: integer - name: position - range: - min: 0 - max: 100 - - id: 3 - type: integer - name: current_position - range: - min: 0 - max: 100 - - id: 7 - type: string - name: unreliable_action - - id: 11 - type: string - name: situation_set - optional: true -secondary_entities: +entities: + - entity: cover + class: curtain + dps: + - id: 1 + type: string + name: control + mapping: + - dps_val: open + value: open + - dps_val: close + value: close + - dps_val: stop + value: stop + - id: 2 + type: integer + name: position + range: + min: 0 + max: 100 + - id: 3 + type: integer + name: current_position + range: + min: 0 + max: 100 + - id: 7 + type: string + name: unreliable_action + - id: 11 + type: string + name: situation_set + optional: true - entity: select name: Direction icon: "mdi:arrow-u-left-bottom" diff --git a/custom_components/tuya_local/devices/erz04c_energy_meter.yaml b/custom_components/tuya_local/devices/erz04c_energy_meter.yaml index bc0a0ba085..c6e5f659a2 100644 --- a/custom_components/tuya_local/devices/erz04c_energy_meter.yaml +++ b/custom_components/tuya_local/devices/erz04c_energy_meter.yaml @@ -3,83 +3,82 @@ products: - id: dhto3y4uachr1wll name: erz04c # protocol: 3.5 -primary_entity: - entity: sensor - name: Total energy - class: energy - dps: - - id: 123 - name: sensor - type: integer - unit: kWh - class: total_increasing - mapping: - - scale: 1000 - - id: 103 - name: Device state A - type: string - mapping: - - dps_val: close - value: Close - default: true - - dps_val: monitor - value: Monitor - - dps_val: working - value: Working - - dps_val: warning - value: Warning - - id: 113 - name: Device state B - type: string - mapping: - - dps_val: close - value: Close - default: true - - dps_val: monitor - value: Monitor - - dps_val: working - value: Working - - dps_val: warning - value: Warning - - id: 110 - name: Power Type A - type: string - mapping: - - dps_val: normal - value: Normal - default: true - - dps_val: warn - value: Warn - - id: 120 - name: Power Type B - type: string - mapping: - - dps_val: normal - value: Normal - default: true - - dps_val: warn - value: Warn - - id: 101 - name: Sync request - type: string - mapping: - - dps_val: idle - value: Idle - default: true - - dps_val: request - value: Request - - id: 124 - name: Net state - type: string - mapping: - - dps_val: cloud_net - value: Cloud - default: true - - dps_val: local_net - value: Local - - dps_val: no_net - value: Offline -secondary_entities: +entities: + - entity: sensor + name: Total energy + class: energy + dps: + - id: 123 + name: sensor + type: integer + unit: kWh + class: total_increasing + mapping: + - scale: 1000 + - id: 103 + name: Device state A + type: string + mapping: + - dps_val: close + value: Close + default: true + - dps_val: monitor + value: Monitor + - dps_val: working + value: Working + - dps_val: warning + value: Warning + - id: 113 + name: Device state B + type: string + mapping: + - dps_val: close + value: Close + default: true + - dps_val: monitor + value: Monitor + - dps_val: working + value: Working + - dps_val: warning + value: Warning + - id: 110 + name: Power Type A + type: string + mapping: + - dps_val: normal + value: Normal + default: true + - dps_val: warn + value: Warn + - id: 120 + name: Power Type B + type: string + mapping: + - dps_val: normal + value: Normal + default: true + - dps_val: warn + value: Warn + - id: 101 + name: Sync request + type: string + mapping: + - dps_val: idle + value: Idle + default: true + - dps_val: request + value: Request + - id: 124 + name: Net state + type: string + mapping: + - dps_val: cloud_net + value: Cloud + default: true + - dps_val: local_net + value: Local + - dps_val: no_net + value: Offline - entity: sensor translation_key: power_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/es01_powerstrip.yaml b/custom_components/tuya_local/devices/es01_powerstrip.yaml index ebef205a29..8dd983a64f 100644 --- a/custom_components/tuya_local/devices/es01_powerstrip.yaml +++ b/custom_components/tuya_local/devices/es01_powerstrip.yaml @@ -1,17 +1,16 @@ name: Smart plug with USB ES-01 products: - id: hsoiigeykxh9m4hx -primary_entity: - entity: switch - class: outlet - translation_key: switch_x - translation_placeholders: - x: "1" - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + class: outlet + translation_key: switch_x + translation_placeholders: + x: "1" + dps: + - id: 1 + type: boolean + name: switch - entity: switch translation_key: switch_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/espfort_ecspsp_usbsmartplug.yaml b/custom_components/tuya_local/devices/espfort_ecspsp_usbsmartplug.yaml index b82e7b6ed9..121acc673b 100644 --- a/custom_components/tuya_local/devices/espfort_ecspsp_usbsmartplug.yaml +++ b/custom_components/tuya_local/devices/espfort_ecspsp_usbsmartplug.yaml @@ -2,16 +2,15 @@ name: USB smartplug products: - id: ynz9qmnmnsciccyc name: ESP Fort EC-SPSP -primary_entity: - entity: switch - class: outlet - name: USB - icon: "mdi:usb" - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + class: outlet + name: USB + icon: "mdi:usb" + dps: + - id: 1 + type: boolean + name: switch - entity: switch class: outlet dps: diff --git a/custom_components/tuya_local/devices/essentials_purifier.yaml b/custom_components/tuya_local/devices/essentials_purifier.yaml index 2a5254f5fa..592cab0a9e 100644 --- a/custom_components/tuya_local/devices/essentials_purifier.yaml +++ b/custom_components/tuya_local/devices/essentials_purifier.yaml @@ -1,25 +1,24 @@ name: Air purifier -primary_entity: - entity: fan - translation_key: fan_with_presets - icon: "mdi:air-purifier" - dps: - - id: 1 - type: boolean - name: switch - - id: 3 - name: preset_mode - type: string - mapping: - - dps_val: auto - value: smart - - dps_val: M - value: normal - - dps_val: H - value: strong - - dps_val: sleep - value: sleep -secondary_entities: +entities: + - entity: fan + translation_key: fan_with_presets + icon: "mdi:air-purifier" + dps: + - id: 1 + type: boolean + name: switch + - id: 3 + name: preset_mode + type: string + mapping: + - dps_val: auto + value: smart + - dps_val: M + value: normal + - dps_val: H + value: strong + - dps_val: sleep + value: sleep - entity: switch deprecated: fan icon: "mdi:air-purifier" diff --git a/custom_components/tuya_local/devices/etersky_aroma_diffuser.yaml b/custom_components/tuya_local/devices/etersky_aroma_diffuser.yaml index e12f9c50f0..28524024fb 100644 --- a/custom_components/tuya_local/devices/etersky_aroma_diffuser.yaml +++ b/custom_components/tuya_local/devices/etersky_aroma_diffuser.yaml @@ -1,22 +1,22 @@ -name: Etersky aroma diffuser +name: Aroma diffuser products: - id: rvajlvjh4qoj1lkn -primary_entity: - entity: fan - translation_key: aroma_diffuser - dps: - - id: 2 - name: switch - type: boolean - - id: 3 - name: speed - type: string - mapping: - - dps_val: large - value: 100 - - dps_val: small - value: 50 -secondary_entities: + name: Etersky +entities: + - entity: fan + translation_key: aroma_diffuser + dps: + - id: 2 + name: switch + type: boolean + - id: 3 + name: speed + type: string + mapping: + - dps_val: large + value: 100 + - dps_val: small + value: 50 - entity: switch name: Power class: switch diff --git a/custom_components/tuya_local/devices/etersky_curtain_switch.yaml b/custom_components/tuya_local/devices/etersky_curtain_switch.yaml index b13abcb342..6aa5c11d6b 100644 --- a/custom_components/tuya_local/devices/etersky_curtain_switch.yaml +++ b/custom_components/tuya_local/devices/etersky_curtain_switch.yaml @@ -2,21 +2,20 @@ name: Curtain switch products: - id: 81dyy7vqe426s0yc name: Etersky WF-CS01 -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 -secondary_entities: +entities: + - 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 - entity: light translation_key: backlight category: config diff --git a/custom_components/tuya_local/devices/etop_ch7100_thermostat.yaml b/custom_components/tuya_local/devices/etop_ch7100_thermostat.yaml index 7fa6e74bd0..62003409a3 100644 --- a/custom_components/tuya_local/devices/etop_ch7100_thermostat.yaml +++ b/custom_components/tuya_local/devices/etop_ch7100_thermostat.yaml @@ -1,134 +1,133 @@ name: ETOP CH7100 thermostat products: - id: evklbfoqwp4dygts -primary_entity: - entity: climate - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: preset_mode - conditions: - - dps_val: cold - value: cool - - dps_val: hot - value: heat - - dps_val: aux - value: heat - - dps_val: auto - value: heat_cool - - id: 2 - name: preset_mode - type: string - mapping: - - dps_val: cold - value: Cool - - dps_val: hot - value: Heat - - dps_val: aux - value: Auxiliary Heat - - dps_val: auto - value: Auto - - id: 3 - name: hvac_action - type: string - - id: 16 - name: thermostat_set_temp - type: integer - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: thermostat_set_temp_f - - id: 17 - name: thermostat_set_temp_f - type: integer - hidden: true - - id: 23 - name: temperature_unit - type: string - mapping: - - dps_val: c - value: C - - dps_val: f - value: F - - id: 24 - name: current_temperature - type: integer - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: current_temp_f - - id: 27 - name: temperature_calibration - type: integer - optional: true - - id: 28 - name: fan_mode - type: string - mapping: - - dps_val: auto - value: auto - - dps_val: "on" - value: "on" - - id: 29 - name: current_temp_f - type: integer - hidden: true - - id: 45 - name: unknown_45 - type: integer - - id: 101 - name: unknown_101 - type: boolean - - id: 104 - name: target_temp_high - type: integer - range: - min: 6 - max: 40 - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: temp_high_f - range: - min: 33 - max: 104 - - id: 106 - name: temp_high_f - type: integer - range: - min: 33 - max: 104 - hidden: true - - id: 105 - name: target_temp_low - type: integer - range: - min: 5 - max: 39 - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: temp_low_f - range: - min: 32 - max: 103 - - id: 107 - name: temp_low_f - type: integer - range: - min: 32 - max: 103 - hidden: true -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: preset_mode + conditions: + - dps_val: cold + value: cool + - dps_val: hot + value: heat + - dps_val: aux + value: heat + - dps_val: auto + value: heat_cool + - id: 2 + name: preset_mode + type: string + mapping: + - dps_val: cold + value: Cool + - dps_val: hot + value: Heat + - dps_val: aux + value: Auxiliary Heat + - dps_val: auto + value: Auto + - id: 3 + name: hvac_action + type: string + - id: 16 + name: thermostat_set_temp + type: integer + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: thermostat_set_temp_f + - id: 17 + name: thermostat_set_temp_f + type: integer + hidden: true + - id: 23 + name: temperature_unit + type: string + mapping: + - dps_val: c + value: C + - dps_val: f + value: F + - id: 24 + name: current_temperature + type: integer + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: current_temp_f + - id: 27 + name: temperature_calibration + type: integer + optional: true + - id: 28 + name: fan_mode + type: string + mapping: + - dps_val: auto + value: auto + - dps_val: "on" + value: "on" + - id: 29 + name: current_temp_f + type: integer + hidden: true + - id: 45 + name: unknown_45 + type: integer + - id: 101 + name: unknown_101 + type: boolean + - id: 104 + name: target_temp_high + type: integer + range: + min: 6 + max: 40 + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: temp_high_f + range: + min: 33 + max: 104 + - id: 106 + name: temp_high_f + type: integer + range: + min: 33 + max: 104 + hidden: true + - id: 105 + name: target_temp_low + type: integer + range: + min: 5 + max: 39 + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: temp_low_f + range: + min: 32 + max: 103 + - id: 107 + name: temp_low_f + type: integer + range: + min: 32 + max: 103 + hidden: true - entity: select translation_key: temperature_unit category: config diff --git a/custom_components/tuya_local/devices/etop_fcu_thermostat.yaml b/custom_components/tuya_local/devices/etop_fcu_thermostat.yaml index d7f0cfc4a8..293bd9b4f0 100644 --- a/custom_components/tuya_local/devices/etop_fcu_thermostat.yaml +++ b/custom_components/tuya_local/devices/etop_fcu_thermostat.yaml @@ -2,99 +2,98 @@ name: Thermostat products: - id: psetc59fvtm5gexl name: ETOP-FCU(CF) | Jaga JRT-100TW -primary_entity: - entity: climate - name: Thermostat - dps: - ############################################################ - # Setpoint and current temperature - # - # Using DPs for current temperature and setpoint in °C - # if you want to control in °F instead, comment these DPs - # and uncomment the DPs for °F below - ############################################################ - - id: 2 - name: temperature - type: integer - unit: C - range: - min: 50 - max: 350 - mapping: - - scale: 10 - step: 5 - - id: 3 - name: current_temperature - type: integer - mapping: - - scale: 10 - # Available DPs for current temperature and setpoint in °F - # if you want to control in °F, uncomment these DPs - # and comment the DP for °C above - # - id: 20 - # name: temperature - # hidden: true - # type: integer - # unit: F - # range: - # min: 41 - # max: 95 - # - id: 21 - # name: current_temperature - # hidden: true - # type: integer - # unit: F - # range: - # min: 32 - # max: 122 - ############################################################ - # Thermostat modes - # - # Depending on your actual heating/cooling installation - # you can disable the unnecessary entries - ############################################################ - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: work_mode - conditions: - - dps_val: fan - value: fan_only - - dps_val: heat - value: heat - - dps_val: cold - value: cool - - dps_val: auto - value: heat_cool - - id: 4 - name: work_mode - type: string - hidden: true - ############################################################ - # Fan speed - ############################################################ - - id: 5 - name: fan_mode - type: string - mapping: - - dps_val: low - value: low - - dps_val: middle - value: medium - - dps_val: high - value: high - - dps_val: auto - value: auto - - id: 14 - name: work_state - 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. -secondary_entities: +entities: + - entity: climate + name: Thermostat + dps: + ############################################################ + # Setpoint and current temperature + # + # Using DPs for current temperature and setpoint in °C + # if you want to control in °F instead, comment these DPs + # and uncomment the DPs for °F below + ############################################################ + - id: 2 + name: temperature + type: integer + unit: C + range: + min: 50 + max: 350 + mapping: + - scale: 10 + step: 5 + - id: 3 + name: current_temperature + type: integer + mapping: + - scale: 10 + # Available DPs for current temperature and setpoint in °F + # if you want to control in °F, uncomment these DPs + # and comment the DP for °C above + # - id: 20 + # name: temperature + # hidden: true + # type: integer + # unit: F + # range: + # min: 41 + # max: 95 + # - id: 21 + # name: current_temperature + # hidden: true + # type: integer + # unit: F + # range: + # min: 32 + # max: 122 + ############################################################ + # Thermostat modes + # + # Depending on your actual heating/cooling installation + # you can disable the unnecessary entries + ############################################################ + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: work_mode + conditions: + - dps_val: fan + value: fan_only + - dps_val: heat + value: heat + - dps_val: cold + value: cool + - dps_val: auto + value: heat_cool + - id: 4 + name: work_mode + type: string + hidden: true + ############################################################ + # Fan speed + ############################################################ + - id: 5 + name: fan_mode + type: string + mapping: + - dps_val: low + value: low + - dps_val: middle + value: medium + - dps_val: high + value: high + - dps_val: auto + value: auto + - id: 14 + name: work_state + 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. ############################################################ # Temperature display unit ############################################################ diff --git a/custom_components/tuya_local/devices/etop_ht_thermostat.yaml b/custom_components/tuya_local/devices/etop_ht_thermostat.yaml index 59d783f1e8..470fb77d2f 100644 --- a/custom_components/tuya_local/devices/etop_ht_thermostat.yaml +++ b/custom_components/tuya_local/devices/etop_ht_thermostat.yaml @@ -4,78 +4,77 @@ products: name: ETOP HT-01AC - id: zhfbsam03cs0ge5n name: PNI CT-400 -primary_entity: - entity: climate - translation_key: thermostat - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: heat - - id: 2 - type: string - name: preset_mode - mapping: - - dps_val: manual - value: manual - - dps_val: eco - value: eco - - dps_val: auto - value: auto - - id: 3 - type: string - name: hvac_action - mapping: - - dps_val: no_heating - value: idle - - dps_val: heating - value: heating - - id: 24 - type: integer - name: current_temperature - range: - min: 0 - max: 1000 - mapping: - - scale: 10 - step: 5 - - id: 16 - type: integer - name: temperature - unit: C - range: - min: 0 - max: 1000 - mapping: - - scale: 10 - step: 5 - - id: 26 - type: integer - name: min_temperature - range: - min: 0 - max: 1000 - mapping: - - scale: 10 - step: 5 - - id: 19 - type: integer - name: max_temperature - range: - min: 50 - max: 1000 - mapping: - - scale: 10 - step: 5 - - id: 101 - type: integer - optional: true - name: dead_zone -secondary_entities: +entities: + - entity: climate + translation_key: thermostat + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: heat + - id: 2 + type: string + name: preset_mode + mapping: + - dps_val: manual + value: manual + - dps_val: eco + value: eco + - dps_val: auto + value: auto + - id: 3 + type: string + name: hvac_action + mapping: + - dps_val: no_heating + value: idle + - dps_val: heating + value: heating + - id: 24 + type: integer + name: current_temperature + range: + min: 0 + max: 1000 + mapping: + - scale: 10 + step: 5 + - id: 16 + type: integer + name: temperature + unit: C + range: + min: 0 + max: 1000 + mapping: + - scale: 10 + step: 5 + - id: 26 + type: integer + name: min_temperature + range: + min: 0 + max: 1000 + mapping: + - scale: 10 + step: 5 + - id: 19 + type: integer + name: max_temperature + range: + min: 50 + max: 1000 + mapping: + - scale: 10 + step: 5 + - id: 101 + type: integer + optional: true + name: dead_zone - entity: switch translation_key: anti_frost category: config diff --git a/custom_components/tuya_local/devices/eurom_600_heater.yaml b/custom_components/tuya_local/devices/eurom_600_heater.yaml index 9a465dc094..fbdf44a559 100644 --- a/custom_components/tuya_local/devices/eurom_600_heater.yaml +++ b/custom_components/tuya_local/devices/eurom_600_heater.yaml @@ -1,28 +1,27 @@ name: Eurom Mon Soleil heater legacy_type: eurom_heater -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: "heat" - name: hvac_mode - - id: 2 - type: integer - range: - min: 0 - max: 37 - name: temperature - unit: C - - id: 5 - type: integer - name: current_temperature -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: "heat" + name: hvac_mode + - id: 2 + type: integer + range: + min: 0 + max: 37 + name: temperature + unit: C + - id: 5 + type: integer + name: current_temperature - entity: binary_sensor category: diagnostic class: problem diff --git a/custom_components/tuya_local/devices/eurom_600_heater_v2.yaml b/custom_components/tuya_local/devices/eurom_600_heater_v2.yaml index e6695ce490..6f4a218fda 100644 --- a/custom_components/tuya_local/devices/eurom_600_heater_v2.yaml +++ b/custom_components/tuya_local/devices/eurom_600_heater_v2.yaml @@ -1,27 +1,26 @@ name: Eurom Mon Soleil heater -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: "heat" - name: hvac_mode - - id: 2 - type: integer - range: - min: 0 - max: 37 - name: temperature - unit: C - - id: 5 - type: integer - name: current_temperature -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: "heat" + name: hvac_mode + - id: 2 + type: integer + range: + min: 0 + max: 37 + name: temperature + unit: C + - id: 5 + type: integer + name: current_temperature - entity: binary_sensor category: diagnostic class: problem diff --git a/custom_components/tuya_local/devices/eurom_601_heater.yaml b/custom_components/tuya_local/devices/eurom_601_heater.yaml index 0d16246033..2e59ce2ff1 100644 --- a/custom_components/tuya_local/devices/eurom_601_heater.yaml +++ b/custom_components/tuya_local/devices/eurom_601_heater.yaml @@ -1,35 +1,34 @@ name: Eurom Mon Soleil heater -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: "heat" - name: hvac_mode - - id: 2 - type: integer - range: - min: 0 - max: 37 - name: temperature - unit: C - - id: 3 - type: integer - name: current_temperature - - id: 6 - type: boolean - mapping: - - dps_val: false - value: comfort - - dps_val: true - value: eco - name: preset_mode -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: "heat" + name: hvac_mode + - id: 2 + type: integer + range: + min: 0 + max: 37 + name: temperature + unit: C + - id: 3 + type: integer + name: current_temperature + - id: 6 + type: boolean + mapping: + - dps_val: false + value: comfort + - dps_val: true + value: eco + name: preset_mode - entity: binary_sensor category: diagnostic class: problem diff --git a/custom_components/tuya_local/devices/eurom_800_heater.yaml b/custom_components/tuya_local/devices/eurom_800_heater.yaml index 916f6b1b81..e456b174ed 100644 --- a/custom_components/tuya_local/devices/eurom_800_heater.yaml +++ b/custom_components/tuya_local/devices/eurom_800_heater.yaml @@ -1,51 +1,51 @@ name: Eurom Mon Soleil heater -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: heat - - id: 2 - type: integer - name: temperature - unit: C - range: - min: 0 - max: 37 - - id: 5 - type: integer - name: current_temperature - - id: 3 - type: integer - name: temp_set_f - optional: true - - id: 4 - type: boolean - name: c_f_switch - optional: true - - id: 6 - type: integer - name: cur_temp_f - optional: true - - id: 7 - type: integer - name: timer - optional: true - - id: 8 - type: bitfield - name: reservation_flags - optional: true - - id: 9 - type: string - name: schedule - optional: true - - id: 10 - type: string - name: timing - optional: true +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: heat + - id: 2 + type: integer + name: temperature + unit: C + range: + min: 0 + max: 37 + - id: 5 + type: integer + name: current_temperature + - id: 3 + type: integer + name: temp_set_f + optional: true + - id: 4 + type: boolean + name: c_f_switch + optional: true + - id: 6 + type: integer + name: cur_temp_f + optional: true + - id: 7 + type: integer + name: timer + optional: true + - id: 8 + type: bitfield + name: reservation_flags + optional: true + - id: 9 + type: string + name: schedule + optional: true + - id: 10 + type: string + name: timing + optional: true diff --git a/custom_components/tuya_local/devices/eurom_alutherm_heater.yaml b/custom_components/tuya_local/devices/eurom_alutherm_heater.yaml index e48702b03d..1da77cd0b8 100644 --- a/custom_components/tuya_local/devices/eurom_alutherm_heater.yaml +++ b/custom_components/tuya_local/devices/eurom_alutherm_heater.yaml @@ -4,58 +4,57 @@ products: name: Eurom Alutherm 2000 - id: awnds45afwineiul name: Eurom Alutherm 2500 -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: true - constraint: mode - conditions: - - dps_val: m - value: heat - - dps_val: p - value: auto - - dps_val: false - value: "off" - - id: 2 - name: temperature - type: integer - unit: C - range: - min: 0 - max: 37 - - id: 3 - name: current_temperature - type: integer - - id: 4 - name: mode - type: string - hidden: true - - id: 101 - name: fan_mode - type: string - mapping: - - dps_val: "off" - value: "off" - - dps_val: low - value: low - - dps_val: mid - value: medium - - dps_val: high - value: high - - id: 102 - name: preset_mode - type: boolean - mapping: - - dps_val: false - value: comfort - - dps_val: true - value: eco -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: true + constraint: mode + conditions: + - dps_val: m + value: heat + - dps_val: p + value: auto + - dps_val: false + value: "off" + - id: 2 + name: temperature + type: integer + unit: C + range: + min: 0 + max: 37 + - id: 3 + name: current_temperature + type: integer + - id: 4 + name: mode + type: string + hidden: true + - id: 101 + name: fan_mode + type: string + mapping: + - dps_val: "off" + value: "off" + - dps_val: low + value: low + - dps_val: mid + value: medium + - dps_val: high + value: high + - id: 102 + name: preset_mode + type: boolean + mapping: + - dps_val: false + value: comfort + - dps_val: true + value: eco - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/eurom_alutherm_heater_v2.yaml b/custom_components/tuya_local/devices/eurom_alutherm_heater_v2.yaml index b988e207b2..6910170fb4 100644 --- a/custom_components/tuya_local/devices/eurom_alutherm_heater_v2.yaml +++ b/custom_components/tuya_local/devices/eurom_alutherm_heater_v2.yaml @@ -2,58 +2,57 @@ name: Heater products: - id: kotlg4xiajpds72u name: Eurom Alutherm 2000 v2 -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: true - constraint: mode - conditions: - - dps_val: manual - value: heat - - dps_val: auto - value: auto - - dps_val: false - value: "off" - - id: 2 - name: temperature - type: integer - unit: C - range: - min: 0 - max: 37 - - id: 3 - name: current_temperature - type: integer - - id: 4 - name: mode - type: string - hidden: true - - id: 5 - name: fan_mode - type: string - mapping: - - dps_val: "off" - value: "off" - - dps_val: low - value: low - - dps_val: mid - value: medium - - dps_val: high - value: high - - id: 6 - name: preset_mode - type: boolean - mapping: - - dps_val: false - value: comfort - - dps_val: true - value: eco -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: true + constraint: mode + conditions: + - dps_val: manual + value: heat + - dps_val: auto + value: auto + - dps_val: false + value: "off" + - id: 2 + name: temperature + type: integer + unit: C + range: + min: 0 + max: 37 + - id: 3 + name: current_temperature + type: integer + - id: 4 + name: mode + type: string + hidden: true + - id: 5 + name: fan_mode + type: string + mapping: + - dps_val: "off" + value: "off" + - dps_val: low + value: low + - dps_val: mid + value: medium + - dps_val: high + value: high + - id: 6 + name: preset_mode + type: boolean + mapping: + - dps_val: false + value: comfort + - dps_val: true + value: eco - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/eurom_sani_bathroom_towel_radiator.yaml b/custom_components/tuya_local/devices/eurom_sani_bathroom_towel_radiator.yaml index 92594124ca..21a298981d 100644 --- a/custom_components/tuya_local/devices/eurom_sani_bathroom_towel_radiator.yaml +++ b/custom_components/tuya_local/devices/eurom_sani_bathroom_towel_radiator.yaml @@ -4,93 +4,92 @@ products: name: Eurom Sani LBH-63 - id: 7pojgyvxlwa4igrm name: Eurom Sani LBH-63A -primary_entity: - entity: climate - translation_key: heater - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: r - value: heat - - dps_val: t - value: dry - icon: "mdi:hanger" - - id: 2 - type: integer - name: temperature - range: - min: 0 - max: 37 - unit: C - mapping: - - constraint: mode - conditions: - - dps_val: t - value_redirect: surface_temperature_setpoint - range: - min: 40 - max: 70 - - id: 3 - type: integer - name: current_temperature - unit: C - mapping: - - constraint: mode - conditions: - - dps_val: t - value_mirror: surface_temperature_internal - - id: 105 - name: surface_temperature_internal - type: integer - optional: true - hidden: true - - id: 101 - type: boolean - name: hvac_action - mapping: - - dps_val: true - constraint: mode - conditions: - - dps_val: r - value: heating - - dps_val: t - value: drying - - dps_val: false - value: idle - - id: 4 - name: mode - type: string - mapping: - - dps_val: r - value: room - - dps_val: t - value: towel - - id: 106 - name: surface_temperature_setpoint - type: integer - hidden: true - optional: true - unit: C - range: - min: 40 - max: 70 - - id: 103 - # anti-frost mode - name: preset_mode - type: boolean - mapping: - - dps_val: false - value: home - - dps_val: true - value: away -secondary_entities: +entities: + - entity: climate + translation_key: heater + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: r + value: heat + - dps_val: t + value: dry + icon: "mdi:hanger" + - id: 2 + type: integer + name: temperature + range: + min: 0 + max: 37 + unit: C + mapping: + - constraint: mode + conditions: + - dps_val: t + value_redirect: surface_temperature_setpoint + range: + min: 40 + max: 70 + - id: 3 + type: integer + name: current_temperature + unit: C + mapping: + - constraint: mode + conditions: + - dps_val: t + value_mirror: surface_temperature_internal + - id: 105 + name: surface_temperature_internal + type: integer + optional: true + hidden: true + - id: 101 + type: boolean + name: hvac_action + mapping: + - dps_val: true + constraint: mode + conditions: + - dps_val: r + value: heating + - dps_val: t + value: drying + - dps_val: false + value: idle + - id: 4 + name: mode + type: string + mapping: + - dps_val: r + value: room + - dps_val: t + value: towel + - id: 106 + name: surface_temperature_setpoint + type: integer + hidden: true + optional: true + unit: C + range: + min: 40 + max: 70 + - id: 103 + # anti-frost mode + name: preset_mode + type: boolean + mapping: + - dps_val: false + value: home + - dps_val: true + value: away - entity: switch name: Eco-mode icon: "mdi:leaf" diff --git a/custom_components/tuya_local/devices/eurom_saniwallheat2000_heater.yaml b/custom_components/tuya_local/devices/eurom_saniwallheat2000_heater.yaml index 8982c16217..1c8f22bf71 100644 --- a/custom_components/tuya_local/devices/eurom_saniwallheat2000_heater.yaml +++ b/custom_components/tuya_local/devices/eurom_saniwallheat2000_heater.yaml @@ -1,54 +1,54 @@ name: Heater # products: id unknown, name: Eurom Sani-Wall-Heat 2000 -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: preset_mode - conditions: - - dps_val: "off" - value: fan_only - icon: "mdi:fan" - - dps_val: auto - value: heat - - dps_val: "50_per" - value: heat - - dps_val: "100_per" - value: heat - - id: 2 - type: integer - name: temperature - unit: C - range: - min: 10 - max: 35 - - id: 3 - type: integer - name: current_temperature - - id: 4 - type: string - name: preset_mode - mapping: - - dps_val: "off" - value: none - - dps_val: "50_per" - value: eco - - dps_val: "100_per" - value: boost - - dps_val: auto - value: comfort - - id: 7 - type: boolean - name: swing_mode - mapping: - - dps_val: true - value: vertical - - dps_val: false - value: "off" +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: preset_mode + conditions: + - dps_val: "off" + value: fan_only + icon: "mdi:fan" + - dps_val: auto + value: heat + - dps_val: "50_per" + value: heat + - dps_val: "100_per" + value: heat + - id: 2 + type: integer + name: temperature + unit: C + range: + min: 10 + max: 35 + - id: 3 + type: integer + name: current_temperature + - id: 4 + type: string + name: preset_mode + mapping: + - dps_val: "off" + value: none + - dps_val: "50_per" + value: eco + - dps_val: "100_per" + value: boost + - dps_val: auto + value: comfort + - id: 7 + type: boolean + name: swing_mode + mapping: + - dps_val: true + value: vertical + - dps_val: false + value: "off" diff --git a/custom_components/tuya_local/devices/eurom_walldesignheat2000_heater.yaml b/custom_components/tuya_local/devices/eurom_walldesignheat2000_heater.yaml index a68360b4e4..77684ed022 100644 --- a/custom_components/tuya_local/devices/eurom_walldesignheat2000_heater.yaml +++ b/custom_components/tuya_local/devices/eurom_walldesignheat2000_heater.yaml @@ -1,54 +1,54 @@ name: Heater # products: id unknown, name: Eurom wall Designheat 2000 heater -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: preset_mode - conditions: - - dps_val: "off" - value: fan_only - icon: "mdi:fan" - - dps_val: auto - value: heat - - dps_val: "50_perc" - value: heat - - dps_val: "100_perc" - value: heat - - id: 2 - type: integer - name: temperature - unit: C - range: - min: 10 - max: 35 - - id: 3 - type: integer - name: current_temperature - - id: 4 - type: string - name: preset_mode - mapping: - - dps_val: "off" - value: none - - dps_val: "50_perc" - value: eco - - dps_val: "100_perc" - value: boost - - dps_val: auto - value: comfort - - id: 7 - type: boolean - name: swing_mode - mapping: - - dps_val: true - value: vertical - - dps_val: false - value: "off" +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: preset_mode + conditions: + - dps_val: "off" + value: fan_only + icon: "mdi:fan" + - dps_val: auto + value: heat + - dps_val: "50_perc" + value: heat + - dps_val: "100_perc" + value: heat + - id: 2 + type: integer + name: temperature + unit: C + range: + min: 10 + max: 35 + - id: 3 + type: integer + name: current_temperature + - id: 4 + type: string + name: preset_mode + mapping: + - dps_val: "off" + value: none + - dps_val: "50_perc" + value: eco + - dps_val: "100_perc" + value: boost + - dps_val: auto + value: comfort + - id: 7 + type: boolean + name: swing_mode + mapping: + - dps_val: true + value: vertical + - dps_val: false + value: "off" diff --git a/custom_components/tuya_local/devices/evotherm_eti_heatpump.yaml b/custom_components/tuya_local/devices/evotherm_eti_heatpump.yaml index 2f27b00a60..0d13d1aac3 100644 --- a/custom_components/tuya_local/devices/evotherm_eti_heatpump.yaml +++ b/custom_components/tuya_local/devices/evotherm_eti_heatpump.yaml @@ -2,114 +2,113 @@ name: Pool heat pump products: - id: k5vqutj2llzox1gg name: Evotherm ETI series / AquaForte -primary_entity: - entity: climate - translation_only_key: pool_heatpump - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: preset_mode - conditions: - - dps_val: Cooling_Smart - value: cool - - dps_val: Heating_Smart - value: heat - - dps_val: Auto - value: heat_cool - - dps_val: ["Heating_Powerful", "Heating_Silent"] - value: heat - hidden: true - - dps_val: ["Cooling_Powerful", "Cooling_Silent"] - value: cool - hidden: true - - id: 2 - name: preset_mode - type: string - mapping: - - dps_val: Auto - value: auto - - dps_val: Heating_Powerful - value: quick_heat - - dps_val: Heating_Smart - value: smart_heat - - dps_val: Heating_Silent - value: quiet_heat - - dps_val: Cooling_Powerful - value: quick_cool - - dps_val: Cooling_Smart - value: smart_cool - - dps_val: Cooling_Silent - value: quiet_cool - - id: 5 - name: work_mode - type: string - optional: true - - id: 16 - name: current_temperature - type: integer - mapping: - - scale: 10 - - id: 17 - name: hvac_action - type: string - mapping: - - dps_val: Running - value: heating - constraint: preset_mode - conditions: - - dps_val: ["Cooling_Powerful", "Cooling_Smart", "Cooling_Silent"] - value: cooling - - dps_val: Defrosting - value: preheating - - value: idle - - id: 101 - name: temperature - type: integer - unit: C - range: - min: 50 - max: 550 - mapping: - - scale: 10 - constraint: preset_mode - conditions: - - dps_val: ["Cooling_Powerful", "Cooling_Smart", "Cooling_Silent"] - value_redirect: cold_temp - - dps_val: Auto - value_redirect: auto_temp - - id: 102 - name: cold_temp - type: integer - unit: C - range: - min: 50 - max: 350 - mapping: - - scale: 10 - hidden: true - - id: 104 - name: auto_temp - type: integer - unit: C - range: - min: 50 - max: 400 - mapping: - - scale: 10 - hidden: true - - id: 109 - name: unit_type - type: bitfield - - id: 117 - name: frequency - type: string - optional: true -secondary_entities: +entities: + - entity: climate + translation_only_key: pool_heatpump + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: preset_mode + conditions: + - dps_val: Cooling_Smart + value: cool + - dps_val: Heating_Smart + value: heat + - dps_val: Auto + value: heat_cool + - dps_val: ["Heating_Powerful", "Heating_Silent"] + value: heat + hidden: true + - dps_val: ["Cooling_Powerful", "Cooling_Silent"] + value: cool + hidden: true + - id: 2 + name: preset_mode + type: string + mapping: + - dps_val: Auto + value: auto + - dps_val: Heating_Powerful + value: quick_heat + - dps_val: Heating_Smart + value: smart_heat + - dps_val: Heating_Silent + value: quiet_heat + - dps_val: Cooling_Powerful + value: quick_cool + - dps_val: Cooling_Smart + value: smart_cool + - dps_val: Cooling_Silent + value: quiet_cool + - id: 5 + name: work_mode + type: string + optional: true + - id: 16 + name: current_temperature + type: integer + mapping: + - scale: 10 + - id: 17 + name: hvac_action + type: string + mapping: + - dps_val: Running + value: heating + constraint: preset_mode + conditions: + - dps_val: ["Cooling_Powerful", "Cooling_Smart", "Cooling_Silent"] + value: cooling + - dps_val: Defrosting + value: preheating + - value: idle + - id: 101 + name: temperature + type: integer + unit: C + range: + min: 50 + max: 550 + mapping: + - scale: 10 + constraint: preset_mode + conditions: + - dps_val: ["Cooling_Powerful", "Cooling_Smart", "Cooling_Silent"] + value_redirect: cold_temp + - dps_val: Auto + value_redirect: auto_temp + - id: 102 + name: cold_temp + type: integer + unit: C + range: + min: 50 + max: 350 + mapping: + - scale: 10 + hidden: true + - id: 104 + name: auto_temp + type: integer + unit: C + range: + min: 50 + max: 400 + mapping: + - scale: 10 + hidden: true + - id: 109 + name: unit_type + type: bitfield + - id: 117 + name: frequency + type: string + optional: true - entity: select translation_key: temperature_unit category: config diff --git a/custom_components/tuya_local/devices/evsun_evcharger.yaml b/custom_components/tuya_local/devices/evsun_evcharger.yaml index a22ce23309..5bf0921e8e 100644 --- a/custom_components/tuya_local/devices/evsun_evcharger.yaml +++ b/custom_components/tuya_local/devices/evsun_evcharger.yaml @@ -1,17 +1,16 @@ name: EV charger -primary_entity: - entity: sensor - class: energy - dps: - - id: 1 - optional: true - type: integer - name: sensor - unit: kWh - mapping: - - scale: 100 - class: total_increasing -secondary_entities: +entities: + - entity: sensor + class: energy + dps: + - id: 1 + optional: true + type: integer + name: sensor + unit: kWh + mapping: + - scale: 100 + class: total_increasing - entity: sensor translation_key: status icon: "mdi:ev-station" diff --git a/custom_components/tuya_local/devices/ezaiot_r9lite_thermostat.yaml b/custom_components/tuya_local/devices/ezaiot_r9lite_thermostat.yaml index 37472508f9..1b222385e3 100644 --- a/custom_components/tuya_local/devices/ezaiot_r9lite_thermostat.yaml +++ b/custom_components/tuya_local/devices/ezaiot_r9lite_thermostat.yaml @@ -4,97 +4,96 @@ name: Thermostat products: - id: dq6nlukkifyawj9n name: EZAIOT R9Lite thermostat -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: auto - value: auto - - dps_val: manual - value: heat - - id: 2 - type: string - name: mode - hidden: true - - id: 16 - type: integer - name: temperature - range: - min: 50 - max: 500 - mapping: - - scale: 10 - step: 5 - constraint: temperature_unit - conditions: - - dps_val: f - step: 10 - - id: 19 - type: integer - name: max_temperature - mapping: - - scale: 10 - - id: 23 - type: string - name: temperature_unit - mapping: - - dps_val: c - value: C - - dps_val: f - value: F - - id: 24 - type: integer - name: current_temperature - mapping: - - scale: 10 - - id: 26 - type: integer - name: min_temperature - mapping: - - scale: 10 - - id: 101 - type: integer - name: unknown_101 - - id: 36 - # dps id 36 (valve state) is redundant with dps id 110 - type: string - name: valve_state - - id: 112 - type: integer - name: unknown_112 - - id: 102 - type: integer - name: temperature_adjust_step - - id: 110 - type: boolean - name: hvac_action - mapping: - - dps_val: false - value: idle - - dps_val: true - value: heating - - id: 105 - type: string - name: device_name - - id: 108 - type: integer - name: temperature_calibration_step - - id: 111 - type: string - name: version - - id: 113 - # The dps id 113 is readonly..probably not implemented on device - type: string - name: temperature_sensor_type -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: auto + value: auto + - dps_val: manual + value: heat + - id: 2 + type: string + name: mode + hidden: true + - id: 16 + type: integer + name: temperature + range: + min: 50 + max: 500 + mapping: + - scale: 10 + step: 5 + constraint: temperature_unit + conditions: + - dps_val: f + step: 10 + - id: 19 + type: integer + name: max_temperature + mapping: + - scale: 10 + - id: 23 + type: string + name: temperature_unit + mapping: + - dps_val: c + value: C + - dps_val: f + value: F + - id: 24 + type: integer + name: current_temperature + mapping: + - scale: 10 + - id: 26 + type: integer + name: min_temperature + mapping: + - scale: 10 + - id: 101 + type: integer + name: unknown_101 + - id: 36 + # dps id 36 (valve state) is redundant with dps id 110 + type: string + name: valve_state + - id: 112 + type: integer + name: unknown_112 + - id: 102 + type: integer + name: temperature_adjust_step + - id: 110 + type: boolean + name: hvac_action + mapping: + - dps_val: false + value: idle + - dps_val: true + value: heating + - id: 105 + type: string + name: device_name + - id: 108 + type: integer + name: temperature_calibration_step + - id: 111 + type: string + name: version + - id: 113 + # The dps id 113 is readonly..probably not implemented on device + type: string + name: temperature_sensor_type - entity: switch translation_key: anti_frost category: config diff --git a/custom_components/tuya_local/devices/ezaiot_thermostat_smartplug.yaml b/custom_components/tuya_local/devices/ezaiot_thermostat_smartplug.yaml index 7407181231..3c8d412e89 100644 --- a/custom_components/tuya_local/devices/ezaiot_thermostat_smartplug.yaml +++ b/custom_components/tuya_local/devices/ezaiot_thermostat_smartplug.yaml @@ -4,60 +4,59 @@ products: # Product link: aliexpress.com/item/1005007122621628.html - id: msclnsfe0q3yd39q name: EZAIoT socket thermostat -primary_entity: - entity: climate - translation_key: thermostat - dps: - - id: 4 - type: string - name: hvac_mode - mapping: - - dps_val: "heat" - value: "heat" - - dps_val: "cool" - value: "cool" - - dps_val: "plug" - value: "off" - - id: 6 - type: integer - name: current_temperature - mapping: - - scale: 10 - - id: 9 - type: integer - optional: true - name: max_temperature - mapping: - - scale: 10 - - id: 12 - type: integer - name: min_temperature - optional: true - mapping: - - scale: 10 - - id: 17 - type: integer - name: temperature - unit: C - mapping: - - scale: 10 - range: - min: -300 - max: 1100 - - id: 114 - type: integer - name: hvac_action - mapping: - - dps_val: 0 - value: idle - - dps_val: 1 - constraint: hvac_mode - conditions: - - dps_val: heat - value: heating - - dps_val: cool - value: cooling -secondary_entities: +entities: + - entity: climate + translation_key: thermostat + dps: + - id: 4 + type: string + name: hvac_mode + mapping: + - dps_val: "heat" + value: "heat" + - dps_val: "cool" + value: "cool" + - dps_val: "plug" + value: "off" + - id: 6 + type: integer + name: current_temperature + mapping: + - scale: 10 + - id: 9 + type: integer + optional: true + name: max_temperature + mapping: + - scale: 10 + - id: 12 + type: integer + name: min_temperature + optional: true + mapping: + - scale: 10 + - id: 17 + type: integer + name: temperature + unit: C + mapping: + - scale: 10 + range: + min: -300 + max: 1100 + - id: 114 + type: integer + name: hvac_action + mapping: + - dps_val: 0 + value: idle + - dps_val: 1 + constraint: hvac_mode + conditions: + - dps_val: heat + value: heating + - dps_val: cool + value: cooling # Control # Control relay in plug mode - entity: switch diff --git a/custom_components/tuya_local/devices/fairland_iphcr15_heatpump.yaml b/custom_components/tuya_local/devices/fairland_iphcr15_heatpump.yaml index 75802d2beb..8b66a1844e 100644 --- a/custom_components/tuya_local/devices/fairland_iphcr15_heatpump.yaml +++ b/custom_components/tuya_local/devices/fairland_iphcr15_heatpump.yaml @@ -4,76 +4,75 @@ products: name: Phalén Calidi XP # - id: UNKNOWN # name: Fairland InverterPlus -primary_entity: - entity: climate - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - icon: "mdi:hvac-off" - icon_priority: 1 - - dps_val: true - constraint: mode - conditions: - - dps_val: warm - value: heat - - dps_val: cool - value: cool - - dps_val: smart - value: heat_cool - - id: 102 - name: current_temperature - type: integer - - id: 103 - name: temperature_unit - type: boolean - mapping: - - dps_val: false - value: F - - dps_val: true - value: C - - id: 105 - name: mode - type: string - icon_priority: 4 - mapping: - - dps_val: warm - icon: "mdi:hot-tub" - - dps_val: cool - icon: "mdi:snowflake" - - dps_val: smart - icon: "mdi:refresh-auto" - - id: 106 - name: temperature - type: integer - mapping: - - constraint: temperature_unit - conditions: - - dps_val: false - range: - min: 55 - max: 115 - range: - min: 12 - max: 45 - - id: 107 - type: integer - name: min_temperature - - id: 108 - type: integer - name: max_temperature - - id: 117 - name: preset_mode - type: boolean - mapping: - - dps_val: false - value: sleep - - dps_val: true - value: boost -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + icon: "mdi:hvac-off" + icon_priority: 1 + - dps_val: true + constraint: mode + conditions: + - dps_val: warm + value: heat + - dps_val: cool + value: cool + - dps_val: smart + value: heat_cool + - id: 102 + name: current_temperature + type: integer + - id: 103 + name: temperature_unit + type: boolean + mapping: + - dps_val: false + value: F + - dps_val: true + value: C + - id: 105 + name: mode + type: string + icon_priority: 4 + mapping: + - dps_val: warm + icon: "mdi:hot-tub" + - dps_val: cool + icon: "mdi:snowflake" + - dps_val: smart + icon: "mdi:refresh-auto" + - id: 106 + name: temperature + type: integer + mapping: + - constraint: temperature_unit + conditions: + - dps_val: false + range: + min: 55 + max: 115 + range: + min: 12 + max: 45 + - id: 107 + type: integer + name: min_temperature + - id: 108 + type: integer + name: max_temperature + - id: 117 + name: preset_mode + type: boolean + mapping: + - dps_val: false + value: sleep + - dps_val: true + value: boost - entity: sensor category: diagnostic name: Power level diff --git a/custom_components/tuya_local/devices/fairland_rmic06_heatpump.yaml b/custom_components/tuya_local/devices/fairland_rmic06_heatpump.yaml index 2e0376531d..b477f1b23f 100644 --- a/custom_components/tuya_local/devices/fairland_rmic06_heatpump.yaml +++ b/custom_components/tuya_local/devices/fairland_rmic06_heatpump.yaml @@ -2,61 +2,60 @@ name: Pool heat pump # products: # - id: UNKNOWN # name: Fairland RMIC06 -primary_entity: - entity: climate - translation_key: pool_heatpump - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: warm - value: heat - - dps_val: cool - value: cool - - dps_val: smart - value: heat_cool - - id: 102 - name: current_temperature - type: integer - - id: 103 - name: temperature_unit - type: boolean - mapping: - - dps_val: false - value: F - - dps_val: true - value: C - - id: 105 - name: mode - type: string - hidden: true - - id: 106 - name: temperature - type: integer - range: - min: 18 - max: 115 - - id: 107 - type: integer - name: min_temperature - - id: 108 - type: integer - name: max_temperature - - id: 117 - name: preset_mode - type: boolean - mapping: - - dps_val: false - value: quiet - - dps_val: true - value: smart -secondary_entities: +entities: + - entity: climate + translation_key: pool_heatpump + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: warm + value: heat + - dps_val: cool + value: cool + - dps_val: smart + value: heat_cool + - id: 102 + name: current_temperature + type: integer + - id: 103 + name: temperature_unit + type: boolean + mapping: + - dps_val: false + value: F + - dps_val: true + value: C + - id: 105 + name: mode + type: string + hidden: true + - id: 106 + name: temperature + type: integer + range: + min: 18 + max: 115 + - id: 107 + type: integer + name: min_temperature + - id: 108 + type: integer + name: max_temperature + - id: 117 + name: preset_mode + type: boolean + mapping: + - dps_val: false + value: quiet + - dps_val: true + value: smart - entity: sensor category: diagnostic name: Power level diff --git a/custom_components/tuya_local/devices/fairland_x20_poolheatpump.yaml b/custom_components/tuya_local/devices/fairland_x20_poolheatpump.yaml index 883b4e1ef8..2c180fda88 100644 --- a/custom_components/tuya_local/devices/fairland_x20_poolheatpump.yaml +++ b/custom_components/tuya_local/devices/fairland_x20_poolheatpump.yaml @@ -4,75 +4,74 @@ products: name: Pool-Systems IPS-100MAX - id: a4bepadftizzrd8g name: Fairland X20 series -primary_entity: - entity: climate - translation_only_key: pool_heatpump - dps: - - id: 101 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - icon: "mdi:hvac-off" - icon_priority: 1 - value: "off" - - dps_val: true - constraint: work_mode - conditions: - - dps_val: smart - value: auto - - dps_val: cool - value: cool - available: cool_available - - dps_val: warm - value: heat - - id: 102 - name: preset_mode - type: string - mapping: - - dps_val: "silence" - value: quiet - - dps_val: "smart" - value: smart - - dps_val: "booster" - value: quick - available: boost_available - - id: 103 - name: current_temperature - type: integer - - id: 104 - name: temperature_unit - type: boolean - mapping: - - dps_val: false - value: C - - dps_val: true - value: F - - id: 106 - type: string - name: work_mode - hidden: true - - id: 107 - name: temperature - type: integer - range: - min: -22 - max: 122 - - id: 108 - type: integer - name: min_temperature - - id: 109 - type: integer - name: max_temperature - - id: 114 - type: string - optional: true - name: cool_available - - id: 115 - type: string - optional: true - name: boost_available -secondary_entities: +entities: + - entity: climate + translation_only_key: pool_heatpump + dps: + - id: 101 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + icon: "mdi:hvac-off" + icon_priority: 1 + value: "off" + - dps_val: true + constraint: work_mode + conditions: + - dps_val: smart + value: auto + - dps_val: cool + value: cool + available: cool_available + - dps_val: warm + value: heat + - id: 102 + name: preset_mode + type: string + mapping: + - dps_val: "silence" + value: quiet + - dps_val: "smart" + value: smart + - dps_val: "booster" + value: quick + available: boost_available + - id: 103 + name: current_temperature + type: integer + - id: 104 + name: temperature_unit + type: boolean + mapping: + - dps_val: false + value: C + - dps_val: true + value: F + - id: 106 + type: string + name: work_mode + hidden: true + - id: 107 + name: temperature + type: integer + range: + min: -22 + max: 122 + - id: 108 + type: integer + name: min_temperature + - id: 109 + type: integer + name: max_temperature + - id: 114 + type: string + optional: true + name: cool_available + - id: 115 + type: string + optional: true + name: boost_available - entity: sensor category: diagnostic class: power_factor diff --git a/custom_components/tuya_local/devices/fanco_ecosilentdeluxe.yaml b/custom_components/tuya_local/devices/fanco_ecosilentdeluxe.yaml index 034a912ae9..6f5364735a 100644 --- a/custom_components/tuya_local/devices/fanco_ecosilentdeluxe.yaml +++ b/custom_components/tuya_local/devices/fanco_ecosilentdeluxe.yaml @@ -1,23 +1,22 @@ -name: Fanco Eco Silent Deluxe +name: Fan products: - id: agyqzsfpafsvkrl9 - name: MZ-DCFAN -primary_entity: - entity: fan - dps: - - id: 1 - name: switch - type: boolean - - id: 3 - name: speed - type: integer - range: - min: 1 - max: 6 - - id: 8 - name: direction - type: string -secondary_entities: + name: Fanco Eco Silent Deluxe MZ-DCFAN +entities: + - entity: fan + dps: + - id: 1 + name: switch + type: boolean + - id: 3 + name: speed + type: integer + range: + min: 1 + max: 6 + - id: 8 + name: direction + type: string - entity: light dps: - id: 15 diff --git a/custom_components/tuya_local/devices/faroro_pet_feeder.yaml b/custom_components/tuya_local/devices/faroro_pet_feeder.yaml index f33d543238..64676365f0 100644 --- a/custom_components/tuya_local/devices/faroro_pet_feeder.yaml +++ b/custom_components/tuya_local/devices/faroro_pet_feeder.yaml @@ -2,21 +2,20 @@ name: Pet feeder products: - id: vglnuveujzyrpku9 name: Faroro PF50 -primary_entity: - entity: number - name: Manual feed - icon: "mdi:food-drumstick" - mode: "box" - dps: - - id: 3 - name: value - type: integer - persist: false - optional: true - range: - min: 1 - max: 12 -secondary_entities: +entities: + - entity: number + name: Manual feed + icon: "mdi:food-drumstick" + mode: "box" + dps: + - id: 3 + name: value + type: integer + persist: false + optional: true + range: + min: 1 + max: 12 - entity: sensor name: Feed status icon: "mdi:paw" diff --git a/custom_components/tuya_local/devices/feit_dimmer.yaml b/custom_components/tuya_local/devices/feit_dimmer.yaml index 9fe947d49a..e3497c4d46 100644 --- a/custom_components/tuya_local/devices/feit_dimmer.yaml +++ b/custom_components/tuya_local/devices/feit_dimmer.yaml @@ -2,29 +2,28 @@ name: Dimmable light products: - id: tebc75erlgslgpn5 name: Feit Dimmer -primary_entity: - entity: light - dps: - - id: 1 - name: switch - type: boolean - optional: true - mapping: - - dps_val: null - value: false - - id: 2 - name: brightness - type: integer - range: - min: 10 - max: 1000 - - id: 3 - # advisory only, the integration does not actually use this, setting it - # does not seem to work, so probably determined by bulb type - type: integer - name: minimum_brightness - optional: true -secondary_entities: +entities: + - entity: light + dps: + - id: 1 + name: switch + type: boolean + optional: true + mapping: + - dps_val: null + value: false + - id: 2 + name: brightness + type: integer + range: + min: 10 + max: 1000 + - id: 3 + # advisory only, the integration does not actually use this, setting it + # does not seem to work, so probably determined by bulb type + type: integer + name: minimum_brightness + optional: true - entity: select name: Light Type icon: mdi:lightbulb-variant diff --git a/custom_components/tuya_local/devices/ferroli_titano_twin.yaml b/custom_components/tuya_local/devices/ferroli_titano_twin.yaml index 17387e1b82..6ce4fce517 100644 --- a/custom_components/tuya_local/devices/ferroli_titano_twin.yaml +++ b/custom_components/tuya_local/devices/ferroli_titano_twin.yaml @@ -2,40 +2,39 @@ name: Water heater products: - id: lci0ebsz7ftaruaf name: Ferroli Titano Twin DT EWH -primary_entity: - entity: water_heater - dps: - - id: 1 - name: operation_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: work_mode - conditions: - - dps_val: manual - value: electric - - dps_val: eco - value: eco - icon: "mdi:leaf" - - id: 2 - type: string - name: work_mode - hidden: true - - id: 9 - type: integer - name: temperature - range: - min: 40 - max: 80 - mapping: - - step: 5 - unit: C - - id: 10 - type: integer - name: current_temperature -secondary_entities: +entities: + - entity: water_heater + dps: + - id: 1 + name: operation_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: work_mode + conditions: + - dps_val: manual + value: electric + - dps_val: eco + value: eco + icon: "mdi:leaf" + - id: 2 + type: string + name: work_mode + hidden: true + - id: 9 + type: integer + name: temperature + range: + min: 40 + max: 80 + mapping: + - step: 5 + unit: C + - id: 10 + type: integer + name: current_temperature - entity: switch name: Anti-legionella category: config diff --git a/custom_components/tuya_local/devices/fersk_vind_2_climate.yaml b/custom_components/tuya_local/devices/fersk_vind_2_climate.yaml index 2b7bb2212c..ef8ae2ec53 100644 --- a/custom_components/tuya_local/devices/fersk_vind_2_climate.yaml +++ b/custom_components/tuya_local/devices/fersk_vind_2_climate.yaml @@ -1,84 +1,84 @@ name: Fersk Vind 2 heatpump -primary_entity: - entity: climate - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: COOL - value: cool - - dps_val: FAN - value: fan_only - - dps_val: DRY - value: dry - - dps_val: HEAT - value: heat - - id: 2 - name: temperature - type: integer - mapping: - - constraint: temperature_unit - conditions: - - dps_val: "C" - range: - min: 16 - max: 32 - - dps_val: "F" - range: - min: 60 - max: 90 - - id: 3 - name: current_temperature - type: integer - - id: 4 - name: mode - type: string - hidden: true - - id: 5 - name: fan_mode - type: integer - mapping: - - dps_val: 1 - value: low - - dps_val: 2 - value: medium - - dps_val: 3 - value: high - - id: 19 - name: temperature_unit - type: string - - id: 101 - name: unknown_101 - type: boolean - - id: 102 - name: unknown_102 - type: boolean - - id: 103 - name: timer - type: integer - - id: 104 - name: swing_mode - type: boolean - mapping: - - dps_val: true - value: "vertical" - - dps_val: false - value: "off" - - id: 105 - name: countdown - type: integer - - id: 106 - name: unknown_106 - type: integer - - id: 109 - name: unknown_109 - type: boolean - - id: 110 - name: unknown_110 - type: integer +entities: + - entity: climate + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: COOL + value: cool + - dps_val: FAN + value: fan_only + - dps_val: DRY + value: dry + - dps_val: HEAT + value: heat + - id: 2 + name: temperature + type: integer + mapping: + - constraint: temperature_unit + conditions: + - dps_val: "C" + range: + min: 16 + max: 32 + - dps_val: "F" + range: + min: 60 + max: 90 + - id: 3 + name: current_temperature + type: integer + - id: 4 + name: mode + type: string + hidden: true + - id: 5 + name: fan_mode + type: integer + mapping: + - dps_val: 1 + value: low + - dps_val: 2 + value: medium + - dps_val: 3 + value: high + - id: 19 + name: temperature_unit + type: string + - id: 101 + name: unknown_101 + type: boolean + - id: 102 + name: unknown_102 + type: boolean + - id: 103 + name: timer + type: integer + - id: 104 + name: swing_mode + type: boolean + mapping: + - dps_val: true + value: "vertical" + - dps_val: false + value: "off" + - id: 105 + name: countdown + type: integer + - id: 106 + name: unknown_106 + type: integer + - id: 109 + name: unknown_109 + type: boolean + - id: 110 + name: unknown_110 + type: integer diff --git a/custom_components/tuya_local/devices/feyree_ev_charger.yaml b/custom_components/tuya_local/devices/feyree_ev_charger.yaml index 29c0beb4b8..991fbe3b58 100644 --- a/custom_components/tuya_local/devices/feyree_ev_charger.yaml +++ b/custom_components/tuya_local/devices/feyree_ev_charger.yaml @@ -4,78 +4,77 @@ products: name: Feyree 32A 85-264V EV charger - id: emvuyyax4lekiooj name: Feyree A_32A_1L ChargePoint -primary_entity: - entity: sensor - class: enum - translation_key: status - icon: "mdi:ev-station" - dps: - - id: 101 - type: string - name: sensor - mapping: - - dps_val: no_connect - value: available - - dps_val: connect - value: plugged_in - - dps_val: charing - value: charging - - dps_val: wait_rfid - value: waiting_for_authorization - - dps_val: finish - value: charged - - dps_val: wait_charing - value: waiting - - dps_val: error - value: fault - - id: 3 - type: string - optional: true - name: charger_status - - id: 11 - type: string - optional: true - name: alarm_set_1 - - id: 12 - type: string - optional: true - name: alarm_set_2 - - id: 14 - type: string - optional: true - name: mode - mapping: - - dps_val: charge_now - - dps_val: charge_pct - - dps_val: charge_energy - - dps_val: charge_schedule - - id: 15 - type: integer - optional: true - name: balance_energy - unit: kWh - - id: 18 - type: boolean - optional: true - name: switch - - id: 23 - type: string - optional: true - name: system_version - - id: 25 - type: integer - optional: true - name: charge_energy_once - unit: kWh - - id: 27 - type: string - optional: true - name: online_state - - id: 105 - type: boolean - optional: true - name: require_authorization -secondary_entities: +entities: + - entity: sensor + class: enum + translation_key: status + icon: "mdi:ev-station" + dps: + - id: 101 + type: string + name: sensor + mapping: + - dps_val: no_connect + value: available + - dps_val: connect + value: plugged_in + - dps_val: charing + value: charging + - dps_val: wait_rfid + value: waiting_for_authorization + - dps_val: finish + value: charged + - dps_val: wait_charing + value: waiting + - dps_val: error + value: fault + - id: 3 + type: string + optional: true + name: charger_status + - id: 11 + type: string + optional: true + name: alarm_set_1 + - id: 12 + type: string + optional: true + name: alarm_set_2 + - id: 14 + type: string + optional: true + name: mode + mapping: + - dps_val: charge_now + - dps_val: charge_pct + - dps_val: charge_energy + - dps_val: charge_schedule + - id: 15 + type: integer + optional: true + name: balance_energy + unit: kWh + - id: 18 + type: boolean + optional: true + name: switch + - id: 23 + type: string + optional: true + name: system_version + - id: 25 + type: integer + optional: true + name: charge_energy_once + unit: kWh + - id: 27 + type: string + optional: true + name: online_state + - id: 105 + type: boolean + optional: true + name: require_authorization - entity: sensor name: Alarm event icon: 'mdi:alert-outline' diff --git a/custom_components/tuya_local/devices/fisher_summer_air_conditioner.yaml b/custom_components/tuya_local/devices/fisher_summer_air_conditioner.yaml index 3e3ba66dfa..cef98b2eec 100644 --- a/custom_components/tuya_local/devices/fisher_summer_air_conditioner.yaml +++ b/custom_components/tuya_local/devices/fisher_summer_air_conditioner.yaml @@ -6,137 +6,136 @@ products: name: Daitsu DS-9KTP - id: fcnlevuwfd1jgkvx name: Tesla TT34TP21-1232IAWUV -primary_entity: - entity: climate - translation_only_key: aircon_extra - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: auto - value: heat_cool - - dps_val: cold - value: cool - - dps_val: wind - value: fan_only - - dps_val: wet - value: dry - - dps_val: hot - value: heat - - id: 2 - name: temperature - type: integer - range: - min: 160 - max: 310 - mapping: - - scale: 10 - step: 5 - unit: C - - id: 3 - name: current_temperature - type: integer - - id: 4 - name: mode - type: string - - id: 5 - name: fan_mode - type: string - mapping: - - dps_val: auto - value: auto - - dps_val: mute - value: quiet - - dps_val: low - value: low - - dps_val: mid_low - value: medlow - - dps_val: mid - value: medium - - dps_val: mid_high - value: medhigh - - dps_val: high - value: high - - dps_val: strong - value: strong - - id: 18 - name: current_humidity - type: integer - optional: true - - id: 110 - name: functions_available - type: bitfield - # Used to indicate whether this function is available. - # 0. Whether the temperature is adjustable in dehumidification mode - # 1. Whether the temperature is adjustable in air supply mode - # 2. Whether the temperature is adjustable in automatic mode - # 3. Fresh air volume mark - # 4. Vector air supply (implemented on Set vertical direction) - # 5. Left and right sweeping air (implemented on horizontal sweep) - # 6. Photosensitive - # 7. Intelligent dehumidification and anti-mildew - # 8. Humidity sensor - # 9. Evaporator cleaning - # 10. Save money and see it (implemented on Energy saving) - # 11. Power statistics - # 12. Generator mode (implemented on Generator mode) - # 13. High temperature wind/cool wind (implemented on Hot cold wind) - # 14. Air quality detection function (implemented on Air quality) - # 15. Set to empty (original: humidity function) - # 16. Set to empty (original: equipment operation saves money and - # visible temperature curve display) - # 17. 8℃ heating - # 18. Filter dirty and clogged function (implemented on Dirty filter) - # ??? - 19 is missing in Tuya json - # 20. presence or absence of PM2.5 (implemented on PM25) - # 21. temperature scale switching, 1 is Fahrenheit, 0 is Celsius - # 22. soft wind (implemented on Sleep) - # 23. left and right wide-angle air supply (implemented on Set - # horizontal direction) - - id: 123 - name: options - type: string - - id: 128 - name: style - type: string - optional: true - mapping: - - dps_val: "0" - value: wall - - dps_val: "1" - value: floor - - id: 133 - name: swing_mode - type: string - mapping: - - dps_val: "0" - value: "off" - - dps_val: "1" - value: horizontal - available: hswing_available - - dps_val: "2" - value: vertical - - dps_val: "3" - value: both - available: hswing_available - - id: 134 - name: work_time - type: string - optional: true - - id: 110 - type: bitfield - name: hswing_available - mapping: - - dps_val: 32 - value: true - - value: false -secondary_entities: +entities: + - entity: climate + translation_only_key: aircon_extra + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: auto + value: heat_cool + - dps_val: cold + value: cool + - dps_val: wind + value: fan_only + - dps_val: wet + value: dry + - dps_val: hot + value: heat + - id: 2 + name: temperature + type: integer + range: + min: 160 + max: 310 + mapping: + - scale: 10 + step: 5 + unit: C + - id: 3 + name: current_temperature + type: integer + - id: 4 + name: mode + type: string + - id: 5 + name: fan_mode + type: string + mapping: + - dps_val: auto + value: auto + - dps_val: mute + value: quiet + - dps_val: low + value: low + - dps_val: mid_low + value: medlow + - dps_val: mid + value: medium + - dps_val: mid_high + value: medhigh + - dps_val: high + value: high + - dps_val: strong + value: strong + - id: 18 + name: current_humidity + type: integer + optional: true + - id: 110 + name: functions_available + type: bitfield + # Used to indicate whether this function is available. + # 0. Whether the temperature is adjustable in dehumidification mode + # 1. Whether the temperature is adjustable in air supply mode + # 2. Whether the temperature is adjustable in automatic mode + # 3. Fresh air volume mark + # 4. Vector air supply (implemented on Set vertical direction) + # 5. Left and right sweeping air (implemented on horizontal sweep) + # 6. Photosensitive + # 7. Intelligent dehumidification and anti-mildew + # 8. Humidity sensor + # 9. Evaporator cleaning + # 10. Save money and see it (implemented on Energy saving) + # 11. Power statistics + # 12. Generator mode (implemented on Generator mode) + # 13. High temperature wind/cool wind (implemented on Hot cold wind) + # 14. Air quality detection function (implemented on Air quality) + # 15. Set to empty (original: humidity function) + # 16. Set to empty (original: equipment operation saves money and + # visible temperature curve display) + # 17. 8℃ heating + # 18. Filter dirty and clogged function (implemented on Dirty filter) + # ??? - 19 is missing in Tuya json + # 20. presence or absence of PM2.5 (implemented on PM25) + # 21. temperature scale switching, 1 is Fahrenheit, 0 is Celsius + # 22. soft wind (implemented on Sleep) + # 23. left and right wide-angle air supply (implemented on Set + # horizontal direction) + - id: 123 + name: options + type: string + - id: 128 + name: style + type: string + optional: true + mapping: + - dps_val: "0" + value: wall + - dps_val: "1" + value: floor + - id: 133 + name: swing_mode + type: string + mapping: + - dps_val: "0" + value: "off" + - dps_val: "1" + value: horizontal + available: hswing_available + - dps_val: "2" + value: vertical + - dps_val: "3" + value: both + available: hswing_available + - id: 134 + name: work_time + type: string + optional: true + - id: 110 + type: bitfield + name: hswing_available + mapping: + - dps_val: 32 + value: true + - value: false - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/fisher_water_heatpump.yaml b/custom_components/tuya_local/devices/fisher_water_heatpump.yaml index 403ba7de9f..2011192638 100644 --- a/custom_components/tuya_local/devices/fisher_water_heatpump.yaml +++ b/custom_components/tuya_local/devices/fisher_water_heatpump.yaml @@ -2,48 +2,47 @@ name: Radiator heatpump products: - id: 3gabjnrhtblg3ub6 name: Fisher e-HeatR air-water heatpump -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - hidden: true - - dps_val: true - constraint: mode - conditions: - - dps_val: cool - value: cool - hidden: true - - dps_val: heat - value: heat - hidden: true - - dps_val: DHW - value: "off" - - dps_val: COOLDHW - value: cool - - dps_val: HEATDHW - value: heat - - id: 2 - type: string - name: mode - - id: 9 - type: integer - name: temperature - range: - min: 5 - max: 65 - unit: C - - id: 10 - type: integer - name: current_temperature - - id: 26 - type: integer - name: temp_current_f -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + hidden: true + - dps_val: true + constraint: mode + conditions: + - dps_val: cool + value: cool + hidden: true + - dps_val: heat + value: heat + hidden: true + - dps_val: DHW + value: "off" + - dps_val: COOLDHW + value: cool + - dps_val: HEATDHW + value: heat + - id: 2 + type: string + name: mode + - id: 9 + type: integer + name: temperature + range: + min: 5 + max: 65 + unit: C + - id: 10 + type: integer + name: current_temperature + - id: 26 + type: integer + name: temp_current_f - entity: water_heater dps: - id: 7 diff --git a/custom_components/tuya_local/devices/flinq_breeze_pedestalfan.yaml b/custom_components/tuya_local/devices/flinq_breeze_pedestalfan.yaml index d626f612cc..ab216cb41b 100644 --- a/custom_components/tuya_local/devices/flinq_breeze_pedestalfan.yaml +++ b/custom_components/tuya_local/devices/flinq_breeze_pedestalfan.yaml @@ -2,35 +2,34 @@ name: Pedestal fan # products: # - id: unknown # name: FlinQ Breeze -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - name: preset_mode - type: string - mapping: - - dps_val: normal - value: normal - - dps_val: nature - value: nature - - dps_val: sleep - value: sleep - - dps_val: eco - value: eco - - id: 3 - name: speed - type: integer - range: - min: 1 - max: 12 - - id: 5 - name: oscillate - type: boolean -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + name: preset_mode + type: string + mapping: + - dps_val: normal + value: normal + - dps_val: nature + value: nature + - dps_val: sleep + value: sleep + - dps_val: eco + value: eco + - id: 3 + name: speed + type: integer + range: + min: 1 + max: 12 + - id: 5 + name: oscillate + type: boolean - entity: sensor class: temperature dps: diff --git a/custom_components/tuya_local/devices/forceclima_soundless_airconditioner.yaml b/custom_components/tuya_local/devices/forceclima_soundless_airconditioner.yaml index b9cce7eaf5..047ea41601 100644 --- a/custom_components/tuya_local/devices/forceclima_soundless_airconditioner.yaml +++ b/custom_components/tuya_local/devices/forceclima_soundless_airconditioner.yaml @@ -2,66 +2,64 @@ name: Portable air conditioner products: - id: njvdabnnx51jiqiq name: ForceClima Soundless -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: cold - value: cool - - dps_val: wind - value: fan_only - - dps_val: wet - value: dry - - dps_val: 'hot' - value: heat - - id: 2 - type: integer - name: temperature - range: - min: 16 - max: 31 - unit: C - - id: 3 - type: integer - name: current_temperature - - id: 4 - type: string - name: mode - hidden: true - - id: 5 - type: string - name: fan_mode - mapping: - - dps_val: low - value: low - - dps_val: med - value: medium - - dps_val: high - value: high - - id: 107 - type: integer - name: temp_set_f - - id: 109 - type: integer - name: unknown_109 - - id: 110 - name: swing_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: vertical - -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: cold + value: cool + - dps_val: wind + value: fan_only + - dps_val: wet + value: dry + - dps_val: 'hot' + value: heat + - id: 2 + type: integer + name: temperature + range: + min: 16 + max: 31 + unit: C + - id: 3 + type: integer + name: current_temperature + - id: 4 + type: string + name: mode + hidden: true + - id: 5 + type: string + name: fan_mode + mapping: + - dps_val: low + value: low + - dps_val: med + value: medium + - dps_val: high + value: high + - id: 107 + type: integer + name: temp_set_f + - id: 109 + type: integer + name: unknown_109 + - id: 110 + name: swing_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: vertical - entity: switch translation_key: sleep category: config diff --git a/custom_components/tuya_local/devices/fresco_hydrateultra_petfountain.yaml b/custom_components/tuya_local/devices/fresco_hydrateultra_petfountain.yaml index b0f4e678d8..1cf171eba5 100644 --- a/custom_components/tuya_local/devices/fresco_hydrateultra_petfountain.yaml +++ b/custom_components/tuya_local/devices/fresco_hydrateultra_petfountain.yaml @@ -3,15 +3,14 @@ products: - id: cuw2k3ho3e25fade name: Petoneer Fresco Hydrate Ultra -primary_entity: - entity: switch - icon: "mdi:water-pump" - dps: - - id: 101 - type: boolean - name: switch +entities: + - entity: switch + icon: "mdi:water-pump" + dps: + - id: 101 + type: boolean + name: switch -secondary_entities: - entity: light translation_key: indicator category: config diff --git a/custom_components/tuya_local/devices/fresco_hydrateultra_petfountain_v2.yaml b/custom_components/tuya_local/devices/fresco_hydrateultra_petfountain_v2.yaml index ac7164afc9..04a045447b 100644 --- a/custom_components/tuya_local/devices/fresco_hydrateultra_petfountain_v2.yaml +++ b/custom_components/tuya_local/devices/fresco_hydrateultra_petfountain_v2.yaml @@ -3,16 +3,15 @@ products: - id: avhcsv4u4nj05otr name: Petoneer Fresco Hydrate Ultra -primary_entity: - entity: valve - icon: "mdi:water-pump" - class: water - dps: - - id: 1 - type: boolean - name: valve +entities: + - entity: valve + icon: "mdi:water-pump" + class: water + dps: + - id: 1 + type: boolean + name: valve -secondary_entities: - entity: sensor name: Water level icon: "mdi:water" diff --git a/custom_components/tuya_local/devices/friedrich_airconditioner.yaml b/custom_components/tuya_local/devices/friedrich_airconditioner.yaml index d83e281237..43ed96ecfe 100644 --- a/custom_components/tuya_local/devices/friedrich_airconditioner.yaml +++ b/custom_components/tuya_local/devices/friedrich_airconditioner.yaml @@ -2,74 +2,73 @@ name: Air conditioner products: - id: vfdma8hzkgpdkwlm name: Friedrich UCT14A30/UCT12A30 -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: cold - value: cool - - dps_val: wet - value: dry - - dps_val: wind - value: fan_only - - dps_val: auto - value: auto - - id: 2 - type: integer - name: temperature - unit: F - range: - min: 69 - max: 89 - - id: 3 - type: integer - name: current_temperature - - id: 4 - type: string - name: mode - hidden: true - - id: 5 - type: integer - name: fan_mode - mapping: - - dps_val: 3 - value: low - - dps_val: 2 - value: medium - - dps_val: 1 - value: high - - dps_val: 4 - value: auto - - id: 8 - type: boolean - optional: true - name: preset_mode - mapping: - - dps_val: true - value: eco - - dps_val: false - value: comfort - - dps_val: null - value: comfort - hidden: true - - id: 102 - type: boolean - # not settable, and no known effect - name: info_temp_unit - mapping: - - dps_val: true - value: °F - - dps_val: false - value: °C -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: cold + value: cool + - dps_val: wet + value: dry + - dps_val: wind + value: fan_only + - dps_val: auto + value: auto + - id: 2 + type: integer + name: temperature + unit: F + range: + min: 69 + max: 89 + - id: 3 + type: integer + name: current_temperature + - id: 4 + type: string + name: mode + hidden: true + - id: 5 + type: integer + name: fan_mode + mapping: + - dps_val: 3 + value: low + - dps_val: 2 + value: medium + - dps_val: 1 + value: high + - dps_val: 4 + value: auto + - id: 8 + type: boolean + optional: true + name: preset_mode + mapping: + - dps_val: true + value: eco + - dps_val: false + value: comfort + - dps_val: null + value: comfort + hidden: true + - id: 102 + type: boolean + # not settable, and no known effect + name: info_temp_unit + mapping: + - dps_val: true + value: °F + - dps_val: false + value: °C - entity: switch translation_key: sleep category: config diff --git a/custom_components/tuya_local/devices/friedrich_uct08b10a_airconditioner.yaml b/custom_components/tuya_local/devices/friedrich_uct08b10a_airconditioner.yaml index 82ad302448..03b1344895 100644 --- a/custom_components/tuya_local/devices/friedrich_uct08b10a_airconditioner.yaml +++ b/custom_components/tuya_local/devices/friedrich_uct08b10a_airconditioner.yaml @@ -2,131 +2,130 @@ name: Air conditioner products: - id: jvnwkkvvshk3go8f name: Friedrich UCT08B10A -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: cold - value: cool - - dps_val: wet - value: dry - - dps_val: wind - value: fan_only - - dps_val: auto - value: auto - - dps_val: hot - value: heat - hidden: true - - id: 3 - type: integer - name: current_temperature_in_c - optional: true - - id: 23 - name: current_temperature - type: integer - optional: true - mapping: - - constraint: temperature_unit - conditions: - - dps_val: c - value_redirect: current_temperature_in_c - - id: 24 - type: integer - name: temperature - optional: true - unit: F - range: - min: 690 - max: 890 - mapping: - - scale: 10 - step: 10 - constraint: temperature_unit - conditions: - - dps_val: c - value_redirect: temperature_in_c - step: 5 - - id: 2 - name: temperature_in_c - type: integer - optional: true - range: - min: 205 - max: 317 - mapping: - - scale: 10 - step: 5 - unit: C - - id: 19 - type: string - name: temperature_unit - mapping: - - dps_val: f - value: F - - dps_val: c - value: C - - id: 4 - type: string - name: mode - hidden: true - - id: 5 - name: fan_mode - type: string - mapping: - # the unit only truly supports 4 speeds: low, med, high, auto - - dps_val: auto - value: auto - - dps_val: low - value: low - - dps_val: mid - value: medium - - dps_val: high - value: high - # the below are all duplicates of some of the above - - dps_val: mute - value: low - hidden: true - - dps_val: mid_low - value: low - hidden: true - - dps_val: mid_high - value: medium - hidden: true - - dps_val: strong - value: high - hidden: true - - id: 123 - name: preset_mode - type: hex - mask: "0001" - mapping: - - dps_val: 0 - value: comfort - - dps_val: 1 - value: eco - - dps_val: null - value: comfort - hidden: true - - id: 128 - name: style - type: string - mapping: - - dps_val: "0" - value: wall - - dps_val: "1" - value: floor - - dps_val: "3" - value: through-the-wall +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: cold + value: cool + - dps_val: wet + value: dry + - dps_val: wind + value: fan_only + - dps_val: auto + value: auto + - dps_val: hot + value: heat + hidden: true + - id: 3 + type: integer + name: current_temperature_in_c + optional: true + - id: 23 + name: current_temperature + type: integer + optional: true + mapping: + - constraint: temperature_unit + conditions: + - dps_val: c + value_redirect: current_temperature_in_c + - id: 24 + type: integer + name: temperature + optional: true + unit: F + range: + min: 690 + max: 890 + mapping: + - scale: 10 + step: 10 + constraint: temperature_unit + conditions: + - dps_val: c + value_redirect: temperature_in_c + step: 5 + - id: 2 + name: temperature_in_c + type: integer + optional: true + range: + min: 205 + max: 317 + mapping: + - scale: 10 + step: 5 + unit: C + - id: 19 + type: string + name: temperature_unit + mapping: + - dps_val: f + value: F + - dps_val: c + value: C + - id: 4 + type: string + name: mode + hidden: true + - id: 5 + name: fan_mode + type: string + mapping: + # the unit only truly supports 4 speeds: low, med, high, auto + - dps_val: auto + value: auto + - dps_val: low + value: low + - dps_val: mid + value: medium + - dps_val: high + value: high + # the below are all duplicates of some of the above + - dps_val: mute + value: low + hidden: true + - dps_val: mid_low + value: low + hidden: true + - dps_val: mid_high + value: medium + hidden: true + - dps_val: strong + value: high + hidden: true + - id: 123 + name: preset_mode + type: hex + mask: "0001" + mapping: + - dps_val: 0 + value: comfort + - dps_val: 1 + value: eco + - dps_val: null + value: comfort + hidden: true + - id: 128 + name: style + type: string + mapping: + - dps_val: "0" + value: wall + - dps_val: "1" + value: floor + - dps_val: "3" + value: through-the-wall -secondary_entities: - entity: switch translation_key: sleep category: config diff --git a/custom_components/tuya_local/devices/fs_03w_curtain.yaml b/custom_components/tuya_local/devices/fs_03w_curtain.yaml index 5fb6017a82..3d45d2d919 100644 --- a/custom_components/tuya_local/devices/fs_03w_curtain.yaml +++ b/custom_components/tuya_local/devices/fs_03w_curtain.yaml @@ -1,30 +1,29 @@ name: Curtain module products: - id: 5rr5k8fzjcogubkt -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: +entities: + - 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 - entity: light translation_key: backlight category: config diff --git a/custom_components/tuya_local/devices/fujicool_yuzu_heatpump.yaml b/custom_components/tuya_local/devices/fujicool_yuzu_heatpump.yaml index 0ec868776d..274fd319c2 100644 --- a/custom_components/tuya_local/devices/fujicool_yuzu_heatpump.yaml +++ b/custom_components/tuya_local/devices/fujicool_yuzu_heatpump.yaml @@ -2,123 +2,122 @@ name: Heatpump # products: # - id: UNKNOWN # name: Fujicool Yuzu -primary_entity: - entity: climate - translation_only_key: aircon_extra - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: cold - value: cool - - dps_val: hot - value: heat - - dps_val: wet - value: dry - - dps_val: wind - value: fan_only - - dps_val: auto - value: heat_cool - - id: 2 - type: integer - name: temperature - range: - min: 160 - max: 260 - mapping: - - scale: 10 - step: 10 - unit: C - - id: 3 - type: integer - name: current_temperature - - id: 4 - type: string - name: mode - hidden: true - - id: 5 - type: string - name: fan_mode - mapping: - - dps_val: auto - value: auto - - dps_val: mute - value: quiet - - dps_val: low - value: low - - dps_val: mid_low - value: medlow - - dps_val: mid - value: medium - - dps_val: mid_high - value: medhigh - - dps_val: high - value: high - - dps_val: strong - value: strong - - id: 18 - type: integer - name: current_humidity - - id: 105 - type: string - name: sleep_mode - - id: 110 - type: bitfield - name: flags - - id: 113 - type: string - name: swing_mode - mapping: - - dps_val: "0" - value: "off" - - dps_val: "1" - value: "on" - - value: "on" - hidden: true - - id: 114 - type: string - name: swing_horizontal_mode - mapping: - - dps_val: "0" - value: "off" - - dps_val: "1" - value: "on" - - value: "on" - hidden: true - - id: 119 - type: string - name: electricity_management - - id: 120 - type: string - name: gen_mode - - id: 123 - type: hex - name: flags_2 - - id: 128 - type: string - name: model_code - - id: 129 - type: string - name: energy - - id: 130 - type: integer - name: eco_temp - - id: 132 - type: boolean - name: hot_cool - - id: 133 - type: string - name: swing_action - - id: 134 - type: json - name: statistics -secondary_entities: +entities: + - entity: climate + translation_only_key: aircon_extra + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: cold + value: cool + - dps_val: hot + value: heat + - dps_val: wet + value: dry + - dps_val: wind + value: fan_only + - dps_val: auto + value: heat_cool + - id: 2 + type: integer + name: temperature + range: + min: 160 + max: 260 + mapping: + - scale: 10 + step: 10 + unit: C + - id: 3 + type: integer + name: current_temperature + - id: 4 + type: string + name: mode + hidden: true + - id: 5 + type: string + name: fan_mode + mapping: + - dps_val: auto + value: auto + - dps_val: mute + value: quiet + - dps_val: low + value: low + - dps_val: mid_low + value: medlow + - dps_val: mid + value: medium + - dps_val: mid_high + value: medhigh + - dps_val: high + value: high + - dps_val: strong + value: strong + - id: 18 + type: integer + name: current_humidity + - id: 105 + type: string + name: sleep_mode + - id: 110 + type: bitfield + name: flags + - id: 113 + type: string + name: swing_mode + mapping: + - dps_val: "0" + value: "off" + - dps_val: "1" + value: "on" + - value: "on" + hidden: true + - id: 114 + type: string + name: swing_horizontal_mode + mapping: + - dps_val: "0" + value: "off" + - dps_val: "1" + value: "on" + - value: "on" + hidden: true + - id: 119 + type: string + name: electricity_management + - id: 120 + type: string + name: gen_mode + - id: 123 + type: hex + name: flags_2 + - id: 128 + type: string + name: model_code + - id: 129 + type: string + name: energy + - id: 130 + type: integer + name: eco_temp + - id: 132 + type: boolean + name: hot_cool + - id: 133 + type: string + name: swing_action + - id: 134 + type: json + name: statistics - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/gainsboroughliberty_entrance_lock.yaml b/custom_components/tuya_local/devices/gainsboroughliberty_entrance_lock.yaml index ddd05aa588..5c434efbac 100644 --- a/custom_components/tuya_local/devices/gainsboroughliberty_entrance_lock.yaml +++ b/custom_components/tuya_local/devices/gainsboroughliberty_entrance_lock.yaml @@ -2,161 +2,160 @@ name: Door lock products: - id: yfqp0shy name: Gainsborough Liberty entrance lock -primary_entity: - entity: lock - dps: - - id: 1 - type: string - name: create_unlock_method - optional: true - sensitive: true - - id: 2 - type: string - name: delete_unlock_method - optional: true - - id: 3 - type: string - name: modify_unlock_method - optional: true - sensitive: true - - id: 12 - type: integer - name: unlock_fingerprint - optional: true - persist: false - - id: 13 - name: unlock_password - type: integer - optional: true - persist: false - - id: 14 - name: unlock_dynamic_pwd - type: integer - optional: true - persist: false - - id: 15 - name: unlock_card - type: integer - optional: true - persist: false - - id: 16 - name: unlock_key - type: integer - optional: true - persist: false - - id: 19 - name: unlock_ble - type: integer - optional: true - persist: false - - id: 21 - name: jammed - type: string - optional: true - persist: false - mapping: - - dps_val: tongue_bad - value: true - - dps_val: tongue_not_out - value: true - - dps_val: null - value: false - - value: false - - id: 47 # Lock motor state - name: lock - type: boolean - readonly: true - optional: true - mapping: - - dps_val: true # Unlocked - value: false - - dps_val: false # Locked - value: true - - id: 51 - type: string - optional: true - sensitive: true - name: temp_pwd_create - - id: 52 - type: string - optional: true - name: temp_pwd_delete - - id: 53 - type: string - optional: true - sensitive: true - name: temp_pwd_modify - - id: 54 - type: string - optional: true - sensitive: true - name: sync_method - - id: 55 - type: integer - name: unlock_temp_pwd - optional: true - persist: false - - id: 61 - type: string - optional: true - sensitive: true - name: remote_no_dp_key - - id: 62 - type: integer - name: unlock_app - optional: true - persist: false - - id: 63 - name: unlock_voice - type: integer - optional: true - persist: false - - id: 64 - type: string - optional: true - name: pwd_offline_time - - id: 65 - type: string - optional: true - name: offline_pwd_cleared - - id: 66 - type: string - optional: true - name: offline_pwd_clear_all - - id: 67 - type: string - optional: true - persist: false - name: unlock_offline_pwd - mapping: - - dps_val: null - value: null - - value: 1 - - id: 67 - type: string - optional: true - sensitive: true - name: offline_pwd_details - - id: 69 - type: string - optional: true - name: log - - id: 70 - type: string - optional: true - sensitive: true - name: check_code_set - - id: 71 - type: string - optional: true - sensitive: true - name: ble_unlock_check - - id: 72 - type: string - optional: true - sensitive: true - name: remote_pd_setkey_check -secondary_entities: +entities: + - entity: lock + dps: + - id: 1 + type: string + name: create_unlock_method + optional: true + sensitive: true + - id: 2 + type: string + name: delete_unlock_method + optional: true + - id: 3 + type: string + name: modify_unlock_method + optional: true + sensitive: true + - id: 12 + type: integer + name: unlock_fingerprint + optional: true + persist: false + - id: 13 + name: unlock_password + type: integer + optional: true + persist: false + - id: 14 + name: unlock_dynamic_pwd + type: integer + optional: true + persist: false + - id: 15 + name: unlock_card + type: integer + optional: true + persist: false + - id: 16 + name: unlock_key + type: integer + optional: true + persist: false + - id: 19 + name: unlock_ble + type: integer + optional: true + persist: false + - id: 21 + name: jammed + type: string + optional: true + persist: false + mapping: + - dps_val: tongue_bad + value: true + - dps_val: tongue_not_out + value: true + - dps_val: null + value: false + - value: false + - id: 47 # Lock motor state + name: lock + type: boolean + readonly: true + optional: true + mapping: + - dps_val: true # Unlocked + value: false + - dps_val: false # Locked + value: true + - id: 51 + type: string + optional: true + sensitive: true + name: temp_pwd_create + - id: 52 + type: string + optional: true + name: temp_pwd_delete + - id: 53 + type: string + optional: true + sensitive: true + name: temp_pwd_modify + - id: 54 + type: string + optional: true + sensitive: true + name: sync_method + - id: 55 + type: integer + name: unlock_temp_pwd + optional: true + persist: false + - id: 61 + type: string + optional: true + sensitive: true + name: remote_no_dp_key + - id: 62 + type: integer + name: unlock_app + optional: true + persist: false + - id: 63 + name: unlock_voice + type: integer + optional: true + persist: false + - id: 64 + type: string + optional: true + name: pwd_offline_time + - id: 65 + type: string + optional: true + name: offline_pwd_cleared + - id: 66 + type: string + optional: true + name: offline_pwd_clear_all + - id: 67 + type: string + optional: true + persist: false + name: unlock_offline_pwd + mapping: + - dps_val: null + value: null + - value: 1 + - id: 67 + type: string + optional: true + sensitive: true + name: offline_pwd_details + - id: 69 + type: string + optional: true + name: log + - id: 70 + type: string + optional: true + sensitive: true + name: check_code_set + - id: 71 + type: string + optional: true + sensitive: true + name: ble_unlock_check + - id: 72 + type: string + optional: true + sensitive: true + name: remote_pd_setkey_check - entity: sensor class: battery dps: diff --git a/custom_components/tuya_local/devices/galaxy_projector_light.yaml b/custom_components/tuya_local/devices/galaxy_projector_light.yaml index c03c2774f0..c51a363114 100644 --- a/custom_components/tuya_local/devices/galaxy_projector_light.yaml +++ b/custom_components/tuya_local/devices/galaxy_projector_light.yaml @@ -4,40 +4,39 @@ products: name: Galaxy projector - id: jteg9ktrhbxtiicz name: BlissLights Sky Lite Evolve SKY-EVOLVE-B-RCW8 -primary_entity: - entity: light - dps: - - id: 20 - type: boolean - name: switch - - id: 52 - type: boolean - name: color_mode - mapping: - - dps_val: false - value: white - - dps_val: true - value: hs - - id: 24 - name: rgbhsv - type: hex - format: - - name: h - bytes: 2 - range: - min: 0 - max: 360 - - name: s - bytes: 2 - range: - min: 0 - max: 1000 - - name: v - bytes: 2 - range: - min: 10 - max: 1000 -secondary_entities: +entities: + - entity: light + dps: + - id: 20 + type: boolean + name: switch + - id: 52 + type: boolean + name: color_mode + mapping: + - dps_val: false + value: white + - dps_val: true + value: hs + - id: 24 + name: rgbhsv + type: hex + format: + - name: h + bytes: 2 + range: + min: 0 + max: 360 + - name: s + bytes: 2 + range: + min: 0 + max: 1000 + - name: v + bytes: 2 + range: + min: 10 + max: 1000 - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/gaqqee_kws302wf_energymeter.yaml b/custom_components/tuya_local/devices/gaqqee_kws302wf_energymeter.yaml index 46584f94fa..10f494b3cd 100644 --- a/custom_components/tuya_local/devices/gaqqee_kws302wf_energymeter.yaml +++ b/custom_components/tuya_local/devices/gaqqee_kws302wf_energymeter.yaml @@ -2,29 +2,28 @@ name: Energy meter products: - id: tadm13agjigbdtxd name: Gaqqee KWS-302-WF -primary_entity: - entity: sensor - class: energy - dps: - - id: 105 - type: integer - name: sensor - unit: kWh - class: total_increasing - mapping: - - scale: 1000 - - id: 116 - type: string - name: state_flag - - id: 117 - type: string - name: flag_save - optional: true - - id: 123 - type: integer - name: add_ele - optional: true -secondary_entities: +entities: + - entity: sensor + class: energy + dps: + - id: 105 + type: integer + name: sensor + unit: kWh + class: total_increasing + mapping: + - scale: 1000 + - id: 116 + type: string + name: state_flag + - id: 117 + type: string + name: flag_save + optional: true + - id: 123 + type: integer + name: add_ele + optional: true - entity: switch category: config dps: diff --git a/custom_components/tuya_local/devices/garage_door_opener.yaml b/custom_components/tuya_local/devices/garage_door_opener.yaml index a19eae77fb..0a3e3babdf 100644 --- a/custom_components/tuya_local/devices/garage_door_opener.yaml +++ b/custom_components/tuya_local/devices/garage_door_opener.yaml @@ -1,18 +1,18 @@ # Based on info on the web, this is a common subset of Garage door opener dps. name: Simple garage door -primary_entity: - entity: cover - class: garage - dps: - - id: 1 - name: control - type: boolean - optional: true - mapping: - - dps_val: true - value: "open" - - dps_val: false - value: "close" - - id: 101 - name: open - type: boolean +entities: + - entity: cover + class: garage + dps: + - id: 1 + name: control + type: boolean + optional: true + mapping: + - dps_val: true + value: "open" + - dps_val: false + value: "close" + - id: 101 + name: open + type: boolean diff --git a/custom_components/tuya_local/devices/gardenpac_heatpump.yaml b/custom_components/tuya_local/devices/gardenpac_heatpump.yaml index 71a23d3266..c6da79f347 100644 --- a/custom_components/tuya_local/devices/gardenpac_heatpump.yaml +++ b/custom_components/tuya_local/devices/gardenpac_heatpump.yaml @@ -1,64 +1,63 @@ name: GardenPAC pool heatpump -primary_entity: - entity: climate - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - icon: "mdi:hvac-off" - icon_priority: 1 - - dps_val: true - value: "heat" - icon: "mdi:hot-tub" - icon_priority: 3 - - id: 102 - name: current_temperature - type: integer - - id: 103 - name: temperature_unit - type: boolean - mapping: - - dps_val: false - value: F - - dps_val: true - value: C - - id: 105 - name: hvac_action - type: string - mapping: - - dps_val: warm - value: idle - - id: 106 - name: temperature - type: integer - mapping: - - constraint: temperature_unit - conditions: - - dps_val: false - range: - min: 60 - max: 115 - range: - min: 18 - max: 45 - - id: 107 - type: integer - name: min_temperature - - id: 108 - type: integer - name: max_temperature - - id: 117 - name: preset_mode - type: boolean - mapping: - - dps_val: false - value: sleep - - dps_val: true - value: activity -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + icon: "mdi:hvac-off" + icon_priority: 1 + - dps_val: true + value: "heat" + icon: "mdi:hot-tub" + icon_priority: 3 + - id: 102 + name: current_temperature + type: integer + - id: 103 + name: temperature_unit + type: boolean + mapping: + - dps_val: false + value: F + - dps_val: true + value: C + - id: 105 + name: hvac_action + type: string + mapping: + - dps_val: warm + value: idle + - id: 106 + name: temperature + type: integer + mapping: + - constraint: temperature_unit + conditions: + - dps_val: false + range: + min: 60 + max: 115 + range: + min: 18 + max: 45 + - id: 107 + type: integer + name: min_temperature + - id: 108 + type: integer + name: max_temperature + - id: 117 + name: preset_mode + type: boolean + mapping: + - dps_val: false + value: sleep + - dps_val: true + value: activity - entity: sensor name: Power level class: power_factor diff --git a/custom_components/tuya_local/devices/garza_irrigation_system.yaml b/custom_components/tuya_local/devices/garza_irrigation_system.yaml index 1c156215a0..2807dab547 100644 --- a/custom_components/tuya_local/devices/garza_irrigation_system.yaml +++ b/custom_components/tuya_local/devices/garza_irrigation_system.yaml @@ -2,19 +2,18 @@ name: Garden irrigation system products: - id: xnajzurgqo1ugohn name: Garza ITV103W -primary_entity: - entity: valve - class: water - dps: - - id: 108 - type: boolean - name: valve - mapping: - - dps_val: true - value: false - - dps_val: false - value: true -secondary_entities: +entities: + - entity: valve + class: water + dps: + - id: 108 + type: boolean + name: valve + mapping: + - dps_val: true + value: false + - dps_val: false + value: true - entity: switch icon: "mdi:watering-can" category: config diff --git a/custom_components/tuya_local/devices/gautone_pg103_alarm.yaml b/custom_components/tuya_local/devices/gautone_pg103_alarm.yaml index 8c817c86fc..ba726e2eb1 100644 --- a/custom_components/tuya_local/devices/gautone_pg103_alarm.yaml +++ b/custom_components/tuya_local/devices/gautone_pg103_alarm.yaml @@ -4,29 +4,28 @@ products: name: GauTone PG-103 - id: gyitctrjj1kefxp2 name: "PG103/PG105/PG106/PG107/PG109" -primary_entity: - entity: alarm_control_panel - dps: - - id: 1 - type: string - name: alarm_state - mapping: - - dps_val: disarmed - value: disarmed - - dps_val: arm - value: armed_away - - dps_val: home - value: armed_home - - dps_val: sos - value: triggered - - id: 36 - type: string - name: sub_class - optional: true - - id: 101 - type: string - name: power_state -secondary_entities: +entities: + - entity: alarm_control_panel + dps: + - id: 1 + type: string + name: alarm_state + mapping: + - dps_val: disarmed + value: disarmed + - dps_val: arm + value: armed_away + - dps_val: home + value: armed_home + - dps_val: sos + value: triggered + - id: 36 + type: string + name: sub_class + optional: true + - id: 101 + type: string + name: power_state - entity: number name: Exit delay category: config diff --git a/custom_components/tuya_local/devices/ge_jasco_ultra_pro_toggle_dimmer_v2.yaml b/custom_components/tuya_local/devices/ge_jasco_ultra_pro_toggle_dimmer_v2.yaml index d250b25060..a04536f13c 100644 --- a/custom_components/tuya_local/devices/ge_jasco_ultra_pro_toggle_dimmer_v2.yaml +++ b/custom_components/tuya_local/devices/ge_jasco_ultra_pro_toggle_dimmer_v2.yaml @@ -2,22 +2,22 @@ # {'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: Dimmer module products: - id: genhs8iixkqve7sx -primary_entity: - entity: light - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - type: integer - name: brightness - range: - min: 10 - max: 1000 -secondary_entities: + name: GE Jasco Ultra Pro Toggle Dimmer v2 +entities: + - entity: light + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + type: integer + name: brightness + range: + min: 10 + max: 1000 - entity: select name: Bulb Type category: config diff --git a/custom_components/tuya_local/devices/ge_jasco_ultra_pro_toggle_switch.yaml b/custom_components/tuya_local/devices/ge_jasco_ultra_pro_toggle_switch.yaml index d29f28ae37..59c339988f 100644 --- a/custom_components/tuya_local/devices/ge_jasco_ultra_pro_toggle_switch.yaml +++ b/custom_components/tuya_local/devices/ge_jasco_ultra_pro_toggle_switch.yaml @@ -6,13 +6,12 @@ products: name: GE Jasco Ultra Pro - id: nobhkdmuof1zhgle name: Loratap QCRR400W-WB2S -primary_entity: - entity: light - dps: - - id: 1 - name: switch - type: boolean -secondary_entities: +entities: + - entity: light + dps: + - id: 1 + name: switch + type: boolean - entity: select category: config translation_key: initial_state diff --git a/custom_components/tuya_local/devices/geyserwise_water_heater.yaml b/custom_components/tuya_local/devices/geyserwise_water_heater.yaml index 7a34328f0e..a746fe925d 100644 --- a/custom_components/tuya_local/devices/geyserwise_water_heater.yaml +++ b/custom_components/tuya_local/devices/geyserwise_water_heater.yaml @@ -2,36 +2,35 @@ name: Water heater products: - id: ox9jyuavu5v78o2y name: Geyserwise TSE geyser timer and controller -primary_entity: - entity: water_heater - dps: - - id: 1 - type: boolean - name: operation_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: electric - - id: 2 - type: string - name: away_mode - mapping: - - dps_val: Timer - value: false - - dps_val: Holiday - value: true - - id: 10 - type: integer - name: current_temperature - - id: 103 - type: integer - name: temperature - unit: C - range: - min: 30 - max: 75 -secondary_entities: +entities: + - entity: water_heater + dps: + - id: 1 + type: boolean + name: operation_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: electric + - id: 2 + type: string + name: away_mode + mapping: + - dps_val: Timer + value: false + - dps_val: Holiday + value: true + - id: 10 + type: integer + name: current_temperature + - id: 103 + type: integer + name: temperature + unit: C + range: + min: 30 + max: 75 - entity: binary_sensor name: Element class: running diff --git a/custom_components/tuya_local/devices/ghome_sw19_fanlight.yaml b/custom_components/tuya_local/devices/ghome_sw19_fanlight.yaml index 04967b69d1..431561c94e 100644 --- a/custom_components/tuya_local/devices/ghome_sw19_fanlight.yaml +++ b/custom_components/tuya_local/devices/ghome_sw19_fanlight.yaml @@ -2,25 +2,24 @@ name: Fan and light switch products: - id: j11gop7l2l3sblc2 name: GHome SW19 -primary_entity: - entity: fan - dps: - - id: 1 - type: boolean - name: switch - - id: 3 - type: string - name: speed - mapping: - - dps_val: level_1 - value: 25 - - dps_val: level_2 - value: 50 - - dps_val: level_3 - value: 75 - - dps_val: level_4 - value: 100 -secondary_entities: +entities: + - entity: fan + dps: + - id: 1 + type: boolean + name: switch + - id: 3 + type: string + name: speed + mapping: + - dps_val: level_1 + value: 25 + - dps_val: level_2 + value: 50 + - dps_val: level_3 + value: 75 + - dps_val: level_4 + value: 100 - entity: number name: Fan timer class: duration diff --git a/custom_components/tuya_local/devices/giatsu_vaw2_waterheater.yaml b/custom_components/tuya_local/devices/giatsu_vaw2_waterheater.yaml index 567b3bbb02..91ee35d47d 100644 --- a/custom_components/tuya_local/devices/giatsu_vaw2_waterheater.yaml +++ b/custom_components/tuya_local/devices/giatsu_vaw2_waterheater.yaml @@ -2,34 +2,33 @@ name: Water heater products: - id: rmzdb9fyj9jo1bza name: Giatsu GIA-ATS-O-300VAWT -primary_entity: - entity: water_heater - dps: - - id: 1 - type: boolean - name: operation_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: heat - value: Heating - - dps_val: heatfan - value: "Heating + Ventilation" - - id: 2 - type: integer - name: temperature - range: - min: 10 - max: 70 - unit: C - - id: 4 - type: string - name: mode - hidden: true -secondary_entities: +entities: + - entity: water_heater + dps: + - id: 1 + type: boolean + name: operation_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: heat + value: Heating + - dps_val: heatfan + value: "Heating + Ventilation" + - id: 2 + type: integer + name: temperature + range: + min: 10 + max: 70 + unit: C + - id: 4 + type: string + name: mode + hidden: true - entity: sensor class: temperature dps: diff --git a/custom_components/tuya_local/devices/gold_cct_lightbulb.yaml b/custom_components/tuya_local/devices/gold_cct_lightbulb.yaml index 291da1aa69..d9d736585e 100644 --- a/custom_components/tuya_local/devices/gold_cct_lightbulb.yaml +++ b/custom_components/tuya_local/devices/gold_cct_lightbulb.yaml @@ -2,29 +2,28 @@ name: Gold lightbulb products: - id: baf9tt9lb8t5uc7z name: Dim2Warm G95 golden globe -primary_entity: - entity: light - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - name: brightness - type: integer - range: - min: 25 - max: 255 - - id: 3 - name: color_temp - type: integer - range: - min: 0 - max: 255 - mapping: - - target_range: - min: 1800 - max: 2700 -secondary_entities: +entities: + - entity: light + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + name: brightness + type: integer + range: + min: 25 + max: 255 + - id: 3 + name: color_temp + type: integer + range: + min: 0 + max: 255 + mapping: + - target_range: + min: 1800 + max: 2700 - entity: switch name: Remote switch icon: "mdi:remote" diff --git a/custom_components/tuya_local/devices/goldair_101cm_tower_fan.yaml b/custom_components/tuya_local/devices/goldair_101cm_tower_fan.yaml index 599c77df1b..f8995ec6dd 100644 --- a/custom_components/tuya_local/devices/goldair_101cm_tower_fan.yaml +++ b/custom_components/tuya_local/devices/goldair_101cm_tower_fan.yaml @@ -2,33 +2,32 @@ name: Tower fan products: - id: xonvukal96pf99s6 name: Goldair 101cm Tower Fan -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - type: string - name: preset_mode - mapping: - - dps_val: "1" - value: normal - - dps_val: "2" - value: nature - - dps_val: "3" - value: sleep - - id: 3 - type: integer - name: speed - range: - min: 1 - max: 3 - - id: 5 - type: boolean - name: oscillate -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + type: string + name: preset_mode + mapping: + - dps_val: "1" + value: normal + - dps_val: "2" + value: nature + - dps_val: "3" + value: sleep + - id: 3 + type: integer + name: speed + range: + min: 1 + max: 3 + - id: 5 + type: boolean + name: oscillate - entity: sensor class: temperature dps: diff --git a/custom_components/tuya_local/devices/goldair_dehumidifier.yaml b/custom_components/tuya_local/devices/goldair_dehumidifier.yaml index fcd7e74aec..644d9dd3dc 100644 --- a/custom_components/tuya_local/devices/goldair_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/goldair_dehumidifier.yaml @@ -3,40 +3,39 @@ legacy_type: dehumidifier products: - id: gynthidZEhTUCoMN name: GPDH420 -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - name: mode - type: string - mapping: - - dps_val: "0" - value: normal - - dps_val: "1" - value: eco - - dps_val: "2" - value: boost - - dps_val: "3" - value: laundry - - id: 4 - type: integer - name: humidity - range: - min: 30 - max: 80 - mapping: - - step: 5 - - id: 101 - type: boolean - name: unknown_101 - - id: 104 - type: integer - name: current_humidity -secondary_entities: +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + name: mode + type: string + mapping: + - dps_val: "0" + value: normal + - dps_val: "1" + value: eco + - dps_val: "2" + value: boost + - dps_val: "3" + value: laundry + - id: 4 + type: integer + name: humidity + range: + min: 30 + max: 80 + mapping: + - step: 5 + - id: 101 + type: boolean + name: unknown_101 + - id: 104 + type: integer + name: current_humidity - entity: fan dps: - id: 1 diff --git a/custom_components/tuya_local/devices/goldair_fan.yaml b/custom_components/tuya_local/devices/goldair_fan.yaml index adbe0bab18..875a5c2f3c 100644 --- a/custom_components/tuya_local/devices/goldair_fan.yaml +++ b/custom_components/tuya_local/devices/goldair_fan.yaml @@ -1,42 +1,41 @@ name: Goldair fan legacy_type: fan -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - type: integer - name: speed - range: - min: 1 - max: 12 - mapping: - - constraint: preset_mode - conditions: - - dps_val: nature - step: 4 - - dps_val: sleep - step: 4 - - id: 3 - type: string - mapping: - - dps_val: normal - value: normal - - dps_val: nature - value: nature - - dps_val: sleep - value: sleep - name: preset_mode - - id: 8 - type: boolean - name: oscillate - - id: 11 - type: string - name: timer -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + type: integer + name: speed + range: + min: 1 + max: 12 + mapping: + - constraint: preset_mode + conditions: + - dps_val: nature + step: 4 + - dps_val: sleep + step: 4 + - id: 3 + type: string + mapping: + - dps_val: normal + value: normal + - dps_val: nature + value: nature + - dps_val: sleep + value: sleep + name: preset_mode + - id: 8 + type: boolean + name: oscillate + - id: 11 + type: string + name: timer - entity: light translation_key: display category: config diff --git a/custom_components/tuya_local/devices/goldair_geco_heater.yaml b/custom_components/tuya_local/devices/goldair_geco_heater.yaml index 0a3c1d84f1..5a222f40b9 100644 --- a/custom_components/tuya_local/devices/goldair_geco_heater.yaml +++ b/custom_components/tuya_local/devices/goldair_geco_heater.yaml @@ -1,31 +1,30 @@ name: Goldair GECO heater legacy_type: geco_heater -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: "heat" - name: hvac_mode - - id: 3 - type: integer - range: - min: 15 - max: 35 - name: temperature - unit: C - - id: 4 - type: integer - name: current_temperature - - id: 5 - type: integer - name: timer -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: "heat" + name: hvac_mode + - id: 3 + type: integer + range: + min: 15 + max: 35 + name: temperature + unit: C + - id: 4 + type: integer + name: current_temperature + - id: 5 + type: integer + name: timer - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/goldair_gpcv_heater.yaml b/custom_components/tuya_local/devices/goldair_gpcv_heater.yaml index ac0126f7b2..6de481cbb6 100644 --- a/custom_components/tuya_local/devices/goldair_gpcv_heater.yaml +++ b/custom_components/tuya_local/devices/goldair_gpcv_heater.yaml @@ -1,39 +1,38 @@ name: Goldair GPCV heater legacy_type: gpcv_heater -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: "heat" - name: hvac_mode - - id: 3 - type: integer - range: - min: 15 - max: 35 - name: temperature - unit: C - - id: 4 - type: integer - name: current_temperature - - id: 5 - type: integer - name: timer - - id: 7 - type: string - mapping: - - dps_val: Low - value: eco - - dps_val: High - value: boost - name: preset_mode -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: "heat" + name: hvac_mode + - id: 3 + type: integer + range: + min: 15 + max: 35 + name: temperature + unit: C + - id: 4 + type: integer + name: current_temperature + - id: 5 + type: integer + name: timer + - id: 7 + type: string + mapping: + - dps_val: Low + value: eco + - dps_val: High + value: boost + name: preset_mode - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/goldair_gpdh340_dehumidifier.yaml b/custom_components/tuya_local/devices/goldair_gpdh340_dehumidifier.yaml index 02acde7a82..23be83c7b8 100644 --- a/custom_components/tuya_local/devices/goldair_gpdh340_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/goldair_gpdh340_dehumidifier.yaml @@ -2,55 +2,54 @@ name: Goldair dehumidifier products: - id: okwjubkm9ndbq3j name: GPDH340 -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - name: mode - type: string - mapping: - - dps_val: "2" - value: normal - hidden: true - - dps_val: "4" - value: sleep - - dps_val: "5" - value: comfort - - dps_val: "6" - value: eco - - dps_val: "7" - value: boost - - id: 4 - type: integer - name: humidity - range: - min: 35 - max: 80 - mapping: - - step: 5 - - id: 104 - type: integer - name: current_humidity - - id: 105 - type: integer - name: model_code - - id: 108 - type: boolean - name: filter_clean_required - mapping: - - dps_val: true - icon: "mdi:air-filter" - icon_priority: 2 - hidden: true - - id: 109 - # manual says not available for GPDH340, so not split into switch - type: boolean - name: pump -secondary_entities: +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + name: mode + type: string + mapping: + - dps_val: "2" + value: normal + hidden: true + - dps_val: "4" + value: sleep + - dps_val: "5" + value: comfort + - dps_val: "6" + value: eco + - dps_val: "7" + value: boost + - id: 4 + type: integer + name: humidity + range: + min: 35 + max: 80 + mapping: + - step: 5 + - id: 104 + type: integer + name: current_humidity + - id: 105 + type: integer + name: model_code + - id: 108 + type: boolean + name: filter_clean_required + mapping: + - dps_val: true + icon: "mdi:air-filter" + icon_priority: 2 + hidden: true + - id: 109 + # manual says not available for GPDH340, so not split into switch + type: boolean + name: pump - entity: fan dps: - id: 1 diff --git a/custom_components/tuya_local/devices/goldair_gpph_heater.yaml b/custom_components/tuya_local/devices/goldair_gpph_heater.yaml index 0bba5ede61..23fe7561a8 100644 --- a/custom_components/tuya_local/devices/goldair_gpph_heater.yaml +++ b/custom_components/tuya_local/devices/goldair_gpph_heater.yaml @@ -1,125 +1,124 @@ name: Goldair GPPH heater legacy_type: heater -primary_entity: - entity: climate - translation_only_key: swing_as_powerlevel - dps: - - id: 1 - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: "heat" - name: hvac_mode - - id: 2 - type: integer - range: - min: 5 - max: 35 - mapping: - - constraint: preset_mode - conditions: - - dps_val: "ECO" - value_redirect: eco_temperature - range: - min: 5 - max: 21 - - dps_val: "AF" - invalid: true - value: 5 - range: - min: 5 - max: 5 - name: temperature - unit: C - - id: 3 - type: integer - name: current_temperature - - id: 4 - type: string - mapping: - - dps_val: C - value: comfort - - dps_val: ECO - value: eco - - dps_val: AF - value: away - name: preset_mode - - id: 101 - type: string - name: hvac_action - mapping: - - dps_val: stop - value: idle - - value: heating - - id: 101 - type: string - mapping: - - dps_val: "stop" - constraint: swing_mode - conditions: - - dps_val: stop - value: Stop - - dps_val: "1" - value: "1" - - dps_val: "2" - value: "2" - - dps_val: "3" - value: "3" - - dps_val: "4" - value: "4" - - dps_val: "5" - value: "5" - name: power_level - - id: 102 - type: integer - name: timer - - id: 103 - type: boolean - name: timer_mode - - id: 105 - type: string - mapping: - - dps_val: "stop" - constraint: power_level - conditions: - - dps_val: stop - value: stop - value: stop - - dps_val: auto - value: auto - - dps_val: user - constraint: power_level - conditions: - - dps_val: "1" - value: "1" - - dps_val: "2" - value: "2" - - dps_val: "3" - value: "3" - - dps_val: "4" - value: "4" - - dps_val: "5" - value: "5" - - dps_val: stop - value: stop - name: swing_mode - - id: 106 - type: integer - range: - min: 5 - max: 21 - mapping: - - constraint: preset_mode - conditions: - - dps_val: "C" - invalid: true - - dps_val: "AF" - invalid: true - hidden: true - name: eco_temperature -secondary_entities: +entities: + - entity: climate + translation_only_key: swing_as_powerlevel + dps: + - id: 1 + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: "heat" + name: hvac_mode + - id: 2 + type: integer + range: + min: 5 + max: 35 + mapping: + - constraint: preset_mode + conditions: + - dps_val: "ECO" + value_redirect: eco_temperature + range: + min: 5 + max: 21 + - dps_val: "AF" + invalid: true + value: 5 + range: + min: 5 + max: 5 + name: temperature + unit: C + - id: 3 + type: integer + name: current_temperature + - id: 4 + type: string + mapping: + - dps_val: C + value: comfort + - dps_val: ECO + value: eco + - dps_val: AF + value: away + name: preset_mode + - id: 101 + type: string + name: hvac_action + mapping: + - dps_val: stop + value: idle + - value: heating + - id: 101 + type: string + mapping: + - dps_val: "stop" + constraint: swing_mode + conditions: + - dps_val: stop + value: Stop + - dps_val: "1" + value: "1" + - dps_val: "2" + value: "2" + - dps_val: "3" + value: "3" + - dps_val: "4" + value: "4" + - dps_val: "5" + value: "5" + name: power_level + - id: 102 + type: integer + name: timer + - id: 103 + type: boolean + name: timer_mode + - id: 105 + type: string + mapping: + - dps_val: "stop" + constraint: power_level + conditions: + - dps_val: stop + value: stop + value: stop + - dps_val: auto + value: auto + - dps_val: user + constraint: power_level + conditions: + - dps_val: "1" + value: "1" + - dps_val: "2" + value: "2" + - dps_val: "3" + value: "3" + - dps_val: "4" + value: "4" + - dps_val: "5" + value: "5" + - dps_val: stop + value: stop + name: swing_mode + - id: 106 + type: integer + range: + min: 5 + max: 21 + mapping: + - constraint: preset_mode + conditions: + - dps_val: "C" + invalid: true + - dps_val: "AF" + invalid: true + hidden: true + name: eco_temperature - entity: light translation_key: display category: config diff --git a/custom_components/tuya_local/devices/goldair_phet07ea_heater.yaml b/custom_components/tuya_local/devices/goldair_phet07ea_heater.yaml index ebe9401309..21cc1351e5 100644 --- a/custom_components/tuya_local/devices/goldair_phet07ea_heater.yaml +++ b/custom_components/tuya_local/devices/goldair_phet07ea_heater.yaml @@ -2,33 +2,32 @@ name: Panel heater products: - id: 71v2TpoRp54r0Vmj name: Goldair PH-ET07EA -primary_entity: - entity: climate - translation_key: heater - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: heat - - id: 3 - type: integer - name: temperature - unit: C - range: - min: 0 - max: 37 - - id: 4 - type: integer - name: current_temperature - - id: 101 - type: string - optional: true - name: mod -secondary_entities: +entities: + - entity: climate + translation_key: heater + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: heat + - id: 3 + type: integer + name: temperature + unit: C + range: + min: 0 + max: 37 + - id: 4 + type: integer + name: current_temperature + - id: 101 + type: string + optional: true + name: mod - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/goldair_platinum_tower_fan.yaml b/custom_components/tuya_local/devices/goldair_platinum_tower_fan.yaml index 96888e80bb..a7729324f0 100644 --- a/custom_components/tuya_local/devices/goldair_platinum_tower_fan.yaml +++ b/custom_components/tuya_local/devices/goldair_platinum_tower_fan.yaml @@ -2,43 +2,42 @@ name: Tower fan products: - id: hgsp7xfajllkqujw name: Goldair Platinum Tower Fan -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - type: string - name: preset_mode - mapping: - - dps_val: 1 - value: normal - - dps_val: 2 - value: nature - - dps_val: 3 - value: sleep - - dps_val: 4 - value: baby - - id: 3 - type: integer - name: speed - range: - min: 1 - max: 3 - - id: 4 - type: string - name: oscillate - mapping: - - dps_val: "on" - value: true - - dps_val: "off" - value: false - - id: 6 - type: integer - name: timer -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + type: string + name: preset_mode + mapping: + - dps_val: 1 + value: normal + - dps_val: 2 + value: nature + - dps_val: 3 + value: sleep + - dps_val: 4 + value: baby + - id: 3 + type: integer + name: speed + range: + min: 1 + max: 3 + - id: 4 + type: string + name: oscillate + mapping: + - dps_val: "on" + value: true + - dps_val: "off" + value: false + - id: 6 + type: integer + name: timer - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/goldair_portable_airconditioner.yaml b/custom_components/tuya_local/devices/goldair_portable_airconditioner.yaml index 9c0d70cb36..09128fdefc 100644 --- a/custom_components/tuya_local/devices/goldair_portable_airconditioner.yaml +++ b/custom_components/tuya_local/devices/goldair_portable_airconditioner.yaml @@ -5,137 +5,135 @@ products: name: Goldair 4-in-1 portable - id: vrredpnf22yayvhi name: Nedis ACMB1WT12 -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: cold - value: cool - - dps_val: hot - value: heat - available: support_heat - - dps_val: wet - value: dry - - dps_val: wind - value: fan_only - - - id: 2 - type: integer - name: temperature - range: - min: 16 - max: 31 - mapping: - - constraint: temperature_unit - conditions: - - dps_val: 32 - value_redirect: temp_set_f - range: - min: 60 - max: 88 - - id: 3 - type: integer - name: current_temperature - mapping: - - constraint: temperature_unit - conditions: - - dps_val: 32 - value_redirect: temp_cur_f - - id: 4 - type: string - name: mode - hidden: true - - id: 5 - type: string - name: fan_mode - mapping: - - dps_val: low - value: low - - dps_val: med - value: medium - available: support_3speed_fan - - dps_val: high - value: high - - id: 15 - type: string - name: swing_horizontal_mode - mapping: - - dps_val: "on" - value: "on" - available: support_hswing - - dps_val: "off" - value: "off" - available: support_hswing - - id: 107 - type: integer - optional: true - name: temp_set_f - hidden: true - range: - min: 60 - max: 88 - - id: 108 - type: integer - optional: true - name: temp_cur_f - hidden: true - - id: 109 - type: bitfield - name: feature_flags - - id: 109 - type: bitfield - name: support_vswing - mapping: - - dps_val: 1 - value: true - - value: false - - id: 109 - type: bitfield - name: support_hswing - mapping: - - dps_val: 2 - value: true - - value: false - - id: 109 - type: bitfield - name: support_heat - mapping: - - dps_val: 8 - value: true - - value: false - - id: 109 - type: bitfield - name: support_3speed_fan - mapping: - - dps_val: 16 - value: true - - value: false - - id: 109 - type: bitfield - name: temperature_unit - mapping: - - dps_val: 32 - value: F - - value: C - - id: 110 - type: boolean - name: swing_mode - mapping: - - dps_val: true - value: "on" - available: support_vswing - - dps_val: false - value: "off" - available: support_vswing -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: cold + value: cool + - dps_val: hot + value: heat + available: support_heat + - dps_val: wet + value: dry + - dps_val: wind + value: fan_only + - id: 2 + type: integer + name: temperature + range: + min: 16 + max: 31 + mapping: + - constraint: temperature_unit + conditions: + - dps_val: 32 + value_redirect: temp_set_f + range: + min: 60 + max: 88 + - id: 3 + type: integer + name: current_temperature + mapping: + - constraint: temperature_unit + conditions: + - dps_val: 32 + value_redirect: temp_cur_f + - id: 4 + type: string + name: mode + hidden: true + - id: 5 + type: string + name: fan_mode + mapping: + - dps_val: low + value: low + - dps_val: med + value: medium + available: support_3speed_fan + - dps_val: high + value: high + - id: 15 + type: string + name: swing_horizontal_mode + mapping: + - dps_val: "on" + value: "on" + available: support_hswing + - dps_val: "off" + value: "off" + available: support_hswing + - id: 107 + type: integer + optional: true + name: temp_set_f + hidden: true + range: + min: 60 + max: 88 + - id: 108 + type: integer + optional: true + name: temp_cur_f + hidden: true + - id: 109 + type: bitfield + name: feature_flags + - id: 109 + type: bitfield + name: support_vswing + mapping: + - dps_val: 1 + value: true + - value: false + - id: 109 + type: bitfield + name: support_hswing + mapping: + - dps_val: 2 + value: true + - value: false + - id: 109 + type: bitfield + name: support_heat + mapping: + - dps_val: 8 + value: true + - value: false + - id: 109 + type: bitfield + name: support_3speed_fan + mapping: + - dps_val: 16 + value: true + - value: false + - id: 109 + type: bitfield + name: temperature_unit + mapping: + - dps_val: 32 + value: F + - value: C + - id: 110 + type: boolean + name: swing_mode + mapping: + - dps_val: true + value: "on" + available: support_vswing + - dps_val: false + value: "off" + available: support_vswing - entity: switch translation_key: ionizer # no mention of ionizer/anion in manual but unit still beeps diff --git a/custom_components/tuya_local/devices/goldair_smartsleep_bedwarmer.yaml b/custom_components/tuya_local/devices/goldair_smartsleep_bedwarmer.yaml index 78e9a1498b..2524d995df 100644 --- a/custom_components/tuya_local/devices/goldair_smartsleep_bedwarmer.yaml +++ b/custom_components/tuya_local/devices/goldair_smartsleep_bedwarmer.yaml @@ -2,14 +2,13 @@ name: Electric blanket products: - id: mqcffjumdpuahxmi name: Goldair Platinum SmartSleep -primary_entity: - entity: switch - icon: "mdi:bed" - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + icon: "mdi:bed" + dps: + - id: 1 + type: boolean + name: switch - entity: select name: Body level icon: "mdi:bed" diff --git a/custom_components/tuya_local/devices/goodcell_ev_charger.yaml b/custom_components/tuya_local/devices/goodcell_ev_charger.yaml index 850f300384..f4b4c19d65 100644 --- a/custom_components/tuya_local/devices/goodcell_ev_charger.yaml +++ b/custom_components/tuya_local/devices/goodcell_ev_charger.yaml @@ -5,91 +5,90 @@ products: name: Goodcell 32A 85-264V 3 phase - id: basqjlsmzcq8ipva name: Feyree 7.6kW 32A -primary_entity: - entity: sensor - class: enum - translation_key: status - icon: "mdi:ev-station" - dps: - - id: 101 - type: string - name: sensor - mapping: - - dps_val: no_connet - value: available - - dps_val: connect - value: plugged_in - - dps_val: charing - value: charging - - dps_val: wait_rfid - value: waiting_for_authorization - - dps_val: finish - value: charged - - dps_val: wait_charing - value: waiting - - dps_val: error - value: fault - - id: 3 - type: string - optional: true - name: charger_status - mapping: - - dps_val: charger_free - value: Standby - - dps_val: charger_insert - value: Cable connected - - dps_val: charger_free_fault - value: Charger fault - - dps_val: charger_wait - value: Charger ready - - dps_val: charger_charging - value: Charging - - dps_val: charger_pause - value: Charging paused - - dps_val: charger_end - value: Charging ended - - dps_val: charger_fault - value: Charger fault - - id: 11 - type: string - optional: true - name: alarm_set_1 - - id: 12 - type: string - optional: true - name: alarm_set_2 - - id: 14 - type: string - optional: true - name: mode - mapping: - - dps_val: charge_now - - dps_val: charge_pct - - dps_val: charge_energy - - dps_val: charge_schedule - - id: 15 - type: integer - optional: true - name: balance_energy - unit: kWh - - id: 18 - type: boolean - optional: true - name: switch - - id: 23 - type: string - optional: true - name: system_version - - id: 25 - type: integer - optional: true - name: charge_energy_once - unit: kWh - - id: 27 - type: string - optional: true - name: online_state -secondary_entities: +entities: + - entity: sensor + class: enum + translation_key: status + icon: "mdi:ev-station" + dps: + - id: 101 + type: string + name: sensor + mapping: + - dps_val: no_connet + value: available + - dps_val: connect + value: plugged_in + - dps_val: charing + value: charging + - dps_val: wait_rfid + value: waiting_for_authorization + - dps_val: finish + value: charged + - dps_val: wait_charing + value: waiting + - dps_val: error + value: fault + - id: 3 + type: string + optional: true + name: charger_status + mapping: + - dps_val: charger_free + value: Standby + - dps_val: charger_insert + value: Cable connected + - dps_val: charger_free_fault + value: Charger fault + - dps_val: charger_wait + value: Charger ready + - dps_val: charger_charging + value: Charging + - dps_val: charger_pause + value: Charging paused + - dps_val: charger_end + value: Charging ended + - dps_val: charger_fault + value: Charger fault + - id: 11 + type: string + optional: true + name: alarm_set_1 + - id: 12 + type: string + optional: true + name: alarm_set_2 + - id: 14 + type: string + optional: true + name: mode + mapping: + - dps_val: charge_now + - dps_val: charge_pct + - dps_val: charge_energy + - dps_val: charge_schedule + - id: 15 + type: integer + optional: true + name: balance_energy + unit: kWh + - id: 18 + type: boolean + optional: true + name: switch + - id: 23 + type: string + optional: true + name: system_version + - id: 25 + type: integer + optional: true + name: charge_energy_once + unit: kWh + - id: 27 + type: string + optional: true + name: online_state - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/gorilla_fan_v2.yaml b/custom_components/tuya_local/devices/gorilla_fan_v2.yaml index c8c09005fe..a0b51f806a 100644 --- a/custom_components/tuya_local/devices/gorilla_fan_v2.yaml +++ b/custom_components/tuya_local/devices/gorilla_fan_v2.yaml @@ -2,20 +2,18 @@ name: Ceiling fan # products: # - id: UNKNOWN # name: Atomberg Gorilla Fan V2 -primary_entity: - entity: fan - dps: - - id: 1 - type: boolean - name: switch - - id: 3 - type: integer - name: speed - range: - min: 1 - max: 5 - -secondary_entities: +entities: + - entity: fan + dps: + - id: 1 + type: boolean + name: switch + - id: 3 + type: integer + name: speed + range: + min: 1 + max: 5 - entity: light translation_key: nightlight dps: diff --git a/custom_components/tuya_local/devices/gosund_sp112_usbsmartplug.yaml b/custom_components/tuya_local/devices/gosund_sp112_usbsmartplug.yaml index 3cad40d988..6a2b52fbf5 100644 --- a/custom_components/tuya_local/devices/gosund_sp112_usbsmartplug.yaml +++ b/custom_components/tuya_local/devices/gosund_sp112_usbsmartplug.yaml @@ -2,30 +2,29 @@ name: Smartplug products: - id: zmql6aexy8ua5rox name: Gosund SP112-RTL -primary_entity: - entity: switch - class: outlet - dps: - - id: 1 - name: switch - type: boolean - - id: 21 - name: factory_test - type: bitfield - - id: 41 - name: cycle_time - type: base64 - - id: 42 - name: random_time - type: base64 - - id: 43 - name: inching - type: base64 - - id: 101 - name: unknown_101 - type: boolean - optional: true -secondary_entities: +entities: + - entity: switch + class: outlet + dps: + - id: 1 + name: switch + type: boolean + - id: 21 + name: factory_test + type: bitfield + - id: 41 + name: cycle_time + type: base64 + - id: 42 + name: random_time + type: base64 + - id: 43 + name: inching + type: base64 + - id: 101 + name: unknown_101 + type: boolean + optional: true - entity: switch name: USB dps: diff --git a/custom_components/tuya_local/devices/gosund_usb_triple_powerstrip.yaml b/custom_components/tuya_local/devices/gosund_usb_triple_powerstrip.yaml index 976441e6e6..c67b8c48c7 100644 --- a/custom_components/tuya_local/devices/gosund_usb_triple_powerstrip.yaml +++ b/custom_components/tuya_local/devices/gosund_usb_triple_powerstrip.yaml @@ -2,17 +2,16 @@ name: USB + 3 outlet power monitor powerstrip products: - id: tsbguim4trl6fa7g name: Gosund P1 -primary_entity: - entity: switch - class: outlet - translation_key: outlet_x - translation_placeholders: - x: "1" - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + class: outlet + translation_key: outlet_x + translation_placeholders: + x: "1" + dps: + - id: 1 + type: boolean + name: switch - entity: switch translation_key: outlet_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/gratkit_filament_dryer.yaml b/custom_components/tuya_local/devices/gratkit_filament_dryer.yaml index c2205b1082..443f144b99 100644 --- a/custom_components/tuya_local/devices/gratkit_filament_dryer.yaml +++ b/custom_components/tuya_local/devices/gratkit_filament_dryer.yaml @@ -2,14 +2,13 @@ name: Filament dryer products: - id: mxct11k2jqpak13a name: GratKit Firefly Smart Dryer Box -primary_entity: - entity: switch - icon: "mdi:heat-pump" - dps: - - id: 1 - name: switch - type: boolean -secondary_entities: +entities: + - entity: switch + icon: "mdi:heat-pump" + dps: + - id: 1 + name: switch + type: boolean - entity: number name: Drying temperature category: config diff --git a/custom_components/tuya_local/devices/graywind_shades.yaml b/custom_components/tuya_local/devices/graywind_shades.yaml index a9d9de63c9..6e86f213b9 100644 --- a/custom_components/tuya_local/devices/graywind_shades.yaml +++ b/custom_components/tuya_local/devices/graywind_shades.yaml @@ -2,27 +2,26 @@ name: Window shade products: - id: hldq12vsaqalcfer name: Graywind hardwired blackout -primary_entity: - entity: cover - class: shade - 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 - range: - min: 0 - max: 100 -secondary_entities: +entities: + - entity: cover + class: shade + 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 + range: + min: 0 + max: 100 - entity: select name: Motor direction category: config diff --git a/custom_components/tuya_local/devices/greenmigo_alpha_q25_pro_wifi.yaml b/custom_components/tuya_local/devices/greenmigo_alpha_q25_pro_wifi.yaml index b7bef58150..c7f149a5d0 100644 --- a/custom_components/tuya_local/devices/greenmigo_alpha_q25_pro_wifi.yaml +++ b/custom_components/tuya_local/devices/greenmigo_alpha_q25_pro_wifi.yaml @@ -3,39 +3,38 @@ legacy_type: AlecoAir_D25_Traditio products: - id: b9oyi2yofflroq1g name: Alpha Q25 Pro dehumidifier -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - name: humidity - type: integer - range: - min: 25 - max: 80 - mapping: - - step: 5 - - id: 5 - name: mode - type: string - mapping: - - dps_val: Manual - value: normal - - dps_val: Auto - value: auto - - dps_val: Laundrydrying - value: laundry - - dps_val: Sleeping - value: sleep - - dps_val: Purifying - value: purify - - id: 6 - type: integer - name: current_humidity -secondary_entities: +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + name: humidity + type: integer + range: + min: 25 + max: 80 + mapping: + - step: 5 + - id: 5 + name: mode + type: string + mapping: + - dps_val: Manual + value: normal + - dps_val: Auto + value: auto + - dps_val: Laundrydrying + value: laundry + - dps_val: Sleeping + value: sleep + - dps_val: Purifying + value: purify + - id: 6 + type: integer + name: current_humidity - entity: sensor translation_key: status class: enum diff --git a/custom_components/tuya_local/devices/greenwind_dehumidifier.yaml b/custom_components/tuya_local/devices/greenwind_dehumidifier.yaml index 579ce50e19..a6ffdd7ac9 100644 --- a/custom_components/tuya_local/devices/greenwind_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/greenwind_dehumidifier.yaml @@ -1,33 +1,32 @@ name: Greenwind dehumidifier products: - id: 3ZXJDubQ13lNTaLT -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - name: switch - type: boolean - - id: 5 - name: mode - type: integer - mapping: - - dps_val: 1 - value: eco - - dps_val: 2 - value: normal - - dps_val: 3 - value: boost - - id: 6 - name: humidity - type: integer - range: - min: 20 - max: 80 - - id: 18 - name: current_humidity - type: integer -secondary_entities: +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + name: switch + type: boolean + - id: 5 + name: mode + type: integer + mapping: + - dps_val: 1 + value: eco + - dps_val: 2 + value: normal + - dps_val: 3 + value: boost + - id: 6 + name: humidity + type: integer + range: + min: 20 + max: 80 + - id: 18 + name: current_humidity + type: integer - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/grid_connect_double_switch.yaml b/custom_components/tuya_local/devices/grid_connect_double_switch.yaml index c65da1cf3b..f767fc0bba 100644 --- a/custom_components/tuya_local/devices/grid_connect_double_switch.yaml +++ b/custom_components/tuya_local/devices/grid_connect_double_switch.yaml @@ -1,24 +1,23 @@ name: Grid Connect double wall switch -primary_entity: - entity: switch - translation_key: outlet_x - translation_placeholders: - x: "1" - class: switch - dps: - - id: 1 - type: boolean - name: switch - - id: 11 - type: integer - name: unknown_11 - - id: 104 - type: integer - name: unknown_104 - - id: 105 - type: boolean - name: unknown_105 -secondary_entities: +entities: + - entity: switch + translation_key: outlet_x + translation_placeholders: + x: "1" + class: switch + dps: + - id: 1 + type: boolean + name: switch + - id: 11 + type: integer + name: unknown_11 + - id: 104 + type: integer + name: unknown_104 + - id: 105 + type: boolean + name: unknown_105 - entity: switch translation_key: outlet_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/grid_connect_usb_double_power_point.yaml b/custom_components/tuya_local/devices/grid_connect_usb_double_power_point.yaml index fecfc38846..f3bde4cb68 100644 --- a/custom_components/tuya_local/devices/grid_connect_usb_double_power_point.yaml +++ b/custom_components/tuya_local/devices/grid_connect_usb_double_power_point.yaml @@ -1,17 +1,16 @@ name: Grid Connnect power metered double outlet with USB -primary_entity: - entity: switch - category: config - name: Master - class: outlet - dps: - - id: 101 - name: switch - type: boolean - - id: 21 - name: test_bit - type: integer -secondary_entities: +entities: + - entity: switch + category: config + name: Master + class: outlet + dps: + - id: 101 + name: switch + type: boolean + - id: 21 + name: test_bit + type: integer - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/grid_connect_usb_power_point.yaml b/custom_components/tuya_local/devices/grid_connect_usb_power_point.yaml index 91051c49c2..68276b371e 100644 --- a/custom_components/tuya_local/devices/grid_connect_usb_power_point.yaml +++ b/custom_components/tuya_local/devices/grid_connect_usb_power_point.yaml @@ -1,12 +1,11 @@ name: Grid Connect USB charger with power socket -primary_entity: - entity: switch - class: outlet - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + class: outlet + dps: + - id: 1 + type: boolean + name: switch - entity: switch name: USB dps: diff --git a/custom_components/tuya_local/devices/haier_nayun_gasalarm.yaml b/custom_components/tuya_local/devices/haier_nayun_gasalarm.yaml index b44b72b5fa..aa14792109 100644 --- a/custom_components/tuya_local/devices/haier_nayun_gasalarm.yaml +++ b/custom_components/tuya_local/devices/haier_nayun_gasalarm.yaml @@ -2,19 +2,18 @@ name: Gas alarm products: - id: we7hw8nxeqvbd6g8 name: Haier Nayun NY-GS-04 -primary_entity: - entity: binary_sensor - class: gas - dps: - - id: 1 - type: string - name: sensor - mapping: - - dps_val: normal - value: false - - dps_val: alarm - value: true -secondary_entities: +entities: + - entity: binary_sensor + class: gas + dps: + - id: 1 + type: string + name: sensor + mapping: + - dps_val: normal + value: false + - dps_val: alarm + value: true - entity: sensor name: Gas level dps: diff --git a/custom_components/tuya_local/devices/hama_radiator_controller.yaml b/custom_components/tuya_local/devices/hama_radiator_controller.yaml index a0b0c73e9b..eb37410f65 100644 --- a/custom_components/tuya_local/devices/hama_radiator_controller.yaml +++ b/custom_components/tuya_local/devices/hama_radiator_controller.yaml @@ -2,30 +2,30 @@ name: Radiator controller products: - id: yw7cahqs name: Hama radiator controller -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 101 - name: hvac_mode - type: boolean - mapping: - - dps_val: true - value: "heat" - - dps_val: false - value: "off" - - id: 102 - name: current_temperature - type: integer - mapping: - - scale: 10 - - id: 103 - name: temperature - type: integer - unit: C - range: - min: 50 - max: 300 - mapping: - - scale: 10 - step: 5 +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 101 + name: hvac_mode + type: boolean + mapping: + - dps_val: true + value: "heat" + - dps_val: false + value: "off" + - id: 102 + name: current_temperature + type: integer + mapping: + - scale: 10 + - id: 103 + name: temperature + type: integer + unit: C + range: + min: 50 + max: 300 + mapping: + - scale: 10 + step: 5 diff --git a/custom_components/tuya_local/devices/hauschen_smart_mirror.yaml b/custom_components/tuya_local/devices/hauschen_smart_mirror.yaml index b5bf62fd17..868808463b 100644 --- a/custom_components/tuya_local/devices/hauschen_smart_mirror.yaml +++ b/custom_components/tuya_local/devices/hauschen_smart_mirror.yaml @@ -2,31 +2,30 @@ name: Mirror products: - id: aI7d0iudqVMbCkHL name: Hauschen 48x36 Mirror -primary_entity: - entity: light - dps: - - id: 1 - type: boolean - name: switch - - id: 3 - type: integer - name: brightness - optional: true - range: - min: 1 - max: 100 - - id: 4 - type: integer - optional: true - name: color_temp - range: - min: 0 - max: 255 - mapping: - - target_range: - min: 2700 - max: 6500 -secondary_entities: +entities: + - entity: light + dps: + - id: 1 + type: boolean + name: switch + - id: 3 + type: integer + name: brightness + optional: true + range: + min: 1 + max: 100 + - id: 4 + type: integer + optional: true + name: color_temp + range: + min: 0 + max: 255 + mapping: + - target_range: + min: 2700 + max: 6500 - entity: switch name: Defogger dps: diff --git a/custom_components/tuya_local/devices/hdmi_ambient65_light.yaml b/custom_components/tuya_local/devices/hdmi_ambient65_light.yaml index ea66944d4b..151e6056ce 100644 --- a/custom_components/tuya_local/devices/hdmi_ambient65_light.yaml +++ b/custom_components/tuya_local/devices/hdmi_ambient65_light.yaml @@ -2,49 +2,48 @@ name: Ambient light strip products: - id: wwcrxa8jl4mj0jib name: HDMI TV Lighting/65 -primary_entity: - entity: light - icon: "mdi:led-strip-variant" - dps: - - id: 20 - type: boolean - name: switch - - id: 21 - type: string - name: color_mode - mapping: - - dps_val: colour - value: hs - - dps_val: scene - value: Scene - - dps_val: music - value: Music - - id: 24 - name: rgbhsv - type: hex - optional: true - format: - - name: h - bytes: 2 - range: - min: 0 - max: 360 - - name: s - bytes: 2 - range: - min: 0 - max: 1000 - - name: v - bytes: 2 - range: - min: 0 - max: 1000 - - id: 27 - name: music_data - type: hex - optional: true +entities: + - entity: light + icon: "mdi:led-strip-variant" + dps: + - id: 20 + type: boolean + name: switch + - id: 21 + type: string + name: color_mode + mapping: + - dps_val: colour + value: hs + - dps_val: scene + value: Scene + - dps_val: music + value: Music + - id: 24 + name: rgbhsv + type: hex + optional: true + format: + - name: h + bytes: 2 + range: + min: 0 + max: 360 + - name: s + bytes: 2 + range: + min: 0 + max: 1000 + - name: v + bytes: 2 + range: + min: 0 + max: 1000 + - id: 27 + name: music_data + type: hex + optional: true -secondary_entities: - entity: light name: Screen sync icon: "mdi:television-ambient-light" diff --git a/custom_components/tuya_local/devices/hdmi_sync_light.yaml b/custom_components/tuya_local/devices/hdmi_sync_light.yaml index 4cc3861009..cdf383a729 100644 --- a/custom_components/tuya_local/devices/hdmi_sync_light.yaml +++ b/custom_components/tuya_local/devices/hdmi_sync_light.yaml @@ -1,50 +1,49 @@ name: HDMI sync light -primary_entity: - entity: light - dps: - - id: 20 - type: boolean - name: switch - optional: true - persist: false - mapping: - - dps_val: null - value: false - - id: 21 - type: string - name: color_mode - mapping: - - dps_val: white - value: white - - dps_val: colour - value: hs - optional: true - - id: 22 - type: integer - name: brightness - range: - min: 0 - max: 1000 - - id: 24 - type: hex - name: rgbhsv - format: - - name: h - bytes: 2 - range: - min: 0 - max: 360 - - name: s - bytes: 2 - range: - min: 0 - max: 1000 - - name: v - bytes: 2 - range: - min: 0 - max: 1000 -secondary_entities: +entities: + - entity: light + dps: + - id: 20 + type: boolean + name: switch + optional: true + persist: false + mapping: + - dps_val: null + value: false + - id: 21 + type: string + name: color_mode + mapping: + - dps_val: white + value: white + - dps_val: colour + value: hs + optional: true + - id: 22 + type: integer + name: brightness + range: + min: 0 + max: 1000 + - id: 24 + type: hex + name: rgbhsv + format: + - name: h + bytes: 2 + range: + min: 0 + max: 360 + - name: s + bytes: 2 + range: + min: 0 + max: 1000 + - name: v + bytes: 2 + range: + min: 0 + max: 1000 - entity: select name: Scene icon: "mdi:palette" diff --git a/custom_components/tuya_local/devices/heatstorm_dh100twi_heater.yaml b/custom_components/tuya_local/devices/heatstorm_dh100twi_heater.yaml index bb0443fca6..4bf029930a 100644 --- a/custom_components/tuya_local/devices/heatstorm_dh100twi_heater.yaml +++ b/custom_components/tuya_local/devices/heatstorm_dh100twi_heater.yaml @@ -2,95 +2,94 @@ name: Heater products: - id: noiczk9zcelajycz name: Heatstorm DH100TWI-2003 -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: heat - constraint: heating_sw - conditions: - - dps_val: Fan - value: fan_only - - id: 2 - type: integer - optional: true - name: temperature - range: - min: 4 - max: 37 - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: set_temp_f - range: - min: 40 - max: 99 - - id: 3 - type: integer - optional: true - name: current_temperature - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: cur_temp_f - - id: 4 - type: string - name: preset_mode - mapping: - - dps_val: Auto - value: comfort - - dps_val: Low - value: eco - - dps_val: High - value: boost - - id: 5 - type: string - name: fan_mode - mapping: - - dps_val: Low - value: low - - dps_val: Auto - value: auto - - dps_val: High - value: high - - id: 13 - type: string - name: temperature_unit - mapping: - - dps_val: c - value: C - - dps_val: f - value: F - - id: 14 - type: integer - optional: true - name: set_temp_f - range: - min: 40 - max: 99 - hidden: true - - id: 15 - type: integer - optional: true - name: cur_temp_f - hidden: true - - id: 101 - type: string - name: heating_sw - - id: 106 - type: integer - optional: true - name: current_humidity -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: heat + constraint: heating_sw + conditions: + - dps_val: Fan + value: fan_only + - id: 2 + type: integer + optional: true + name: temperature + range: + min: 4 + max: 37 + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: set_temp_f + range: + min: 40 + max: 99 + - id: 3 + type: integer + optional: true + name: current_temperature + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: cur_temp_f + - id: 4 + type: string + name: preset_mode + mapping: + - dps_val: Auto + value: comfort + - dps_val: Low + value: eco + - dps_val: High + value: boost + - id: 5 + type: string + name: fan_mode + mapping: + - dps_val: Low + value: low + - dps_val: Auto + value: auto + - dps_val: High + value: high + - id: 13 + type: string + name: temperature_unit + mapping: + - dps_val: c + value: C + - dps_val: f + value: F + - id: 14 + type: integer + optional: true + name: set_temp_f + range: + min: 40 + max: 99 + hidden: true + - id: 15 + type: integer + optional: true + name: cur_temp_f + hidden: true + - id: 101 + type: string + name: heating_sw + - id: 106 + type: integer + optional: true + name: current_humidity - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/heatstorm_hs6000gc_heater.yaml b/custom_components/tuya_local/devices/heatstorm_hs6000gc_heater.yaml index 6867d1f24e..45a5c4507c 100644 --- a/custom_components/tuya_local/devices/heatstorm_hs6000gc_heater.yaml +++ b/custom_components/tuya_local/devices/heatstorm_hs6000gc_heater.yaml @@ -5,70 +5,69 @@ products: name: Heatstorm HS-6000-GC - id: gifk0oubmovuz3ky name: Heatstorm HS-1500 -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: heat - - id: 2 - type: integer - name: temperature - range: - min: 4 - max: 37 - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: set_temp_f - range: - min: 40 - max: 99 - - id: 3 - type: integer - name: current_temperature - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: cur_temp_f - - id: 4 - type: string - name: preset_mode - mapping: - - dps_val: Auto - value: comfort - - dps_val: Low - value: eco - - dps_val: High - value: boost - - id: 19 - type: string - name: temperature_unit - mapping: - - dps_val: c - value: C - - dps_val: f - value: F - - id: 20 - type: integer - name: set_temp_f - range: - min: 40 - max: 99 - hidden: true - - id: 21 - type: integer - name: cur_temp_f - hidden: true -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: heat + - id: 2 + type: integer + name: temperature + range: + min: 4 + max: 37 + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: set_temp_f + range: + min: 40 + max: 99 + - id: 3 + type: integer + name: current_temperature + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: cur_temp_f + - id: 4 + type: string + name: preset_mode + mapping: + - dps_val: Auto + value: comfort + - dps_val: Low + value: eco + - dps_val: High + value: boost + - id: 19 + type: string + name: temperature_unit + mapping: + - dps_val: c + value: C + - dps_val: f + value: F + - id: 20 + type: integer + name: set_temp_f + range: + min: 40 + max: 99 + hidden: true + - id: 21 + type: integer + name: cur_temp_f + hidden: true - entity: light translation_key: display category: config diff --git a/custom_components/tuya_local/devices/hellnar_heatpump.yaml b/custom_components/tuya_local/devices/hellnar_heatpump.yaml index cdbf93b8a4..34018f460c 100644 --- a/custom_components/tuya_local/devices/hellnar_heatpump.yaml +++ b/custom_components/tuya_local/devices/hellnar_heatpump.yaml @@ -1,111 +1,111 @@ name: TroniTechnik Hellnar Klimagerät -primary_entity: - entity: climate - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: auto - value: heat_cool - - dps_val: cold - value: cool - - dps_val: hot - value: heat - - dps_val: wind - value: fan_only - - dps_val: wet - value: dry - - id: 2 - name: temperature - type: integer - unit: C - mapping: - - scale: 10 - constraint: mode - conditions: - - dps_val: cold - range: - min: 170 - max: 300 - - dps_val: auto - range: - min: 170 - max: 300 - - dps_val: hot - range: - min: 0 - max: 300 - - dps_val: wet - invalid: true - - dps_val: wind - invalid: true - - id: 3 - name: current_temperature - type: integer - - id: 4 - name: mode - type: string - hidden: true - - id: 5 - name: maybe_fan_mode - type: string - - id: 18 - name: unknown_18 - type: integer - - id: 20 - name: unknown_20 - type: integer - - id: 105 - name: unknown_105 - type: string - - id: 110 - name: unknown_110 - type: integer - - id: 113 - name: unknown_113 - type: string - - id: 114 - name: unknown_114 - type: string - - id: 119 - name: unknown_119 - type: string - - id: 120 - name: unknown_120 - type: string - - id: 123 - name: maybe_swing_mode - type: string - - id: 126 - name: unknown_126 - type: string - - id: 127 - name: unknown_127 - type: string - - id: 128 - name: unknown_128 - type: string - - id: 129 - name: unknown_129 - type: string - - id: 130 - name: maybe_eco_temp - type: integer - - id: 131 - name: unknown_131 - type: boolean - - id: 132 - name: unknown_132 - type: boolean - - id: 133 - name: unknown_133 - type: string - - id: 134 - name: unknown_134 - type: string +entities: + - entity: climate + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: auto + value: heat_cool + - dps_val: cold + value: cool + - dps_val: hot + value: heat + - dps_val: wind + value: fan_only + - dps_val: wet + value: dry + - id: 2 + name: temperature + type: integer + unit: C + mapping: + - scale: 10 + constraint: mode + conditions: + - dps_val: cold + range: + min: 170 + max: 300 + - dps_val: auto + range: + min: 170 + max: 300 + - dps_val: hot + range: + min: 0 + max: 300 + - dps_val: wet + invalid: true + - dps_val: wind + invalid: true + - id: 3 + name: current_temperature + type: integer + - id: 4 + name: mode + type: string + hidden: true + - id: 5 + name: maybe_fan_mode + type: string + - id: 18 + name: unknown_18 + type: integer + - id: 20 + name: unknown_20 + type: integer + - id: 105 + name: unknown_105 + type: string + - id: 110 + name: unknown_110 + type: integer + - id: 113 + name: unknown_113 + type: string + - id: 114 + name: unknown_114 + type: string + - id: 119 + name: unknown_119 + type: string + - id: 120 + name: unknown_120 + type: string + - id: 123 + name: maybe_swing_mode + type: string + - id: 126 + name: unknown_126 + type: string + - id: 127 + name: unknown_127 + type: string + - id: 128 + name: unknown_128 + type: string + - id: 129 + name: unknown_129 + type: string + - id: 130 + name: maybe_eco_temp + type: integer + - id: 131 + name: unknown_131 + type: boolean + - id: 132 + name: unknown_132 + type: boolean + - id: 133 + name: unknown_133 + type: string + - id: 134 + name: unknown_134 + type: string diff --git a/custom_components/tuya_local/devices/herschel_irheater.yaml b/custom_components/tuya_local/devices/herschel_irheater.yaml index ad435b1439..59b4846d26 100644 --- a/custom_components/tuya_local/devices/herschel_irheater.yaml +++ b/custom_components/tuya_local/devices/herschel_irheater.yaml @@ -2,34 +2,33 @@ name: IR heater products: - id: 4aVbNfxEYUbylvvW name: Herschel Infrared Heater -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: heat - - id: 2 - type: integer - name: temperature - unit: C - mapping: - - scale: 10 - step: 10 - range: - min: 0 - max: 370 - - id: 3 - type: integer - name: current_temperature - mapping: - - scale: 10 -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: heat + - id: 2 + type: integer + name: temperature + unit: C + mapping: + - scale: 10 + step: 10 + range: + min: 0 + max: 370 + - id: 3 + type: integer + name: current_temperature + mapping: + - scale: 10 - entity: select translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/himox_h05_purifier.yaml b/custom_components/tuya_local/devices/himox_h05_purifier.yaml index ebe9ba706d..872b446c52 100644 --- a/custom_components/tuya_local/devices/himox_h05_purifier.yaml +++ b/custom_components/tuya_local/devices/himox_h05_purifier.yaml @@ -1,24 +1,23 @@ name: Himox H05 air purifier -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 1 - type: boolean - name: switch - - id: 4 - type: string - name: preset_mode - mapping: - - dps_val: auto - value: smart - - dps_val: low - value: sleep - - dps_val: mid - value: fresh - - dps_val: high - value: strong -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 1 + type: boolean + name: switch + - id: 4 + type: string + name: preset_mode + mapping: + - dps_val: auto + value: smart + - dps_val: low + value: sleep + - dps_val: mid + value: fresh + - dps_val: high + value: strong - entity: sensor class: temperature category: diagnostic diff --git a/custom_components/tuya_local/devices/himox_h06_purifier.yaml b/custom_components/tuya_local/devices/himox_h06_purifier.yaml index 43c87f0171..48a855ca52 100644 --- a/custom_components/tuya_local/devices/himox_h06_purifier.yaml +++ b/custom_components/tuya_local/devices/himox_h06_purifier.yaml @@ -1,21 +1,20 @@ name: Himox H06 air purifier -primary_entity: - entity: fan - dps: - - id: 1 - type: boolean - name: switch - - id: 4 - type: string - name: speed - mapping: - - dps_val: "low" - value: 33 - - dps_val: "mid" - value: 67 - - dps_val: "high" - value: 100 -secondary_entities: +entities: + - entity: fan + dps: + - id: 1 + type: boolean + name: switch + - id: 4 + type: string + name: speed + mapping: + - dps_val: "low" + value: 33 + - dps_val: "mid" + value: 67 + - dps_val: "high" + value: 100 - entity: sensor name: Active filter life icon: "mdi:air-filter" diff --git a/custom_components/tuya_local/devices/hiper_bladeless_fan.yaml b/custom_components/tuya_local/devices/hiper_bladeless_fan.yaml index 5b779da73f..770cf722f5 100644 --- a/custom_components/tuya_local/devices/hiper_bladeless_fan.yaml +++ b/custom_components/tuya_local/devices/hiper_bladeless_fan.yaml @@ -2,51 +2,50 @@ name: Bladeless fan products: - id: u4uqz3dlvplyhyde name: Hiper T3 -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - name: speed - type: string - mapping: - - dps_val: "1" - value: 11 - - dps_val: "2" - value: 22 - - dps_val: "3" - value: 33 - - dps_val: "4" - value: 44 - - dps_val: "5" - value: 56 - - dps_val: "6" - value: 67 - - dps_val: "7" - value: 78 - - dps_val: "8" - value: 89 - - dps_val: "9" - value: 100 - - id: 3 - name: preset_mode - type: string - mapping: - - dps_val: sleep - value: sleep - - dps_val: heavy - value: strong - - dps_val: fresh - value: fresh - - dps_val: close - value: "off" - - id: 8 - name: oscillate - type: boolean -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + name: speed + type: string + mapping: + - dps_val: "1" + value: 11 + - dps_val: "2" + value: 22 + - dps_val: "3" + value: 33 + - dps_val: "4" + value: 44 + - dps_val: "5" + value: 56 + - dps_val: "6" + value: 67 + - dps_val: "7" + value: 78 + - dps_val: "8" + value: 89 + - dps_val: "9" + value: 100 + - id: 3 + name: preset_mode + type: string + mapping: + - dps_val: sleep + value: sleep + - dps_val: heavy + value: strong + - dps_val: fresh + value: fresh + - dps_val: close + value: "off" + - id: 8 + name: oscillate + type: boolean - entity: select translation_key: timer category: config diff --git a/custom_components/tuya_local/devices/hircr_reemote_control.yaml b/custom_components/tuya_local/devices/hircr_reemote_control.yaml index 81ffe1f990..d35e6f1aa8 100644 --- a/custom_components/tuya_local/devices/hircr_reemote_control.yaml +++ b/custom_components/tuya_local/devices/hircr_reemote_control.yaml @@ -1,65 +1,65 @@ name: IR remote control -primary_entity: - entity: remote - dps: - - id: 1 - type: string - name: control - - id: 2 - type: string - optional: true - persist: false - name: receive - - id: 3 - type: string - optional: true - name: send - - id: 4 - type: string - optional: true - name: key_code - - id: 5 - type: string - optional: true - name: key_code2 - - id: 6 - type: string - optional: true - name: key_code3 - - id: 7 - type: string - optional: true - name: key_study - - id: 8 - type: string - optional: true - name: key_study2 - - id: 9 - type: string - optional: true - name: key_study3 - - id: 10 - type: integer - optional: true - name: delay - range: - min: 0 - max: 65535 - mapping: - - scale: 10 - unit: ms - - id: 11 - type: string - optional: true - name: key_code4 - - id: 12 - type: string - optional: true - name: key_study4 - - id: 13 - type: integer - optional: true - name: code_type - range: - min: 0 - max: 255 +entities: + - entity: remote + dps: + - id: 1 + type: string + name: control + - id: 2 + type: string + optional: true + persist: false + name: receive + - id: 3 + type: string + optional: true + name: send + - id: 4 + type: string + optional: true + name: key_code + - id: 5 + type: string + optional: true + name: key_code2 + - id: 6 + type: string + optional: true + name: key_code3 + - id: 7 + type: string + optional: true + name: key_study + - id: 8 + type: string + optional: true + name: key_study2 + - id: 9 + type: string + optional: true + name: key_study3 + - id: 10 + type: integer + optional: true + name: delay + range: + min: 0 + max: 65535 + mapping: + - scale: 10 + unit: ms + - id: 11 + type: string + optional: true + name: key_code4 + - id: 12 + type: string + optional: true + name: key_study4 + - id: 13 + type: integer + optional: true + name: code_type + range: + min: 0 + max: 255 diff --git a/custom_components/tuya_local/devices/hjz_radiator.yaml b/custom_components/tuya_local/devices/hjz_radiator.yaml index b70fc33562..cf4be41014 100644 --- a/custom_components/tuya_local/devices/hjz_radiator.yaml +++ b/custom_components/tuya_local/devices/hjz_radiator.yaml @@ -1,34 +1,33 @@ name: HJZ radiator -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: heat - - id: 2 - type: integer - name: temperature - unit: C - range: - min: 15 - max: 50 - - id: 4 - type: string - name: preset_mode - mapping: - - dps_val: "0" - value: comfort - - dps_val: "1" - value: eco - - dps_val: "2" - value: away -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: heat + - id: 2 + type: integer + name: temperature + unit: C + range: + min: 15 + max: 50 + - id: 4 + type: string + name: preset_mode + mapping: + - dps_val: "0" + value: comfort + - dps_val: "1" + value: eco + - dps_val: "2" + value: away - entity: lock category: config translation_key: child_lock diff --git a/custom_components/tuya_local/devices/hlg_infinity_alarm.yaml b/custom_components/tuya_local/devices/hlg_infinity_alarm.yaml index 636bc90389..4d66c50bc7 100644 --- a/custom_components/tuya_local/devices/hlg_infinity_alarm.yaml +++ b/custom_components/tuya_local/devices/hlg_infinity_alarm.yaml @@ -2,14 +2,13 @@ name: Alarm control products: - id: f4gbbzyp0e6asfnt name: HLG Infinity alarm -primary_entity: - entity: sensor - icon: "mdi:clipboard-text-clock" - dps: - - id: 33 - type: string - name: sensor -secondary_entities: +entities: + - entity: sensor + icon: "mdi:clipboard-text-clock" + dps: + - id: 33 + type: string + name: sensor - entity: sensor name: Sector 1 icon: "mdi:numeric-1-circle" diff --git a/custom_components/tuya_local/devices/hoenyzy_valve_timer.yaml b/custom_components/tuya_local/devices/hoenyzy_valve_timer.yaml index 69a78d7303..15fc1e8f84 100644 --- a/custom_components/tuya_local/devices/hoenyzy_valve_timer.yaml +++ b/custom_components/tuya_local/devices/hoenyzy_valve_timer.yaml @@ -2,13 +2,12 @@ name: Valve timer products: - id: gbm9ata1zrzaez4a name: Hoenyzi DN15/20/25 -primary_entity: - entity: valve - dps: - - id: 1 - type: boolean - name: valve -secondary_entities: +entities: + - entity: valve + dps: + - id: 1 + type: boolean + name: valve - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/holman_helios_weatherstation.yaml b/custom_components/tuya_local/devices/holman_helios_weatherstation.yaml index ef7a8bd22d..c9f6e1240c 100644 --- a/custom_components/tuya_local/devices/holman_helios_weatherstation.yaml +++ b/custom_components/tuya_local/devices/holman_helios_weatherstation.yaml @@ -2,20 +2,19 @@ name: Weather station products: - id: amluiug6se4zdz1t name: Helios WS5095W2 -primary_entity: - entity: sensor - class: temperature - name: Indoor Temperature - category: diagnostic - dps: - - id: 101 - name: sensor - type: integer - unit: C - mapping: - - scale: 10 - class: measurement -secondary_entities: +entities: + - entity: sensor + class: temperature + name: Indoor Temperature + category: diagnostic + dps: + - id: 101 + name: sensor + type: integer + unit: C + mapping: + - scale: 10 + class: measurement - entity: sensor name: Indoor humidity class: humidity diff --git a/custom_components/tuya_local/devices/holman_wx1_taptimer.yaml b/custom_components/tuya_local/devices/holman_wx1_taptimer.yaml index f4363f68fe..447cd0b0f1 100644 --- a/custom_components/tuya_local/devices/holman_wx1_taptimer.yaml +++ b/custom_components/tuya_local/devices/holman_wx1_taptimer.yaml @@ -3,20 +3,19 @@ products: - id: zrsgzc8jktsricjj name: Holman WX1 # DP decoding thanks to funtastix -primary_entity: - entity: valve - name: Manual - class: water - dps: - - id: 108 - type: boolean - name: valve - mapping: - - dps_val: true - value: false - - dps_val: false - value: true -secondary_entities: +entities: + - entity: valve + name: Manual + class: water + dps: + - id: 108 + type: boolean + name: valve + mapping: + - dps_val: true + value: false + - dps_val: false + value: true - entity: switch name: Manual category: config diff --git a/custom_components/tuya_local/devices/holman_wx2_taptimer.yaml b/custom_components/tuya_local/devices/holman_wx2_taptimer.yaml index d9b890b348..c6f100907c 100644 --- a/custom_components/tuya_local/devices/holman_wx2_taptimer.yaml +++ b/custom_components/tuya_local/devices/holman_wx2_taptimer.yaml @@ -2,20 +2,19 @@ name: Tap timer products: - id: wfchjk5vc9bysjtk name: Holman WX2 -primary_entity: - entity: valve - name: Manual 1 - class: water - dps: - - id: 108 - type: boolean - name: valve - mapping: - - dps_val: true - value: false - - dps_val: false - value: true -secondary_entities: +entities: + - entity: valve + name: Manual 1 + class: water + dps: + - id: 108 + type: boolean + name: valve + mapping: + - dps_val: true + value: false + - dps_val: false + value: true - entity: valve name: Manual 2 class: water diff --git a/custom_components/tuya_local/devices/holman_wx8_irrigation_controller.yaml b/custom_components/tuya_local/devices/holman_wx8_irrigation_controller.yaml index 2e0aae9f61..7811a94a74 100644 --- a/custom_components/tuya_local/devices/holman_wx8_irrigation_controller.yaml +++ b/custom_components/tuya_local/devices/holman_wx8_irrigation_controller.yaml @@ -2,22 +2,21 @@ name: Irrigation Controller products: - id: 3c8bxnseywh7radc name: Holman WX8 -primary_entity: - entity: binary_sensor - class: running - icon: mdi:sprinkler-variant - dps: - - id: 123 - name: sensor - type: boolean - - id: 116 - name: firmware_version - type: integer - - id: 101 - name: programming - type: string - optional: true -secondary_entities: +entities: + - entity: binary_sensor + class: running + icon: mdi:sprinkler-variant + dps: + - id: 123 + name: sensor + type: boolean + - id: 116 + name: firmware_version + type: integer + - id: 101 + name: programming + type: string + optional: true - entity: valve name: Zone 1 class: water diff --git a/custom_components/tuya_local/devices/hombli_thermostatic_radiator_valve.yaml b/custom_components/tuya_local/devices/hombli_thermostatic_radiator_valve.yaml index e7df4f635c..579566dd7b 100644 --- a/custom_components/tuya_local/devices/hombli_thermostatic_radiator_valve.yaml +++ b/custom_components/tuya_local/devices/hombli_thermostatic_radiator_valve.yaml @@ -2,42 +2,41 @@ name: Radiator Thermostat products: - id: ngxyxyc8 name: Hombli HBRT-0109 -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 101 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: heat - - id: 102 - type: integer - name: current_temperature - mapping: - - scale: 10 - - id: 103 - type: integer - name: temperature - unit: C - mapping: - - scale: 10 - step: 5 - range: - max: 300 - min: 50 - - id: 106 - type: boolean - name: preset_mode - mapping: - - dps_val: true - value: "away" - - dps_val: false - value: "home" -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 101 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: heat + - id: 102 + type: integer + name: current_temperature + mapping: + - scale: 10 + - id: 103 + type: integer + name: temperature + unit: C + mapping: + - scale: 10 + step: 5 + range: + max: 300 + min: 50 + - id: 106 + type: boolean + name: preset_mode + mapping: + - dps_val: true + value: "away" + - dps_val: false + value: "home" - entity: switch name: Window check icon: "mdi:window-open-variant" diff --git a/custom_components/tuya_local/devices/honeyguardian_s56_petfeeder.yaml b/custom_components/tuya_local/devices/honeyguardian_s56_petfeeder.yaml index e79b56d51d..02e9aff02b 100644 --- a/custom_components/tuya_local/devices/honeyguardian_s56_petfeeder.yaml +++ b/custom_components/tuya_local/devices/honeyguardian_s56_petfeeder.yaml @@ -2,23 +2,22 @@ name: Pet feeder products: - id: wa8pwmxwnhpujmdq name: HoneyGuardian S56 -primary_entity: - entity: number - category: config - icon: "mdi:food-drumstick" - name: Manual feed - dps: - - id: 3 - type: integer - name: value - range: - min: 1 - max: 6 - - id: 1 - type: string - name: plan - optional: true -secondary_entities: +entities: + - entity: number + category: config + icon: "mdi:food-drumstick" + name: Manual feed + dps: + - id: 3 + type: integer + name: value + range: + min: 1 + max: 6 + - id: 1 + type: string + name: plan + optional: true - entity: switch category: config name: Slow feeding diff --git a/custom_components/tuya_local/devices/honeywell_dehumidifier.yaml b/custom_components/tuya_local/devices/honeywell_dehumidifier.yaml index e38ef1091d..051ff9752f 100644 --- a/custom_components/tuya_local/devices/honeywell_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/honeywell_dehumidifier.yaml @@ -1,33 +1,32 @@ name: Honeywell TP Series Dehumidifier products: - id: anAaZAfvsdrdl9Oy -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - name: switch - type: boolean - - id: 6 - name: humidity - type: integer - range: - min: 15 - max: 90 - mapping: - - step: 5 - - id: 8 - name: mode - type: integer - mapping: - - dps_val: 0 - value: eco - - dps_val: 2 - value: boost - - id: 18 - name: current_humidity - type: integer -secondary_entities: +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + name: switch + type: boolean + - id: 6 + name: humidity + type: integer + range: + min: 15 + max: 90 + mapping: + - step: 5 + - id: 8 + name: mode + type: integer + mapping: + - dps_val: 0 + value: eco + - dps_val: 2 + value: boost + - id: 18 + name: current_humidity + type: integer - entity: binary_sensor name: Filter cleaning reminder class: problem diff --git a/custom_components/tuya_local/devices/hosome_purifier.yaml b/custom_components/tuya_local/devices/hosome_purifier.yaml index 15d93da679..85bee5f3e0 100644 --- a/custom_components/tuya_local/devices/hosome_purifier.yaml +++ b/custom_components/tuya_local/devices/hosome_purifier.yaml @@ -1,37 +1,36 @@ name: Hosome air purifier products: - id: sferhht3hjkc942e -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 1 - type: boolean - name: switch - - id: 3 - name: preset_mode - type: string - mapping: - - dps_val: Auto - value: smart - - dps_val: Manual - value: normal - - dps_val: Sleep - value: sleep - - id: 4 - type: string - name: speed - mapping: - - dps_val: "1" - value: 33 - - dps_val: "2" - value: 67 - - dps_val: "3" - value: 100 - - id: 22 - type: string - name: unknown_22 -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 1 + type: boolean + name: switch + - id: 3 + name: preset_mode + type: string + mapping: + - dps_val: Auto + value: smart + - dps_val: Manual + value: normal + - dps_val: Sleep + value: sleep + - id: 4 + type: string + name: speed + mapping: + - dps_val: "1" + value: 33 + - dps_val: "2" + value: 67 + - dps_val: "3" + value: 100 + - id: 22 + type: string + name: unknown_22 - entity: sensor class: pm25 dps: diff --git a/custom_components/tuya_local/devices/hotshot2000_heater.yaml b/custom_components/tuya_local/devices/hotshot2000_heater.yaml index 74aecb8187..4d4530c3bb 100644 --- a/custom_components/tuya_local/devices/hotshot2000_heater.yaml +++ b/custom_components/tuya_local/devices/hotshot2000_heater.yaml @@ -1,64 +1,63 @@ -name: HOT SHOT 2000 WIFI +name: Heater products: - id: lgn0xaegjbodrjax name: EUROM Hot-Shot 2000 WiFi -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: work_mode - conditions: - - dps_val: level1 - value: fan_only - - dps_val: level2 - value: heat - - dps_val: level3 - value: heat - - id: 2 - type: integer - name: temperature - unit: C - range: - min: 5 - max: 37 - - id: 3 - type: integer - name: current_temperature - - id: 5 - name: work_mode - type: string - hidden: true - - id: 6 - name: preset_mode - type: boolean - mapping: - - dps_val: false - constraint: work_mode - conditions: - - dps_val: "level1" - value: none - hidden: true - - dps_val: "level2" - value: comfort - - dps_val: "level3" - value: boost - - dps_val: true - value: eco - - id: 8 - type: boolean - name: swing_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: "on" -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: work_mode + conditions: + - dps_val: level1 + value: fan_only + - dps_val: level2 + value: heat + - dps_val: level3 + value: heat + - id: 2 + type: integer + name: temperature + unit: C + range: + min: 5 + max: 37 + - id: 3 + type: integer + name: current_temperature + - id: 5 + name: work_mode + type: string + hidden: true + - id: 6 + name: preset_mode + type: boolean + mapping: + - dps_val: false + constraint: work_mode + conditions: + - dps_val: "level1" + value: none + hidden: true + - dps_val: "level2" + value: comfort + - dps_val: "level3" + value: boost + - dps_val: true + value: eco + - id: 8 + type: boolean + name: swing_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: "on" - entity: switch name: Mode indicator category: config diff --git a/custom_components/tuya_local/devices/hrt_as90_climatealarm.yaml b/custom_components/tuya_local/devices/hrt_as90_climatealarm.yaml index 7b35d05732..a5df2a3b3c 100644 --- a/custom_components/tuya_local/devices/hrt_as90_climatealarm.yaml +++ b/custom_components/tuya_local/devices/hrt_as90_climatealarm.yaml @@ -2,18 +2,17 @@ name: Temperature and humidity sensor products: - id: rocfghml4gy1vvr8 name: HRT AS90 -primary_entity: - entity: sensor - class: temperature - dps: - - id: 1 - type: integer - name: sensor - unit: C - class: measurement - mapping: - - scale: 10 -secondary_entities: +entities: + - entity: sensor + class: temperature + dps: + - id: 1 + type: integer + name: sensor + unit: C + class: measurement + mapping: + - scale: 10 - entity: sensor class: humidity dps: diff --git a/custom_components/tuya_local/devices/hunterpacific_9speed_fanlight.yaml b/custom_components/tuya_local/devices/hunterpacific_9speed_fanlight.yaml index 94cf33f7c0..1d0e17e1ad 100644 --- a/custom_components/tuya_local/devices/hunterpacific_9speed_fanlight.yaml +++ b/custom_components/tuya_local/devices/hunterpacific_9speed_fanlight.yaml @@ -2,22 +2,21 @@ name: Ceiling fan with light products: - id: agjbamgmrbcbazp7 name: Hunter Pacific 9 speed -primary_entity: - entity: fan - dps: - - id: 60 - type: boolean - name: switch - - id: 62 - type: integer - name: speed - range: - min: 1 - max: 9 - - id: 63 - type: string - name: direction -secondary_entities: +entities: + - entity: fan + dps: + - id: 60 + type: boolean + name: switch + - id: 62 + type: integer + name: speed + range: + min: 1 + max: 9 + - id: 63 + type: string + name: direction - entity: light dps: - id: 20 diff --git a/custom_components/tuya_local/devices/huntertbk_hf6602t_doorbell.yaml b/custom_components/tuya_local/devices/huntertbk_hf6602t_doorbell.yaml index 175e5fde3d..d8c44fed60 100644 --- a/custom_components/tuya_local/devices/huntertbk_hf6602t_doorbell.yaml +++ b/custom_components/tuya_local/devices/huntertbk_hf6602t_doorbell.yaml @@ -2,31 +2,30 @@ name: Video doorbell products: - id: tftanqr9elztfkdp name: HunterTBK HF-6602T -primary_entity: - entity: camera - dps: - - id: 150 - type: boolean - name: record - - id: 154 - type: base64 - optional: true - sensitive: true - persist: false - name: snapshot - mapping: - - dps_val: null - value_redirect: movement_pic - - id: 115 - type: base64 - optional: true - sensitive: true - name: movement_pic - - id: 113 - type: boolean - optional: true - name: motion_enable -secondary_entities: +entities: + - entity: camera + dps: + - id: 150 + type: boolean + name: record + - id: 154 + type: base64 + optional: true + sensitive: true + persist: false + name: snapshot + mapping: + - dps_val: null + value_redirect: movement_pic + - id: 115 + type: base64 + optional: true + sensitive: true + name: movement_pic + - id: 113 + type: boolean + optional: true + name: motion_enable - entity: light translation_key: indicator category: config diff --git a/custom_components/tuya_local/devices/hy_combo_heatpump.yaml b/custom_components/tuya_local/devices/hy_combo_heatpump.yaml index 6d9cd56ed5..6130526c35 100644 --- a/custom_components/tuya_local/devices/hy_combo_heatpump.yaml +++ b/custom_components/tuya_local/devices/hy_combo_heatpump.yaml @@ -2,84 +2,83 @@ name: Multifunction heat pump # products: # - id: UNKNOWN # name: HY V1.2 -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - available: water_off - - dps_val: true - constraint: mode - conditions: - - dps_val: Hot - value: "off" - available: water_on - - dps_val: Heating - value: heat - available: water_off - - dps_val: Hot_Heating - value: heat - available: water_on - - dps_val: Cooling - value: cool - available: water_off - - dps_val: Hot_Cooling - value: cool - available: water_on - - id: 2 - type: string - name: mode - - id: 2 - type: string - name: water_on - hidden: true - mapping: - - dps_val: Cooling - value: false - - dps_val: Heating - value: false - - value: true - - id: 2 - type: string - name: water_off - hidden: true - mapping: - - dps_val: Cooling - value: true - - dps_val: Heating - value: true - - value: false - - id: 21 - type: integer - name: current_temperature - mapping: - - scale: 10 - - id: 117 - type: integer - name: temperature - unit: C - range: - min: 10 - max: 75 - mapping: - - constraint: mode - conditions: - - dps_val: ["Cooling", "Hot_Cooling"] - value_redirect: cool_temperature - range: - min: 7 - max: 25 - - id: 118 - type: integer - name: cool_temperature - range: - min: 7 - max: 25 -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + available: water_off + - dps_val: true + constraint: mode + conditions: + - dps_val: Hot + value: "off" + available: water_on + - dps_val: Heating + value: heat + available: water_off + - dps_val: Hot_Heating + value: heat + available: water_on + - dps_val: Cooling + value: cool + available: water_off + - dps_val: Hot_Cooling + value: cool + available: water_on + - id: 2 + type: string + name: mode + - id: 2 + type: string + name: water_on + hidden: true + mapping: + - dps_val: Cooling + value: false + - dps_val: Heating + value: false + - value: true + - id: 2 + type: string + name: water_off + hidden: true + mapping: + - dps_val: Cooling + value: true + - dps_val: Heating + value: true + - value: false + - id: 21 + type: integer + name: current_temperature + mapping: + - scale: 10 + - id: 117 + type: integer + name: temperature + unit: C + range: + min: 10 + max: 75 + mapping: + - constraint: mode + conditions: + - dps_val: ["Cooling", "Hot_Cooling"] + value_redirect: cool_temperature + range: + min: 7 + max: 25 + - id: 118 + type: integer + name: cool_temperature + range: + min: 7 + max: 25 - entity: water_heater dps: - id: 1 diff --git a/custom_components/tuya_local/devices/hyd_weair_plus_fan.yaml b/custom_components/tuya_local/devices/hyd_weair_plus_fan.yaml index afd2f5ce92..9e16a32e77 100644 --- a/custom_components/tuya_local/devices/hyd_weair_plus_fan.yaml +++ b/custom_components/tuya_local/devices/hyd_weair_plus_fan.yaml @@ -2,79 +2,78 @@ name: Fan products: - id: 6p7jm8rrqimnlusw name: HYD WeAir Plus D-68 -primary_entity: - entity: climate - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: true - value: "heat" - - dps_val: false - value: "fan_only" - - id: 2 - name: fan_mode - type: string - mapping: - - dps_val: "1" - value: "1" - - dps_val: "2" - value: "2" - - dps_val: "3" - value: "3" - - dps_val: "4" - value: "4" - - dps_val: "5" - value: "5" - - dps_val: "6" - value: "6" - - dps_val: "7" - value: "7" - - dps_val: "8" - value: "8" - - dps_val: "9" - value: "9" - - id: 3 - type: string - name: preset_mode - mapping: - - dps_val: "sleep" - value: "sleep" - - dps_val: "heavy" - value: "boost" - - dps_val: "fresh" - value: "comfort" - - dps_val: "close" - value: "none" - - id: 8 - name: swing_mode - type: boolean - mapping: - - dps_val: true - value: "horizontal" - - dps_val: false - value: "off" - - id: 9 - name: temperature - type: integer - unit: C - range: - min: 1 - max: 30 - - id: 10 - type: integer - name: current_temperature - - id: 103 - type: boolean - name: mode - hidden: true -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: true + value: "heat" + - dps_val: false + value: "fan_only" + - id: 2 + name: fan_mode + type: string + mapping: + - dps_val: "1" + value: "1" + - dps_val: "2" + value: "2" + - dps_val: "3" + value: "3" + - dps_val: "4" + value: "4" + - dps_val: "5" + value: "5" + - dps_val: "6" + value: "6" + - dps_val: "7" + value: "7" + - dps_val: "8" + value: "8" + - dps_val: "9" + value: "9" + - id: 3 + type: string + name: preset_mode + mapping: + - dps_val: "sleep" + value: "sleep" + - dps_val: "heavy" + value: "boost" + - dps_val: "fresh" + value: "comfort" + - dps_val: "close" + value: "none" + - id: 8 + name: swing_mode + type: boolean + mapping: + - dps_val: true + value: "horizontal" + - dps_val: false + value: "off" + - id: 9 + name: temperature + type: integer + unit: C + range: + min: 1 + max: 30 + - id: 10 + type: integer + name: current_temperature + - id: 103 + type: boolean + name: mode + hidden: true - entity: select translation_key: timer category: config diff --git a/custom_components/tuya_local/devices/hydrotherm_dynamic_x8_water_heater.yaml b/custom_components/tuya_local/devices/hydrotherm_dynamic_x8_water_heater.yaml index d729a620c3..d5e1ebe79a 100644 --- a/custom_components/tuya_local/devices/hydrotherm_dynamic_x8_water_heater.yaml +++ b/custom_components/tuya_local/devices/hydrotherm_dynamic_x8_water_heater.yaml @@ -1,42 +1,41 @@ name: Hydrotherm DYNAMIC/X8 -primary_entity: - entity: water_heater - dps: - - id: 1 - type: boolean - name: operation_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: work_mode - conditions: - - dps_val: ECO - value: eco - - dps_val: STANDARD - value: heat_pump - - dps_val: HYBRID - value: high_demand - - dps_val: HYBRID1 - value: performance - - dps_val: ELEMENT - value: electric - - id: 2 - type: integer - name: temperature - unit: C - range: - min: 15 - max: 75 - readonly: true - - id: 3 - type: integer - name: current_temperature - - id: 4 - type: string - name: work_mode - hidden: true -secondary_entities: +entities: + - entity: water_heater + dps: + - id: 1 + type: boolean + name: operation_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: work_mode + conditions: + - dps_val: ECO + value: eco + - dps_val: STANDARD + value: heat_pump + - dps_val: HYBRID + value: high_demand + - dps_val: HYBRID1 + value: performance + - dps_val: ELEMENT + value: electric + - id: 2 + type: integer + name: temperature + unit: C + range: + min: 15 + max: 75 + readonly: true + - id: 3 + type: integer + name: current_temperature + - id: 4 + type: string + name: work_mode + hidden: true - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/hydrotherm_dynamic_x8_water_heaterv6.yaml b/custom_components/tuya_local/devices/hydrotherm_dynamic_x8_water_heaterv6.yaml index 439c0eb086..505eac481e 100644 --- a/custom_components/tuya_local/devices/hydrotherm_dynamic_x8_water_heaterv6.yaml +++ b/custom_components/tuya_local/devices/hydrotherm_dynamic_x8_water_heaterv6.yaml @@ -2,65 +2,64 @@ name: Hot water products: - id: p2gjmmancu4t4ceg name: Hydrotherm Dynamic X8 gen 6 -primary_entity: - entity: water_heater - dps: - - id: 1 - type: boolean - name: operation_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: Stand - value: heat_pump - - dps_val: ECO - value: eco - - dps_val: HYB - value: high_demand - - dps_val: HYB1 - value: performance - - dps_val: ELE - value: electric - - id: 2 - type: string - name: mode - hidden: true - - id: 4 - type: integer - name: temperature - range: - min: 15 - max: 75 - unit: C - - id: 16 - type: integer - optional: true - name: current_temperature - mapping: - - dps_val: null - value_redirect: inlet_temp - - id: 21 - type: integer - name: inlet_temp - - id: 7 - type: boolean - name: away_mode - - id: 14 - type: integer - name: eev - - id: 40 - type: integer - name: model_number - - id: 108 - type: boolean - name: dip_switch_1 - - id: 109 - type: boolean - name: dip_switch_2 -secondary_entities: +entities: + - entity: water_heater + dps: + - id: 1 + type: boolean + name: operation_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: Stand + value: heat_pump + - dps_val: ECO + value: eco + - dps_val: HYB + value: high_demand + - dps_val: HYB1 + value: performance + - dps_val: ELE + value: electric + - id: 2 + type: string + name: mode + hidden: true + - id: 4 + type: integer + name: temperature + range: + min: 15 + max: 75 + unit: C + - id: 16 + type: integer + optional: true + name: current_temperature + mapping: + - dps_val: null + value_redirect: inlet_temp + - id: 21 + type: integer + name: inlet_temp + - id: 7 + type: boolean + name: away_mode + - id: 14 + type: integer + name: eev + - id: 40 + type: integer + name: model_number + - id: 108 + type: boolean + name: dip_switch_1 + - id: 109 + type: boolean + name: dip_switch_2 - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/hysen_hy02tp_thermostat.yaml b/custom_components/tuya_local/devices/hysen_hy02tp_thermostat.yaml index e8d13242a1..6030f83aeb 100644 --- a/custom_components/tuya_local/devices/hysen_hy02tp_thermostat.yaml +++ b/custom_components/tuya_local/devices/hysen_hy02tp_thermostat.yaml @@ -2,71 +2,70 @@ name: Thermostat products: - id: 4oeq3v7rua8c4ton name: Hysen HY02TP -primary_entity: - entity: climate - translation_key: thermostat - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: work_type - conditions: - - dps_val: "0cool" - value: cool - - dps_val: "1heat" - value: heat - - id: 2 - type: integer - name: temperature - unit: C - range: - min: 10 - max: 700 - mapping: - - scale: 10 - step: 5 - - id: 3 - type: integer - name: current_temperature - mapping: - - scale: 10 - - id: 4 - type: string - name: preset_mode - mapping: - - dps_val: Manual - value: manual - - dps_val: Program - value: program - - dps_val: Holiday - value: away - - dps_val: TempProg - value: temp_override - - id: 114 - type: integer - name: max_temperature - - id: 115 - type: integer - name: min_temperature - - id: 123 - type: string - name: work_type - hidden: true - - id: 127 - type: string - name: hvac_action - mapping: - - dps_val: "0allclose" - value: idle - - dps_val: "1heaton" - value: heating - - dps_val: "2coolon" - value: cooling -secondary_entities: +entities: + - entity: climate + translation_key: thermostat + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: work_type + conditions: + - dps_val: "0cool" + value: cool + - dps_val: "1heat" + value: heat + - id: 2 + type: integer + name: temperature + unit: C + range: + min: 10 + max: 700 + mapping: + - scale: 10 + step: 5 + - id: 3 + type: integer + name: current_temperature + mapping: + - scale: 10 + - id: 4 + type: string + name: preset_mode + mapping: + - dps_val: Manual + value: manual + - dps_val: Program + value: program + - dps_val: Holiday + value: away + - dps_val: TempProg + value: temp_override + - id: 114 + type: integer + name: max_temperature + - id: 115 + type: integer + name: min_temperature + - id: 123 + type: string + name: work_type + hidden: true + - id: 127 + type: string + name: hvac_action + mapping: + - dps_val: "0allclose" + value: idle + - dps_val: "1heaton" + value: heating + - dps_val: "2coolon" + value: cooling - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/hysen_hy08acf_thermostat.yaml b/custom_components/tuya_local/devices/hysen_hy08acf_thermostat.yaml index 0c8925e1ec..b2e798b1f2 100644 --- a/custom_components/tuya_local/devices/hysen_hy08acf_thermostat.yaml +++ b/custom_components/tuya_local/devices/hysen_hy08acf_thermostat.yaml @@ -1,103 +1,103 @@ -name: Hysen HY08ACF thermostat +name: Thermostat products: - id: xhx9h0duu9b9bobs -primary_entity: - entity: climate - translation_only_key: thermostat - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: operation - conditions: - - dps_val: heat - value: heat - - dps_val: cool - value: cool - - dps_val: ventilate - value: fan_only - - dps_val: auto - value: heat_cool - - id: 2 - type: integer - name: temperature - unit: C - range: - min: 50 - max: 500 - mapping: - - scale: 10 - step: 5 - - id: 3 - type: integer - name: current_temperature - mapping: - - scale: 10 - - id: 4 - type: string - name: preset_mode - mapping: - - dps_val: Program - value: program - - dps_val: TempProg - value: temp_override - hidden: true - - dps_val: Manual - value: manual - - dps_val: Holiday - value: away - - id: 5 - type: string - name: fan_mode - mapping: - - dps_val: low - value: low - - dps_val: med - value: medium - - dps_val: high - value: high - - dps_val: auto - value: auto - constraint: operation - conditions: - - dps_val: ventilate - invalid: true - - id: 103 - type: integer - name: max_temperature - - id: 104 - type: integer - name: min_temperature - - id: 118 - name: operation - type: string - hidden: true - - id: 119 - name: hvac_action - type: string - mapping: - - dps_val: "0" - value: idle - - dps_val: "1" - value: heating - - dps_val: "2" - value: cooling - # another variant uses long names - - dps_val: heatvalve - value: heating - - dps_val: coolvalve - value: cooling - - dps_val: closed - value: idle - - id: 121 - name: program - type: integer - optional: true -secondary_entities: + name: Hysen HY08ACF +entities: + - entity: climate + translation_only_key: thermostat + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: operation + conditions: + - dps_val: heat + value: heat + - dps_val: cool + value: cool + - dps_val: ventilate + value: fan_only + - dps_val: auto + value: heat_cool + - id: 2 + type: integer + name: temperature + unit: C + range: + min: 50 + max: 500 + mapping: + - scale: 10 + step: 5 + - id: 3 + type: integer + name: current_temperature + mapping: + - scale: 10 + - id: 4 + type: string + name: preset_mode + mapping: + - dps_val: Program + value: program + - dps_val: TempProg + value: temp_override + hidden: true + - dps_val: Manual + value: manual + - dps_val: Holiday + value: away + - id: 5 + type: string + name: fan_mode + mapping: + - dps_val: low + value: low + - dps_val: med + value: medium + - dps_val: high + value: high + - dps_val: auto + value: auto + constraint: operation + conditions: + - dps_val: ventilate + invalid: true + - id: 103 + type: integer + name: max_temperature + - id: 104 + type: integer + name: min_temperature + - id: 118 + name: operation + type: string + hidden: true + - id: 119 + name: hvac_action + type: string + mapping: + - dps_val: "0" + value: idle + - dps_val: "1" + value: heating + - dps_val: "2" + value: cooling + # another variant uses long names + - dps_val: heatvalve + value: heating + - dps_val: coolvalve + value: cooling + - dps_val: closed + value: idle + - id: 121 + name: program + type: integer + optional: true - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/hysen_hy08we2_thermostat.yaml b/custom_components/tuya_local/devices/hysen_hy08we2_thermostat.yaml index 5b035f68e8..e7f8e32419 100644 --- a/custom_components/tuya_local/devices/hysen_hy08we2_thermostat.yaml +++ b/custom_components/tuya_local/devices/hysen_hy08we2_thermostat.yaml @@ -1,88 +1,87 @@ -name: Hysen HY08WE thermostat +name: Thermostat products: - id: gu4vs8axzlw5ptw3 - name: HY08WE-4 -primary_entity: - entity: climate - translation_only_key: thermostat - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: true - value: heat - - dps_val: false - value: "off" - - id: 2 - type: integer - name: temperature - range: - min: 5 - max: 1220 - mapping: - - scale: 10 - constraint: temperature_unit - conditions: - - dps_val: false - step: 5 - - dps_val: true - step: 10 - - id: 3 - type: integer - name: current_temperature - mapping: - - scale: 10 - - id: 4 - type: string - name: preset_mode - mapping: - - dps_val: Manual - value: manual - - dps_val: Program - value: program - - dps_val: TempProg - value: temp_override - hidden: true - - dps_val: Holiday - value: away - - id: 101 - type: boolean - name: temperature_unit - mapping: - - dps_val: false - value: C - - dps_val: true - value: F - - id: 102 - type: boolean - name: hvac_action - mapping: - - dps_val: true - value: heating - - dps_val: false - value: idle - - id: 106 - type: boolean - name: unknown_106 - - id: 107 - type: boolean - name: unknown_107 - - id: 108 - type: boolean - name: temperature_display - mapping: - - dps_val: false - value: internal - - dps_val: true - value: external - - id: 114 - type: integer - name: max_temperature - - id: 115 - type: integer - name: min_temperature -secondary_entities: + name: Hysen HY08WE-4 +entities: + - entity: climate + translation_only_key: thermostat + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: true + value: heat + - dps_val: false + value: "off" + - id: 2 + type: integer + name: temperature + range: + min: 5 + max: 1220 + mapping: + - scale: 10 + constraint: temperature_unit + conditions: + - dps_val: false + step: 5 + - dps_val: true + step: 10 + - id: 3 + type: integer + name: current_temperature + mapping: + - scale: 10 + - id: 4 + type: string + name: preset_mode + mapping: + - dps_val: Manual + value: manual + - dps_val: Program + value: program + - dps_val: TempProg + value: temp_override + hidden: true + - dps_val: Holiday + value: away + - id: 101 + type: boolean + name: temperature_unit + mapping: + - dps_val: false + value: C + - dps_val: true + value: F + - id: 102 + type: boolean + name: hvac_action + mapping: + - dps_val: true + value: heating + - dps_val: false + value: idle + - id: 106 + type: boolean + name: unknown_106 + - id: 107 + type: boolean + name: unknown_107 + - id: 108 + type: boolean + name: temperature_display + mapping: + - dps_val: false + value: internal + - dps_val: true + value: external + - id: 114 + type: integer + name: max_temperature + - id: 115 + type: integer + name: min_temperature - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/hyundai_sahara_dehumidifier.yaml b/custom_components/tuya_local/devices/hyundai_sahara_dehumidifier.yaml index c92a4cf8c0..3c13f4dbc7 100644 --- a/custom_components/tuya_local/devices/hyundai_sahara_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/hyundai_sahara_dehumidifier.yaml @@ -1,43 +1,42 @@ -name: Sahara dehumidifier +name: Dehumidifier products: - id: r6gik8xajfg0lv1y - name: Dehumidifier-D030 -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - name: switch - type: boolean - mapping: - - dps_val: false - icon: "mdi:air-humidifier-off" - icon_priority: 1 - - dps_val: true - icon: "mdi:air-humidifier" - icon_priority: 4 - - id: 2 - name: humidity - type: integer - range: - min: 30 - max: 80 - mapping: - - step: 5 - - id: 6 - type: integer - name: current_humidity - - id: 14 - type: boolean - name: mode - mapping: - - dps_val: false - value: normal - - dps_val: true - value: sleep - icon: "mdi:power-sleep" - icon_priority: 3 -secondary_entities: + name: Hyundai Sahara D030 +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + name: switch + type: boolean + mapping: + - dps_val: false + icon: "mdi:air-humidifier-off" + icon_priority: 1 + - dps_val: true + icon: "mdi:air-humidifier" + icon_priority: 4 + - id: 2 + name: humidity + type: integer + range: + min: 30 + max: 80 + mapping: + - step: 5 + - id: 6 + type: integer + name: current_humidity + - id: 14 + type: boolean + name: mode + mapping: + - dps_val: false + value: normal + - dps_val: true + value: sleep + icon: "mdi:power-sleep" + icon_priority: 3 - entity: fan dps: - id: 1 diff --git a/custom_components/tuya_local/devices/idea_heatingbelt_airconditioner.yaml b/custom_components/tuya_local/devices/idea_heatingbelt_airconditioner.yaml index e07fe60ad2..69762f9fe1 100644 --- a/custom_components/tuya_local/devices/idea_heatingbelt_airconditioner.yaml +++ b/custom_components/tuya_local/devices/idea_heatingbelt_airconditioner.yaml @@ -2,93 +2,92 @@ name: Air conditioner products: - id: 1dxlcglzadb1wwax name: Idea CS1 ISP-D114 TYWE 1S -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: cold - value: cool - - dps_val: hot - value: heat - - dps_val: wet - value: dry - - dps_val: wind - value: fan_only - - dps_val: auto - value: heat_cool - - id: 2 - type: integer - name: temperature - unit: C - range: - min: 16 - max: 32 - - id: 3 - type: integer - name: current_temperature - - id: 4 - type: string - name: mode - hidden: true - - id: 5 - type: string - name: fan_mode - mapping: - - dps_val: low - value: low - - dps_val: mid - value: medium - - dps_val: high - value: high - - dps_val: auto - value: auto - - id: 8 - type: boolean - optional: true - name: preset_mode - mapping: - - dps_val: true - value: eco - - dps_val: false - value: comfort - - dps_val: null - value: comfort - hidden: true - - id: 18 - type: integer - optional: true - name: current_humidity - - id: 30 - type: boolean - optional: true - name: swing_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: "on" - - value: "off" - hidden: true - - id: 33 - type: boolean - optional: true - name: swing_horizontal_mode - mapping: - - dps_val: true - value: "on" - - dps_val: false - value: "off" - - value: "off" - hidden: true -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: cold + value: cool + - dps_val: hot + value: heat + - dps_val: wet + value: dry + - dps_val: wind + value: fan_only + - dps_val: auto + value: heat_cool + - id: 2 + type: integer + name: temperature + unit: C + range: + min: 16 + max: 32 + - id: 3 + type: integer + name: current_temperature + - id: 4 + type: string + name: mode + hidden: true + - id: 5 + type: string + name: fan_mode + mapping: + - dps_val: low + value: low + - dps_val: mid + value: medium + - dps_val: high + value: high + - dps_val: auto + value: auto + - id: 8 + type: boolean + optional: true + name: preset_mode + mapping: + - dps_val: true + value: eco + - dps_val: false + value: comfort + - dps_val: null + value: comfort + hidden: true + - id: 18 + type: integer + optional: true + name: current_humidity + - id: 30 + type: boolean + optional: true + name: swing_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: "on" + - value: "off" + hidden: true + - id: 33 + type: boolean + optional: true + name: swing_horizontal_mode + mapping: + - dps_val: true + value: "on" + - dps_val: false + value: "off" + - value: "off" + hidden: true - entity: switch name: Aux heat icon: "mdi:fire" diff --git a/custom_components/tuya_local/devices/iebelong_ech_doorbell_rfhub.yaml b/custom_components/tuya_local/devices/iebelong_ech_doorbell_rfhub.yaml index de0f342868..bbe4f4671e 100644 --- a/custom_components/tuya_local/devices/iebelong_ech_doorbell_rfhub.yaml +++ b/custom_components/tuya_local/devices/iebelong_ech_doorbell_rfhub.yaml @@ -2,37 +2,37 @@ name: Doorbell products: - id: mu90mkl2valkaar3 name: Iebelong ECH-103 Doorbell and 433MHz RF hub -primary_entity: - entity: siren - dps: - - id: 30 - type: string - name: volume_level - mapping: - - dps_val: mute - value: 0.0 - - dps_val: low - value: 0.33 - - dps_val: middle - value: 0.67 - - dps_val: high - value: 1.0 - - id: 39 - type: string - name: tone - optional: true - mapping: - - dps_val: "1" - value: Tone 1 - - dps_val: "2" - value: Tone 2 - - dps_val: "3" - value: Tone 3 - - dps_val: "4" - value: Tone 4 - - dps_val: "5" - value: Tone 5 - - id: 26 - type: string - name: alarm_msg - optional: true +entities: + - entity: siren + dps: + - id: 30 + type: string + name: volume_level + mapping: + - dps_val: mute + value: 0.0 + - dps_val: low + value: 0.33 + - dps_val: middle + value: 0.67 + - dps_val: high + value: 1.0 + - id: 39 + type: string + name: tone + optional: true + mapping: + - dps_val: "1" + value: Tone 1 + - dps_val: "2" + value: Tone 2 + - dps_val: "3" + value: Tone 3 + - dps_val: "4" + value: Tone 4 + - dps_val: "5" + value: Tone 5 + - id: 26 + type: string + name: alarm_msg + optional: true diff --git a/custom_components/tuya_local/devices/ih001_led_controller.yaml b/custom_components/tuya_local/devices/ih001_led_controller.yaml index 4fc97e6930..a9d661c8e5 100644 --- a/custom_components/tuya_local/devices/ih001_led_controller.yaml +++ b/custom_components/tuya_local/devices/ih001_led_controller.yaml @@ -2,56 +2,55 @@ name: LED controller products: - id: ajqxccmgfnhvtew4 name: iH001 -primary_entity: - entity: light - dps: - - id: 20 - type: boolean - name: switch - - id: 21 - name: color_mode - type: string - mapping: - - dps_val: colour - value: hs - - dps_val: scene - value: Scene - - dps_val: music - value: Music - - id: 24 - name: rgbhsv - type: hex - format: - - name: h - bytes: 2 - range: - min: 0 - max: 360 - - name: s - bytes: 2 - range: - min: 0 - max: 1000 - - name: v - bytes: 2 - range: - min: 0 - max: 1000 - - id: 27 - type: hex - name: music_data - optional: true - - id: 28 - type: hex - name: control_data - optional: true - - id: 34 - type: boolean - name: unknown_34 - - id: 42 - type: hex - name: unknown_42 -secondary_entities: +entities: + - entity: light + dps: + - id: 20 + type: boolean + name: switch + - id: 21 + name: color_mode + type: string + mapping: + - dps_val: colour + value: hs + - dps_val: scene + value: Scene + - dps_val: music + value: Music + - id: 24 + name: rgbhsv + type: hex + format: + - name: h + bytes: 2 + range: + min: 0 + max: 360 + - name: s + bytes: 2 + range: + min: 0 + max: 1000 + - name: v + bytes: 2 + range: + min: 0 + max: 1000 + - id: 27 + type: hex + name: music_data + optional: true + - id: 28 + type: hex + name: control_data + optional: true + - id: 34 + type: boolean + name: unknown_34 + - id: 42 + type: hex + name: unknown_42 - entity: select name: Scene icon: "mdi:pallete" diff --git a/custom_components/tuya_local/devices/ihome_autovac_nova.yaml b/custom_components/tuya_local/devices/ihome_autovac_nova.yaml index 49323ae424..c18d47ffb9 100644 --- a/custom_components/tuya_local/devices/ihome_autovac_nova.yaml +++ b/custom_components/tuya_local/devices/ihome_autovac_nova.yaml @@ -2,142 +2,141 @@ name: Vacuum products: - id: gejo2t2mgux3avdq name: iHome AutoVac Nova iHRV6 -primary_entity: - entity: vacuum - dps: - - id: 1 - type: boolean - name: power - optional: true - mapping: - - dps_val: null - value: false - hidden: true - - id: 2 - type: boolean - name: command - optional: true - mapping: - - dps_val: true - value: pause - - dps_val: false - constraint: mode - conditions: - - dps_val: standby - value: stop - - dps_val: random - value: random - - dps_val: smart - value: smart - - dps_val: wall_follow - value: wall_follow - - dps_val: mop - value: mop - - dps_val: spiral - value: clean_spot - - dps_val: left_spiral - value: left_spiral - - dps_val: right-spiral - value: right_spiral - - dps_val: bow - value: bow - - dps_val: left_bow - value: left_bow - - dps_val: right_bow - value: right_bow - - dps_val: partial_bow - value: partial_bow - - dps_val: chargego - value: return_to_base - - dps_val: null - hidden: true - constraint: mode - conditions: - - dps_val: standby - value: stop - - dps_val: random - value: random - - dps_val: smart - value: smart - - dps_val: wall_follow - value: wall_follow - - dps_val: mop - value: mop - - dps_val: spiral - value: clean_spot - - dps_val: left_spiral - value: left_spiral - - dps_val: right-spiral - value: right_spiral - - dps_val: bow - value: bow - - dps_val: left_bow - value: left_bow - - dps_val: right_bow - value: right_bow - - dps_val: partial_bow - value: partial_bow - - dps_val: chargego - value: return_to_base - - id: 3 - type: string - name: mode - hidden: true - optional: true - - id: 5 - type: string - name: status - mapping: - - dps_val: standby - value: standby - - dps_val: smart_clean - value: cleaning - - dps_val: wall_clean - value: cleaning - - dps_val: spot_clean - value: cleaning - - dps_val: mop_clean - value: mopping - - dps_val: goto_charge - value: returning - - dps_val: charging - value: charging - - dps_val: charge_done - value: charged - - dps_val: paused - value: pause - - dps_val: cleaning - value: cleaning - - dps_val: sleep - value: sleep - - id: 13 - type: boolean - name: locate - optional: true - - id: 14 - type: string - name: fan_speed - optional: true - mapping: - - dps_val: strong - value: High - - dps_val: normal - value: Medium - - dps_val: gentle - value: Low - - id: 102 - type: base64 - name: info - optional: true - - id: 110 - type: bitfield - name: error - hidden: true - - id: 111 - type: integer - name: event_report - optional: true -secondary_entities: +entities: + - entity: vacuum + dps: + - id: 1 + type: boolean + name: power + optional: true + mapping: + - dps_val: null + value: false + hidden: true + - id: 2 + type: boolean + name: command + optional: true + mapping: + - dps_val: true + value: pause + - dps_val: false + constraint: mode + conditions: + - dps_val: standby + value: stop + - dps_val: random + value: random + - dps_val: smart + value: smart + - dps_val: wall_follow + value: wall_follow + - dps_val: mop + value: mop + - dps_val: spiral + value: clean_spot + - dps_val: left_spiral + value: left_spiral + - dps_val: right-spiral + value: right_spiral + - dps_val: bow + value: bow + - dps_val: left_bow + value: left_bow + - dps_val: right_bow + value: right_bow + - dps_val: partial_bow + value: partial_bow + - dps_val: chargego + value: return_to_base + - dps_val: null + hidden: true + constraint: mode + conditions: + - dps_val: standby + value: stop + - dps_val: random + value: random + - dps_val: smart + value: smart + - dps_val: wall_follow + value: wall_follow + - dps_val: mop + value: mop + - dps_val: spiral + value: clean_spot + - dps_val: left_spiral + value: left_spiral + - dps_val: right-spiral + value: right_spiral + - dps_val: bow + value: bow + - dps_val: left_bow + value: left_bow + - dps_val: right_bow + value: right_bow + - dps_val: partial_bow + value: partial_bow + - dps_val: chargego + value: return_to_base + - id: 3 + type: string + name: mode + hidden: true + optional: true + - id: 5 + type: string + name: status + mapping: + - dps_val: standby + value: standby + - dps_val: smart_clean + value: cleaning + - dps_val: wall_clean + value: cleaning + - dps_val: spot_clean + value: cleaning + - dps_val: mop_clean + value: mopping + - dps_val: goto_charge + value: returning + - dps_val: charging + value: charging + - dps_val: charge_done + value: charged + - dps_val: paused + value: pause + - dps_val: cleaning + value: cleaning + - dps_val: sleep + value: sleep + - id: 13 + type: boolean + name: locate + optional: true + - id: 14 + type: string + name: fan_speed + optional: true + mapping: + - dps_val: strong + value: High + - dps_val: normal + value: Medium + - dps_val: gentle + value: Low + - id: 102 + type: base64 + name: info + optional: true + - id: 110 + type: bitfield + name: error + hidden: true + - id: 111 + type: integer + name: event_report + optional: true - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/ihunt_400_airpurifier.yaml b/custom_components/tuya_local/devices/ihunt_400_airpurifier.yaml index 97f4734d5c..6267433576 100644 --- a/custom_components/tuya_local/devices/ihunt_400_airpurifier.yaml +++ b/custom_components/tuya_local/devices/ihunt_400_airpurifier.yaml @@ -2,37 +2,36 @@ name: Air purifier products: - id: lf1ikizwmvevldbp name: iHunt 400m³/h -primary_entity: - entity: fan - icon: "mdi:air-purifier" - translation_key: fan_with_presets - dps: - - id: 1 - name: switch - type: boolean - - id: 4 - name: speed - type: string - mapping: - - dps_val: speed_1 - value: 25 - - dps_val: speed_2 - value: 50 - - dps_val: speed_3 - value: 75 - - dps_val: speed_4 - value: 100 - - id: 3 - type: string - name: preset_mode - mapping: - - dps_val: manual - value: normal - - dps_val: auto - value: smart - - dps_val: sleep - value: sleep -secondary_entities: +entities: + - entity: fan + icon: "mdi:air-purifier" + translation_key: fan_with_presets + dps: + - id: 1 + name: switch + type: boolean + - id: 4 + name: speed + type: string + mapping: + - dps_val: speed_1 + value: 25 + - dps_val: speed_2 + value: 50 + - dps_val: speed_3 + value: 75 + - dps_val: speed_4 + value: 100 + - id: 3 + type: string + name: preset_mode + mapping: + - dps_val: manual + value: normal + - dps_val: auto + value: smart + - dps_val: sleep + value: sleep - entity: sensor class: pm25 dps: diff --git a/custom_components/tuya_local/devices/ihunt_50_airpurifier.yaml b/custom_components/tuya_local/devices/ihunt_50_airpurifier.yaml index e6a5c90bc6..7a1d3354d6 100644 --- a/custom_components/tuya_local/devices/ihunt_50_airpurifier.yaml +++ b/custom_components/tuya_local/devices/ihunt_50_airpurifier.yaml @@ -2,26 +2,25 @@ name: Air purifier products: - id: qjlhoysvavudtp3d name: iHunt 50m³/h -primary_entity: - entity: fan - icon: "mdi:air-purifier" - dps: - - id: 1 - name: switch - type: boolean - - id: 4 - name: speed - type: string - mapping: - - dps_val: sleep - value: 25 - - dps_val: low - value: 50 - - dps_val: mid - value: 75 - - dps_val: high - value: 100 -secondary_entities: +entities: + - entity: fan + icon: "mdi:air-purifier" + dps: + - id: 1 + name: switch + type: boolean + - id: 4 + name: speed + type: string + mapping: + - dps_val: sleep + value: 25 + - dps_val: low + value: 50 + - dps_val: mid + value: 75 + - dps_val: high + value: 100 - entity: sensor name: Filter category: diagnostic diff --git a/custom_components/tuya_local/devices/illumanance_sensor.yaml b/custom_components/tuya_local/devices/illumanance_sensor.yaml index 27b3c121ad..453444b5eb 100644 --- a/custom_components/tuya_local/devices/illumanance_sensor.yaml +++ b/custom_components/tuya_local/devices/illumanance_sensor.yaml @@ -1,17 +1,16 @@ name: Illuminance sensor products: - id: 8181077094b97e16d467 -primary_entity: - entity: sensor - name: Brightness - class: illuminance - dps: - - id: 2 - type: integer - name: sensor - unit: lx - class: measurement -secondary_entities: +entities: + - entity: sensor + name: Brightness + class: illuminance + dps: + - id: 2 + type: integer + name: sensor + unit: lx + class: measurement - entity: sensor name: Light level class: enum diff --git a/custom_components/tuya_local/devices/illumanance_v2_sensor.yaml b/custom_components/tuya_local/devices/illumanance_v2_sensor.yaml index d3fd607ab1..55447692e1 100644 --- a/custom_components/tuya_local/devices/illumanance_v2_sensor.yaml +++ b/custom_components/tuya_local/devices/illumanance_v2_sensor.yaml @@ -1,14 +1,13 @@ name: Light sensor -primary_entity: - entity: sensor - class: illuminance - dps: - - id: 7 - type: integer - name: sensor - unit: lx - class: measurement -secondary_entities: +entities: + - entity: sensor + class: illuminance + dps: + - id: 7 + type: integer + name: sensor + unit: lx + class: measurement - entity: sensor name: Light level class: enum diff --git a/custom_components/tuya_local/devices/ilonda_l88_fishfeeder.yaml b/custom_components/tuya_local/devices/ilonda_l88_fishfeeder.yaml index 9c5e6b08eb..67e77b116c 100644 --- a/custom_components/tuya_local/devices/ilonda_l88_fishfeeder.yaml +++ b/custom_components/tuya_local/devices/ilonda_l88_fishfeeder.yaml @@ -2,14 +2,13 @@ name: Fish feeder products: - id: 3jskpz3pwqn9oojn name: iLonda L88 -primary_entity: - entity: switch - icon: "mdi:fish" - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + icon: "mdi:fish" + dps: + - id: 1 + type: boolean + name: switch - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/immax_neo_light_vento.yaml b/custom_components/tuya_local/devices/immax_neo_light_vento.yaml index 8f4dc5144d..b3977e8013 100644 --- a/custom_components/tuya_local/devices/immax_neo_light_vento.yaml +++ b/custom_components/tuya_local/devices/immax_neo_light_vento.yaml @@ -2,40 +2,39 @@ name: Ceiling fan products: - id: ea6vpac5hfe5rqw4 name: Immax NEO LITE VENTO Smart -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - type: string - name: preset_mode - mapping: - - dps_val: normal - value: normal - - dps_val: sleep - value: sleep - - dps_val: nature - value: nature - - id: 3 - name: speed - type: integer - range: - min: 1 - max: 6 - mapping: - - constraint: preset_mode - conditions: - - dps_val: nature - step: 5 - - dps_val: sleep - step: 5 - - id: 8 - name: direction - type: string -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + type: string + name: preset_mode + mapping: + - dps_val: normal + value: normal + - dps_val: sleep + value: sleep + - dps_val: nature + value: nature + - id: 3 + name: speed + type: integer + range: + min: 1 + max: 6 + mapping: + - constraint: preset_mode + conditions: + - dps_val: nature + step: 5 + - dps_val: sleep + step: 5 + - id: 8 + name: direction + type: string - entity: light dps: - id: 15 diff --git a/custom_components/tuya_local/devices/inkbird_bbq4t_thermometer.yaml b/custom_components/tuya_local/devices/inkbird_bbq4t_thermometer.yaml index 81b9ba5cdc..30f394a5be 100644 --- a/custom_components/tuya_local/devices/inkbird_bbq4t_thermometer.yaml +++ b/custom_components/tuya_local/devices/inkbird_bbq4t_thermometer.yaml @@ -2,22 +2,21 @@ name: BBQ thermometer products: - id: x6oarivkdgru1upf name: Inkbird iBBQ-4T -primary_entity: - entity: sensor - name: Temperature probe 1 - class: temperature - dps: - - id: 107 - type: integer - name: sensor - class: measurement - mapping: - - scale: 100 - unit: F - - id: 111 - type: integer - name: unknown_111 -secondary_entities: +entities: + - entity: sensor + name: Temperature probe 1 + class: temperature + dps: + - id: 107 + type: integer + name: sensor + class: measurement + mapping: + - scale: 100 + unit: F + - id: 111 + type: integer + name: unknown_111 - entity: sensor name: Temperature probe 2 class: temperature diff --git a/custom_components/tuya_local/devices/inkbird_bbq4t_thermometerv2.yaml b/custom_components/tuya_local/devices/inkbird_bbq4t_thermometerv2.yaml index fc43c34c9e..5b9048ffa1 100644 --- a/custom_components/tuya_local/devices/inkbird_bbq4t_thermometerv2.yaml +++ b/custom_components/tuya_local/devices/inkbird_bbq4t_thermometerv2.yaml @@ -2,22 +2,21 @@ name: BBQ thermometer products: - id: wavwesi8clrfwx68 name: Inkbird IBBQ-4T v2.x -primary_entity: - entity: sensor - name: Temperature probe 1 - class: temperature - dps: - - id: 107 - type: base64 - name: sensor - class: measurement - optional: true - mask: FFFFFF - endianness: little - mapping: - - scale: 100 - unit: F -secondary_entities: +entities: + - entity: sensor + name: Temperature probe 1 + class: temperature + dps: + - id: 107 + type: base64 + name: sensor + class: measurement + optional: true + mask: FFFFFF + endianness: little + mapping: + - scale: 100 + unit: F - entity: sensor name: Temperature probe 2 class: temperature diff --git a/custom_components/tuya_local/devices/inkbird_ibbq4bw_thermometer.yaml b/custom_components/tuya_local/devices/inkbird_ibbq4bw_thermometer.yaml index af4ec5f1f9..23b0e4d42c 100644 --- a/custom_components/tuya_local/devices/inkbird_ibbq4bw_thermometer.yaml +++ b/custom_components/tuya_local/devices/inkbird_ibbq4bw_thermometer.yaml @@ -2,19 +2,18 @@ name: Inkbird BBQ thermometer products: - id: coa4tu1646wdybzy name: IBBQ-4BW -primary_entity: - entity: sensor - name: Temperature probe 1 - class: temperature - dps: - - id: 107 - type: integer - name: sensor - class: measurement - mapping: - - scale: 100 - unit: F -secondary_entities: +entities: + - entity: sensor + name: Temperature probe 1 + class: temperature + dps: + - id: 107 + type: integer + name: sensor + class: measurement + mapping: + - scale: 100 + unit: F - entity: sensor name: Temperature probe 2 class: temperature diff --git a/custom_components/tuya_local/devices/inkbird_ibs_m1s.yaml b/custom_components/tuya_local/devices/inkbird_ibs_m1s.yaml index 4577721ae0..2ee006efa2 100644 --- a/custom_components/tuya_local/devices/inkbird_ibs_m1s.yaml +++ b/custom_components/tuya_local/devices/inkbird_ibs_m1s.yaml @@ -2,39 +2,38 @@ name: Inkbird IBS-M1S hub products: - id: ojlc1dnjbrybk7di name: IBS-M1S -primary_entity: - entity: sensor - name: Temperature probe 1 - class: temperature - dps: - - id: 110 - type: integer - name: dummy - - id: 111 - type: boolean - name: dummy2 - - id: 114 - optional: true - type: base64 - name: type - persist: false - endianness: little - mask: "FF" - - id: 114 - optional: true - type: base64 - name: sensor - unit: C - class: measurement - endianness: little - mask: "FFFF00" - mapping: - - scale: 10 - constraint: type - conditions: - - dps_val: 0 - invalid: true -secondary_entities: +entities: + - entity: sensor + name: Temperature probe 1 + class: temperature + dps: + - id: 110 + type: integer + name: dummy + - id: 111 + type: boolean + name: dummy2 + - id: 114 + optional: true + type: base64 + name: type + persist: false + endianness: little + mask: "FF" + - id: 114 + optional: true + type: base64 + name: sensor + unit: C + class: measurement + endianness: little + mask: "FFFF00" + mapping: + - scale: 10 + constraint: type + conditions: + - dps_val: 0 + invalid: true - entity: sensor name: Battery 1 class: battery diff --git a/custom_components/tuya_local/devices/inkbird_ibt_26s_thermometer.yaml b/custom_components/tuya_local/devices/inkbird_ibt_26s_thermometer.yaml index 32d5547242..90b08dc4cc 100644 --- a/custom_components/tuya_local/devices/inkbird_ibt_26s_thermometer.yaml +++ b/custom_components/tuya_local/devices/inkbird_ibt_26s_thermometer.yaml @@ -2,19 +2,18 @@ name: BBQ thermometer products: - id: h8qbni4ouwn5gjh0 name: Inkbird IBT-26S -primary_entity: - entity: sensor - name: Temperature probe 1 - class: temperature - dps: - - id: 107 - type: integer - name: sensor - class: measurement - mapping: - - scale: 100 - unit: F -secondary_entities: +entities: + - entity: sensor + name: Temperature probe 1 + class: temperature + dps: + - id: 107 + type: integer + name: sensor + class: measurement + mapping: + - scale: 100 + unit: F - entity: sensor name: Temperature probe 2 class: temperature diff --git a/custom_components/tuya_local/devices/inkbird_ihc200_humiditycontroller.yaml b/custom_components/tuya_local/devices/inkbird_ihc200_humiditycontroller.yaml index c443efceca..104fc7d4fe 100644 --- a/custom_components/tuya_local/devices/inkbird_ihc200_humiditycontroller.yaml +++ b/custom_components/tuya_local/devices/inkbird_ihc200_humiditycontroller.yaml @@ -2,23 +2,22 @@ name: Humidity controller products: - id: hsstqaa2hn73auhj name: Inkbird IHC-200 -primary_entity: - entity: humidifier - dps: - - id: 104 - type: integer - name: current_humidity - mapping: - - scale: 10 - - id: 106 - type: integer - name: humidity - range: - min: 50 - max: 990 - mapping: - - scale: 10 -secondary_entities: +entities: + - entity: humidifier + dps: + - id: 104 + type: integer + name: current_humidity + mapping: + - scale: 10 + - id: 106 + type: integer + name: humidity + range: + min: 50 + max: 990 + mapping: + - scale: 10 - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/inkbird_ipt2ch_thermostat.yaml b/custom_components/tuya_local/devices/inkbird_ipt2ch_thermostat.yaml index 82df56c044..4b252ae593 100644 --- a/custom_components/tuya_local/devices/inkbird_ipt2ch_thermostat.yaml +++ b/custom_components/tuya_local/devices/inkbird_ipt2ch_thermostat.yaml @@ -2,85 +2,84 @@ name: Dual thermostat products: - id: kgimsje9a1qhqs2w name: Inkbird IPT-2CH V2.0 reptile thermostat -primary_entity: - entity: climate - name: Probe 1 - translation_key: thermostat - dps: - - id: 101 - type: string - optional: true - name: temperature_unit - mapping: - - dps_val: null - value: C - - id: 102 - type: integer - optional: true - name: target_temp_low - range: - min: 0 - max: 1130 - mapping: - - scale: 10 - constraint: temperature_unit - conditions: - - dps_val: C - range: - min: 0 - max: 450 - - dps_val: F - range: - min: 320 - max: 1130 - - id: 103 - type: integer - optional: true - name: target_temp_high - range: - min: 0 - max: 1130 - mapping: - - scale: 10 - constraint: temperature_unit - conditions: - - dps_val: C - range: - min: 0 - max: 450 - - dps_val: F - range: - min: 320 - max: 1130 - - id: 104 - type: integer - name: current_temperature - mapping: - - scale: 10 - constraint: temperature_unit - conditions: - - dps_val: F - value_redirect: current_temp_f - - id: 119 - type: integer - optional: true - name: current_temp_f - mapping: - - scale: 10 - - id: 120 - type: string - optional: true - name: hvac_action - mapping: - - dps_val: "0" - value: idle - - dps_val: "1" - value: heating - - dps_val: "2" - value: idle - - dps_val: "3" - value: heating -secondary_entities: +entities: + - entity: climate + name: Probe 1 + translation_key: thermostat + dps: + - id: 101 + type: string + optional: true + name: temperature_unit + mapping: + - dps_val: null + value: C + - id: 102 + type: integer + optional: true + name: target_temp_low + range: + min: 0 + max: 1130 + mapping: + - scale: 10 + constraint: temperature_unit + conditions: + - dps_val: C + range: + min: 0 + max: 450 + - dps_val: F + range: + min: 320 + max: 1130 + - id: 103 + type: integer + optional: true + name: target_temp_high + range: + min: 0 + max: 1130 + mapping: + - scale: 10 + constraint: temperature_unit + conditions: + - dps_val: C + range: + min: 0 + max: 450 + - dps_val: F + range: + min: 320 + max: 1130 + - id: 104 + type: integer + name: current_temperature + mapping: + - scale: 10 + constraint: temperature_unit + conditions: + - dps_val: F + value_redirect: current_temp_f + - id: 119 + type: integer + optional: true + name: current_temp_f + mapping: + - scale: 10 + - id: 120 + type: string + optional: true + name: hvac_action + mapping: + - dps_val: "0" + value: idle + - dps_val: "1" + value: heating + - dps_val: "2" + value: idle + - dps_val: "3" + value: heating - entity: climate name: Probe 2 translation_key: thermostat diff --git a/custom_components/tuya_local/devices/inkbird_itc306a_thermostat.yaml b/custom_components/tuya_local/devices/inkbird_itc306a_thermostat.yaml index 42719d2130..11337e4849 100644 --- a/custom_components/tuya_local/devices/inkbird_itc306a_thermostat.yaml +++ b/custom_components/tuya_local/devices/inkbird_itc306a_thermostat.yaml @@ -3,113 +3,112 @@ legacy_type: inkbird_thermostat products: - id: wynvjn0ztufzrd0p name: Inkbird ITC-306A V3.0 -primary_entity: - entity: climate - translation_only_key: thermo_switch - dps: - - id: 101 - type: string - name: temperature_unit - - id: 103 - type: string - name: hvac_mode - mapping: - - dps_val: "on" - value: heat - - dps_val: pause - value: fan_only - - dps_val: "off" - value: "off" - icon: "mdi:thermometer-off" - icon_priority: 4 - - id: 104 - type: integer - name: current_temperature - mapping: - - scale: 10 - constraint: temperature_unit - conditions: - - dps_val: F - value_redirect: current_temperature_f - - id: 106 - type: integer - name: target_temp_low - range: - min: 0 - max: 450 - mapping: - - scale: 10 - constraint: temperature_unit - conditions: - - dps_val: F - range: - min: 320 - max: 1130 - - id: 111 - type: boolean - name: high_temp_alarm - hidden: true - mapping: - - dps_val: true - icon: "mdi:thermometer-alert" - icon_priority: 1 - - id: 112 - type: boolean - name: low_temp_alarm - hidden: true - mapping: - - dps_val: true - icon: "mdi:snowflake-alert" - icon_priority: 2 - - id: 113 - type: boolean - name: temperature_difference_alarm - hidden: true - mapping: - - dps_val: true - icon: "mdi:thermometer-alert" - icon_priority: 3 - - id: 114 - type: integer - name: target_temp_high - range: - min: 0 - max: 450 - mapping: - - scale: 10 - constraint: temperature_unit - conditions: - - dps_val: F - range: - min: 320 - max: 1130 - - id: 115 - type: boolean - name: hvac_action - mapping: - - dps_val: true - icon: "mdi:thermometer" - icon_priority: 6 - value: heating - - dps_val: false - icon: "mdi:thermometer-off" - icon_priority: 5 - value: idle - - id: 116 - type: integer - name: current_temperature_f - mapping: - - scale: 10 - hidden: true - - id: 120 - type: boolean - name: heat_time_alarm - hidden: true - mapping: - - dps_val: true - icon: "mdi:clock-alert" - icon_priority: 4 -secondary_entities: +entities: + - entity: climate + translation_only_key: thermo_switch + dps: + - id: 101 + type: string + name: temperature_unit + - id: 103 + type: string + name: hvac_mode + mapping: + - dps_val: "on" + value: heat + - dps_val: pause + value: fan_only + - dps_val: "off" + value: "off" + icon: "mdi:thermometer-off" + icon_priority: 4 + - id: 104 + type: integer + name: current_temperature + mapping: + - scale: 10 + constraint: temperature_unit + conditions: + - dps_val: F + value_redirect: current_temperature_f + - id: 106 + type: integer + name: target_temp_low + range: + min: 0 + max: 450 + mapping: + - scale: 10 + constraint: temperature_unit + conditions: + - dps_val: F + range: + min: 320 + max: 1130 + - id: 111 + type: boolean + name: high_temp_alarm + hidden: true + mapping: + - dps_val: true + icon: "mdi:thermometer-alert" + icon_priority: 1 + - id: 112 + type: boolean + name: low_temp_alarm + hidden: true + mapping: + - dps_val: true + icon: "mdi:snowflake-alert" + icon_priority: 2 + - id: 113 + type: boolean + name: temperature_difference_alarm + hidden: true + mapping: + - dps_val: true + icon: "mdi:thermometer-alert" + icon_priority: 3 + - id: 114 + type: integer + name: target_temp_high + range: + min: 0 + max: 450 + mapping: + - scale: 10 + constraint: temperature_unit + conditions: + - dps_val: F + range: + min: 320 + max: 1130 + - id: 115 + type: boolean + name: hvac_action + mapping: + - dps_val: true + icon: "mdi:thermometer" + icon_priority: 6 + value: heating + - dps_val: false + icon: "mdi:thermometer-off" + icon_priority: 5 + value: idle + - id: 116 + type: integer + name: current_temperature_f + mapping: + - scale: 10 + hidden: true + - id: 120 + type: boolean + name: heat_time_alarm + hidden: true + mapping: + - dps_val: true + icon: "mdi:clock-alert" + icon_priority: 4 - entity: number category: config name: Calibration offset diff --git a/custom_components/tuya_local/devices/inkbird_itc308_thermostat.yaml b/custom_components/tuya_local/devices/inkbird_itc308_thermostat.yaml index 761360d364..f52f09eb1f 100644 --- a/custom_components/tuya_local/devices/inkbird_itc308_thermostat.yaml +++ b/custom_components/tuya_local/devices/inkbird_itc308_thermostat.yaml @@ -2,86 +2,85 @@ name: Thermostat switch products: - id: B0eP8qYAdpUo4yR9 name: Inkbird ITC-308 -primary_entity: - entity: climate - dps: - - id: 101 - type: string - name: temperature_unit - - id: 104 - type: integer - name: current_temperature - mapping: - - scale: 10 - constraint: temperature_unit - conditions: - - dps_val: F - value_redirect: current_temperature_f - - id: 106 - type: integer - name: temperature - range: - min: -500 - max: 999 - mapping: - - scale: 10 - constraint: temperature_unit - conditions: - - dps_val: F - range: - min: -580 - max: 2100 - - id: 111 - type: boolean - name: high_temp_alarm - hidden: true - mapping: - - dps_val: true - icon: "mdi:thermometer-alert" - icon_priority: 1 - - id: 112 - type: boolean - name: low_temp_alarm - hidden: true - mapping: - - dps_val: true - icon: "mdi:snowflake-alert" - icon_priority: 2 - - id: 113 - type: boolean - name: sensor_fault_alarm - hidden: true - mapping: - - dps_val: true - icon: "mdi:thermometer-alert" - icon_priority: 3 - - id: 115 - type: string - name: hvac_action - mapping: - - dps_val: "0" - icon: "mdi:thermometer-off" - icon_priority: 5 - value: idle - - dps_val: "1" - icon: "mdi:snowflake" - icon_priority: 5 - value: cooling - - dps_val: "2" - icon: "mdi:thermometer-off" - icon_priority: 5 - value: idle - - dps_val: "3" - icon: "mdi:fire" - icon_priority: 6 - value: heating - - id: 116 - type: integer - name: current_temperature_f - mapping: - - scale: 10 - hidden: true -secondary_entities: +entities: + - entity: climate + dps: + - id: 101 + type: string + name: temperature_unit + - id: 104 + type: integer + name: current_temperature + mapping: + - scale: 10 + constraint: temperature_unit + conditions: + - dps_val: F + value_redirect: current_temperature_f + - id: 106 + type: integer + name: temperature + range: + min: -500 + max: 999 + mapping: + - scale: 10 + constraint: temperature_unit + conditions: + - dps_val: F + range: + min: -580 + max: 2100 + - id: 111 + type: boolean + name: high_temp_alarm + hidden: true + mapping: + - dps_val: true + icon: "mdi:thermometer-alert" + icon_priority: 1 + - id: 112 + type: boolean + name: low_temp_alarm + hidden: true + mapping: + - dps_val: true + icon: "mdi:snowflake-alert" + icon_priority: 2 + - id: 113 + type: boolean + name: sensor_fault_alarm + hidden: true + mapping: + - dps_val: true + icon: "mdi:thermometer-alert" + icon_priority: 3 + - id: 115 + type: string + name: hvac_action + mapping: + - dps_val: "0" + icon: "mdi:thermometer-off" + icon_priority: 5 + value: idle + - dps_val: "1" + icon: "mdi:snowflake" + icon_priority: 5 + value: cooling + - dps_val: "2" + icon: "mdi:thermometer-off" + icon_priority: 5 + value: idle + - dps_val: "3" + icon: "mdi:fire" + icon_priority: 6 + value: heating + - id: 116 + type: integer + name: current_temperature_f + mapping: + - scale: 10 + hidden: true - entity: number category: config name: Calibration offset diff --git a/custom_components/tuya_local/devices/inkbird_pth9cw_airquality.yaml b/custom_components/tuya_local/devices/inkbird_pth9cw_airquality.yaml index 4786297671..9592b487b0 100644 --- a/custom_components/tuya_local/devices/inkbird_pth9cw_airquality.yaml +++ b/custom_components/tuya_local/devices/inkbird_pth9cw_airquality.yaml @@ -1,14 +1,13 @@ name: Inkbird air quality monitor -primary_entity: - entity: sensor - class: carbon_dioxide - dps: - - id: 2 - type: integer - name: sensor - unit: ppm - class: measurement -secondary_entities: +entities: + - entity: sensor + class: carbon_dioxide + dps: + - id: 2 + type: integer + name: sensor + unit: ppm + class: measurement - entity: sensor class: temperature dps: diff --git a/custom_components/tuya_local/devices/inkbird_sousvide_cooker.yaml b/custom_components/tuya_local/devices/inkbird_sousvide_cooker.yaml index 41ddbfd9f5..8d5d15948f 100644 --- a/custom_components/tuya_local/devices/inkbird_sousvide_cooker.yaml +++ b/custom_components/tuya_local/devices/inkbird_sousvide_cooker.yaml @@ -2,59 +2,58 @@ name: Sous vide products: - id: ljrmmds82n6kln4u name: Silvercrest SSVSS 1200 A1 -primary_entity: - entity: climate - dps: - - id: 101 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: heat - - id: 102 - type: string - name: hvac_action - icon_priority: 2 - optional: true - mapping: - - dps_val: stop - value: "off" - icon: "mdi:pot-outline" - - dps_val: working - value: heating - icon: "mdi:pot-steam" - - dps_val: complete - value: idle - icon: "mdi:pot" - - dps_val: null - value: "off" - icon: "mdi:pot-outline" - - id: 103 - type: integer - name: temperature - range: - min: 0 - max: 960 - mapping: - - scale: 10 - unit: C - - id: 104 - type: integer - name: current_temperature - mapping: - - scale: 10 - - id: 107 - type: integer - name: fault - hidden: true - mapping: - - dps_val: 0 - value: 0 - - icon: "mdi:alert" - icon_priority: 1 -secondary_entities: +entities: + - entity: climate + dps: + - id: 101 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: heat + - id: 102 + type: string + name: hvac_action + icon_priority: 2 + optional: true + mapping: + - dps_val: stop + value: "off" + icon: "mdi:pot-outline" + - dps_val: working + value: heating + icon: "mdi:pot-steam" + - dps_val: complete + value: idle + icon: "mdi:pot" + - dps_val: null + value: "off" + icon: "mdi:pot-outline" + - id: 103 + type: integer + name: temperature + range: + min: 0 + max: 960 + mapping: + - scale: 10 + unit: C + - id: 104 + type: integer + name: current_temperature + mapping: + - scale: 10 + - id: 107 + type: integer + name: fault + hidden: true + mapping: + - dps_val: 0 + value: 0 + - icon: "mdi:alert" + icon_priority: 1 - entity: number name: Cooking time category: config diff --git a/custom_components/tuya_local/devices/inow_heater_element.yaml b/custom_components/tuya_local/devices/inow_heater_element.yaml index 0798a904a1..4d3a90f808 100644 --- a/custom_components/tuya_local/devices/inow_heater_element.yaml +++ b/custom_components/tuya_local/devices/inow_heater_element.yaml @@ -1,47 +1,46 @@ name: INOW heating element -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: true - value: heat - - dps_val: false - value: "off" - - id: 2 - type: integer - name: temperature - unit: C - range: - min: 15 - max: 70 - mapping: - - step: 5 - - id: 3 - type: integer - name: current_temperature - - id: 4 - type: string - name: preset_mode - mapping: - - dps_val: smart - value: comfort - - dps_val: antifreezing - value: away - - id: 19 - type: string - name: timer - optional: true - mapping: - - dps_val: "0h" - value: cancel - - dps_val: "1h" - value: "1h" - - dps_val: "2h" - value: "2h" -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: true + value: heat + - dps_val: false + value: "off" + - id: 2 + type: integer + name: temperature + unit: C + range: + min: 15 + max: 70 + mapping: + - step: 5 + - id: 3 + type: integer + name: current_temperature + - id: 4 + type: string + name: preset_mode + mapping: + - dps_val: smart + value: comfort + - dps_val: antifreezing + value: away + - id: 19 + type: string + name: timer + optional: true + mapping: + - dps_val: "0h" + value: cancel + - dps_val: "1h" + value: "1h" + - dps_val: "2h" + value: "2h" - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/inow_heater_element_v2.yaml b/custom_components/tuya_local/devices/inow_heater_element_v2.yaml index cb80415b97..53a6b8c60b 100644 --- a/custom_components/tuya_local/devices/inow_heater_element_v2.yaml +++ b/custom_components/tuya_local/devices/inow_heater_element_v2.yaml @@ -1,41 +1,40 @@ name: INOW heating element v2 -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: true - value: heat - - dps_val: false - value: "off" - - id: 102 - type: integer - name: temperature - unit: C - range: - min: 30 - max: 70 - mapping: - - step: 5 - - id: 101 - type: integer - name: current_temperature - - id: 4 - type: string - name: preset_mode - mapping: - - dps_val: comfort - value: comfort - - dps_val: antifreezin - value: away - - dps_val: eco - value: eco - - dps_val: water_temp - value: Radiator -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: true + value: heat + - dps_val: false + value: "off" + - id: 102 + type: integer + name: temperature + unit: C + range: + min: 30 + max: 70 + mapping: + - step: 5 + - id: 101 + type: integer + name: current_temperature + - id: 4 + type: string + name: preset_mode + mapping: + - dps_val: comfort + value: comfort + - dps_val: antifreezin + value: away + - dps_val: eco + value: eco + - dps_val: water_temp + value: Radiator - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/intelbras_IFR7000_lock.yaml b/custom_components/tuya_local/devices/intelbras_IFR7000_lock.yaml index e07779bcf9..0d784a6325 100644 --- a/custom_components/tuya_local/devices/intelbras_IFR7000_lock.yaml +++ b/custom_components/tuya_local/devices/intelbras_IFR7000_lock.yaml @@ -2,75 +2,74 @@ name: Door lock products: - id: a6nttc41 name: Intelbras IFR 7000 -primary_entity: - entity: lock - dps: - - id: 1 - type: integer - name: unlock_fingerprint - optional: true - persist: false - - id: 2 - type: integer - name: unlock_password - optional: true - persist: false - - id: 3 - type: integer - name: unlock_temp_pwd - optional: true - persist: false - - id: 4 - type: integer - name: unlock_dynamic_pwd - optional: true - persist: false - - id: 5 - type: integer - name: unlock_card - optional: true - persist: false - - id: 7 - type: integer - name: unlock_key - optional: true - persist: false - - id: 8 - type: boolean - name: lock - readonly: true - mapping: - - dps_val: true - value: false - - dps_val: false - value: true - - id: 9 - type: string - name: alarm - optional: true - - id: 22 - type: boolean - optional: true - name: remote_result - - id: 41 - type: integer - optional: true - persist: false - name: unlock_app - - id: 47 - type: string - name: lock_raw - optional: true - - id: 57 - type: boolean - name: lock_motor_status - optional: true - - id: 62 - type: integer - optional: true - persist: false - name: unlock_voice -secondary_entities: +entities: + - entity: lock + dps: + - id: 1 + type: integer + name: unlock_fingerprint + optional: true + persist: false + - id: 2 + type: integer + name: unlock_password + optional: true + persist: false + - id: 3 + type: integer + name: unlock_temp_pwd + optional: true + persist: false + - id: 4 + type: integer + name: unlock_dynamic_pwd + optional: true + persist: false + - id: 5 + type: integer + name: unlock_card + optional: true + persist: false + - id: 7 + type: integer + name: unlock_key + optional: true + persist: false + - id: 8 + type: boolean + name: lock + readonly: true + mapping: + - dps_val: true + value: false + - dps_val: false + value: true + - id: 9 + type: string + name: alarm + optional: true + - id: 22 + type: boolean + optional: true + name: remote_result + - id: 41 + type: integer + optional: true + persist: false + name: unlock_app + - id: 47 + type: string + name: lock_raw + optional: true + - id: 57 + type: boolean + name: lock_motor_status + optional: true + - id: 62 + type: integer + optional: true + persist: false + name: unlock_voice - entity: sensor class: battery category: diagnostic diff --git a/custom_components/tuya_local/devices/inventor_atmospherexl_dehumidifier.yaml b/custom_components/tuya_local/devices/inventor_atmospherexl_dehumidifier.yaml index 176fc550fc..935339d7ee 100644 --- a/custom_components/tuya_local/devices/inventor_atmospherexl_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/inventor_atmospherexl_dehumidifier.yaml @@ -1,72 +1,71 @@ name: Inventor Atomsphere XL dehumidifier -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 110 - type: string - name: switch - mapping: - - dps_val: "air_purifier" - value: false - - dps_val: "dehumi_air" - value: true - constraint: main_switch - conditions: - - dps_val: false - invalid: true - - id: 1 - name: main_switch - type: boolean - - id: 3 - type: string - name: humidity - range: - min: 0 - max: 80 - mapping: - - dps_val: "CO" - value: 0 - - dps_val: "40" - value: 40 - - dps_val: "45" - value: 45 - - dps_val: "50" - value: 50 - - dps_val: "55" - value: 55 - - dps_val: "60" - value: 60 - - dps_val: "65" - value: 65 - - dps_val: "70" - value: 70 - - dps_val: "75" - value: 75 - - dps_val: "80" - value: 80 - - id: 5 - type: string - name: mode - mapping: - - dps_val: auto - value: auto - - dps_val: manual - value: normal - - dps_val: drying - value: laundry - - dps_val: night - value: sleep - - id: 6 - type: integer - name: current_humidity - # The following do not have descriptions in iot.tuya.com, the names - # though can be obtained from the debugger. But functionality needs - # to be confirmed before making them separate entities - - id: 105 - type: string - name: air_purifier -secondary_entities: +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 110 + type: string + name: switch + mapping: + - dps_val: "air_purifier" + value: false + - dps_val: "dehumi_air" + value: true + constraint: main_switch + conditions: + - dps_val: false + invalid: true + - id: 1 + name: main_switch + type: boolean + - id: 3 + type: string + name: humidity + range: + min: 0 + max: 80 + mapping: + - dps_val: "CO" + value: 0 + - dps_val: "40" + value: 40 + - dps_val: "45" + value: 45 + - dps_val: "50" + value: 50 + - dps_val: "55" + value: 55 + - dps_val: "60" + value: 60 + - dps_val: "65" + value: 65 + - dps_val: "70" + value: 70 + - dps_val: "75" + value: 75 + - dps_val: "80" + value: 80 + - id: 5 + type: string + name: mode + mapping: + - dps_val: auto + value: auto + - dps_val: manual + value: normal + - dps_val: drying + value: laundry + - dps_val: night + value: sleep + - id: 6 + type: integer + name: current_humidity + # The following do not have descriptions in iot.tuya.com, the names + # though can be obtained from the debugger. But functionality needs + # to be confirmed before making them separate entities + - id: 105 + type: string + name: air_purifier - entity: fan dps: - id: 1 diff --git a/custom_components/tuya_local/devices/inventor_comfort_airconditioner.yaml b/custom_components/tuya_local/devices/inventor_comfort_airconditioner.yaml index 3ea361b60f..6f82780fad 100644 --- a/custom_components/tuya_local/devices/inventor_comfort_airconditioner.yaml +++ b/custom_components/tuya_local/devices/inventor_comfort_airconditioner.yaml @@ -4,132 +4,131 @@ products: name: Inventor AC - id: keycnvksyhjcrg8t name: Inventor Comfort MFV -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: auto - value: heat_cool - - dps_val: cold - value: cool - - dps_val: wet - value: dry - - dps_val: hot - value: heat - - dps_val: wind - value: fan_only - - id: 2 - type: integer - name: temperature - range: - min: 16 - max: 30 - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - range: - min: 64 - max: 86 - value_redirect: temp_set_f - - id: 3 - type: integer - name: current_temperature - mapping: - - scale: 2 - constraint: temperature_unit - conditions: - - dps_val: f - scale: 1 - value_redirect: temp_current_f - - id: 4 - type: string - name: mode - hidden: true - - id: 5 - type: string - name: fan_mode - mapping: - - dps_val: auto - value: auto - - dps_val: low - value: low - - dps_val: mid - value: medium - - dps_val: high - value: high - - id: 18 - type: integer - name: current_humidity - - id: 19 - type: string - name: temperature_unit - mapping: - - dps_val: c - value: C - - dps_val: f - value: F - - id: 23 - type: integer - name: temp_current_f - optional: true - hidden: true - - id: 24 - type: integer - name: temp_set_f - range: - min: 64 - max: 86 - optional: true - hidden: true - - id: 111 - type: boolean - name: new_style - - id: 117 - type: string - name: swing_mode - mapping: - - dps_val: ud_0c - value: "on" - - dps_val: ud_00 - value: "off" - - value: "off" - hidden: true - - id: 118 - type: string - name: swing_horizontal_mode - mapping: - - dps_val: lr_00 - value: "off" - - dps_val: lr_07 - value: "on" - - value: "off" - hidden: true - - id: 101 - type: boolean - name: mood_lighting - optional: true - - id: 103 - type: integer - name: co2 - optional: true - - id: 104 - type: integer - name: volatile_organic_compounds - optional: true - - id: 112 - type: integer - name: power - optional: true -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: auto + value: heat_cool + - dps_val: cold + value: cool + - dps_val: wet + value: dry + - dps_val: hot + value: heat + - dps_val: wind + value: fan_only + - id: 2 + type: integer + name: temperature + range: + min: 16 + max: 30 + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + range: + min: 64 + max: 86 + value_redirect: temp_set_f + - id: 3 + type: integer + name: current_temperature + mapping: + - scale: 2 + constraint: temperature_unit + conditions: + - dps_val: f + scale: 1 + value_redirect: temp_current_f + - id: 4 + type: string + name: mode + hidden: true + - id: 5 + type: string + name: fan_mode + mapping: + - dps_val: auto + value: auto + - dps_val: low + value: low + - dps_val: mid + value: medium + - dps_val: high + value: high + - id: 18 + type: integer + name: current_humidity + - id: 19 + type: string + name: temperature_unit + mapping: + - dps_val: c + value: C + - dps_val: f + value: F + - id: 23 + type: integer + name: temp_current_f + optional: true + hidden: true + - id: 24 + type: integer + name: temp_set_f + range: + min: 64 + max: 86 + optional: true + hidden: true + - id: 111 + type: boolean + name: new_style + - id: 117 + type: string + name: swing_mode + mapping: + - dps_val: ud_0c + value: "on" + - dps_val: ud_00 + value: "off" + - value: "off" + hidden: true + - id: 118 + type: string + name: swing_horizontal_mode + mapping: + - dps_val: lr_00 + value: "off" + - dps_val: lr_07 + value: "on" + - value: "off" + hidden: true + - id: 101 + type: boolean + name: mood_lighting + optional: true + - id: 103 + type: integer + name: co2 + optional: true + - id: 104 + type: integer + name: volatile_organic_compounds + optional: true + - id: 112 + type: integer + name: power + optional: true - entity: switch name: Emergency heat icon: "mdi:fire" diff --git a/custom_components/tuya_local/devices/inventor_evaionpro_dehumidifier.yaml b/custom_components/tuya_local/devices/inventor_evaionpro_dehumidifier.yaml index d480ba9063..cfe52a212e 100644 --- a/custom_components/tuya_local/devices/inventor_evaionpro_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/inventor_evaionpro_dehumidifier.yaml @@ -1,48 +1,48 @@ name: Inventor Eva Ion Pro dehumidifier -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - type: integer - name: humidity - range: - min: 35 - max: 85 - mapping: - - step: 5 - - id: 5 - type: string - name: mode - mapping: - - dps_val: manual - value: normal - - dps_val: continuous - value: boost - - dps_val: smart - value: auto - - dps_val: drying - value: laundry - - id: 6 - type: integer - name: current_humidity - # The following two are documented in the protocol as read/write, and appear - # in the app to be so. But there is no mention in the manual of a pump - # and likely this is an indicator that the compressor is operating. - # Water level also seems more likely to be an indicator. - # If known for sure, they can be moved to sensors (or switch/number if - # they are really configurable) - - id: 103 - type: boolean - name: pump - - id: 104 - type: integer - optional: true - name: water_level -secondary_entities: +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + type: integer + name: humidity + range: + min: 35 + max: 85 + mapping: + - step: 5 + - id: 5 + type: string + name: mode + mapping: + - dps_val: manual + value: normal + - dps_val: continuous + value: boost + - dps_val: smart + value: auto + - dps_val: drying + value: laundry + - id: 6 + type: integer + name: current_humidity + # The following two are documented in the protocol as + # read/write, and appear in the app to be so. But there is no + # mention in the manual of a pump and likely this is an + # indicator that the compressor is operating. Water level also + # seems more likely to be an indicator. If known for sure, they + # can be moved to sensors (or switch/number if they are really + # configurable) + - id: 103 + type: boolean + name: pump + - id: 104 + type: integer + optional: true + name: water_level - entity: fan dps: - id: 1 diff --git a/custom_components/tuya_local/devices/inventor_tokenslegend_airconditioner.yaml b/custom_components/tuya_local/devices/inventor_tokenslegend_airconditioner.yaml index b1b01b3968..afa5e02638 100644 --- a/custom_components/tuya_local/devices/inventor_tokenslegend_airconditioner.yaml +++ b/custom_components/tuya_local/devices/inventor_tokenslegend_airconditioner.yaml @@ -2,140 +2,139 @@ name: Air conditioner products: - id: gvraxduhxaxalell name: Inventor Leon LEUVI-09WIFI -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: auto - value: heat_cool - - dps_val: cold - value: cool - - dps_val: wet - value: dry - - dps_val: wind - value: fan_only - - dps_val: hot - value: heat - - dps_val: pre_dehumidify - value: dry - hidden: true - - dps_val: null - value: "off" - hidden: true - - id: 2 - type: integer - name: temperature - unit: C - optional: true - range: - min: 160 - max: 300 - mapping: - - scale: 10 - step: 5 - - id: 3 - type: integer - name: current_temperature - optional: true - mapping: - - scale: 10 - - id: 4 - type: string - name: mode - hidden: true - optional: true - - id: 18 - type: integer - optional: true - name: current_humidity - - id: 23 - type: integer - optional: true - name: temp_current_f - - id: 24 - type: integer - optional: true - name: temp_set_f - range: - min: 60 - max: 86 - - id: 30 - type: boolean - name: swing_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: "on" - - id: 33 - type: boolean - name: swing_horizontal_mode - optional: true - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: "on" - - value: "off" - hidden: true - - id: 101 - type: boolean - name: preset_mode - mapping: - - dps_val: true - value: away - - dps_val: false - constraint: strong - conditions: - - dps_val: false - value: comfort - - dps_val: true - value: boost - - id: 109 - type: boolean - name: strong - hidden: true - - id: 107 - type: string - name: humidity - range: - min: 35 - max: 85 - mapping: - - dps_val: cancel - value: null - hidden: true - - dps_val: "35" - value: 35 - - dps_val: "40" - value: 40 - - dps_val: "45" - value: 45 - - dps_val: "50" - value: 50 - - dps_val: "55" - value: 55 - - dps_val: "60" - value: 60 - - dps_val: "65" - value: 65 - - dps_val: "70" - value: 70 - - dps_val: "75" - value: 75 - - dps_val: "80" - value: 80 - - dps_val: "85" - value: 85 -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: auto + value: heat_cool + - dps_val: cold + value: cool + - dps_val: wet + value: dry + - dps_val: wind + value: fan_only + - dps_val: hot + value: heat + - dps_val: pre_dehumidify + value: dry + hidden: true + - dps_val: null + value: "off" + hidden: true + - id: 2 + type: integer + name: temperature + unit: C + optional: true + range: + min: 160 + max: 300 + mapping: + - scale: 10 + step: 5 + - id: 3 + type: integer + name: current_temperature + optional: true + mapping: + - scale: 10 + - id: 4 + type: string + name: mode + hidden: true + optional: true + - id: 18 + type: integer + optional: true + name: current_humidity + - id: 23 + type: integer + optional: true + name: temp_current_f + - id: 24 + type: integer + optional: true + name: temp_set_f + range: + min: 60 + max: 86 + - id: 30 + type: boolean + name: swing_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: "on" + - id: 33 + type: boolean + name: swing_horizontal_mode + optional: true + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: "on" + - value: "off" + hidden: true + - id: 101 + type: boolean + name: preset_mode + mapping: + - dps_val: true + value: away + - dps_val: false + constraint: strong + conditions: + - dps_val: false + value: comfort + - dps_val: true + value: boost + - id: 109 + type: boolean + name: strong + hidden: true + - id: 107 + type: string + name: humidity + range: + min: 35 + max: 85 + mapping: + - dps_val: cancel + value: null + hidden: true + - dps_val: "35" + value: 35 + - dps_val: "40" + value: 40 + - dps_val: "45" + value: 45 + - dps_val: "50" + value: 50 + - dps_val: "55" + value: 55 + - dps_val: "60" + value: 60 + - dps_val: "65" + value: 65 + - dps_val: "70" + value: 70 + - dps_val: "75" + value: 75 + - dps_val: "80" + value: 80 + - dps_val: "85" + value: 85 - entity: fan dps: - id: 1 diff --git a/custom_components/tuya_local/devices/ion_wifi_dimmer.yaml b/custom_components/tuya_local/devices/ion_wifi_dimmer.yaml index 575e874800..5ae0bc64bf 100644 --- a/custom_components/tuya_local/devices/ion_wifi_dimmer.yaml +++ b/custom_components/tuya_local/devices/ion_wifi_dimmer.yaml @@ -2,19 +2,18 @@ name: Dimmer products: - id: ceikasvm5p5ymcax name: Ion LED WiFi 200W NF -primary_entity: - entity: light - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - name: brightness - type: integer - range: - min: 10 - max: 1000 -secondary_entities: +entities: + - entity: light + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + name: brightness + type: integer + range: + min: 10 + max: 1000 - entity: number name: Minimum brightness category: config diff --git a/custom_components/tuya_local/devices/ipettie_w5_petfeeder.yaml b/custom_components/tuya_local/devices/ipettie_w5_petfeeder.yaml index e18668089f..81f685b880 100644 --- a/custom_components/tuya_local/devices/ipettie_w5_petfeeder.yaml +++ b/custom_components/tuya_local/devices/ipettie_w5_petfeeder.yaml @@ -2,24 +2,23 @@ name: Pet feeder products: - id: p7it0r4vcqgluka8 name: iPettie W5 -primary_entity: - entity: number - name: Manual feed - icon: "mdi:paw" - dps: - - id: 3 - type: integer - optional: true - name: value - unit: portions - range: - min: 1 - max: 12 - - id: 1 - type: string - optional: true - name: meal_plan -secondary_entities: +entities: + - entity: number + name: Manual feed + icon: "mdi:paw" + dps: + - id: 3 + type: integer + optional: true + name: value + unit: portions + range: + min: 1 + max: 12 + - id: 1 + type: string + optional: true + name: meal_plan - entity: sensor translation_key: status class: enum diff --git a/custom_components/tuya_local/devices/ips_pro_heatpump.yaml b/custom_components/tuya_local/devices/ips_pro_heatpump.yaml index 5008e6c270..7a45c74794 100644 --- a/custom_components/tuya_local/devices/ips_pro_heatpump.yaml +++ b/custom_components/tuya_local/devices/ips_pro_heatpump.yaml @@ -1,64 +1,63 @@ -name: IPS heatpump +name: Heat pump products: - id: faa9salrwxdph6hh name: IPS Pro Heatpump -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: work_mode - conditions: - - dps_val: smart - value: heat_cool - - dps_val: cool - value: cool - - dps_val: warm - value: heat - - id: 105 - type: string - name: work_mode - hidden: true - - id: 2 - name: preset_mode - type: string - mapping: - - dps_val: "silence" - value: sleep - - dps_val: "smart" - value: comfort - - dps_val: "booster" - value: boost - - id: 102 - name: current_temperature - type: integer - - id: 103 - name: temperature_unit - type: boolean - mapping: - - dps_val: false - value: F - - dps_val: true - value: C - - id: 106 - name: temperature - type: integer - - id: 107 - type: integer - name: min_temperature - - id: 108 - type: integer - name: max_temperature - - id: 143 - type: boolean - name: unknown_43 - optional: true -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: work_mode + conditions: + - dps_val: smart + value: heat_cool + - dps_val: cool + value: cool + - dps_val: warm + value: heat + - id: 105 + type: string + name: work_mode + hidden: true + - id: 2 + name: preset_mode + type: string + mapping: + - dps_val: "silence" + value: sleep + - dps_val: "smart" + value: comfort + - dps_val: "booster" + value: boost + - id: 102 + name: current_temperature + type: integer + - id: 103 + name: temperature_unit + type: boolean + mapping: + - dps_val: false + value: F + - dps_val: true + value: C + - id: 106 + name: temperature + type: integer + - id: 107 + type: integer + name: min_temperature + - id: 108 + type: integer + name: max_temperature + - id: 143 + type: boolean + name: unknown_43 + optional: true - entity: sensor name: Power level class: power_factor diff --git a/custom_components/tuya_local/devices/ir_moes_heatpump.yaml b/custom_components/tuya_local/devices/ir_moes_heatpump.yaml index 9d0dccd274..2cdef63777 100644 --- a/custom_components/tuya_local/devices/ir_moes_heatpump.yaml +++ b/custom_components/tuya_local/devices/ir_moes_heatpump.yaml @@ -4,72 +4,71 @@ products: name: Moes SD16Pro - id: aqlyorlybbtn6ox7 name: Moes IR thermostat -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: cold - value: cool - - dps_val: warm - value: heat - - dps_val: auto - value: heat_cool - - dps_val: air - value: fan_only - - dps_val: dehumidify - value: dry - - id: 2 - type: integer - name: current_temperature - mapping: - - scale: 10 - - id: 3 - type: integer - name: temperature - unit: C - range: - min: 16 - max: 30 - - id: 4 - type: string - name: mode - hidden: true - - id: 5 - type: string - name: fan_mode - mapping: - - dps_val: auto - value: auto - - dps_val: low - value: low - - dps_val: middle - value: medium - - dps_val: high - value: high - - id: 9 - type: integer - name: max_temperature - - id: 10 - type: integer - name: min_temperature - - id: 12 - type: integer - name: current_humidity - - id: 15 - type: string - name: scene - - id: 16 - type: string - name: status -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: cold + value: cool + - dps_val: warm + value: heat + - dps_val: auto + value: heat_cool + - dps_val: air + value: fan_only + - dps_val: dehumidify + value: dry + - id: 2 + type: integer + name: current_temperature + mapping: + - scale: 10 + - id: 3 + type: integer + name: temperature + unit: C + range: + min: 16 + max: 30 + - id: 4 + type: string + name: mode + hidden: true + - id: 5 + type: string + name: fan_mode + mapping: + - dps_val: auto + value: auto + - dps_val: low + value: low + - dps_val: middle + value: medium + - dps_val: high + value: high + - id: 9 + type: integer + name: max_temperature + - id: 10 + type: integer + name: min_temperature + - id: 12 + type: integer + name: current_humidity + - id: 15 + type: string + name: scene + - id: 16 + type: string + name: status - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/ir_remote_sensors.yaml b/custom_components/tuya_local/devices/ir_remote_sensors.yaml index d5dc5f987d..9264c5782f 100644 --- a/custom_components/tuya_local/devices/ir_remote_sensors.yaml +++ b/custom_components/tuya_local/devices/ir_remote_sensors.yaml @@ -1,19 +1,18 @@ name: Universal remote control products: - id: whs3cty93fzrqkpt -primary_entity: - entity: remote - dps: - - id: 201 - name: send - type: string - optional: true - - id: 202 - name: receive - type: string - optional: true - persist: false -secondary_entities: +entities: + - entity: remote + dps: + - id: 201 + name: send + type: string + optional: true + - id: 202 + name: receive + type: string + optional: true + persist: false - entity: sensor class: temperature dps: diff --git a/custom_components/tuya_local/devices/its_45hd_heatpump.yaml b/custom_components/tuya_local/devices/its_45hd_heatpump.yaml index 8f65d944b1..cb8396cc3a 100644 --- a/custom_components/tuya_local/devices/its_45hd_heatpump.yaml +++ b/custom_components/tuya_local/devices/its_45hd_heatpump.yaml @@ -2,95 +2,94 @@ name: Heat pump products: - id: hqegspadimukzmll name: ITS-4.5HD super -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: COOL - value: cool - - dps_val: HEAT - value: heat - - id: 2 - type: string - name: mode - hidden: true - - id: 4 - type: integer - name: temperature - range: - min: 15 - max: 75 - unit: C - - id: 14 - type: integer - name: EEV - - id: 17 - type: string - name: hvac_action - mapping: - - dps_val: normal - constraint: four_valve_state - conditions: - - dps_val: false - value: heating - - dps_val: true - value: cooling - - dps_val: ERR - value: "off" - - dps_val: "NO" - value: idle - - id: 18 - type: integer - name: energy_today - - id: 20 - type: integer - name: compressor_strength - - id: 21 - type: integer - name: current_temperature - - id: 28 - type: boolean - name: four_valve_state - hidden: true - - id: 30 - type: boolean - name: chlorination - - id: 40 - type: integer - name: model_code - - id: 101 - type: integer - name: current - - id: 102 - type: integer - name: voltage - - id: 103 - type: integer - name: power - - id: 104 - type: integer - name: energy - - id: 105 - type: boolean - name: electricity_monitor - - id: 106 - type: boolean - name: linkage - - id: 108 - type: boolean - name: dipswitch_1 - - id: 109 - type: boolean - name: dipswitch_2 -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: COOL + value: cool + - dps_val: HEAT + value: heat + - id: 2 + type: string + name: mode + hidden: true + - id: 4 + type: integer + name: temperature + range: + min: 15 + max: 75 + unit: C + - id: 14 + type: integer + name: EEV + - id: 17 + type: string + name: hvac_action + mapping: + - dps_val: normal + constraint: four_valve_state + conditions: + - dps_val: false + value: heating + - dps_val: true + value: cooling + - dps_val: ERR + value: "off" + - dps_val: "NO" + value: idle + - id: 18 + type: integer + name: energy_today + - id: 20 + type: integer + name: compressor_strength + - id: 21 + type: integer + name: current_temperature + - id: 28 + type: boolean + name: four_valve_state + hidden: true + - id: 30 + type: boolean + name: chlorination + - id: 40 + type: integer + name: model_code + - id: 101 + type: integer + name: current + - id: 102 + type: integer + name: voltage + - id: 103 + type: integer + name: power + - id: 104 + type: integer + name: energy + - id: 105 + type: boolean + name: electricity_monitor + - id: 106 + type: boolean + name: linkage + - id: 108 + type: boolean + name: dipswitch_1 + - id: 109 + type: boolean + name: dipswitch_2 - entity: switch translation_key: anti_frost category: config diff --git a/custom_components/tuya_local/devices/jh_pcmini.yaml b/custom_components/tuya_local/devices/jh_pcmini.yaml index 1bd1ad38d1..717ef29720 100644 --- a/custom_components/tuya_local/devices/jh_pcmini.yaml +++ b/custom_components/tuya_local/devices/jh_pcmini.yaml @@ -2,14 +2,13 @@ name: Pcie computer power products: - id: na90jncjlvw5t0ba name: Mini card pcie pc power switch -primary_entity: - entity: switch - class: outlet - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + class: outlet + dps: + - id: 1 + type: boolean + name: switch - entity: button name: Reset icon: mdi:restart diff --git a/custom_components/tuya_local/devices/jh_pcpro+.yaml b/custom_components/tuya_local/devices/jh_pcpro+.yaml index 94a95045e2..b9faa43516 100644 --- a/custom_components/tuya_local/devices/jh_pcpro+.yaml +++ b/custom_components/tuya_local/devices/jh_pcpro+.yaml @@ -2,15 +2,14 @@ name: PC power switch products: - id: rtbhfbuii82scjrp name: PCIe PC Pro -primary_entity: - entity: switch - class: outlet - dps: - - id: 1 - type: boolean - name: switch +entities: + - entity: switch + class: outlet + dps: + - id: 1 + type: boolean + name: switch -secondary_entities: - entity: button name: Reset class: restart diff --git a/custom_components/tuya_local/devices/jiahong_et72w_thermostat.yaml b/custom_components/tuya_local/devices/jiahong_et72w_thermostat.yaml index d3a1ab460b..edf86986a5 100644 --- a/custom_components/tuya_local/devices/jiahong_et72w_thermostat.yaml +++ b/custom_components/tuya_local/devices/jiahong_et72w_thermostat.yaml @@ -1,93 +1,92 @@ name: Jiahong ET-72W thermostat -primary_entity: - entity: climate - dps: - - id: 101 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: "Smart" - value: auto - - dps_val: "Manual" - value: heat - - dps_val: "Anti_frozen" - value: cool - - id: 102 - type: integer - name: temperature - range: - min: 50 - max: 400 - mapping: - - scale: 10 - step: 5 - constraint: temperature_unit - conditions: - - dps_val: true - step: 30 - range: - min: 120 - max: 750 - - id: 103 - type: string - name: mode - hidden: true - - id: 105 - type: integer - name: current_temperature - mapping: - - constraint: sensor - conditions: - - dps_val: '0' - scale: 10 - - dps_val: '1' - value_redirect: floor_temperature - - dps_val: '2' - scale: 10 - - id: 106 - type: integer - name: floor_temperature - hidden: true - mapping: - - scale: 10 - - id: 107 - name: temperature_unit - type: boolean - mapping: - - dps_val: false - value: C - - dps_val: true - value: F - - id: 111 - type: string - name: sensor - hidden: true - - id: 118 - type: boolean - name: hvac_action - mapping: - - dps_val: true - value: heating - - dps_val: false - value: idle - - id: 104 - type: integer - name: unknown_104 - - id: 109 - type: boolean - name: unknown_109 - - id: 112 - type: integer - name: unknown_112 - - id: 113 - type: integer - name: unknown_113 -secondary_entities: +entities: + - entity: climate + dps: + - id: 101 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: "Smart" + value: auto + - dps_val: "Manual" + value: heat + - dps_val: "Anti_frozen" + value: cool + - id: 102 + type: integer + name: temperature + range: + min: 50 + max: 400 + mapping: + - scale: 10 + step: 5 + constraint: temperature_unit + conditions: + - dps_val: true + step: 30 + range: + min: 120 + max: 750 + - id: 103 + type: string + name: mode + hidden: true + - id: 105 + type: integer + name: current_temperature + mapping: + - constraint: sensor + conditions: + - dps_val: '0' + scale: 10 + - dps_val: '1' + value_redirect: floor_temperature + - dps_val: '2' + scale: 10 + - id: 106 + type: integer + name: floor_temperature + hidden: true + mapping: + - scale: 10 + - id: 107 + name: temperature_unit + type: boolean + mapping: + - dps_val: false + value: C + - dps_val: true + value: F + - id: 111 + type: string + name: sensor + hidden: true + - id: 118 + type: boolean + name: hvac_action + mapping: + - dps_val: true + value: heating + - dps_val: false + value: idle + - id: 104 + type: integer + name: unknown_104 + - id: 109 + type: boolean + name: unknown_109 + - id: 112 + type: integer + name: unknown_112 + - id: 113 + type: integer + name: unknown_113 - entity: lock name: Screen lock category: config diff --git a/custom_components/tuya_local/devices/jjpro_jpd01_dehumidifier.yaml b/custom_components/tuya_local/devices/jjpro_jpd01_dehumidifier.yaml index 10e1b45ac8..27ef539c83 100644 --- a/custom_components/tuya_local/devices/jjpro_jpd01_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/jjpro_jpd01_dehumidifier.yaml @@ -1,63 +1,63 @@ -name: JJPro JPD01 dehumidifier +name: Dehumidifier products: - id: j4aeex9xltjayqxf -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - name: switch - type: boolean - mapping: - - dps_val: false - icon: "mdi:air-humidifier-off" - icon_priority: 3 - - dps_val: true - icon: "mdi:air-humidifier" - icon_priority: 5 - - id: 2 - name: mode - type: string - mapping: - - dps_val: "0" - value: normal - icon: "mdi:water-outline" - icon_priority: 4 - - dps_val: "1" - value: boost - icon: "mdi:water-plus-outline" - icon_priority: 4 - - dps_val: "2" - value: laundry - icon: "mdi:tshirt-crew-outline" - icon_priority: 4 - - dps_val: "3" - value: purify - icon: "mdi:tailwind" - icon_priority: 4 - - id: 4 - type: integer - name: humidity - range: - min: 30 - max: 80 - mapping: - - step: 5 - - id: 101 - type: boolean - name: unknown_101 - - id: 104 - type: integer - name: current_humidity - - id: 105 - type: boolean - name: defrosting - hidden: true - mapping: - - dps_val: true - icon: "mdi:snowflake-melt" - icon_priority: 2 -secondary_entities: + name: JJPro JPD01 dehumidifier +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + name: switch + type: boolean + mapping: + - dps_val: false + icon: "mdi:air-humidifier-off" + icon_priority: 3 + - dps_val: true + icon: "mdi:air-humidifier" + icon_priority: 5 + - id: 2 + name: mode + type: string + mapping: + - dps_val: "0" + value: normal + icon: "mdi:water-outline" + icon_priority: 4 + - dps_val: "1" + value: boost + icon: "mdi:water-plus-outline" + icon_priority: 4 + - dps_val: "2" + value: laundry + icon: "mdi:tshirt-crew-outline" + icon_priority: 4 + - dps_val: "3" + value: purify + icon: "mdi:tailwind" + icon_priority: 4 + - id: 4 + type: integer + name: humidity + range: + min: 30 + max: 80 + mapping: + - step: 5 + - id: 101 + type: boolean + name: unknown_101 + - id: 104 + type: integer + name: current_humidity + - id: 105 + type: boolean + name: defrosting + hidden: true + mapping: + - dps_val: true + icon: "mdi:snowflake-melt" + icon_priority: 2 - entity: fan dps: - id: 1 diff --git a/custom_components/tuya_local/devices/jjpro_jpd02_dehumidifier.yaml b/custom_components/tuya_local/devices/jjpro_jpd02_dehumidifier.yaml index 81bf494631..427ff8a825 100644 --- a/custom_components/tuya_local/devices/jjpro_jpd02_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/jjpro_jpd02_dehumidifier.yaml @@ -1,48 +1,48 @@ -name: JJPro JPD02 dehumidifier +name: Dehumidifier products: - id: vraaaueoxtrhksth -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - name: switch - type: boolean - mapping: - - dps_val: false - icon: "mdi:air-humidifier-off" - icon_priority: 3 - - dps_val: true - icon: "mdi:air-humidifier" - icon_priority: 5 - - id: 2 - type: integer - name: humidity - range: - min: 30 - max: 80 - mapping: - - step: 5 - - id: 5 - name: mode - type: string - mapping: - - dps_val: Continuities - value: boost - icon: "mdi:tshirt-crew-outline" - icon_priority: 4 - - dps_val: Auto - value: auto - icon: "mdi:water-outline" - icon_priority: 4 - - dps_val: Sleep - value: sleep - icon: "mdi:weather-night" - icon_priority: 4 - - id: 6 - type: integer - name: current_humidity -secondary_entities: + name: JJPro JPD02 dehumidifier +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + name: switch + type: boolean + mapping: + - dps_val: false + icon: "mdi:air-humidifier-off" + icon_priority: 3 + - dps_val: true + icon: "mdi:air-humidifier" + icon_priority: 5 + - id: 2 + type: integer + name: humidity + range: + min: 30 + max: 80 + mapping: + - step: 5 + - id: 5 + name: mode + type: string + mapping: + - dps_val: Continuities + value: boost + icon: "mdi:tshirt-crew-outline" + icon_priority: 4 + - dps_val: Auto + value: auto + icon: "mdi:water-outline" + icon_priority: 4 + - dps_val: Sleep + value: sleep + icon: "mdi:weather-night" + icon_priority: 4 + - id: 6 + type: integer + name: current_humidity - entity: fan dps: - id: 1 diff --git a/custom_components/tuya_local/devices/juskys_oh125bw2_radiator.yaml b/custom_components/tuya_local/devices/juskys_oh125bw2_radiator.yaml index 5b5c66472c..7c281ff8ac 100644 --- a/custom_components/tuya_local/devices/juskys_oh125bw2_radiator.yaml +++ b/custom_components/tuya_local/devices/juskys_oh125bw2_radiator.yaml @@ -2,36 +2,35 @@ name: Oil radiator products: - id: fuqsuq41dqdtzq0n name: Juskys OH125BW2 -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: heat - - id: 2 - type: integer - name: temperature - unit: C - range: - min: 5 - max: 50 - - id: 4 - type: string - name: preset_mode - mapping: - - dps_val: "0" - value: away - - dps_val: "1" - value: eco - - dps_val: "2" - value: comfort -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: heat + - id: 2 + type: integer + name: temperature + unit: C + range: + min: 5 + max: 50 + - id: 4 + type: string + name: preset_mode + mapping: + - dps_val: "0" + value: away + - dps_val: "1" + value: eco + - dps_val: "2" + value: comfort - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/kabum_smart500_vacuum.yaml b/custom_components/tuya_local/devices/kabum_smart500_vacuum.yaml index 69d03743b4..63b15b8868 100644 --- a/custom_components/tuya_local/devices/kabum_smart500_vacuum.yaml +++ b/custom_components/tuya_local/devices/kabum_smart500_vacuum.yaml @@ -1,80 +1,79 @@ -name: Kabum Smart 500 +name: Robot vacuum products: - id: wexaeucvbdawkkpo - name: Robô Aspirador de Pó KaBuM! Smart 500 -primary_entity: - entity: vacuum - dps: - - id: 1 - type: boolean - name: power - - id: 11 - type: bitfield - name: error - hidden: true - - id: 25 - type: boolean - name: activate - - id: 26 - type: string - name: direction_control - optional: true - mapping: - - dps_val: forward - value: forward - - dps_val: backward - value: reverse - - dps_val: turn_left - value: left - - dps_val: turn_right - value: right - - dps_val: stop - value: stop - - id: 27 - type: string - name: command - mapping: - - dps_val: standby - value: stop - - dps_val: smart - value: smart - - dps_val: spiral - value: clean_spot - - dps_val: single - value: single_room - - dps_val: wall_follow - value: wall_follow - - dps_val: chargego - value: return_to_base - - id: 28 - type: string - name: status - mapping: - - dps_val: cleanning - value: cleaning - - dps_val: returning - value: returning - - dps_val: charging - value: charging - - dps_val: standby - value: standby - - dps_val: chargecompleted - value: charged - - id: 29 - type: boolean - name: locate - optional: true - - id: 30 - type: string - name: fan_speed - mapping: - - dps_val: low - value: Low - - dps_val: normal - value: Medium - - dps_val: high - value: High -secondary_entities: + name: Kabum Smart 500 +entities: + - entity: vacuum + dps: + - id: 1 + type: boolean + name: power + - id: 11 + type: bitfield + name: error + hidden: true + - id: 25 + type: boolean + name: activate + - id: 26 + type: string + name: direction_control + optional: true + mapping: + - dps_val: forward + value: forward + - dps_val: backward + value: reverse + - dps_val: turn_left + value: left + - dps_val: turn_right + value: right + - dps_val: stop + value: stop + - id: 27 + type: string + name: command + mapping: + - dps_val: standby + value: stop + - dps_val: smart + value: smart + - dps_val: spiral + value: clean_spot + - dps_val: single + value: single_room + - dps_val: wall_follow + value: wall_follow + - dps_val: chargego + value: return_to_base + - id: 28 + type: string + name: status + mapping: + - dps_val: cleanning + value: cleaning + - dps_val: returning + value: returning + - dps_val: charging + value: charging + - dps_val: standby + value: standby + - dps_val: chargecompleted + value: charged + - id: 29 + type: boolean + name: locate + optional: true + - id: 30 + type: string + name: fan_speed + mapping: + - dps_val: low + value: Low + - dps_val: normal + value: Medium + - dps_val: high + value: High - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/kabum_smart700_v2023_vaccum.yaml b/custom_components/tuya_local/devices/kabum_smart700_v2023_vaccum.yaml index 8d33062c7d..6d032ef72a 100644 --- a/custom_components/tuya_local/devices/kabum_smart700_v2023_vaccum.yaml +++ b/custom_components/tuya_local/devices/kabum_smart700_v2023_vaccum.yaml @@ -5,169 +5,168 @@ products: name: Kabum Smart 700 Rev 2023 - id: yiarxtixzkmnegxk name: Zedar R600 -primary_entity: - entity: vacuum - dps: - - id: 1 - type: boolean - name: activate - optional: true - mapping: - - dps_val: false - constraint: pause - conditions: - - dps_val: true - value: false - - dps_val: false - value: false - hidden: true - - dps_val: null - value: false - hidden: true - - dps_val: true - constraint: pause - conditions: - - dps_val: false - value: true - - dps_val: true - value: true - hidden: true - - dps_val: null - value: true - hidden: true - - dps_val: null - value: false - hidden: true - - id: 2 - type: boolean - optional: true - name: pause - hidden: true - - id: 4 - type: string - name: command - mapping: - - dps_val: smart - value: smart - - dps_val: chargego - value: return_to_base - - dps_val: zone - value: zone - - dps_val: pose - value: go_to_position - - dps_val: wallfollow - value: wall_follow - - dps_val: selectroom - value: room - - id: 5 - type: string - name: status - mapping: - - dps_val: standby - value: standby - - dps_val: smart - value: cleaning - - dps_val: smart_clean - value: cleaning - - dps_val: zone_clean - value: cleaning - - dps_val: part_clean - value: cleaning - - dps_val: cleaning - value: cleaning - - dps_val: paused - value: paused - - dps_val: goto_pos - value: going_to_location - - dps_val: pos_arrived - value: on_location - - dps_val: pos_unarrive - value: cannot_find_location - - dps_val: goto_charge - value: returning - - dps_val: charging - value: charging - - dps_val: charge_done - value: charged - - dps_val: sleep - value: sleep - - dps_val: select_room - value: select_room - - dps_val: wall_follow - value: wall_follow - - dps_val: direction_control - value: direction_control - - id: 9 - type: string - name: fan_speed - mapping: - - dps_val: turnoff - value: "Off" - - dps_val: gentle - value: Low - - dps_val: normal - value: Medium - - dps_val: strong - value: High - - id: 11 - type: boolean - optional: true - name: locate - - id: 12 - type: string - optional: true - name: direction_control - mapping: - - dps_val: forward - value: forward - - dps_val: backward - value: reverse - - dps_val: turn_left - value: left - - dps_val: turn_right - value: right - - dps_val: stop - value: stop - - id: 14 - type: string - optional: true - name: path_data - - id: 15 - type: string - optional: true - name: complex_command - - id: 16 - type: string - optional: true - name: request - mapping: - - dps_val: get_map - value: Get map - - dps_val: get_path - value: Get path - - dps_val: get_both - value: Get both - - id: 28 - type: bitfield - name: error - hidden: true - # - id: 32 - # type: string - # optional: true - # name: device_timer - - id: 33 - type: string - optional: true - name: disturb_time_set - # - id: 34 - # type: string - # optional: true - # name: device_info - - id: 35 - type: string - optional: true - name: voice_data -secondary_entities: +entities: + - entity: vacuum + dps: + - id: 1 + type: boolean + name: activate + optional: true + mapping: + - dps_val: false + constraint: pause + conditions: + - dps_val: true + value: false + - dps_val: false + value: false + hidden: true + - dps_val: null + value: false + hidden: true + - dps_val: true + constraint: pause + conditions: + - dps_val: false + value: true + - dps_val: true + value: true + hidden: true + - dps_val: null + value: true + hidden: true + - dps_val: null + value: false + hidden: true + - id: 2 + type: boolean + optional: true + name: pause + hidden: true + - id: 4 + type: string + name: command + mapping: + - dps_val: smart + value: smart + - dps_val: chargego + value: return_to_base + - dps_val: zone + value: zone + - dps_val: pose + value: go_to_position + - dps_val: wallfollow + value: wall_follow + - dps_val: selectroom + value: room + - id: 5 + type: string + name: status + mapping: + - dps_val: standby + value: standby + - dps_val: smart + value: cleaning + - dps_val: smart_clean + value: cleaning + - dps_val: zone_clean + value: cleaning + - dps_val: part_clean + value: cleaning + - dps_val: cleaning + value: cleaning + - dps_val: paused + value: paused + - dps_val: goto_pos + value: going_to_location + - dps_val: pos_arrived + value: on_location + - dps_val: pos_unarrive + value: cannot_find_location + - dps_val: goto_charge + value: returning + - dps_val: charging + value: charging + - dps_val: charge_done + value: charged + - dps_val: sleep + value: sleep + - dps_val: select_room + value: select_room + - dps_val: wall_follow + value: wall_follow + - dps_val: direction_control + value: direction_control + - id: 9 + type: string + name: fan_speed + mapping: + - dps_val: turnoff + value: "Off" + - dps_val: gentle + value: Low + - dps_val: normal + value: Medium + - dps_val: strong + value: High + - id: 11 + type: boolean + optional: true + name: locate + - id: 12 + type: string + optional: true + name: direction_control + mapping: + - dps_val: forward + value: forward + - dps_val: backward + value: reverse + - dps_val: turn_left + value: left + - dps_val: turn_right + value: right + - dps_val: stop + value: stop + - id: 14 + type: string + optional: true + name: path_data + - id: 15 + type: string + optional: true + name: complex_command + - id: 16 + type: string + optional: true + name: request + mapping: + - dps_val: get_map + value: Get map + - dps_val: get_path + value: Get path + - dps_val: get_both + value: Get both + - id: 28 + type: bitfield + name: error + hidden: true + # - id: 32 + # type: string + # optional: true + # name: device_timer + - id: 33 + type: string + optional: true + name: disturb_time_set + # - id: 34 + # type: string + # optional: true + # name: device_info + - id: 35 + type: string + optional: true + name: voice_data - entity: button name: Start icon: "mdi:play" diff --git a/custom_components/tuya_local/devices/kabum_smart700_vacuum.yaml b/custom_components/tuya_local/devices/kabum_smart700_vacuum.yaml index 20f3e61585..48a2693069 100644 --- a/custom_components/tuya_local/devices/kabum_smart700_vacuum.yaml +++ b/custom_components/tuya_local/devices/kabum_smart700_vacuum.yaml @@ -2,99 +2,98 @@ name: Robot vacuum products: - id: pu5cpxucdrdrr21a name: Kabum Smart 700 -primary_entity: - entity: vacuum - dps: - - id: 2 - type: boolean - name: activate - - id: 3 - type: string - name: command - mapping: - - dps_val: smart - value: smart - - dps_val: zone - value: zone - - dps_val: pose - value: go_to_position - - dps_val: part - value: clean_spot - - dps_val: chargego - value: return_to_base - - dps_val: wallfollow - value: wall_follow - - dps_val: selectroom - value: select_room - - id: 4 - type: string - name: direction_control - optional: true - mapping: - - dps_val: forward - value: forward - - dps_val: backward - value: reverse - - dps_val: turn_left - value: left - - dps_val: turn_right - value: right - - dps_val: stop - value: stop - - id: 5 - type: string - name: status - mapping: - - dps_val: standby - value: standby - - dps_val: smart_clean - value: cleaning - - dps_val: zone_clean - value: cleaning - - dps_val: part_clean - value: cleaning - - dps_val: paused - value: pause - - dps_val: goto_pos - value: going_to_location - - dps_val: pos_arrived - value: on_location - - dps_val: pos_unarrive - value: cannot_find_location - - dps_val: to_charge - value: returning - - dps_val: charging - value: charging - - dps_val: charge_done - value: charged - - dps_val: sleep - value: sleep - - dps_val: fault - value: error - - dps_val: wall_follow - value: wall_follow - - dps_val: direction_control - value: direction_control - - dps_val: selectroom - value: select_room - - id: 13 - type: boolean - name: locate - optional: true - - id: 14 - type: string - name: fan_speed - mapping: - - dps_val: strong - value: High - - dps_val: normal - value: Medium - - dps_val: quiet - value: Low - - id: 101 - type: boolean - name: pause -secondary_entities: +entities: + - entity: vacuum + dps: + - id: 2 + type: boolean + name: activate + - id: 3 + type: string + name: command + mapping: + - dps_val: smart + value: smart + - dps_val: zone + value: zone + - dps_val: pose + value: go_to_position + - dps_val: part + value: clean_spot + - dps_val: chargego + value: return_to_base + - dps_val: wallfollow + value: wall_follow + - dps_val: selectroom + value: select_room + - id: 4 + type: string + name: direction_control + optional: true + mapping: + - dps_val: forward + value: forward + - dps_val: backward + value: reverse + - dps_val: turn_left + value: left + - dps_val: turn_right + value: right + - dps_val: stop + value: stop + - id: 5 + type: string + name: status + mapping: + - dps_val: standby + value: standby + - dps_val: smart_clean + value: cleaning + - dps_val: zone_clean + value: cleaning + - dps_val: part_clean + value: cleaning + - dps_val: paused + value: pause + - dps_val: goto_pos + value: going_to_location + - dps_val: pos_arrived + value: on_location + - dps_val: pos_unarrive + value: cannot_find_location + - dps_val: to_charge + value: returning + - dps_val: charging + value: charging + - dps_val: charge_done + value: charged + - dps_val: sleep + value: sleep + - dps_val: fault + value: error + - dps_val: wall_follow + value: wall_follow + - dps_val: direction_control + value: direction_control + - dps_val: selectroom + value: select_room + - id: 13 + type: boolean + name: locate + optional: true + - id: 14 + type: string + name: fan_speed + mapping: + - dps_val: strong + value: High + - dps_val: normal + value: Medium + - dps_val: quiet + value: Low + - id: 101 + type: boolean + name: pause - entity: sensor class: battery dps: diff --git a/custom_components/tuya_local/devices/kcvents_vt501_fan.yaml b/custom_components/tuya_local/devices/kcvents_vt501_fan.yaml index e5ebf5741f..b5fc2af0e0 100755 --- a/custom_components/tuya_local/devices/kcvents_vt501_fan.yaml +++ b/custom_components/tuya_local/devices/kcvents_vt501_fan.yaml @@ -2,114 +2,113 @@ name: Heat Recovery Ventilator products: - id: 5p0togo3y3yzgp2p name: KCvents VT-501 -primary_entity: - entity: fan - translation_only_key: ventilation - dps: - - id: 1 - type: boolean - name: switch - - id: 101 - type: boolean - name: speed - mapping: - - dps_val: true - value: 33 - - dps_val: dummy_speed1 - value: 66 - value_redirect: speed2 - - dps_val: dummy_speed2 - value: 100 - value_redirect: speed3 - - dps_val: false - value_redirect: speed2 - - id: 102 - type: boolean - name: speed2 - mapping: - - dps_val: true - value: 66 - - dps_val: false - value_redirect: speed3 - hidden: true - - id: 103 - type: boolean - name: speed3 - mapping: - - dps_val: true - value: 100 - - dps_val: false - value: 0 - hidden: true - - id: 105 - type: boolean - name: preset_mode - mapping: - - dps_val: true - value: "Low Humidity" - - dps_val: dummy_mode1 - value: "Medium Humidity" - value_redirect: preset_mode1 - - dps_val: dummy_mode2 - value: "High Humidity" - value_redirect: preset_mode2 - - dps_val: dummy_mode3 - value: fresh - value_redirect: preset_mode3 - - dps_val: dummy_mode4 - value: anti-condensation - value_redirect: preset_mode4 - - dps_val: dummy_mode5 - value: circulate - value_redirect: preset_mode5 - - dps_val: false - value_redirect: preset_mode1 - - id: 106 - type: boolean - name: preset_mode1 - mapping: - - dps_val: true - value: "Medium Humidity" - - dps_val: false - value_redirect: preset_mode2 - hidden: true - - id: 107 - type: boolean - name: preset_mode2 - mapping: - - dps_val: true - value: "High Humidity" - - dps_val: false - value_redirect: preset_mode3 - hidden: true - - id: 111 - type: boolean - name: preset_mode3 - mapping: - - dps_val: true - value: fresh - - dps_val: false - value_redirect: preset_mode4 - hidden: true - - id: 112 - type: boolean - name: preset_mode4 - mapping: - - dps_val: true - value: anti-condensation - - dps_val: false - value_redirect: preset_mode5 - hidden: true - - id: 113 - type: boolean - name: preset_mode5 - mapping: - - dps_val: true - value: circulate - - dps_val: false - value: NONE - hidden: true -secondary_entities: +entities: + - entity: fan + translation_only_key: ventilation + dps: + - id: 1 + type: boolean + name: switch + - id: 101 + type: boolean + name: speed + mapping: + - dps_val: true + value: 33 + - dps_val: dummy_speed1 + value: 66 + value_redirect: speed2 + - dps_val: dummy_speed2 + value: 100 + value_redirect: speed3 + - dps_val: false + value_redirect: speed2 + - id: 102 + type: boolean + name: speed2 + mapping: + - dps_val: true + value: 66 + - dps_val: false + value_redirect: speed3 + hidden: true + - id: 103 + type: boolean + name: speed3 + mapping: + - dps_val: true + value: 100 + - dps_val: false + value: 0 + hidden: true + - id: 105 + type: boolean + name: preset_mode + mapping: + - dps_val: true + value: "Low Humidity" + - dps_val: dummy_mode1 + value: "Medium Humidity" + value_redirect: preset_mode1 + - dps_val: dummy_mode2 + value: "High Humidity" + value_redirect: preset_mode2 + - dps_val: dummy_mode3 + value: fresh + value_redirect: preset_mode3 + - dps_val: dummy_mode4 + value: anti-condensation + value_redirect: preset_mode4 + - dps_val: dummy_mode5 + value: circulate + value_redirect: preset_mode5 + - dps_val: false + value_redirect: preset_mode1 + - id: 106 + type: boolean + name: preset_mode1 + mapping: + - dps_val: true + value: "Medium Humidity" + - dps_val: false + value_redirect: preset_mode2 + hidden: true + - id: 107 + type: boolean + name: preset_mode2 + mapping: + - dps_val: true + value: "High Humidity" + - dps_val: false + value_redirect: preset_mode3 + hidden: true + - id: 111 + type: boolean + name: preset_mode3 + mapping: + - dps_val: true + value: fresh + - dps_val: false + value_redirect: preset_mode4 + hidden: true + - id: 112 + type: boolean + name: preset_mode4 + mapping: + - dps_val: true + value: anti-condensation + - dps_val: false + value_redirect: preset_mode5 + hidden: true + - id: 113 + type: boolean + name: preset_mode5 + mapping: + - dps_val: true + value: circulate + - dps_val: false + value: NONE + hidden: true - entity: sensor class: humidity dps: diff --git a/custom_components/tuya_local/devices/kennedy_fireplace.yaml b/custom_components/tuya_local/devices/kennedy_fireplace.yaml index ea5537f779..4767fb7ff9 100644 --- a/custom_components/tuya_local/devices/kennedy_fireplace.yaml +++ b/custom_components/tuya_local/devices/kennedy_fireplace.yaml @@ -2,93 +2,92 @@ name: Fireplace products: - id: x6yepotm52a8pfbv name: Kennedy JR without top light -primary_entity: - entity: climate - icon: "mdi:fireplace" - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: heat - - id: 3 - name: current_temperature - type: integer - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: temp_current_f - - id: 5 - name: temperature - type: string - mapping: - - constraint: temperature_unit - conditions: - - dps_val: c - range: - min: 16 - max: 30 - mapping: - - dps_val: "1" - value: 16 - - dps_val: "2" - value: 19 - - dps_val: "3" - value: 21 - - dps_val: "4" - value: 23 - - dps_val: "5" - value: 25 - - dps_val: "6" - value: 27 - - dps_val: "7" - value: 30 - - dps_val: f - range: - min: 61 - max: 86 - mapping: - - dps_val: "1" - value: 61 - - dps_val: "2" - value: 66 - - dps_val: "3" - value: 70 - - dps_val: "4" - value: 73 - - dps_val: "5" - value: 77 - - dps_val: "6" - value: 80 - - dps_val: "7" - value: 86 - - id: 13 - name: temperature_unit - type: string - mapping: - - dps_val: f - value: F - - dps_val: c - value: C - - id: 15 - name: temp_current_f - type: integer - hidden: true - - id: 107 - name: fan_mode - type: string - mapping: - - dps_val: "0" - value: "off" - - dps_val: "1" - value: low - - dps_val: "2" - value: high -secondary_entities: +entities: + - entity: climate + icon: "mdi:fireplace" + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: heat + - id: 3 + name: current_temperature + type: integer + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: temp_current_f + - id: 5 + name: temperature + type: string + mapping: + - constraint: temperature_unit + conditions: + - dps_val: c + range: + min: 16 + max: 30 + mapping: + - dps_val: "1" + value: 16 + - dps_val: "2" + value: 19 + - dps_val: "3" + value: 21 + - dps_val: "4" + value: 23 + - dps_val: "5" + value: 25 + - dps_val: "6" + value: 27 + - dps_val: "7" + value: 30 + - dps_val: f + range: + min: 61 + max: 86 + mapping: + - dps_val: "1" + value: 61 + - dps_val: "2" + value: 66 + - dps_val: "3" + value: 70 + - dps_val: "4" + value: 73 + - dps_val: "5" + value: 77 + - dps_val: "6" + value: 80 + - dps_val: "7" + value: 86 + - id: 13 + name: temperature_unit + type: string + mapping: + - dps_val: f + value: F + - dps_val: c + value: C + - id: 15 + name: temp_current_f + type: integer + hidden: true + - id: 107 + name: fan_mode + type: string + mapping: + - dps_val: "0" + value: "off" + - dps_val: "1" + value: low + - dps_val: "2" + value: high - entity: select translation_key: timer category: config diff --git a/custom_components/tuya_local/devices/kerui_200w_camera.yaml b/custom_components/tuya_local/devices/kerui_200w_camera.yaml index 69aa265ba8..9af17f6ebf 100644 --- a/custom_components/tuya_local/devices/kerui_200w_camera.yaml +++ b/custom_components/tuya_local/devices/kerui_200w_camera.yaml @@ -2,33 +2,32 @@ name: Camera products: - id: rahgfyryabpbyrql name: Kerui 200W -primary_entity: - entity: camera - dps: - - id: 105 - type: boolean - name: switch - mapping: - - dps_val: true - value: false - - dps_val: false - value: true - - id: 115 - name: snapshot - type: base64 - optional: true - sensitive: true - - id: 134 - name: motion_enable - type: boolean - - id: 150 - name: record - type: boolean - - id: 212 - type: utf16b64 - optional: true - name: push_message -secondary_entities: +entities: + - entity: camera + dps: + - id: 105 + type: boolean + name: switch + mapping: + - dps_val: true + value: false + - dps_val: false + value: true + - id: 115 + name: snapshot + type: base64 + optional: true + sensitive: true + - id: 134 + name: motion_enable + type: boolean + - id: 150 + name: record + type: boolean + - id: 212 + type: utf16b64 + optional: true + name: push_message - entity: light translation_key: indicator category: config diff --git a/custom_components/tuya_local/devices/kerui_300w_camera.yaml b/custom_components/tuya_local/devices/kerui_300w_camera.yaml index cd7f01d447..584c0954ee 100644 --- a/custom_components/tuya_local/devices/kerui_300w_camera.yaml +++ b/custom_components/tuya_local/devices/kerui_300w_camera.yaml @@ -4,37 +4,36 @@ products: name: Kerui JS-P162 300W - id: o9jlvpqqunankygf name: Fuers 5MP indoor -primary_entity: - entity: camera - dps: - - id: 105 - name: switch - type: boolean - mapping: - - dps_val: true - value: false - - dps_val: false - value: true - - id: 115 - name: snapshot - type: base64 - optional: true - sensitive: true - - id: 134 - name: motion_enable - type: boolean - - id: 150 - name: record - type: boolean - - id: 212 - type: utf16b64 - optional: true - name: push_message - - id: 241 - type: string - optional: true - name: resolution_change -secondary_entities: +entities: + - entity: camera + dps: + - id: 105 + name: switch + type: boolean + mapping: + - dps_val: true + value: false + - dps_val: false + value: true + - id: 115 + name: snapshot + type: base64 + optional: true + sensitive: true + - id: 134 + name: motion_enable + type: boolean + - id: 150 + name: record + type: boolean + - id: 212 + type: utf16b64 + optional: true + name: push_message + - id: 241 + type: string + optional: true + name: resolution_change - entity: light translation_key: indicator category: config diff --git a/custom_components/tuya_local/devices/kesser_infrared_heater.yaml b/custom_components/tuya_local/devices/kesser_infrared_heater.yaml index b353bfbbd2..60d509d8ed 100644 --- a/custom_components/tuya_local/devices/kesser_infrared_heater.yaml +++ b/custom_components/tuya_local/devices/kesser_infrared_heater.yaml @@ -2,15 +2,14 @@ name: Infrared heater products: - id: trsas9jlfgcbxhq9 name: Kesser 3000W -primary_entity: - entity: switch - name: Power - icon: "mdi:radiator" - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + name: Power + icon: "mdi:radiator" + dps: + - id: 1 + type: boolean + name: switch - entity: select name: Mode icon: "mdi:radiator" diff --git a/custom_components/tuya_local/devices/kesser_infrared_heater_floodlights.yaml b/custom_components/tuya_local/devices/kesser_infrared_heater_floodlights.yaml index 3be052e52f..d511f596ad 100644 --- a/custom_components/tuya_local/devices/kesser_infrared_heater_floodlights.yaml +++ b/custom_components/tuya_local/devices/kesser_infrared_heater_floodlights.yaml @@ -2,14 +2,13 @@ name: Heater with light products: - id: trsas9jlfgcbxhq9 name: Kesser 3000W Floodlights -primary_entity: - entity: switch - icon: "mdi:radiator" - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + icon: "mdi:radiator" + dps: + - id: 1 + type: boolean + name: switch - entity: select name: Mode icon: "mdi:radiator" diff --git a/custom_components/tuya_local/devices/kesser_infrared_wall_heater.yaml b/custom_components/tuya_local/devices/kesser_infrared_wall_heater.yaml index b311b9d7df..aa2d46abc9 100644 --- a/custom_components/tuya_local/devices/kesser_infrared_wall_heater.yaml +++ b/custom_components/tuya_local/devices/kesser_infrared_wall_heater.yaml @@ -2,37 +2,36 @@ name: Infrared wall heater products: - id: ajlnotpa7oymbbte name: Kesser 400W -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: true - value: heat - - dps_val: false - value: "off" - - id: 2 - name: temperature - type: integer - unit: C - range: - min: 10 - max: 30 - - id: 3 - type: integer - name: current_temperature - - id: 11 - type: string - name: hvac_action - mapping: - - dps_val: "heating" - value: idle - - dps_val: "standby" - value: heating -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: true + value: heat + - dps_val: false + value: "off" + - id: 2 + name: temperature + type: integer + unit: C + range: + min: 10 + max: 30 + - id: 3 + type: integer + name: current_temperature + - id: 11 + type: string + name: hvac_action + mapping: + - dps_val: "heating" + value: idle + - dps_val: "standby" + value: heating - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/keyun_rgb_ceilingfan.yaml b/custom_components/tuya_local/devices/keyun_rgb_ceilingfan.yaml index db52ff01c6..9ce20fde0b 100644 --- a/custom_components/tuya_local/devices/keyun_rgb_ceilingfan.yaml +++ b/custom_components/tuya_local/devices/keyun_rgb_ceilingfan.yaml @@ -2,34 +2,33 @@ name: Ceiling fan products: - id: lonfamz9k72cpjgq name: Keyun MKCFE002 -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 60 - type: boolean - name: switch - - id: 61 - type: string - name: preset_mode - mapping: - - dps_val: fresh - value: fresh - - dps_val: nature - value: nature - - id: 62 - type: integer - name: speed - range: - min: 1 - max: 100 - - id: 63 - type: string - name: direction - - id: 106 - type: boolean - name: oscillate -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 60 + type: boolean + name: switch + - id: 61 + type: string + name: preset_mode + mapping: + - dps_val: fresh + value: fresh + - dps_val: nature + value: nature + - id: 62 + type: integer + name: speed + range: + min: 1 + max: 100 + - id: 63 + type: string + name: direction + - id: 106 + type: boolean + name: oscillate - entity: light dps: - id: 20 diff --git a/custom_components/tuya_local/devices/kilo_plus_air_purifier.yaml b/custom_components/tuya_local/devices/kilo_plus_air_purifier.yaml index 875a82a29b..e5894b35a5 100644 --- a/custom_components/tuya_local/devices/kilo_plus_air_purifier.yaml +++ b/custom_components/tuya_local/devices/kilo_plus_air_purifier.yaml @@ -2,20 +2,19 @@ name: Air purifier products: - id: ueldkqa5dggrzrio name: Kilo Plus Air purifier -primary_entity: - entity: fan - icon: "mdi:air-purifier" - dps: - - id: 1 - type: boolean - name: switch - - id: 4 - type: integer - name: speed - range: - min: 1 - max: 3 -secondary_entities: +entities: + - entity: fan + icon: "mdi:air-purifier" + dps: + - id: 1 + type: boolean + name: switch + - id: 4 + type: integer + name: speed + range: + min: 1 + max: 3 - entity: sensor name: Filter icon: "mdi:air-filter" diff --git a/custom_components/tuya_local/devices/kiturami_nctr100_thermostat.yaml b/custom_components/tuya_local/devices/kiturami_nctr100_thermostat.yaml index 8d6f02d0e8..e7e2b61a94 100644 --- a/custom_components/tuya_local/devices/kiturami_nctr100_thermostat.yaml +++ b/custom_components/tuya_local/devices/kiturami_nctr100_thermostat.yaml @@ -2,57 +2,56 @@ name: Thermostat products: - id: 7vjtrn5888247ol8 name: Kiturami NCTR100WR -primary_entity: - entity: climate - translation_key: thermostat - dps: - - id: 2 - type: string - name: hvac_mode - mapping: - - dps_val: Reservation - value: auto - - dps_val: OnDol - value: heat - hidden: true - - dps_val: Interior - value: heat - - dps_val: Bath - value: "off" - hidden: true - - dps_val: Summer - value: "off" - - dps_val: OutGoing - value: "off" - hidden: true - - id: 103 - type: integer - name: temperature - range: - min: 45 - max: 85 - unit: C - mapping: - - constraint: hvac_mode - conditions: - - dps_val: Interior - value_redirect: room_temperature - range: - min: 10 - max: 45 - - id: 6 - type: integer - name: current_temperature - - id: 103 - type: integer - name: water_temperature - range: - min: 45 - max: 85 - - id: 5 - type: integer - name: room_temperature -secondary_entities: +entities: + - entity: climate + translation_key: thermostat + dps: + - id: 2 + type: string + name: hvac_mode + mapping: + - dps_val: Reservation + value: auto + - dps_val: OnDol + value: heat + hidden: true + - dps_val: Interior + value: heat + - dps_val: Bath + value: "off" + hidden: true + - dps_val: Summer + value: "off" + - dps_val: OutGoing + value: "off" + hidden: true + - id: 103 + type: integer + name: temperature + range: + min: 45 + max: 85 + unit: C + mapping: + - constraint: hvac_mode + conditions: + - dps_val: Interior + value_redirect: room_temperature + range: + min: 10 + max: 45 + - id: 6 + type: integer + name: current_temperature + - id: 103 + type: integer + name: water_temperature + range: + min: 45 + max: 85 + - id: 5 + type: integer + name: room_temperature - entity: water_heater dps: - id: 1 diff --git a/custom_components/tuya_local/devices/kkmoon_airquality_monitor.yaml b/custom_components/tuya_local/devices/kkmoon_airquality_monitor.yaml index 15f9a549e5..f161b9eaf2 100644 --- a/custom_components/tuya_local/devices/kkmoon_airquality_monitor.yaml +++ b/custom_components/tuya_local/devices/kkmoon_airquality_monitor.yaml @@ -2,15 +2,14 @@ name: Air quality products: - id: ezovdhzaxsovyzf0 name: 7in1 air quality meter -primary_entity: - entity: sensor - name: Air quality - icon: "mdi:factory" - dps: - - id: 21 - type: string - name: sensor -secondary_entities: +entities: + - entity: sensor + name: Air quality + icon: "mdi:factory" + dps: + - id: 21 + type: string + name: sensor - entity: sensor class: pm25 dps: diff --git a/custom_components/tuya_local/devices/kkmoon_thermostat.yaml b/custom_components/tuya_local/devices/kkmoon_thermostat.yaml index ae7139309f..373dffc55f 100644 --- a/custom_components/tuya_local/devices/kkmoon_thermostat.yaml +++ b/custom_components/tuya_local/devices/kkmoon_thermostat.yaml @@ -2,54 +2,53 @@ name: Thermostat products: - id: ixmi1hbw0omzpbjy name: KKMoon Knob thermostat -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: auto - value: auto - - dps_val: manual - value: heat - - id: 2 - type: string - name: mode - hidden: true - - id: 3 - type: string - name: hvac_action - mapping: - - dps_val: open - value: heating - - dps_val: close - value: idle - - id: 16 - type: integer - name: temperature - unit: C - range: - min: 50 - max: 450 - mapping: - - scale: 10 - step: 5 - - id: 24 - type: integer - name: current_temperature - mapping: - - scale: 10 - - id: 71 - type: string - optional: true - name: schedule -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: auto + value: auto + - dps_val: manual + value: heat + - id: 2 + type: string + name: mode + hidden: true + - id: 3 + type: string + name: hvac_action + mapping: + - dps_val: open + value: heating + - dps_val: close + value: idle + - id: 16 + type: integer + name: temperature + unit: C + range: + min: 50 + max: 450 + mapping: + - scale: 10 + step: 5 + - id: 24 + type: integer + name: current_temperature + mapping: + - scale: 10 + - id: 71 + type: string + optional: true + name: schedule - entity: number name: Temperature correction category: config diff --git a/custom_components/tuya_local/devices/klarstein_amazonia_dishwasher.yaml b/custom_components/tuya_local/devices/klarstein_amazonia_dishwasher.yaml index 087a3e65f1..5679989d8d 100644 --- a/custom_components/tuya_local/devices/klarstein_amazonia_dishwasher.yaml +++ b/custom_components/tuya_local/devices/klarstein_amazonia_dishwasher.yaml @@ -2,14 +2,13 @@ name: Dishwasher # products: # - id: UNKNOWN # name: Klarstein Amazonia -primary_entity: - entity: switch - icon: "mdi:dishwasher" - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + icon: "mdi:dishwasher" + dps: + - id: 1 + type: boolean + name: switch - entity: button name: Start icon: "mdi:play" diff --git a/custom_components/tuya_local/devices/klarstein_iceblock_airconditioner.yaml b/custom_components/tuya_local/devices/klarstein_iceblock_airconditioner.yaml index 169df124b9..79548acd93 100644 --- a/custom_components/tuya_local/devices/klarstein_iceblock_airconditioner.yaml +++ b/custom_components/tuya_local/devices/klarstein_iceblock_airconditioner.yaml @@ -2,78 +2,77 @@ name: Air conditioner products: - id: hmwftdaaxejmjtfe name: Klarstein Iceblock Ecosmart -primary_entity: - entity: climate - dps: - - id: 2 - type: integer - name: temperature - range: - min: 16 - max: 31 - mapping: - - constraint: temperature_unit - conditions: - - dps_val: true - value_redirect: temp_set_f - range: - min: 62 - max: 90 - - id: 3 - type: integer - name: current_temperature - mapping: - - constraint: temperature_unit - conditions: - - dps_val: true - value_redirect: temp_current_f - - id: 101 - name: hvac_mode - type: string - mapping: - - dps_val: "1" - value: cool - - dps_val: "3" - value: dry - - dps_val: "5" - value: fan_only - - id: 103 - name: preset_mode - type: boolean - mapping: - - dps_val: false - value: none - - dps_val: true - value: sleep - - id: 104 - type: string - name: fan_mode - mapping: - - dps_val: "1" - value: high - - dps_val: "3" - value: low - - id: 109 - type: boolean - name: temperature_unit - mapping: - - dps_val: true - value: F - - value: C - - id: 110 - type: integer - name: temp_set_f - range: - min: 62 - max: 90 - hidden: true - optional: true - - id: 111 - type: integer - name: temp_current_f - hidden: true - optional: true -secondary_entities: +entities: + - entity: climate + dps: + - id: 2 + type: integer + name: temperature + range: + min: 16 + max: 31 + mapping: + - constraint: temperature_unit + conditions: + - dps_val: true + value_redirect: temp_set_f + range: + min: 62 + max: 90 + - id: 3 + type: integer + name: current_temperature + mapping: + - constraint: temperature_unit + conditions: + - dps_val: true + value_redirect: temp_current_f + - id: 101 + name: hvac_mode + type: string + mapping: + - dps_val: "1" + value: cool + - dps_val: "3" + value: dry + - dps_val: "5" + value: fan_only + - id: 103 + name: preset_mode + type: boolean + mapping: + - dps_val: false + value: none + - dps_val: true + value: sleep + - id: 104 + type: string + name: fan_mode + mapping: + - dps_val: "1" + value: high + - dps_val: "3" + value: low + - id: 109 + type: boolean + name: temperature_unit + mapping: + - dps_val: true + value: F + - value: C + - id: 110 + type: integer + name: temp_set_f + range: + min: 62 + max: 90 + hidden: true + optional: true + - id: 111 + type: integer + name: temp_current_f + hidden: true + optional: true - entity: switch name: Power icon: "mdi:power" diff --git a/custom_components/tuya_local/devices/klarstein_skyscraper_ice_smart.yaml b/custom_components/tuya_local/devices/klarstein_skyscraper_ice_smart.yaml index e48a013d02..a8b6c6ec36 100644 --- a/custom_components/tuya_local/devices/klarstein_skyscraper_ice_smart.yaml +++ b/custom_components/tuya_local/devices/klarstein_skyscraper_ice_smart.yaml @@ -4,37 +4,36 @@ products: name: Klarstein Skyscraper Ice Smart - id: bhaszy5l8iicyjg0 name: Klarstein Skyscraper Ice Smart -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - type: string - name: speed - mapping: - - dps_val: "low" - value: 33 - - dps_val: "middle" - value: 66 - - dps_val: "high" - value: 100 - - id: 3 - type: string - name: preset_mode - mapping: - - dps_val: normal - value: normal - - dps_val: nature - value: nature - - dps_val: sleep - value: sleep - - id: 10 - type: boolean - name: oscillate -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + type: string + name: speed + mapping: + - dps_val: "low" + value: 33 + - dps_val: "middle" + value: 66 + - dps_val: "high" + value: 100 + - id: 3 + type: string + name: preset_mode + mapping: + - dps_val: normal + value: normal + - dps_val: nature + value: nature + - dps_val: sleep + value: sleep + - id: 10 + type: boolean + name: oscillate - entity: select translation_key: timer category: config diff --git a/custom_components/tuya_local/devices/klarstein_wonderwall_air.yaml b/custom_components/tuya_local/devices/klarstein_wonderwall_air.yaml index 0d4f8affed..e4399626d5 100644 --- a/custom_components/tuya_local/devices/klarstein_wonderwall_air.yaml +++ b/custom_components/tuya_local/devices/klarstein_wonderwall_air.yaml @@ -2,47 +2,46 @@ name: IR Heater products: - id: cl2wgyhohpjjjuzu name: Klarstein Wonderwall Air Art Smart -primary_entity: - entity: climate - translation_only_key: thermostat - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: true - value: "heat" - icon: "mdi:radiator" - - dps_val: false - value: "off" - icon: "mdi:radiator-disabled" - - id: 2 - name: temperature - type: integer - mapping: - - scale: 10 - step: 10 - range: - min: 0 - max: 370 - unit: "C" - - id: 3 - name: current_temperature - type: integer - mapping: - - scale: 10 - step: 10 - - id: 4 - type: string - mapping: - - dps_val: manual - value: manual - - dps_val: holiday - value: away - - dps_val: auto - value: program - name: preset_mode -secondary_entities: +entities: + - entity: climate + translation_only_key: thermostat + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: true + value: "heat" + icon: "mdi:radiator" + - dps_val: false + value: "off" + icon: "mdi:radiator-disabled" + - id: 2 + name: temperature + type: integer + mapping: + - scale: 10 + step: 10 + range: + min: 0 + max: 370 + unit: "C" + - id: 3 + name: current_temperature + type: integer + mapping: + - scale: 10 + step: 10 + - id: 4 + type: string + mapping: + - dps_val: manual + value: manual + - dps_val: holiday + value: away + - dps_val: auto + value: program + name: preset_mode - entity: select translation_key: timer category: config diff --git a/custom_components/tuya_local/devices/klarstein_wonderwall_bornholm.yaml b/custom_components/tuya_local/devices/klarstein_wonderwall_bornholm.yaml index b1ec3f7edc..dd5e974032 100644 --- a/custom_components/tuya_local/devices/klarstein_wonderwall_bornholm.yaml +++ b/custom_components/tuya_local/devices/klarstein_wonderwall_bornholm.yaml @@ -2,43 +2,42 @@ name: Heater products: - id: kwicelwvcvgru9vr name: Klarstein Wonderwall Bornholm IR GL23040 -primary_entity: - entity: climate - translation_key: heater - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: heat - - id: 2 - type: integer - name: temperature - range: - min: 5 - max: 50 - unit: C - - id: 3 - type: integer - name: current_temperature - - id: 6 - type: boolean - name: preset_mode - mapping: - - dps_val: true - value: eco - - dps_val: false - value: comfort - - id: 11 - type: string - name: hvac_action - mapping: - - dps_val: standby - value: idle -secondary_entities: +entities: + - entity: climate + translation_key: heater + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: heat + - id: 2 + type: integer + name: temperature + range: + min: 5 + max: 50 + unit: C + - id: 3 + type: integer + name: current_temperature + - id: 6 + type: boolean + name: preset_mode + mapping: + - dps_val: true + value: eco + - dps_val: false + value: comfort + - id: 11 + type: string + name: hvac_action + mapping: + - dps_val: standby + value: idle - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/klarstein_wonderwall_irheater.yaml b/custom_components/tuya_local/devices/klarstein_wonderwall_irheater.yaml index afdded8efa..7dd5f5711b 100644 --- a/custom_components/tuya_local/devices/klarstein_wonderwall_irheater.yaml +++ b/custom_components/tuya_local/devices/klarstein_wonderwall_irheater.yaml @@ -2,29 +2,28 @@ name: IR heater products: - id: bf5fa857bcc2d892dc2akt name: Klarstein Wonderwall -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: heat - - id: 2 - type: integer - name: temperature - unit: C - range: - min: 0 - max: 37 - - id: 3 - type: integer - name: current_temperature -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: heat + - id: 2 + type: integer + name: temperature + unit: C + range: + min: 0 + max: 37 + - id: 3 + type: integer + name: current_temperature - entity: select translation_key: timer category: config diff --git a/custom_components/tuya_local/devices/klarta_humea_humidifier.yaml b/custom_components/tuya_local/devices/klarta_humea_humidifier.yaml index f3b827c388..f795860774 100644 --- a/custom_components/tuya_local/devices/klarta_humea_humidifier.yaml +++ b/custom_components/tuya_local/devices/klarta_humea_humidifier.yaml @@ -2,47 +2,46 @@ name: Klarta humidifier products: - id: i8cej9chgwebzrmp name: Klarta Humea -primary_entity: - entity: humidifier - class: humidifier - dps: - - id: 10 - type: boolean - name: switch - - id: 104 - type: boolean - name: mode - mapping: - - dps_val: true - value: auto - - dps_val: false - value: normal - - id: 105 - type: string - name: humidity - mapping: - - dps_val: "0" - value: 35 - - dps_val: "1" - value: 40 - - dps_val: "2" - value: 45 - - dps_val: "3" - value: 50 - - dps_val: "4" - value: 55 - - dps_val: "5" - value: 60 - - dps_val: "6" - value: 65 - - dps_val: "7" - value: 70 - - dps_val: "8" - value: 75 - - id: 109 - type: integer - name: current_humidity -secondary_entities: +entities: + - entity: humidifier + class: humidifier + dps: + - id: 10 + type: boolean + name: switch + - id: 104 + type: boolean + name: mode + mapping: + - dps_val: true + value: auto + - dps_val: false + value: normal + - id: 105 + type: string + name: humidity + mapping: + - dps_val: "0" + value: 35 + - dps_val: "1" + value: 40 + - dps_val: "2" + value: 45 + - dps_val: "3" + value: 50 + - dps_val: "4" + value: 55 + - dps_val: "5" + value: 60 + - dps_val: "6" + value: 65 + - dps_val: "7" + value: 70 + - dps_val: "8" + value: 75 + - id: 109 + type: integer + name: current_humidity - entity: light translation_key: nightlight category: config diff --git a/custom_components/tuya_local/devices/klarta_stor2_purifier.yaml b/custom_components/tuya_local/devices/klarta_stor2_purifier.yaml index 189450d199..17b29aa642 100644 --- a/custom_components/tuya_local/devices/klarta_stor2_purifier.yaml +++ b/custom_components/tuya_local/devices/klarta_stor2_purifier.yaml @@ -2,43 +2,42 @@ name: Air purifier products: - id: ku6ae3y8ad6tbx3b name: Klarta Stor 2 -primary_entity: - entity: fan - translation_only_key: fan_with_presets - icon: "mdi:air-purifier" - dps: - - id: 1 - type: boolean - name: switch - - id: 3 - type: string - name: preset_mode - mapping: - - dps_val: auto - value: smart - - dps_val: manual - value: normal - - dps_val: sleep - value: sleep - - dps_val: screenoff - value: displayoff - - id: 4 - type: string - name: speed - mapping: - - dps_val: speedmode1 - value: 17 - - dps_val: speedmode2 - value: 33 - - dps_val: speedmode3 - value: 50 - - dps_val: speedmode4 - value: 67 - - dps_val: speedmode5 - value: 83 - - dps_val: speedmode6 - value: 100 -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + icon: "mdi:air-purifier" + dps: + - id: 1 + type: boolean + name: switch + - id: 3 + type: string + name: preset_mode + mapping: + - dps_val: auto + value: smart + - dps_val: manual + value: normal + - dps_val: sleep + value: sleep + - dps_val: screenoff + value: displayoff + - id: 4 + type: string + name: speed + mapping: + - dps_val: speedmode1 + value: 17 + - dps_val: speedmode2 + value: 33 + - dps_val: speedmode3 + value: 50 + - dps_val: speedmode4 + value: 67 + - dps_val: speedmode5 + value: 83 + - dps_val: speedmode6 + value: 100 - entity: sensor class: pm25 dps: diff --git a/custom_components/tuya_local/devices/kogan_air_purifier.yaml b/custom_components/tuya_local/devices/kogan_air_purifier.yaml index f71b84f49c..a474b67fe0 100644 --- a/custom_components/tuya_local/devices/kogan_air_purifier.yaml +++ b/custom_components/tuya_local/devices/kogan_air_purifier.yaml @@ -2,24 +2,23 @@ name: Kogan Air Purifier products: - id: 5cum0gfsx8rhpvvl name: Kogan Air Purifier KAIRPRFR2SA -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 1 - type: boolean - name: switch - - id: 4 - type: string - name: preset_mode - mapping: - - dps_val: 1 - value: "sleep" - - dps_val: 2 - value: "strong" - - dps_val: 3 - value: "smart" -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 1 + type: boolean + name: switch + - id: 4 + type: string + name: preset_mode + mapping: + - dps_val: 1 + value: "sleep" + - dps_val: 2 + value: "strong" + - dps_val: 3 + value: "smart" - entity: sensor name: Filter remaining icon: "mdi:shield-bug" diff --git a/custom_components/tuya_local/devices/kogan_bidet.yaml b/custom_components/tuya_local/devices/kogan_bidet.yaml index d79a4c77b4..f3066035b7 100644 --- a/custom_components/tuya_local/devices/kogan_bidet.yaml +++ b/custom_components/tuya_local/devices/kogan_bidet.yaml @@ -2,30 +2,29 @@ name: Bidet products: - id: 7cuimqtezvgbaeun name: Kogan bidet -primary_entity: - entity: switch - icon: "mdi:toilet" - dps: - - id: 45 - type: boolean - name: switch - - id: 103 - type: integer - name: ambient_temperature - optional: true - - id: 56 - type: integer - name: clean_time - optional: true - - id: 57 - type: string - name: wind_temperature - optional: true - - id: 59 - type: integer - name: drying_time - optional: true -secondary_entities: +entities: + - entity: switch + icon: "mdi:toilet" + dps: + - id: 45 + type: boolean + name: switch + - id: 103 + type: integer + name: ambient_temperature + optional: true + - id: 56 + type: integer + name: clean_time + optional: true + - id: 57 + type: string + name: wind_temperature + optional: true + - id: 59 + type: integer + name: drying_time + optional: true - entity: select name: Mode icon: "mdi:toilet" diff --git a/custom_components/tuya_local/devices/kogan_bladeless_fan.yaml b/custom_components/tuya_local/devices/kogan_bladeless_fan.yaml index 22794fb3e6..c1fe5eb2f9 100644 --- a/custom_components/tuya_local/devices/kogan_bladeless_fan.yaml +++ b/custom_components/tuya_local/devices/kogan_bladeless_fan.yaml @@ -4,60 +4,59 @@ products: name: Kogan KABLFAN1CSA - id: kasblstfansa name: Kogan KASBKSTFANSA -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - type: string - name: speed - mapping: - - dps_val: "1" - value: 11 - step: 11 - - dps_val: "2" - value: 22 - step: 11 - - dps_val: "3" - value: 33 - step: 11 - - dps_val: "4" - value: 44 - step: 11 - - dps_val: "5" - value: 55 - step: 11 - - dps_val: "6" - value: 66 - step: 11 - - dps_val: "7" - value: 77 - step: 11 - - dps_val: "8" - value: 88 - step: 11 - - dps_val: "9" - value: 100 - step: 12 - - id: 3 - name: preset_mode - type: string - mapping: - - dps_val: close - value: "off" - - dps_val: sleep - value: sleep - - dps_val: fresh - value: fresh - - dps_val: heavy - value: strong - - id: 8 - type: boolean - name: oscillate -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + type: string + name: speed + mapping: + - dps_val: "1" + value: 11 + step: 11 + - dps_val: "2" + value: 22 + step: 11 + - dps_val: "3" + value: 33 + step: 11 + - dps_val: "4" + value: 44 + step: 11 + - dps_val: "5" + value: 55 + step: 11 + - dps_val: "6" + value: 66 + step: 11 + - dps_val: "7" + value: 77 + step: 11 + - dps_val: "8" + value: 88 + step: 11 + - dps_val: "9" + value: 100 + step: 12 + - id: 3 + name: preset_mode + type: string + mapping: + - dps_val: close + value: "off" + - dps_val: sleep + value: sleep + - dps_val: fresh + value: fresh + - dps_val: heavy + value: strong + - id: 8 + type: boolean + name: oscillate - entity: switch name: Sound icon: "mdi:volume-high" diff --git a/custom_components/tuya_local/devices/kogan_dehumidifier.yaml b/custom_components/tuya_local/devices/kogan_dehumidifier.yaml index d13dc97df9..29a705ce46 100644 --- a/custom_components/tuya_local/devices/kogan_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/kogan_dehumidifier.yaml @@ -1,48 +1,47 @@ name: Kogan dehumidifier -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - name: switch - type: boolean - mapping: - - dps_val: false - icon: "mdi:air-humidifier-off" - icon_priority: 2 - - dps_val: true - icon: "mdi:air-humidifier" - icon_priority: 4 - - id: 2 - name: mode - type: string - mapping: - - dps_val: low - value: eco - - dps_val: middle - value: normal - - dps_val: high - value: boost - - dps_val: quickdry - value: laundry - icon: "mdi:tshirt-crew-outline" - icon_priority: 3 - - id: 3 - name: current_humidity - type: integer - - id: 12 - name: timer_hr - type: integer - - id: 13 - name: timer - type: integer - - id: 101 - name: humidity - type: integer - range: - min: 0 - max: 80 -secondary_entities: +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + name: switch + type: boolean + mapping: + - dps_val: false + icon: "mdi:air-humidifier-off" + icon_priority: 2 + - dps_val: true + icon: "mdi:air-humidifier" + icon_priority: 4 + - id: 2 + name: mode + type: string + mapping: + - dps_val: low + value: eco + - dps_val: middle + value: normal + - dps_val: high + value: boost + - dps_val: quickdry + value: laundry + icon: "mdi:tshirt-crew-outline" + icon_priority: 3 + - id: 3 + name: current_humidity + type: integer + - id: 12 + name: timer_hr + type: integer + - id: 13 + name: timer + type: integer + - id: 101 + name: humidity + type: integer + range: + min: 0 + max: 80 - entity: fan dps: - id: 1 diff --git a/custom_components/tuya_local/devices/kogan_garage_opener.yaml b/custom_components/tuya_local/devices/kogan_garage_opener.yaml index 4bdef24dd3..5d57b7372f 100644 --- a/custom_components/tuya_local/devices/kogan_garage_opener.yaml +++ b/custom_components/tuya_local/devices/kogan_garage_opener.yaml @@ -1,29 +1,28 @@ name: Kogan garage door -primary_entity: - entity: cover - class: garage - dps: - - id: 101 - name: control - type: string - mapping: - - dps_val: "fopen" - value: "open" - - dps_val: "fclose" - value: "close" - - id: 102 - name: action - type: string - mapping: - - dps_val: openning - value: opening - - dps_val: opened - value: opened - - dps_val: closing - value: closing - - dps_val: closed - value: closed -secondary_entities: +entities: + - entity: cover + class: garage + dps: + - id: 101 + name: control + type: string + mapping: + - dps_val: "fopen" + value: "open" + - dps_val: "fclose" + value: "close" + - id: 102 + name: action + type: string + mapping: + - dps_val: openning + value: opening + - dps_val: opened + value: opened + - dps_val: closing + value: closing + - dps_val: closed + value: closed - entity: sensor class: battery category: diagnostic diff --git a/custom_components/tuya_local/devices/kogan_glass_1_7l_kettle.yaml b/custom_components/tuya_local/devices/kogan_glass_1_7l_kettle.yaml index 3d584118e4..10e77aa8a6 100644 --- a/custom_components/tuya_local/devices/kogan_glass_1_7l_kettle.yaml +++ b/custom_components/tuya_local/devices/kogan_glass_1_7l_kettle.yaml @@ -1,18 +1,18 @@ name: Kogan smart kettle -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - icon: "mdi:kettle-off" - - dps_val: true - value: "heat" - icon: "mdi:kettle" - - id: 5 - type: integer - name: current_temperature - unit: C +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + icon: "mdi:kettle-off" + - dps_val: true + value: "heat" + icon: "mdi:kettle" + - id: 5 + type: integer + name: current_temperature + unit: C diff --git a/custom_components/tuya_local/devices/kogan_kahtp_heater.yaml b/custom_components/tuya_local/devices/kogan_kahtp_heater.yaml index e742ce7eee..d86051b049 100644 --- a/custom_components/tuya_local/devices/kogan_kahtp_heater.yaml +++ b/custom_components/tuya_local/devices/kogan_kahtp_heater.yaml @@ -1,39 +1,38 @@ name: Kogan panel heater legacy_type: kogan_heater -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 2 - type: integer - range: - min: 15 - max: 35 - name: temperature - unit: C - - id: 3 - type: integer - name: current_temperature - - id: 4 - type: string - mapping: - - dps_val: "Low" - value: eco - - dps_val: "High" - value: boost - name: preset_mode - - id: 7 - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: "heat" - name: hvac_mode - - id: 8 - type: integer - name: timer -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 2 + type: integer + range: + min: 15 + max: 35 + name: temperature + unit: C + - id: 3 + type: integer + name: current_temperature + - id: 4 + type: string + mapping: + - dps_val: "Low" + value: eco + - dps_val: "High" + value: boost + name: preset_mode + - id: 7 + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: "heat" + name: hvac_mode + - id: 8 + type: integer + name: timer - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/kogan_kashmfp20ba_heater.yaml b/custom_components/tuya_local/devices/kogan_kashmfp20ba_heater.yaml index 13e718f638..dd1db6410d 100644 --- a/custom_components/tuya_local/devices/kogan_kashmfp20ba_heater.yaml +++ b/custom_components/tuya_local/devices/kogan_kashmfp20ba_heater.yaml @@ -2,37 +2,36 @@ name: Electric fireplace products: - id: eqyne046pnqkysqh name: Kogan SmarterHome™ 2000W flame heater -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: "heat" - - id: 2 - type: string - mapping: - - dps_val: low - value: eco - - dps_val: high - value: boost - name: preset_mode - - id: 3 - type: integer - range: - min: 10 - max: 30 - name: temperature - unit: C - - id: 4 - type: integer - name: current_temperature -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: "heat" + - id: 2 + type: string + mapping: + - dps_val: low + value: eco + - dps_val: high + value: boost + name: preset_mode + - id: 3 + type: integer + range: + min: 10 + max: 30 + name: temperature + unit: C + - id: 4 + type: integer + name: current_temperature - entity: light translation_key: backlight dps: diff --git a/custom_components/tuya_local/devices/kogan_kasmgphXXXX_heater.yaml b/custom_components/tuya_local/devices/kogan_kasmgphXXXX_heater.yaml index 18f00bef66..608bf920c8 100644 --- a/custom_components/tuya_local/devices/kogan_kasmgphXXXX_heater.yaml +++ b/custom_components/tuya_local/devices/kogan_kasmgphXXXX_heater.yaml @@ -2,37 +2,36 @@ name: Heater products: - id: 9l3riftrq9acjunt name: Kogan KASMGPH15YA Premium Glass Panel Heater -primary_entity: - entity: climate - translation_key: heater - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: true - value: "heat" - - dps_val: false - value: "off" - - id: 5 - name: preset_mode - type: string - mapping: - - dps_val: Low - value: eco - - dps_val: High - value: boost - - id: 2 - name: temperature - type: integer - unit: C - range: - min: 5 - max: 45 - - id: 3 - name: current_temperature - type: integer -secondary_entities: +entities: + - entity: climate + translation_key: heater + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: true + value: "heat" + - dps_val: false + value: "off" + - id: 5 + name: preset_mode + type: string + mapping: + - dps_val: Low + value: eco + - dps_val: High + value: boost + - id: 2 + name: temperature + type: integer + unit: C + range: + min: 5 + max: 45 + - id: 3 + name: current_temperature + type: integer - entity: switch translation_key: sleep dps: diff --git a/custom_components/tuya_local/devices/kogan_kasthfp2kwa_towerheater.yaml b/custom_components/tuya_local/devices/kogan_kasthfp2kwa_towerheater.yaml index 48329c9bdf..68f2f48c61 100644 --- a/custom_components/tuya_local/devices/kogan_kasthfp2kwa_towerheater.yaml +++ b/custom_components/tuya_local/devices/kogan_kasthfp2kwa_towerheater.yaml @@ -2,53 +2,52 @@ name: Tower heater products: - id: jyota3jcxuelyf9t name: Kogan KASTHFP2KWA -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: heat - - id: 2 - type: integer - range: - min: 10 - max: 35 - name: temperature - unit: C - - id: 3 - type: integer - name: current_temperature - mapping: - - constraint: hvac_mode - conditions: - - dps_val: false - invalid: true - - id: 4 - name: preset_mode - type: string - mapping: - - dps_val: LOW - value: eco - - dps_val: FAN - value: none - icon: "mdi:fan" - - dps_val: HIGH - value: boost - - id: 8 - type: boolean - mapping: - - dps_val: true - value: "on" - - dps_val: false - value: "off" - name: swing_mode -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: heat + - id: 2 + type: integer + range: + min: 10 + max: 35 + name: temperature + unit: C + - id: 3 + type: integer + name: current_temperature + mapping: + - constraint: hvac_mode + conditions: + - dps_val: false + invalid: true + - id: 4 + name: preset_mode + type: string + mapping: + - dps_val: LOW + value: eco + - dps_val: FAN + value: none + icon: "mdi:fan" + - dps_val: HIGH + value: boost + - id: 8 + type: boolean + mapping: + - dps_val: true + value: "on" + - dps_val: false + value: "off" + name: swing_mode - entity: switch name: Flame effect category: config diff --git a/custom_components/tuya_local/devices/kogan_kasvwac30ya_airconditioner.yaml b/custom_components/tuya_local/devices/kogan_kasvwac30ya_airconditioner.yaml index cd7a5e0456..2f6ae10bb2 100644 --- a/custom_components/tuya_local/devices/kogan_kasvwac30ya_airconditioner.yaml +++ b/custom_components/tuya_local/devices/kogan_kasvwac30ya_airconditioner.yaml @@ -2,121 +2,120 @@ name: Air conditioner products: - id: jlzjetbqsrix7ne2 name: Kogan KASVWAC30YA vertical window air conditioner -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: AUTO - value: heat_cool - - dps_val: COOL - value: cool - - dps_val: DRY - value: dry - - dps_val: HEAT - value: heat - - dps_val: FAN - value: fan_only - - id: 2 - type: integer - name: temperature - range: - min: 16 - max: 30 - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: temp_set_f - range: - min: 60 - max: 86 - - id: 3 - type: integer - name: current_temperature - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: temp_current_f - - id: 4 - type: string - name: mode - hidden: true - - id: 5 - type: string - name: fan_mode - mapping: - - dps_val: level_1 - value: silent - - dps_val: level_2 - value: "1" - - dps_val: level_3 - value: "2" - - dps_val: level_4 - value: "3" - - dps_val: level_5 - value: "4" - - dps_val: level_6 - value: "5" - - dps_val: level_7 - value: "6" - - dps_val: level_8 - value: "7" - - dps_val: level_9 - value: auto - - dps_val: level_10 - value: powerful - - id: 19 - type: string - name: temperature_unit - mapping: - - dps_val: c - value: C - - dps_val: f - value: F - - id: 23 - type: integer - name: temp_current_f - hidden: true - - id: 24 - type: integer - name: temp_set_f - optional: true - hidden: true - range: - min: 60 - max: 86 - - id: 102 - type: boolean - name: swing_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: "on" - - id: 106 - type: string - name: model - mapping: - - dps_val: "0" - value: reversable_heatpump - - dps_val: "1" - value: cooling_only - - id: 109 - type: boolean - name: pump - - id: 110 - type: boolean - name: follow_me -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: AUTO + value: heat_cool + - dps_val: COOL + value: cool + - dps_val: DRY + value: dry + - dps_val: HEAT + value: heat + - dps_val: FAN + value: fan_only + - id: 2 + type: integer + name: temperature + range: + min: 16 + max: 30 + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: temp_set_f + range: + min: 60 + max: 86 + - id: 3 + type: integer + name: current_temperature + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: temp_current_f + - id: 4 + type: string + name: mode + hidden: true + - id: 5 + type: string + name: fan_mode + mapping: + - dps_val: level_1 + value: silent + - dps_val: level_2 + value: "1" + - dps_val: level_3 + value: "2" + - dps_val: level_4 + value: "3" + - dps_val: level_5 + value: "4" + - dps_val: level_6 + value: "5" + - dps_val: level_7 + value: "6" + - dps_val: level_8 + value: "7" + - dps_val: level_9 + value: auto + - dps_val: level_10 + value: powerful + - id: 19 + type: string + name: temperature_unit + mapping: + - dps_val: c + value: C + - dps_val: f + value: F + - id: 23 + type: integer + name: temp_current_f + hidden: true + - id: 24 + type: integer + name: temp_set_f + optional: true + hidden: true + range: + min: 60 + max: 86 + - id: 102 + type: boolean + name: swing_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: "on" + - id: 106 + type: string + name: model + mapping: + - dps_val: "0" + value: reversable_heatpump + - dps_val: "1" + value: cooling_only + - id: 109 + type: boolean + name: pump + - id: 110 + type: boolean + name: follow_me - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/kogan_kawfhtp_heater.yaml b/custom_components/tuya_local/devices/kogan_kawfhtp_heater.yaml index 8b132d951e..f0f4bec09f 100644 --- a/custom_components/tuya_local/devices/kogan_kawfhtp_heater.yaml +++ b/custom_components/tuya_local/devices/kogan_kawfhtp_heater.yaml @@ -2,37 +2,36 @@ name: Panel heater products: - id: jyota3jcxuelyf9t name: Kogan NPH-2000G-WIFI glass panel heater -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: "heat" - name: hvac_mode - - id: 3 - type: integer - range: - min: 5 - max: 40 - name: temperature - unit: C - - id: 4 - type: integer - name: current_temperature - - id: 7 - type: string - mapping: - - dps_val: Low - value: eco - - dps_val: High - value: boost - name: preset_mode -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: "heat" + name: hvac_mode + - id: 3 + type: integer + range: + min: 5 + max: 40 + name: temperature + unit: C + - id: 4 + type: integer + name: current_temperature + - id: 7 + type: string + mapping: + - dps_val: Low + value: eco + - dps_val: High + value: boost + name: preset_mode - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/kogan_kawfpac09ya_airconditioner.yaml b/custom_components/tuya_local/devices/kogan_kawfpac09ya_airconditioner.yaml index 571e0ea0fc..a81dd79f7c 100644 --- a/custom_components/tuya_local/devices/kogan_kawfpac09ya_airconditioner.yaml +++ b/custom_components/tuya_local/devices/kogan_kawfpac09ya_airconditioner.yaml @@ -1,61 +1,62 @@ -name: Kogan SmarterHome portable air conditioner +name: Air conditioner products: - id: mhod7aykax0wbivn -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: COOL - value: cool - - dps_val: FAN - value: fan_only - - dps_val: DRY - value: dry - - id: 2 - type: integer - name: temperature - range: - min: 16 - max: 30 - mapping: - - constraint: temperature_unit - conditions: - - dps_val: F - range: - min: 60 - max: 86 - - id: 3 - type: integer - name: current_temperature - - id: 4 - type: string - name: mode - hidden: true - - id: 5 - type: string - name: fan_mode - mapping: - - dps_val: "1" - value: low - - dps_val: "2" - value: high - - id: 19 - type: string - name: temperature_unit - - id: 105 - type: integer - name: countdown - - id: 106 - type: integer - name: unknown_106 - - id: 107 - type: boolean - name: unknown_107 + name: Kogan SmarterHome portable air conditioner +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: COOL + value: cool + - dps_val: FAN + value: fan_only + - dps_val: DRY + value: dry + - id: 2 + type: integer + name: temperature + range: + min: 16 + max: 30 + mapping: + - constraint: temperature_unit + conditions: + - dps_val: F + range: + min: 60 + max: 86 + - id: 3 + type: integer + name: current_temperature + - id: 4 + type: string + name: mode + hidden: true + - id: 5 + type: string + name: fan_mode + mapping: + - dps_val: "1" + value: low + - dps_val: "2" + value: high + - id: 19 + type: string + name: temperature_unit + - id: 105 + type: integer + name: countdown + - id: 106 + type: integer + name: unknown_106 + - id: 107 + type: boolean + name: unknown_107 diff --git a/custom_components/tuya_local/devices/kogan_kawfpac12ya_airconditioner.yaml b/custom_components/tuya_local/devices/kogan_kawfpac12ya_airconditioner.yaml index 28f5c230ce..96fcbdb773 100644 --- a/custom_components/tuya_local/devices/kogan_kawfpac12ya_airconditioner.yaml +++ b/custom_components/tuya_local/devices/kogan_kawfpac12ya_airconditioner.yaml @@ -2,93 +2,92 @@ name: Air conditioner products: - id: kawfpac12ya name: Kogan PAC_Y12 -primary_entity: - entity: climate - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: COOL - value: cool - - dps_val: FAN - value: fan_only - - dps_val: DRY - value: dry - - id: 2 - name: temperature - type: integer - mapping: - - constraint: temperature_unit - conditions: - - dps_val: C - range: - min: 16 - max: 32 - - dps_val: F - range: - min: 60 - max: 90 - - id: 3 - name: current_temperature - type: integer - - id: 4 - name: mode - type: string - hidden: true - - id: 5 - name: fan_mode - type: string - mapping: - - dps_val: "1" - value: low - - dps_val: "2" - value: medium - - dps_val: "3" - value: high - - id: 19 - name: temperature_unit - type: string - - id: 101 - type: boolean - name: preset_mode - mapping: - - dps_val: true - value: sleep - - dps_val: false - value: comfort - - id: 102 - name: unknown_102 - type: boolean - - id: 103 - name: timer - type: integer - - id: 104 - name: swing_mode - type: boolean - mapping: - - dps_val: true - value: "vertical" - - dps_val: false - value: "off" - - id: 105 - name: countdown - type: integer - - id: 106 - name: unknown_106 - type: integer - - id: 109 - name: unknown_109 - type: boolean - - id: 110 - name: unknown_110 - type: integer -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: COOL + value: cool + - dps_val: FAN + value: fan_only + - dps_val: DRY + value: dry + - id: 2 + name: temperature + type: integer + mapping: + - constraint: temperature_unit + conditions: + - dps_val: C + range: + min: 16 + max: 32 + - dps_val: F + range: + min: 60 + max: 90 + - id: 3 + name: current_temperature + type: integer + - id: 4 + name: mode + type: string + hidden: true + - id: 5 + name: fan_mode + type: string + mapping: + - dps_val: "1" + value: low + - dps_val: "2" + value: medium + - dps_val: "3" + value: high + - id: 19 + name: temperature_unit + type: string + - id: 101 + type: boolean + name: preset_mode + mapping: + - dps_val: true + value: sleep + - dps_val: false + value: comfort + - id: 102 + name: unknown_102 + type: boolean + - id: 103 + name: timer + type: integer + - id: 104 + name: swing_mode + type: boolean + mapping: + - dps_val: true + value: "vertical" + - dps_val: false + value: "off" + - id: 105 + name: countdown + type: integer + - id: 106 + name: unknown_106 + type: integer + - id: 109 + name: unknown_109 + type: boolean + - id: 110 + name: unknown_110 + type: integer - entity: select translation_key: temperature_unit category: config diff --git a/custom_components/tuya_local/devices/kogan_kawfpac16pya_airconditioner.yaml b/custom_components/tuya_local/devices/kogan_kawfpac16pya_airconditioner.yaml index 52339d6852..7f19be4e83 100644 --- a/custom_components/tuya_local/devices/kogan_kawfpac16pya_airconditioner.yaml +++ b/custom_components/tuya_local/devices/kogan_kawfpac16pya_airconditioner.yaml @@ -2,95 +2,94 @@ name: Heat pump products: - id: kawfpac16pya name: Kogan PAC_PY16 -primary_entity: - entity: climate - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: COOL - value: cool - - dps_val: FAN - value: fan_only - - dps_val: DRY - value: dry - - dps_val: Heat - value: heat - - id: 2 - name: temperature - type: integer - mapping: - - constraint: temperature_unit - conditions: - - dps_val: C - range: - min: 16 - max: 32 - - dps_val: F - range: - min: 60 - max: 90 - - id: 3 - name: current_temperature - type: integer - - id: 4 - name: mode - type: string - hidden: true - - id: 5 - name: fan_mode - type: string - mapping: - - dps_val: "1" - value: low - - dps_val: "2" - value: medium - - dps_val: "3" - value: high - - id: 19 - name: temperature_unit - type: string - - id: 101 - type: boolean - name: preset_mode - mapping: - - dps_val: true - value: sleep - - dps_val: false - value: comfort - - id: 102 - name: unknown_102 - type: boolean - - id: 103 - name: timer - type: integer - - id: 104 - name: swing_mode - type: boolean - mapping: - - dps_val: true - value: "vertical" - - dps_val: false - value: "off" - - id: 105 - name: countdown - type: integer - - id: 106 - name: unknown_106 - type: integer - - id: 109 - name: unknown_109 - type: boolean - - id: 110 - name: unknown_110 - type: integer -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: COOL + value: cool + - dps_val: FAN + value: fan_only + - dps_val: DRY + value: dry + - dps_val: Heat + value: heat + - id: 2 + name: temperature + type: integer + mapping: + - constraint: temperature_unit + conditions: + - dps_val: C + range: + min: 16 + max: 32 + - dps_val: F + range: + min: 60 + max: 90 + - id: 3 + name: current_temperature + type: integer + - id: 4 + name: mode + type: string + hidden: true + - id: 5 + name: fan_mode + type: string + mapping: + - dps_val: "1" + value: low + - dps_val: "2" + value: medium + - dps_val: "3" + value: high + - id: 19 + name: temperature_unit + type: string + - id: 101 + type: boolean + name: preset_mode + mapping: + - dps_val: true + value: sleep + - dps_val: false + value: comfort + - id: 102 + name: unknown_102 + type: boolean + - id: 103 + name: timer + type: integer + - id: 104 + name: swing_mode + type: boolean + mapping: + - dps_val: true + value: "vertical" + - dps_val: false + value: "off" + - id: 105 + name: countdown + type: integer + - id: 106 + name: unknown_106 + type: integer + - id: 109 + name: unknown_109 + type: boolean + - id: 110 + name: unknown_110 + type: integer - entity: select translation_key: temperature_unit category: config diff --git a/custom_components/tuya_local/devices/kogan_lx10_vacuum.yaml b/custom_components/tuya_local/devices/kogan_lx10_vacuum.yaml index b058b01853..4001d344ae 100644 --- a/custom_components/tuya_local/devices/kogan_lx10_vacuum.yaml +++ b/custom_components/tuya_local/devices/kogan_lx10_vacuum.yaml @@ -1,126 +1,125 @@ -name: Kogan LX10 Robot Vacuum +name: Robot vacuum products: - id: ldb9ygikft5awhlu - name: Kogan LX10 Robot Vacuum -primary_entity: - entity: vacuum - dps: - - id: 101 - name: activate # clean_switch - type: boolean - - id: 102 - name: command # pause_switch - type: boolean - mapping: - - dps_val: true - value: pause - - dps_val: false - constraint: actual_command - conditions: - - dps_val: smart - value: smart - - dps_val: pose - value: clean_spot - - dps_val: zone - value: zone - - dps_val: backcharge - value: return_to_base - - id: 104 - name: actual_command # clean_mode - type: string - hidden: true - - id: 105 - name: status # robot_state - type: string - mapping: - - dps_val: idle - value: standby - - dps_val: pointing\areaing - value: pointing_areaing - - dps_val: totaling - value: cleaning - - dps_val: sweep - value: sweep - - dps_val: mop - value: mop - - dps_val: fault - value: error - - dps_val: pause - value: paused - - dps_val: chargring - value: charging - - dps_val: tocharge - value: returning - - dps_val: fullcharge - value: charged - - dps_val: remotectl - value: remotectl - - id: 109 - name: fan_speed # fan_mode - type: string - mapping: - - dps_val: quiet - value: quiet - - dps_val: strong - value: strong - - dps_val: auto - value: auto - - id: 111 - name: direction_control # remote_ctrl - optional: true - type: string - mapping: - - dps_val: forward - value: forward - - dps_val: backward - value: backward - - dps_val: left - value: left - - dps_val: right - value: right - - dps_val: stop - value: stop - - id: 112 - name: locate # seek_robot - optional: true - type: boolean - - id: 123 - name: path_comm - optional: true - type: string - - id: 124 - name: cmd_comm - optional: true - type: string - - id: 125 - name: request_data - optional: true - type: string - - id: 126 - name: comm_flag - optional: true - type: string - - id: 127 - name: comm_raw - optional: true - type: string - - id: 128 - name: message_report - optional: true - type: string - - id: 130 - name: sn - optional: true - type: string - - id: 131 - name: uuid - optional: true - type: string - - id: 132 - name: device_info - optional: true - type: string -secondary_entities: + name: Kogan LX10 +entities: + - entity: vacuum + dps: + - id: 101 + name: activate # clean_switch + type: boolean + - id: 102 + name: command # pause_switch + type: boolean + mapping: + - dps_val: true + value: pause + - dps_val: false + constraint: actual_command + conditions: + - dps_val: smart + value: smart + - dps_val: pose + value: clean_spot + - dps_val: zone + value: zone + - dps_val: backcharge + value: return_to_base + - id: 104 + name: actual_command # clean_mode + type: string + hidden: true + - id: 105 + name: status # robot_state + type: string + mapping: + - dps_val: idle + value: standby + - dps_val: pointing\areaing + value: pointing_areaing + - dps_val: totaling + value: cleaning + - dps_val: sweep + value: sweep + - dps_val: mop + value: mop + - dps_val: fault + value: error + - dps_val: pause + value: paused + - dps_val: chargring + value: charging + - dps_val: tocharge + value: returning + - dps_val: fullcharge + value: charged + - dps_val: remotectl + value: remotectl + - id: 109 + name: fan_speed # fan_mode + type: string + mapping: + - dps_val: quiet + value: quiet + - dps_val: strong + value: strong + - dps_val: auto + value: auto + - id: 111 + name: direction_control # remote_ctrl + optional: true + type: string + mapping: + - dps_val: forward + value: forward + - dps_val: backward + value: backward + - dps_val: left + value: left + - dps_val: right + value: right + - dps_val: stop + value: stop + - id: 112 + name: locate # seek_robot + optional: true + type: boolean + - id: 123 + name: path_comm + optional: true + type: string + - id: 124 + name: cmd_comm + optional: true + type: string + - id: 125 + name: request_data + optional: true + type: string + - id: 126 + name: comm_flag + optional: true + type: string + - id: 127 + name: comm_raw + optional: true + type: string + - id: 128 + name: message_report + optional: true + type: string + - id: 130 + name: sn + optional: true + type: string + - id: 131 + name: uuid + optional: true + type: string + - id: 132 + name: device_info + optional: true + type: string - entity: switch name: Charge switch category: config diff --git a/custom_components/tuya_local/devices/kogan_lx8_vacuum.yaml b/custom_components/tuya_local/devices/kogan_lx8_vacuum.yaml index 2325ab83b7..3ba8b09787 100644 --- a/custom_components/tuya_local/devices/kogan_lx8_vacuum.yaml +++ b/custom_components/tuya_local/devices/kogan_lx8_vacuum.yaml @@ -2,125 +2,124 @@ name: Robot vacuum products: - id: 1bgkj0zbhbw7fppy name: Kogan LX8 -primary_entity: - entity: vacuum - dps: - - id: 101 - name: activate # clean_switch - type: boolean - - id: 102 - name: command # pause_switch - type: boolean - mapping: - - dps_val: true - value: pause - - dps_val: false - constraint: clean_mode - conditions: - - dps_val: smart - value: smart - - dps_val: pose - value: clean_spot - - dps_val: zone - value: zone - - dps_val: backcharge - value: return_to_base - - id: 104 - name: clean_mode - type: string - optional: true - - id: 105 - name: status # robot_state - type: string - mapping: - - dps_val: idle - value: standby - - dps_val: pointing\areaing - value: pointing_areaing - - dps_val: totaling - value: cleaning - - dps_val: sweep - value: sweep - - dps_val: mop - value: mop - - dps_val: fault - value: error - - dps_val: pause - value: paused - - dps_val: chargring - value: charging - - dps_val: tocharge - value: returning - - dps_val: fullcharge - value: charged - - dps_val: remotectl - value: remotectl - - id: 109 - name: fan_speed # fan_mode - type: string - mapping: - - dps_val: quiet - value: quiet - - dps_val: strong - value: strong - - dps_val: standard - value: standard - - id: 111 - name: direction_control # remote_ctrl - optional: true - type: string - mapping: - - dps_val: forward - value: forward - - dps_val: backward - value: backward - - dps_val: left - value: left - - dps_val: right - value: right - - dps_val: stop - value: stop - - id: 112 - name: locate # seek_robot - optional: true - type: boolean - - id: 123 - name: path_comm - optional: true - type: string - - id: 124 - name: cmd_comm - optional: true - type: string - - id: 125 - name: request_data - optional: true - type: string - - id: 126 - name: comm_flag - optional: true - type: string - - id: 127 - name: comm_raw - optional: true - type: string - - id: 128 - name: message_report - optional: true - type: string - - id: 130 - name: sn - optional: true - type: string - - id: 131 - name: uuid - optional: true - type: string - - id: 132 - name: device_info - optional: true - type: string -secondary_entities: +entities: + - entity: vacuum + dps: + - id: 101 + name: activate # clean_switch + type: boolean + - id: 102 + name: command # pause_switch + type: boolean + mapping: + - dps_val: true + value: pause + - dps_val: false + constraint: clean_mode + conditions: + - dps_val: smart + value: smart + - dps_val: pose + value: clean_spot + - dps_val: zone + value: zone + - dps_val: backcharge + value: return_to_base + - id: 104 + name: clean_mode + type: string + optional: true + - id: 105 + name: status # robot_state + type: string + mapping: + - dps_val: idle + value: standby + - dps_val: pointing\areaing + value: pointing_areaing + - dps_val: totaling + value: cleaning + - dps_val: sweep + value: sweep + - dps_val: mop + value: mop + - dps_val: fault + value: error + - dps_val: pause + value: paused + - dps_val: chargring + value: charging + - dps_val: tocharge + value: returning + - dps_val: fullcharge + value: charged + - dps_val: remotectl + value: remotectl + - id: 109 + name: fan_speed # fan_mode + type: string + mapping: + - dps_val: quiet + value: quiet + - dps_val: strong + value: strong + - dps_val: standard + value: standard + - id: 111 + name: direction_control # remote_ctrl + optional: true + type: string + mapping: + - dps_val: forward + value: forward + - dps_val: backward + value: backward + - dps_val: left + value: left + - dps_val: right + value: right + - dps_val: stop + value: stop + - id: 112 + name: locate # seek_robot + optional: true + type: boolean + - id: 123 + name: path_comm + optional: true + type: string + - id: 124 + name: cmd_comm + optional: true + type: string + - id: 125 + name: request_data + optional: true + type: string + - id: 126 + name: comm_flag + optional: true + type: string + - id: 127 + name: comm_raw + optional: true + type: string + - id: 128 + name: message_report + optional: true + type: string + - id: 130 + name: sn + optional: true + type: string + - id: 131 + name: uuid + optional: true + type: string + - id: 132 + name: device_info + optional: true + type: string - entity: switch name: Charge switch category: config diff --git a/custom_components/tuya_local/devices/kogan_noise_machine.yaml b/custom_components/tuya_local/devices/kogan_noise_machine.yaml index 932003b178..0e7573e351 100644 --- a/custom_components/tuya_local/devices/kogan_noise_machine.yaml +++ b/custom_components/tuya_local/devices/kogan_noise_machine.yaml @@ -2,14 +2,13 @@ name: Sleep aid products: - id: d9tnlvjvlgwqr9ov name: Kogan KAWHTNOSLPA -primary_entity: - entity: switch - icon: "mdi:power-standby" - dps: - - id: 105 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + icon: "mdi:power-standby" + dps: + - id: 105 + type: boolean + name: switch - entity: light dps: - id: 104 diff --git a/custom_components/tuya_local/devices/koiduo_water_heater.yaml b/custom_components/tuya_local/devices/koiduo_water_heater.yaml index cc511fbadf..21d5934b70 100644 --- a/custom_components/tuya_local/devices/koiduo_water_heater.yaml +++ b/custom_components/tuya_local/devices/koiduo_water_heater.yaml @@ -2,38 +2,37 @@ name: Water heater products: - id: 7lkpskrohoygvb8y name: Koi Duo HTW-TD-080 -primary_entity: - entity: water_heater - dps: - - id: 1 - type: boolean - name: away - mapping: - - dps_val: true - value: false - - dps_val: false - value: true - - id: 2 - type: string - name: operation_mode - mapping: - - dps_val: jiheat - value: performance - - dps_val: maneco - value: eco - - id: 9 - type: integer - name: temperature - unit: C - range: - min: 40 - max: 80 - mapping: - - step: 10 - - id: 10 - type: integer - name: current_temperature -secondary_entities: +entities: + - entity: water_heater + dps: + - id: 1 + type: boolean + name: away + mapping: + - dps_val: true + value: false + - dps_val: false + value: true + - id: 2 + type: string + name: operation_mode + mapping: + - dps_val: jiheat + value: performance + - dps_val: maneco + value: eco + - id: 9 + type: integer + name: temperature + unit: C + range: + min: 40 + max: 80 + mapping: + - step: 10 + - id: 10 + type: integer + name: current_temperature - entity: sensor class: energy dps: diff --git a/custom_components/tuya_local/devices/kolanky_evcharger.yaml b/custom_components/tuya_local/devices/kolanky_evcharger.yaml index 0dc5a51ba7..30c74d1299 100644 --- a/custom_components/tuya_local/devices/kolanky_evcharger.yaml +++ b/custom_components/tuya_local/devices/kolanky_evcharger.yaml @@ -2,35 +2,34 @@ name: EV charger products: - id: 7bvgooyjhiua1yyq name: Kolanky 3.6kW -primary_entity: - entity: sensor - translation_key: status - class: enum - icon: "mdi:ev-station" - dps: - - id: 101 - type: string - name: sensor - mapping: - - dps_val: no_connet - value: available - - dps_val: connect - value: plugged_in - - dps_val: charing - value: charging - - dps_val: wait_rfid - value: waiting_for_authorization - - dps_val: finish - value: charged - - dps_val: wait_charing - value: waiting - - dps_val: error - value: fault - - id: 3 - type: string - optional: true - name: work_state -secondary_entities: +entities: + - entity: sensor + translation_key: status + class: enum + icon: "mdi:ev-station" + dps: + - id: 101 + type: string + name: sensor + mapping: + - dps_val: no_connet + value: available + - dps_val: connect + value: plugged_in + - dps_val: charing + value: charging + - dps_val: wait_rfid + value: waiting_for_authorization + - dps_val: finish + value: charged + - dps_val: wait_charing + value: waiting + - dps_val: error + value: fault + - id: 3 + type: string + optional: true + name: work_state - entity: select name: Charging operation icon: "mdi:ev-station" diff --git a/custom_components/tuya_local/devices/konlen_wf96l_waterlevel_controller.yaml b/custom_components/tuya_local/devices/konlen_wf96l_waterlevel_controller.yaml index 490a882e77..148f90da9b 100644 --- a/custom_components/tuya_local/devices/konlen_wf96l_waterlevel_controller.yaml +++ b/custom_components/tuya_local/devices/konlen_wf96l_waterlevel_controller.yaml @@ -1,11 +1,10 @@ name: Water level controller -primary_entity: - entity: switch - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + dps: + - id: 1 + type: boolean + name: switch - entity: number name: Level Off category: config diff --git a/custom_components/tuya_local/devices/kw02_video_doorbell.yaml b/custom_components/tuya_local/devices/kw02_video_doorbell.yaml index f986794718..e541c0cde7 100644 --- a/custom_components/tuya_local/devices/kw02_video_doorbell.yaml +++ b/custom_components/tuya_local/devices/kw02_video_doorbell.yaml @@ -2,44 +2,43 @@ name: Doorbell products: - id: 0ukszkfaejkqpz9o name: KW02 IP video doorbell -primary_entity: - entity: siren - name: Doorbell - dps: - - id: 156 - type: string - optional: true - name: tone - mapping: - - dps_val: "1" - value: Tone 1 - - dps_val: "2" - value: Tone 2 - - dps_val: "3" - value: Tone 3 - - dps_val: "4" - value: Tone 4 - - id: 157 - type: integer - optional: true - name: volume_level - range: - min: 0 - max: 10 - mapping: - - scale: 10 - - id: 166 - type: integer - optional: true - name: duration - range: - min: 5 - max: 60 - - id: 186 - type: string - optional: true - name: alarm_report -secondary_entities: +entities: + - entity: siren + name: Doorbell + dps: + - id: 156 + type: string + optional: true + name: tone + mapping: + - dps_val: "1" + value: Tone 1 + - dps_val: "2" + value: Tone 2 + - dps_val: "3" + value: Tone 3 + - dps_val: "4" + value: Tone 4 + - id: 157 + type: integer + optional: true + name: volume_level + range: + min: 0 + max: 10 + mapping: + - scale: 10 + - id: 166 + type: integer + optional: true + name: duration + range: + min: 5 + max: 60 + - id: 186 + type: string + optional: true + name: alarm_report - entity: light translation_key: indicator category: config diff --git a/custom_components/tuya_local/devices/ky_35w10_shutter.yaml b/custom_components/tuya_local/devices/ky_35w10_shutter.yaml index 55b7d9f786..df8439a20d 100644 --- a/custom_components/tuya_local/devices/ky_35w10_shutter.yaml +++ b/custom_components/tuya_local/devices/ky_35w10_shutter.yaml @@ -2,38 +2,37 @@ name: Shutter controller products: - id: hG8tA80YAj0YyxWP name: KY motor 35W-10 -primary_entity: - entity: cover - class: shutter - dps: - - id: 101 - type: string - name: control - mapping: - - dps_val: open - value: open - - dps_val: close - value: close - - dps_val: stop - value: stop - - id: 102 - type: integer - name: current_position - range: - min: 0 - max: 100 - mapping: - - invert: true - - id: 103 - type: integer - name: position - optional: true - range: - min: 0 - max: 100 - mapping: - - invert: true -secondary_entities: +entities: + - entity: cover + class: shutter + dps: + - id: 101 + type: string + name: control + mapping: + - dps_val: open + value: open + - dps_val: close + value: close + - dps_val: stop + value: stop + - id: 102 + type: integer + name: current_position + range: + min: 0 + max: 100 + mapping: + - invert: true + - id: 103 + type: integer + name: position + optional: true + range: + min: 0 + max: 100 + mapping: + - invert: true - entity: number name: Sleep category: config diff --git a/custom_components/tuya_local/devices/kyvol_e30_vacuum.yaml b/custom_components/tuya_local/devices/kyvol_e30_vacuum.yaml index e2e345ad1d..463e865b19 100644 --- a/custom_components/tuya_local/devices/kyvol_e30_vacuum.yaml +++ b/custom_components/tuya_local/devices/kyvol_e30_vacuum.yaml @@ -1,107 +1,106 @@ name: Kyvol E30 vacuum -primary_entity: - entity: vacuum - dps: - - id: 1 - type: boolean - name: power - - id: 2 - type: boolean - name: activate - - id: 3 - type: string - name: status - mapping: - - dps_val: standby - value: standby - - dps_val: random - value: random - - dps_val: smart - value: smart - - dps_val: wall_follow - value: wall_follow - - dps_val: mop - value: mop - - dps_val: spiral - value: clean_spot - - dps_val: left_spiral - value: left_spiral - - dps_val: right_spiral - value: right_spiral - - dps_val: bow - value: bow - - dps_val: left_bow - value: left_bow - - dps_val: right_bow - value: right_bow - - dps_val: partial_bow - value: partial_bow - - dps_val: chargego - value: return_to_base - - dps_val: single - value: single - - dps_val: zone - value: zone - - dps_val: pose - value: pose - - dps_val: point - value: point - - dps_val: part - value: part - - dps_val: pick_zone - value: pick_zone - - id: 4 - type: string - name: direction_control - mapping: - - dps_val: forward - value: forward - - dps_val: backward - value: reverse - - dps_val: turn_left - value: left - - dps_val: turn_right - value: right - - dps_val: stop - value: stop - - id: 13 - type: boolean - name: locate - - id: 14 - type: string - name: fan_speed - mapping: - - dps_val: "0" - value: strong - - dps_val: "1" - value: normal - - dps_val: "2" - value: quiet - - dps_val: "3" - value: gentle - - dps_val: "4" - value: closed - - id: 15 - type: string - name: clean_record - optional: true - - id: 18 - type: bitfield - name: error - hidden: true - - id: 101 - type: string - name: water_status - - id: 102 - type: string - name: model - - id: 104 - type: string - name: mode - - id: 107 - type: integer - name: carpet_adaptive -secondary_entities: +entities: + - entity: vacuum + dps: + - id: 1 + type: boolean + name: power + - id: 2 + type: boolean + name: activate + - id: 3 + type: string + name: status + mapping: + - dps_val: standby + value: standby + - dps_val: random + value: random + - dps_val: smart + value: smart + - dps_val: wall_follow + value: wall_follow + - dps_val: mop + value: mop + - dps_val: spiral + value: clean_spot + - dps_val: left_spiral + value: left_spiral + - dps_val: right_spiral + value: right_spiral + - dps_val: bow + value: bow + - dps_val: left_bow + value: left_bow + - dps_val: right_bow + value: right_bow + - dps_val: partial_bow + value: partial_bow + - dps_val: chargego + value: return_to_base + - dps_val: single + value: single + - dps_val: zone + value: zone + - dps_val: pose + value: pose + - dps_val: point + value: point + - dps_val: part + value: part + - dps_val: pick_zone + value: pick_zone + - id: 4 + type: string + name: direction_control + mapping: + - dps_val: forward + value: forward + - dps_val: backward + value: reverse + - dps_val: turn_left + value: left + - dps_val: turn_right + value: right + - dps_val: stop + value: stop + - id: 13 + type: boolean + name: locate + - id: 14 + type: string + name: fan_speed + mapping: + - dps_val: "0" + value: strong + - dps_val: "1" + value: normal + - dps_val: "2" + value: quiet + - dps_val: "3" + value: gentle + - dps_val: "4" + value: closed + - id: 15 + type: string + name: clean_record + optional: true + - id: 18 + type: bitfield + name: error + hidden: true + - id: 101 + type: string + name: water_status + - id: 102 + type: string + name: model + - id: 104 + type: string + name: mode + - id: 107 + type: integer + name: carpet_adaptive - entity: sensor class: battery dps: diff --git a/custom_components/tuya_local/devices/kyvol_ea200_humidifier.yaml b/custom_components/tuya_local/devices/kyvol_ea200_humidifier.yaml index 8b0b81352f..4a97a9494e 100644 --- a/custom_components/tuya_local/devices/kyvol_ea200_humidifier.yaml +++ b/custom_components/tuya_local/devices/kyvol_ea200_humidifier.yaml @@ -1,55 +1,54 @@ name: Kyvol EA200 humidifier -primary_entity: - entity: fan - dps: - - id: 1 - name: switch - type: boolean - - id: 23 - name: speed - type: string - mapping: - - dps_val: level_1 - value: 5 - - dps_val: level_2 - value: 10 - - dps_val: level_3 - value: 15 - - dps_val: level_4 - value: 20 - - dps_val: level_5 - value: 25 - - dps_val: level_6 - value: 30 - - dps_val: level_7 - value: 35 - - dps_val: level_8 - value: 40 - - dps_val: level_9 - value: 45 - - dps_val: level_10 - value: 50 - - dps_val: level_11 - value: 55 - - dps_val: level_12 - value: 60 - - dps_val: level_13 - value: 65 - - dps_val: level_14 - value: 70 - - dps_val: level_15 - value: 75 - - dps_val: level_16 - value: 80 - - dps_val: level_17 - value: 85 - - dps_val: level_18 - value: 90 - - dps_val: level_19 - value: 95 - - dps_val: level_20 - value: 100 -secondary_entities: +entities: + - entity: fan + dps: + - id: 1 + name: switch + type: boolean + - id: 23 + name: speed + type: string + mapping: + - dps_val: level_1 + value: 5 + - dps_val: level_2 + value: 10 + - dps_val: level_3 + value: 15 + - dps_val: level_4 + value: 20 + - dps_val: level_5 + value: 25 + - dps_val: level_6 + value: 30 + - dps_val: level_7 + value: 35 + - dps_val: level_8 + value: 40 + - dps_val: level_9 + value: 45 + - dps_val: level_10 + value: 50 + - dps_val: level_11 + value: 55 + - dps_val: level_12 + value: 60 + - dps_val: level_13 + value: 65 + - dps_val: level_14 + value: 70 + - dps_val: level_15 + value: 75 + - dps_val: level_16 + value: 80 + - dps_val: level_17 + value: 85 + - dps_val: level_18 + value: 90 + - dps_val: level_19 + value: 95 + - dps_val: level_20 + value: 100 - entity: binary_sensor translation_key: tank_empty category: diagnostic diff --git a/custom_components/tuya_local/devices/ledkia_fan_light.yaml b/custom_components/tuya_local/devices/ledkia_fan_light.yaml index 9bb00add31..a806b91015 100644 --- a/custom_components/tuya_local/devices/ledkia_fan_light.yaml +++ b/custom_components/tuya_local/devices/ledkia_fan_light.yaml @@ -2,23 +2,22 @@ name: Light and fan products: - id: u5ovvhurbvynvspv name: Ledkia fan and light controller -primary_entity: - entity: fan - dps: - - id: 60 - type: boolean - name: switch - - id: 62 - type: integer - name: speed - optional: true - range: - min: 1 - max: 6 - - id: 63 - type: string - name: direction -secondary_entities: +entities: + - entity: fan + dps: + - id: 60 + type: boolean + name: switch + - id: 62 + type: integer + name: speed + optional: true + range: + min: 1 + max: 6 + - id: 63 + type: string + name: direction - entity: light dps: - id: 20 diff --git a/custom_components/tuya_local/devices/ledlux_thermostat.yaml b/custom_components/tuya_local/devices/ledlux_thermostat.yaml index 305c2c6f1c..ebf24c7516 100644 --- a/custom_components/tuya_local/devices/ledlux_thermostat.yaml +++ b/custom_components/tuya_local/devices/ledlux_thermostat.yaml @@ -2,68 +2,67 @@ name: LEDLUX thermostat products: - id: atico42xjbgqgiys name: Smart Boiler -primary_entity: - entity: climate - translation_only_key: thermostat - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: true - value: "heat" - - dps_val: false - value: "off" - - id: 2 - name: temperature - type: integer - unit: C - range: - min: 5 - max: 1220 - mapping: - - scale: 10 - step: 5 - - id: 3 - name: current_temperature - type: integer - mapping: - - scale: 10 - step: 5 - - id: 4 - type: string - name: preset_mode - mapping: - - dps_val: Manual - value: manual - - dps_val: Program - value: program - - dps_val: Holiday - value: away - - id: 102 - type: boolean - name: hvac_action - mapping: - - dps_val: true - value: heating - - dps_val: false - value: idle - - id: 106 - type: boolean - name: unknown_106 - - id: 107 - type: boolean - name: unknown_107 - - id: 113 - type: integer - name: low_temperature_limit - - id: 114 - type: integer - name: max_temperature - - id: 115 - type: integer - name: min_temperature -secondary_entities: +entities: + - entity: climate + translation_only_key: thermostat + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: true + value: "heat" + - dps_val: false + value: "off" + - id: 2 + name: temperature + type: integer + unit: C + range: + min: 5 + max: 1220 + mapping: + - scale: 10 + step: 5 + - id: 3 + name: current_temperature + type: integer + mapping: + - scale: 10 + step: 5 + - id: 4 + type: string + name: preset_mode + mapping: + - dps_val: Manual + value: manual + - dps_val: Program + value: program + - dps_val: Holiday + value: away + - id: 102 + type: boolean + name: hvac_action + mapping: + - dps_val: true + value: heating + - dps_val: false + value: idle + - id: 106 + type: boolean + name: unknown_106 + - id: 107 + type: boolean + name: unknown_107 + - id: 113 + type: integer + name: low_temperature_limit + - id: 114 + type: integer + name: max_temperature + - id: 115 + type: integer + name: min_temperature - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/lefant_ls1_vacuum.yaml b/custom_components/tuya_local/devices/lefant_ls1_vacuum.yaml index 6c26349ea1..9b9716dccd 100644 --- a/custom_components/tuya_local/devices/lefant_ls1_vacuum.yaml +++ b/custom_components/tuya_local/devices/lefant_ls1_vacuum.yaml @@ -2,95 +2,94 @@ name: Lefant vacuum products: - id: 4tt4wulynvwcqicp name: Lefant LS1 Pro -primary_entity: - entity: vacuum - dps: - - id: 1 - type: boolean - name: power - - id: 2 - type: boolean - name: activate - - id: 3 - type: boolean - name: charge - - id: 4 - type: string - name: command - mapping: - - dps_val: smart - value: smart - - dps_val: chargego - value: return_to_base - - dps_val: zone - value: clean_spot - - dps_val: pose - value: pause - - id: 5 - type: string - name: status - mapping: - - dps_val: standby - value: standby - - dps_val: zone_clean - value: zone - - dps_val: part_clean - value: partial - - dps_val: cleaning - value: cleaning - - dps_val: paused - value: paused - - dps_val: goto_pos - value: seeking_spot - - dps_val: pos_arrived - value: located_spot - - dps_val: pos_unarrive - value: left_spot - - dps_val: goto_charge - value: returning - - dps_val: charging - value: charging - - dps_val: charge_done - value: charged - - dps_val: sleep - value: sleep - - id: 9 - type: string - name: fan_speed - mapping: - - dps_val: gentle - value: Low - - dps_val: normal - value: Medium - - dps_val: strong - value: High - - id: 11 - type: boolean - name: locate - optional: true - - id: 12 - type: string - name: direction_control - optional: true - mapping: - - dps_val: forward - value: forward - - dps_val: backward - value: reverse - - dps_val: turn_left - value: left - - dps_val: turn_right - value: right - - dps_val: stop - value: stop - - id: 27 - type: boolean - name: break_clean - - id: 28 - type: bitfield - name: error - hidden: true -secondary_entities: +entities: + - entity: vacuum + dps: + - id: 1 + type: boolean + name: power + - id: 2 + type: boolean + name: activate + - id: 3 + type: boolean + name: charge + - id: 4 + type: string + name: command + mapping: + - dps_val: smart + value: smart + - dps_val: chargego + value: return_to_base + - dps_val: zone + value: clean_spot + - dps_val: pose + value: pause + - id: 5 + type: string + name: status + mapping: + - dps_val: standby + value: standby + - dps_val: zone_clean + value: zone + - dps_val: part_clean + value: partial + - dps_val: cleaning + value: cleaning + - dps_val: paused + value: paused + - dps_val: goto_pos + value: seeking_spot + - dps_val: pos_arrived + value: located_spot + - dps_val: pos_unarrive + value: left_spot + - dps_val: goto_charge + value: returning + - dps_val: charging + value: charging + - dps_val: charge_done + value: charged + - dps_val: sleep + value: sleep + - id: 9 + type: string + name: fan_speed + mapping: + - dps_val: gentle + value: Low + - dps_val: normal + value: Medium + - dps_val: strong + value: High + - id: 11 + type: boolean + name: locate + optional: true + - id: 12 + type: string + name: direction_control + optional: true + mapping: + - dps_val: forward + value: forward + - dps_val: backward + value: reverse + - dps_val: turn_left + value: left + - dps_val: turn_right + value: right + - dps_val: stop + value: stop + - id: 27 + type: boolean + name: break_clean + - id: 28 + type: bitfield + name: error + hidden: true - entity: sensor name: Clean time class: duration diff --git a/custom_components/tuya_local/devices/lefant_m213_vacuum.yaml b/custom_components/tuya_local/devices/lefant_m213_vacuum.yaml index 55c1dad95a..706093f63a 100644 --- a/custom_components/tuya_local/devices/lefant_m213_vacuum.yaml +++ b/custom_components/tuya_local/devices/lefant_m213_vacuum.yaml @@ -2,121 +2,120 @@ name: Robot vacuum products: - id: drxonbesvmloh833 name: Lefant M213 -primary_entity: - entity: vacuum - dps: - - id: 1 - type: boolean - name: power - - id: 2 - type: boolean - name: activate - - id: 3 - type: string - name: command - mapping: - - dps_val: standby - value: stop - - dps_val: smart - value: smart - - dps_val: chargego - value: return_to_base - - dps_val: random - value: random - - dps_val: wall_follow - value: wall_follow - - dps_val: spiral - value: clean_spot - - id: 4 - type: string - name: direction_control - optional: true - mapping: - - dps_val: forward - value: forward - - dps_val: backward - value: reverse - - dps_val: turn_left - value: left - - dps_val: turn_right - value: right - - dps_val: stop - value: stop - - id: 5 - type: string - name: status - mapping: - - dps_val: "0" - value: paused - - dps_val: "1" - value: smart - - dps_val: "2" - value: wall follow - - dps_val: "3" - value: spiral - - dps_val: "4" - value: returning - - dps_val: "5" - value: charging - - dps_val: "6" - value: random - - dps_val: "7" - value: standby - - id: 13 - type: boolean - name: locate - optional: true - - id: 15 - type: string - name: clean_record - optional: true - - id: 18 - type: bitfield - name: error - hidden: true - - id: 19 - type: string - name: map_parameter - optional: true - - id: 101 - type: string - name: fan_speed - mapping: - - dps_val: low - value: Low - - dps_val: nar - value: Medium - - dps_val: high - value: High - - id: 102 - type: integer - optional: true - name: chassis_temperature - - id: 103 - type: integer - optional: true - name: heading - - id: 104 - type: integer - optional: true - name: iic_error_count - - id: 105 - type: string - name: wheel_status - optional: true - - id: 106 - type: string - name: dock_info - optional: true - - id: 107 - type: string - name: robot_status - optional: true - - id: 108 - type: string - name: robot_info - optional: true -secondary_entities: +entities: + - entity: vacuum + dps: + - id: 1 + type: boolean + name: power + - id: 2 + type: boolean + name: activate + - id: 3 + type: string + name: command + mapping: + - dps_val: standby + value: stop + - dps_val: smart + value: smart + - dps_val: chargego + value: return_to_base + - dps_val: random + value: random + - dps_val: wall_follow + value: wall_follow + - dps_val: spiral + value: clean_spot + - id: 4 + type: string + name: direction_control + optional: true + mapping: + - dps_val: forward + value: forward + - dps_val: backward + value: reverse + - dps_val: turn_left + value: left + - dps_val: turn_right + value: right + - dps_val: stop + value: stop + - id: 5 + type: string + name: status + mapping: + - dps_val: "0" + value: paused + - dps_val: "1" + value: smart + - dps_val: "2" + value: wall follow + - dps_val: "3" + value: spiral + - dps_val: "4" + value: returning + - dps_val: "5" + value: charging + - dps_val: "6" + value: random + - dps_val: "7" + value: standby + - id: 13 + type: boolean + name: locate + optional: true + - id: 15 + type: string + name: clean_record + optional: true + - id: 18 + type: bitfield + name: error + hidden: true + - id: 19 + type: string + name: map_parameter + optional: true + - id: 101 + type: string + name: fan_speed + mapping: + - dps_val: low + value: Low + - dps_val: nar + value: Medium + - dps_val: high + value: High + - id: 102 + type: integer + optional: true + name: chassis_temperature + - id: 103 + type: integer + optional: true + name: heading + - id: 104 + type: integer + optional: true + name: iic_error_count + - id: 105 + type: string + name: wheel_status + optional: true + - id: 106 + type: string + name: dock_info + optional: true + - id: 107 + type: string + name: robot_status + optional: true + - id: 108 + type: string + name: robot_info + optional: true - entity: sensor class: battery dps: diff --git a/custom_components/tuya_local/devices/lefant_n3_vacuum.yaml b/custom_components/tuya_local/devices/lefant_n3_vacuum.yaml index 535f175b95..bf6132c571 100644 --- a/custom_components/tuya_local/devices/lefant_n3_vacuum.yaml +++ b/custom_components/tuya_local/devices/lefant_n3_vacuum.yaml @@ -4,227 +4,226 @@ products: name: Lefant N3 - id: jtna6ihybmr0mxg8 name: Lefant N3 -primary_entity: - entity: vacuum - dps: - - id: 1 - name: power - type: boolean - optional: true - - id: 2 - name: activate - type: boolean - optional: true - mapping: - - dps_val: true - value: false - - dps_val: false - value: true - - id: 3 - name: switch_charge - type: boolean - optional: true - hidden: true - - id: 4 - name: command - type: string - optional: true - mapping: - - dps_val: smart - constraint: power - conditions: - - dps_val: true - value: smart - - dps_val: chargego - constraint: switch_charge - conditions: - - dps_val: true - value: return_to_base - - dps_val: zone - constraint: power - conditions: - - dps_val: true - value: clean_zone - - dps_val: pose - constraint: power - conditions: - - dps_val: true - value: clean_spot - - dps_val: part - constraint: power - conditions: - - dps_val: true - value: clean_partial - - dps_val: fastmapping - value: map - - dps_val: CleanModeSectorbased - value: clean_sector - - id: 5 - name: status - type: string - mapping: - - dps_val: standby - value: standby - - dps_val: smart - value: cleaning - - dps_val: zone_clean - value: cleaning - - dps_val: part_clean - value: cleaning - - dps_val: cleaning - value: cleaning - - dps_val: paused - value: paused - - dps_val: goto_pos - value: positioning - - dps_val: pos_arrived - value: at_position - - dps_val: pos_unarrive - value: cannot_find_position - - dps_val: goto_charge - value: returning - - dps_val: charging - value: charging - - dps_val: charge_done - value: charged - - dps_val: sleep - value: sleep - - dps_val: relocating - value: positioning - - dps_val: relocating_recharge - value: returning - - dps_val: recharing_paused - value: paused - - dps_val: fastmaping - value: mapping - - dps_val: fastmaping_paused - value: paused - - id: 9 - name: fan_speed - type: string - mapping: - - dps_val: closed - value: "off" - - dps_val: gentle - value: low - - dps_val: normal - value: medium - - dps_val: strong - value: high - - dps_val: superstrong - value: turbo - - id: 11 - type: boolean - name: locate - optional: true - - id: 12 - type: string - name: direction_control - optional: true - mapping: - - dps_val: forward - value: forward - - dps_val: backward - value: reverse - - dps_val: turn_left - value: left - - dps_val: turn_right - value: right - - dps_val: stop - value: stop - - id: 14 - name: path_data - type: string - optional: true - - id: 15 - name: command_trans - type: string - optional: true - - id: 16 - name: request - type: string - optional: true - - id: 28 - type: bitfield - name: error - hidden: true - - id: 32 - type: string - optional: true - name: schedule - - id: 33 - type: string - optional: true - name: do_not_disturb_schedule - - id: 101 - type: string - optional: true - name: forbidden_zone - - id: 102 - type: string - optional: true - name: clean_zone - - id: 103 - type: string - optional: true - name: pos_clean - - id: 104 - type: string - optional: true - name: all_zone - - id: 105 - type: string - optional: true - name: map_zoom_android - - id: 106 - type: string - optional: true - name: map_zoom_ios - - id: 107 - type: string - optional: true - name: dev_log_show - - id: 108 - type: boolean - optional: true - name: returning_from_zone - - id: 109 - type: boolean - optional: true - name: returning_from_spot - - id: 110 - type: string - optional: true - name: device_info - - id: 111 - type: string - optional: true - name: robot_log - - id: 112 - type: string - optional: true - name: map_save - - id: 120 - type: string - optional: true - name: voice_check - - id: 121 - type: string - optional: true - name: robot_reboot - - id: 123 - type: string - optional: true - name: do_not_disturb_settings - - id: 124 - type: boolean - optional: true - name: scheduled_clean - - id: 126 - type: boolean - optional: true - name: map_saved -secondary_entities: +entities: + - entity: vacuum + dps: + - id: 1 + name: power + type: boolean + optional: true + - id: 2 + name: activate + type: boolean + optional: true + mapping: + - dps_val: true + value: false + - dps_val: false + value: true + - id: 3 + name: switch_charge + type: boolean + optional: true + hidden: true + - id: 4 + name: command + type: string + optional: true + mapping: + - dps_val: smart + constraint: power + conditions: + - dps_val: true + value: smart + - dps_val: chargego + constraint: switch_charge + conditions: + - dps_val: true + value: return_to_base + - dps_val: zone + constraint: power + conditions: + - dps_val: true + value: clean_zone + - dps_val: pose + constraint: power + conditions: + - dps_val: true + value: clean_spot + - dps_val: part + constraint: power + conditions: + - dps_val: true + value: clean_partial + - dps_val: fastmapping + value: map + - dps_val: CleanModeSectorbased + value: clean_sector + - id: 5 + name: status + type: string + mapping: + - dps_val: standby + value: standby + - dps_val: smart + value: cleaning + - dps_val: zone_clean + value: cleaning + - dps_val: part_clean + value: cleaning + - dps_val: cleaning + value: cleaning + - dps_val: paused + value: paused + - dps_val: goto_pos + value: positioning + - dps_val: pos_arrived + value: at_position + - dps_val: pos_unarrive + value: cannot_find_position + - dps_val: goto_charge + value: returning + - dps_val: charging + value: charging + - dps_val: charge_done + value: charged + - dps_val: sleep + value: sleep + - dps_val: relocating + value: positioning + - dps_val: relocating_recharge + value: returning + - dps_val: recharing_paused + value: paused + - dps_val: fastmaping + value: mapping + - dps_val: fastmaping_paused + value: paused + - id: 9 + name: fan_speed + type: string + mapping: + - dps_val: closed + value: "off" + - dps_val: gentle + value: low + - dps_val: normal + value: medium + - dps_val: strong + value: high + - dps_val: superstrong + value: turbo + - id: 11 + type: boolean + name: locate + optional: true + - id: 12 + type: string + name: direction_control + optional: true + mapping: + - dps_val: forward + value: forward + - dps_val: backward + value: reverse + - dps_val: turn_left + value: left + - dps_val: turn_right + value: right + - dps_val: stop + value: stop + - id: 14 + name: path_data + type: string + optional: true + - id: 15 + name: command_trans + type: string + optional: true + - id: 16 + name: request + type: string + optional: true + - id: 28 + type: bitfield + name: error + hidden: true + - id: 32 + type: string + optional: true + name: schedule + - id: 33 + type: string + optional: true + name: do_not_disturb_schedule + - id: 101 + type: string + optional: true + name: forbidden_zone + - id: 102 + type: string + optional: true + name: clean_zone + - id: 103 + type: string + optional: true + name: pos_clean + - id: 104 + type: string + optional: true + name: all_zone + - id: 105 + type: string + optional: true + name: map_zoom_android + - id: 106 + type: string + optional: true + name: map_zoom_ios + - id: 107 + type: string + optional: true + name: dev_log_show + - id: 108 + type: boolean + optional: true + name: returning_from_zone + - id: 109 + type: boolean + optional: true + name: returning_from_spot + - id: 110 + type: string + optional: true + name: device_info + - id: 111 + type: string + optional: true + name: robot_log + - id: 112 + type: string + optional: true + name: map_save + - id: 120 + type: string + optional: true + name: voice_check + - id: 121 + type: string + optional: true + name: robot_reboot + - id: 123 + type: string + optional: true + name: do_not_disturb_settings + - id: 124 + type: boolean + optional: true + name: scheduled_clean + - id: 126 + type: boolean + optional: true + name: map_saved - entity: button name: Start icon: "mdi:play" diff --git a/custom_components/tuya_local/devices/lefant_t700_vacuum.yaml b/custom_components/tuya_local/devices/lefant_t700_vacuum.yaml index 23e875337e..beee607603 100644 --- a/custom_components/tuya_local/devices/lefant_t700_vacuum.yaml +++ b/custom_components/tuya_local/devices/lefant_t700_vacuum.yaml @@ -2,80 +2,79 @@ name: Robot vacuum products: - id: izivjmyjsajl9jdh name: Lefant T700 -primary_entity: - entity: vacuum - dps: - - id: 1 - type: boolean - name: power - - id: 2 - type: boolean - name: activate - - id: 3 - type: string - name: command - mapping: - - dps_val: standby - value: stop - - dps_val: smart - value: smart - - dps_val: wall_follow - value: wall_follow - - dps_val: spiral - value: clean_spot - - dps_val: chargego - value: return_to_base - - dps_val: random - value: random - - id: 4 - type: string - optional: true - name: direction_control - mapping: - - dps_val: forward - value: forward - - dps_val: backward - value: reverse - - dps_val: turn_left - value: turn_left - - dps_val: turn_right - value: turn_right - - dps_val: stop - value: stop - - id: 5 - type: string - name: status - mapping: - - dps_val: "0" - value: standby - - dps_val: "1" - value: cleaning - - dps_val: "2" - value: mopping - - dps_val: "3" - value: edge_cleaning - - dps_val: "4" - value: charging - - dps_val: "5" - value: charged - - dps_val: "6" - value: spot_cleaning - - id: 13 - type: boolean - optional: true - name: locate - - id: 15 - type: string - name: clean_record - - id: 18 - type: bitfield - name: error - hidden: true - - id: 19 - type: string - optional: true - name: map_config -secondary_entities: +entities: + - entity: vacuum + dps: + - id: 1 + type: boolean + name: power + - id: 2 + type: boolean + name: activate + - id: 3 + type: string + name: command + mapping: + - dps_val: standby + value: stop + - dps_val: smart + value: smart + - dps_val: wall_follow + value: wall_follow + - dps_val: spiral + value: clean_spot + - dps_val: chargego + value: return_to_base + - dps_val: random + value: random + - id: 4 + type: string + optional: true + name: direction_control + mapping: + - dps_val: forward + value: forward + - dps_val: backward + value: reverse + - dps_val: turn_left + value: turn_left + - dps_val: turn_right + value: turn_right + - dps_val: stop + value: stop + - id: 5 + type: string + name: status + mapping: + - dps_val: "0" + value: standby + - dps_val: "1" + value: cleaning + - dps_val: "2" + value: mopping + - dps_val: "3" + value: edge_cleaning + - dps_val: "4" + value: charging + - dps_val: "5" + value: charged + - dps_val: "6" + value: spot_cleaning + - id: 13 + type: boolean + optional: true + name: locate + - id: 15 + type: string + name: clean_record + - id: 18 + type: bitfield + name: error + hidden: true + - id: 19 + type: string + optional: true + name: map_config - entity: sensor class: battery category: diagnostic diff --git a/custom_components/tuya_local/devices/lehmann_lhohc2013c_radiator.yaml b/custom_components/tuya_local/devices/lehmann_lhohc2013c_radiator.yaml index 493b863013..e17fb2988d 100644 --- a/custom_components/tuya_local/devices/lehmann_lhohc2013c_radiator.yaml +++ b/custom_components/tuya_local/devices/lehmann_lhohc2013c_radiator.yaml @@ -2,60 +2,59 @@ name: Radiator products: - id: wcpmk08nnnynbhy7 name: Lehmann LHOHC-2013C -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: heat - - id: 2 - type: integer - name: temperature - unit: C - range: - min: 5 - max: 37 - - id: 3 - type: integer - name: current_temperature - - id: 4 - type: string - name: preset_mode - mapping: - - dps_val: auto - constraint: level - conditions: - - dps_val: "1" - value: "750W" - - dps_val: "2" - value: "1250W" - - dps_val: "3" - value: "2000W" - - dps_val: "4" - value: "0W" - - dps_val: smart - value: away - - dps_val: standby - value: sleep - - id: 5 - type: string - name: level - hidden: true - - id: 9 - type: boolean - name: fan_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: "on" -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: heat + - id: 2 + type: integer + name: temperature + unit: C + range: + min: 5 + max: 37 + - id: 3 + type: integer + name: current_temperature + - id: 4 + type: string + name: preset_mode + mapping: + - dps_val: auto + constraint: level + conditions: + - dps_val: "1" + value: "750W" + - dps_val: "2" + value: "1250W" + - dps_val: "3" + value: "2000W" + - dps_val: "4" + value: "0W" + - dps_val: smart + value: away + - dps_val: standby + value: sleep + - id: 5 + type: string + name: level + hidden: true + - id: 9 + type: boolean + name: fan_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: "on" - entity: select translation_key: timer category: config diff --git a/custom_components/tuya_local/devices/lenovo_e1_vacuum.yaml b/custom_components/tuya_local/devices/lenovo_e1_vacuum.yaml index 66b60149ba..eebe57ac8f 100644 --- a/custom_components/tuya_local/devices/lenovo_e1_vacuum.yaml +++ b/custom_components/tuya_local/devices/lenovo_e1_vacuum.yaml @@ -1,98 +1,97 @@ -name: Lenovo E1 vacuum +name: Robot vacuum products: - id: lec6zthbnidtvk2g name: Lenovo E1 -primary_entity: - entity: vacuum - dps: - - id: 1 - type: boolean - name: power - - id: 17 - type: bitfield - name: error - hidden: true - - id: 101 - type: string - name: status - mapping: - - dps_val: SLEEP - value: standby - - dps_val: HALTING - value: halting - - dps_val: CLEANING - value: cleaning - - dps_val: CLEAN_COMP - value: cleaning_complete - - dps_val: FIND_STA - value: returning - - dps_val: CHARGING_STA - value: charging - - dps_val: CHARGING_DC - value: charging - - dps_val: CHARG_COMP - value: standby - - id: 102 - type: string - name: command - mapping: - - dps_val: clean_auto - value: auto - - dps_val: clean_random - value: random - - dps_val: clean_wall - value: wall_follow - - dps_val: clean_spot - value: clean_spot - - dps_val: clean_sroom - value: clean_room - - dps_val: find_sta - value: return_to_base - - dps_val: "null" - value: unknown - - id: 104 - type: string - name: fan - mapping: - - dps_val: FANHALTING - value: low - - dps_val: FANNORAM - value: mid - - dps_val: FANMAX - value: high - - id: 105 - type: string - name: direction_control - mapping: - - dps_val: MoveForward - value: forward - - dps_val: MoveBackward - value: backward - - dps_val: MoveLeft - value: left - - dps_val: MoveRight - value: right - - dps_val: stop - value: stop - - id: 112 - type: string - name: activate - mapping: - - dps_val: "0" - value: false - - dps_val: "1" - value: true - - id: 116 - type: boolean - name: locate - optional: true - - id: 118 - type: integer - name: model - - id: 119 - type: integer - name: data_sample -secondary_entities: +entities: + - entity: vacuum + dps: + - id: 1 + type: boolean + name: power + - id: 17 + type: bitfield + name: error + hidden: true + - id: 101 + type: string + name: status + mapping: + - dps_val: SLEEP + value: standby + - dps_val: HALTING + value: halting + - dps_val: CLEANING + value: cleaning + - dps_val: CLEAN_COMP + value: cleaning_complete + - dps_val: FIND_STA + value: returning + - dps_val: CHARGING_STA + value: charging + - dps_val: CHARGING_DC + value: charging + - dps_val: CHARG_COMP + value: standby + - id: 102 + type: string + name: command + mapping: + - dps_val: clean_auto + value: auto + - dps_val: clean_random + value: random + - dps_val: clean_wall + value: wall_follow + - dps_val: clean_spot + value: clean_spot + - dps_val: clean_sroom + value: clean_room + - dps_val: find_sta + value: return_to_base + - dps_val: "null" + value: unknown + - id: 104 + type: string + name: fan + mapping: + - dps_val: FANHALTING + value: low + - dps_val: FANNORAM + value: mid + - dps_val: FANMAX + value: high + - id: 105 + type: string + name: direction_control + mapping: + - dps_val: MoveForward + value: forward + - dps_val: MoveBackward + value: backward + - dps_val: MoveLeft + value: left + - dps_val: MoveRight + value: right + - dps_val: stop + value: stop + - id: 112 + type: string + name: activate + mapping: + - dps_val: "0" + value: false + - dps_val: "1" + value: true + - id: 116 + type: boolean + name: locate + optional: true + - id: 118 + type: integer + name: model + - id: 119 + type: integer + name: data_sample - entity: sensor name: Clean area class: area diff --git a/custom_components/tuya_local/devices/leos_loo_too.yaml b/custom_components/tuya_local/devices/leos_loo_too.yaml index e88e13217c..6dae4ea585 100644 --- a/custom_components/tuya_local/devices/leos_loo_too.yaml +++ b/custom_components/tuya_local/devices/leos_loo_too.yaml @@ -2,15 +2,14 @@ name: Pet toilet products: - id: 1badzyvwh1e1hrog name: "Leo's Loo Too" -primary_entity: - entity: sensor - name: Times used today - icon: "mdi:counter" - dps: - - id: 7 - type: integer - name: sensor -secondary_entities: +entities: + - entity: sensor + name: Times used today + icon: "mdi:counter" + dps: + - id: 7 + type: integer + name: sensor - entity: switch name: Power category: config diff --git a/custom_components/tuya_local/devices/lexy_f501_fan.yaml b/custom_components/tuya_local/devices/lexy_f501_fan.yaml index cc350d4278..19f5fc04a7 100644 --- a/custom_components/tuya_local/devices/lexy_f501_fan.yaml +++ b/custom_components/tuya_local/devices/lexy_f501_fan.yaml @@ -1,51 +1,51 @@ -name: Lexy F501 fan +name: Fan products: - id: unqopjvzu4ut6hb0 -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - name: preset_mode - type: string - mapping: - - dps_val: "forestwindhigh" - value: strong - - dps_val: "forestwindlow" - value: nature - - dps_val: "sleepwindlow" - value: sleep - - dps_val: "sleepwindhigh" - value: fresh - - id: 4 - name: oscillate - type: string - mapping: - - dps_val: "off" - value: false - - dps_val: "30" - value: true - - dps_val: "60" - value: true - - dps_val: "90" - value: true - - dps_val: "360positive" - value: true - - dps_val: "360negative" - value: true - - id: 6 - name: timer - type: integer - - id: 102 - name: speed - type: integer - range: - min: 1 - max: 15 -secondary_entities: + name: Lexy F501 fan +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + name: preset_mode + type: string + mapping: + - dps_val: "forestwindhigh" + value: strong + - dps_val: "forestwindlow" + value: nature + - dps_val: "sleepwindlow" + value: sleep + - dps_val: "sleepwindhigh" + value: fresh + - id: 4 + name: oscillate + type: string + mapping: + - dps_val: "off" + value: false + - dps_val: "30" + value: true + - dps_val: "60" + value: true + - dps_val: "90" + value: true + - dps_val: "360positive" + value: true + - dps_val: "360negative" + value: true + - id: 6 + name: timer + type: integer + - id: 102 + name: speed + type: integer + range: + min: 1 + max: 15 - entity: light category: config dps: diff --git a/custom_components/tuya_local/devices/liectroux_g7_vacuum.yaml b/custom_components/tuya_local/devices/liectroux_g7_vacuum.yaml index 2c4c3ec094..e370136d81 100644 --- a/custom_components/tuya_local/devices/liectroux_g7_vacuum.yaml +++ b/custom_components/tuya_local/devices/liectroux_g7_vacuum.yaml @@ -2,127 +2,126 @@ name: Robot vacuum products: - id: bvcx2bum8jsb4zra name: Liectroux G7 -primary_entity: - entity: vacuum - dps: - - id: 101 - name: activate # clean_switch - type: boolean - - id: 102 - name: command # pause_switch - type: boolean - mapping: - - dps_val: true - value: pause - - dps_val: false - constraint: actual_command - conditions: - - dps_val: smart - value: smart - - dps_val: pose - value: clean_spot - - dps_val: zone - value: zone - - dps_val: backcharge - value: return_to_base - - id: 104 - name: actual_command # clean_mode - type: string - hidden: true - - id: 105 - name: status # robot_state - type: string - mapping: - - dps_val: idle - value: standby - - dps_val: pointing\areaing - value: pointing_areaing - - dps_val: totaling - value: cleaning - - dps_val: sweep - value: sweep - - dps_val: mop - value: mop - - dps_val: fault - value: error - - dps_val: pause - value: paused - - dps_val: chargring - value: charging - - dps_val: tocharge - value: returning - - dps_val: fullcharge - value: charged - - dps_val: remotectl - value: remotectl - - id: 109 - name: fan_speed # fan_mode - type: string - mapping: - - dps_val: quiet - value: Quiet - - dps_val: strong - value: Power - - dps_val: auto - value: Standard - - dps_val: max - value: Max - - id: 111 - name: direction_control # remote_ctrl - optional: true - type: string - mapping: - - dps_val: forward - value: forward - - dps_val: backward - value: backward - - dps_val: left - value: left - - dps_val: right - value: right - - dps_val: stop - value: stop - - id: 112 - name: locate # seek_robot - optional: true - type: boolean - - id: 123 - name: path_comm - optional: true - type: string - - id: 124 - name: cmd_comm - optional: true - type: string - - id: 125 - name: request_data - optional: true - type: string - - id: 126 - name: comm_flag - optional: true - type: string - - id: 127 - name: comm_raw - optional: true - type: string - - id: 128 - name: message_report - optional: true - type: string - - id: 130 - name: sn - optional: true - type: string - - id: 131 - name: uuid - optional: true - type: string - - id: 132 - name: device_info - optional: true - type: string -secondary_entities: +entities: + - entity: vacuum + dps: + - id: 101 + name: activate # clean_switch + type: boolean + - id: 102 + name: command # pause_switch + type: boolean + mapping: + - dps_val: true + value: pause + - dps_val: false + constraint: actual_command + conditions: + - dps_val: smart + value: smart + - dps_val: pose + value: clean_spot + - dps_val: zone + value: zone + - dps_val: backcharge + value: return_to_base + - id: 104 + name: actual_command # clean_mode + type: string + hidden: true + - id: 105 + name: status # robot_state + type: string + mapping: + - dps_val: idle + value: standby + - dps_val: pointing\areaing + value: pointing_areaing + - dps_val: totaling + value: cleaning + - dps_val: sweep + value: sweep + - dps_val: mop + value: mop + - dps_val: fault + value: error + - dps_val: pause + value: paused + - dps_val: chargring + value: charging + - dps_val: tocharge + value: returning + - dps_val: fullcharge + value: charged + - dps_val: remotectl + value: remotectl + - id: 109 + name: fan_speed # fan_mode + type: string + mapping: + - dps_val: quiet + value: Quiet + - dps_val: strong + value: Power + - dps_val: auto + value: Standard + - dps_val: max + value: Max + - id: 111 + name: direction_control # remote_ctrl + optional: true + type: string + mapping: + - dps_val: forward + value: forward + - dps_val: backward + value: backward + - dps_val: left + value: left + - dps_val: right + value: right + - dps_val: stop + value: stop + - id: 112 + name: locate # seek_robot + optional: true + type: boolean + - id: 123 + name: path_comm + optional: true + type: string + - id: 124 + name: cmd_comm + optional: true + type: string + - id: 125 + name: request_data + optional: true + type: string + - id: 126 + name: comm_flag + optional: true + type: string + - id: 127 + name: comm_raw + optional: true + type: string + - id: 128 + name: message_report + optional: true + type: string + - id: 130 + name: sn + optional: true + type: string + - id: 131 + name: uuid + optional: true + type: string + - id: 132 + name: device_info + optional: true + type: string - entity: switch name: Charge switch category: config diff --git a/custom_components/tuya_local/devices/liectroux_xr500_t3_vacuum.yaml b/custom_components/tuya_local/devices/liectroux_xr500_t3_vacuum.yaml index b7354d022f..840bf62684 100644 --- a/custom_components/tuya_local/devices/liectroux_xr500_t3_vacuum.yaml +++ b/custom_components/tuya_local/devices/liectroux_xr500_t3_vacuum.yaml @@ -2,129 +2,128 @@ name: Robot vacuum products: - id: wvk5sm5nr0tkij3b name: Liectroux XR500 T3 -primary_entity: - entity: vacuum - dps: - - id: 1 - type: boolean - name: power - - id: 2 - type: boolean - name: activate - - id: 4 - type: string - name: command - mapping: - - dps_val: smart - value: smart - - dps_val: zone - value: zone - - dps_val: pose - value: go_to_position - - dps_val: part - value: clean_spot - - dps_val: chargego - value: return_to_base - - dps_val: wallfollow - value: wall_follow - - dps_val: selectroom - value: select_room - - id: 5 - type: string - name: status - mapping: - - dps_val: standby - value: standby - - dps_val: smart - value: cleaning - - dps_val: zone_clean - value: cleaning - - dps_val: part_clean - value: cleaning - - dps_val: cleaning - value: cleaning - - dps_val: paused - value: pause - - dps_val: goto_pos - value: going_to_location - - dps_val: pos_arrived - value: on_location - - dps_val: pos_unarrive - value: cannot_find_location - - dps_val: goto_charge - value: returning - - dps_val: charging - value: charging - - dps_val: charge_done - value: charged - - dps_val: sleep - value: sleep - - dps_val: fault - value: error - - dps_val: wall_follow - value: cleaning - - dps_val: direction_control - value: direction_control - - dps_val: select_room - value: select_room - - dps_val: repositing - value: repositioning - - id: 9 - type: string - name: fan_speed - mapping: - - dps_val: strong - value: High - - dps_val: normal - value: Medium - - dps_val: gentle - value: Low - - dps_val: turnoff - value: "Off" - - id: 11 - type: boolean - name: locate - optional: true - - id: 12 - type: string - name: direction_control - optional: true - mapping: - - dps_val: foward - value: forward - - dps_val: backward - value: reverse - - dps_val: turn_left - value: left - - dps_val: turn_right - value: right - - dps_val: stop - value: stop - - id: 14 - type: string - name: path_data - optional: true - - id: 15 - type: string - name: command_trans - optional: true - - id: 16 - type: string - name: request - optional: true - - id: 35 - type: string - name: voice_data - optional: true - - id: 101 - type: string - name: smart_rooms_unseen - optional: true - - id: 102 - type: string - name: rooms_msg_unseen - optional: true -secondary_entities: +entities: + - entity: vacuum + dps: + - id: 1 + type: boolean + name: power + - id: 2 + type: boolean + name: activate + - id: 4 + type: string + name: command + mapping: + - dps_val: smart + value: smart + - dps_val: zone + value: zone + - dps_val: pose + value: go_to_position + - dps_val: part + value: clean_spot + - dps_val: chargego + value: return_to_base + - dps_val: wallfollow + value: wall_follow + - dps_val: selectroom + value: select_room + - id: 5 + type: string + name: status + mapping: + - dps_val: standby + value: standby + - dps_val: smart + value: cleaning + - dps_val: zone_clean + value: cleaning + - dps_val: part_clean + value: cleaning + - dps_val: cleaning + value: cleaning + - dps_val: paused + value: pause + - dps_val: goto_pos + value: going_to_location + - dps_val: pos_arrived + value: on_location + - dps_val: pos_unarrive + value: cannot_find_location + - dps_val: goto_charge + value: returning + - dps_val: charging + value: charging + - dps_val: charge_done + value: charged + - dps_val: sleep + value: sleep + - dps_val: fault + value: error + - dps_val: wall_follow + value: cleaning + - dps_val: direction_control + value: direction_control + - dps_val: select_room + value: select_room + - dps_val: repositing + value: repositioning + - id: 9 + type: string + name: fan_speed + mapping: + - dps_val: strong + value: High + - dps_val: normal + value: Medium + - dps_val: gentle + value: Low + - dps_val: turnoff + value: "Off" + - id: 11 + type: boolean + name: locate + optional: true + - id: 12 + type: string + name: direction_control + optional: true + mapping: + - dps_val: foward + value: forward + - dps_val: backward + value: reverse + - dps_val: turn_left + value: left + - dps_val: turn_right + value: right + - dps_val: stop + value: stop + - id: 14 + type: string + name: path_data + optional: true + - id: 15 + type: string + name: command_trans + optional: true + - id: 16 + type: string + name: request + optional: true + - id: 35 + type: string + name: voice_data + optional: true + - id: 101 + type: string + name: smart_rooms_unseen + optional: true + - id: 102 + type: string + name: rooms_msg_unseen + optional: true - entity: switch name: Charge icon: "mdi:lightning-bolt" diff --git a/custom_components/tuya_local/devices/lifubide_x600_purifier.yaml b/custom_components/tuya_local/devices/lifubide_x600_purifier.yaml index ede91d5176..1685848473 100644 --- a/custom_components/tuya_local/devices/lifubide_x600_purifier.yaml +++ b/custom_components/tuya_local/devices/lifubide_x600_purifier.yaml @@ -2,24 +2,23 @@ name: Air purifier products: - id: t40kx2rdqjzjss4a name: Lifubide X600 -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 1 - type: boolean - name: switch - - id: 3 - type: string - name: preset_mode - mapping: - - dps_val: auto - value: smart - - dps_val: sleep - value: sleep - - dps_val: manual - value: normal -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 1 + type: boolean + name: switch + - id: 3 + type: string + name: preset_mode + mapping: + - dps_val: auto + value: smart + - dps_val: sleep + value: sleep + - dps_val: manual + value: normal - entity: sensor class: pm25 dps: diff --git a/custom_components/tuya_local/devices/light_string.yaml b/custom_components/tuya_local/devices/light_string.yaml index 342dbc6cc2..1089d9f9a2 100644 --- a/custom_components/tuya_local/devices/light_string.yaml +++ b/custom_components/tuya_local/devices/light_string.yaml @@ -2,42 +2,41 @@ name: Fairy lights products: - id: rqsvgaquywwekm6x name: Popotan Smart Fairy String Lights -primary_entity: - entity: light - dps: - - id: 20 - name: switch - type: boolean - - id: 21 - name: color_mode - type: string - mapping: - - dps_val: colour - value: hs - - dps_val: scene - value: Scene - - dps_val: music - value: Music - - id: 24 - name: rgbhsv - type: hex - format: - - name: h - bytes: 2 - range: - min: 0 - max: 360 - - name: s - bytes: 2 - range: - min: 0 - max: 1000 - - name: v - bytes: 2 - range: - min: 0 - max: 1000 -secondary_entities: +entities: + - entity: light + dps: + - id: 20 + name: switch + type: boolean + - id: 21 + name: color_mode + type: string + mapping: + - dps_val: colour + value: hs + - dps_val: scene + value: Scene + - dps_val: music + value: Music + - id: 24 + name: rgbhsv + type: hex + format: + - name: h + bytes: 2 + range: + min: 0 + max: 360 + - name: s + bytes: 2 + range: + min: 0 + max: 1000 + - name: v + bytes: 2 + range: + min: 0 + max: 1000 - entity: select name: Scene icon: "mdi:palette" diff --git a/custom_components/tuya_local/devices/lindasmart_7s_doorbell.yaml b/custom_components/tuya_local/devices/lindasmart_7s_doorbell.yaml index 1a8ce41909..c10e32eb09 100644 --- a/custom_components/tuya_local/devices/lindasmart_7s_doorbell.yaml +++ b/custom_components/tuya_local/devices/lindasmart_7s_doorbell.yaml @@ -2,28 +2,27 @@ name: Video doorbell products: - id: thmj9wewi8yhouo4 name: Linda Smart 7S -primary_entity: - entity: camera - dps: - - id: 154 - type: base64 - optional: true - sensitive: true - persist: false - name: snapshot - mapping: - - dps_val: null - value_redirect: movement_pic - - id: 115 - type: base64 - optional: true - sensitive: true - name: movement_pic - - id: 240 - type: boolean - optional: true - name: motion_enable -secondary_entities: +entities: + - entity: camera + dps: + - id: 154 + type: base64 + optional: true + sensitive: true + persist: false + name: snapshot + mapping: + - dps_val: null + value_redirect: movement_pic + - id: 115 + type: base64 + optional: true + sensitive: true + name: movement_pic + - id: 240 + type: boolean + optional: true + name: motion_enable - entity: switch name: Flip image icon: "mdi:flip-horizontal" diff --git a/custom_components/tuya_local/devices/linkoze_dual_button.yaml b/custom_components/tuya_local/devices/linkoze_dual_button.yaml index 432976882b..a592247391 100644 --- a/custom_components/tuya_local/devices/linkoze_dual_button.yaml +++ b/custom_components/tuya_local/devices/linkoze_dual_button.yaml @@ -2,22 +2,21 @@ name: Dual buttons products: - id: l8yaz4um5b3pwyvf name: Linkoze LKWSW201 -primary_entity: - entity: event - name: Button 1 - class: button - dps: - - id: 1 - type: string - name: event - mapping: - - dps_val: single_click - value: single_click - - dps_val: long_press - value: long_press - - dps_val: double_click - value: double_click -secondary_entities: +entities: + - entity: event + name: Button 1 + class: button + dps: + - id: 1 + type: string + name: event + mapping: + - dps_val: single_click + value: single_click + - dps_val: long_press + value: long_press + - dps_val: double_click + value: double_click - entity: event name: Button 2 class: button diff --git a/custom_components/tuya_local/devices/littepets.yaml b/custom_components/tuya_local/devices/littepets.yaml index acb4e342eb..a59b42aa65 100644 --- a/custom_components/tuya_local/devices/littepets.yaml +++ b/custom_components/tuya_local/devices/littepets.yaml @@ -2,15 +2,14 @@ name: Cat litter box products: - id: jdxbiz2ca8x2mbfk name: Littepets Cute Baby MA2 Series -primary_entity: - entity: switch - name: Power - icon: "mdi:switch" - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + name: Power + icon: "mdi:switch" + dps: + - id: 1 + type: boolean + name: switch - entity: sensor name: Work Mode class: enum diff --git a/custom_components/tuya_local/devices/loeffen_LFIM6000_icecubemaker.yaml b/custom_components/tuya_local/devices/loeffen_LFIM6000_icecubemaker.yaml index e8d5196f92..0426f456be 100644 --- a/custom_components/tuya_local/devices/loeffen_LFIM6000_icecubemaker.yaml +++ b/custom_components/tuya_local/devices/loeffen_LFIM6000_icecubemaker.yaml @@ -2,14 +2,13 @@ name: Ice cube maker products: - id: 2y44i6euwk9eeiz8 name: Loeffen LFIM6000 -primary_entity: - entity: switch - icon: "mdi:delete-variant" - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + icon: "mdi:delete-variant" + dps: + - id: 1 + type: boolean + name: switch - entity: select name: Ice cube size icon: "mdi:cube-scan" diff --git a/custom_components/tuya_local/devices/logicom_powerstrip.yaml b/custom_components/tuya_local/devices/logicom_powerstrip.yaml index 0df0eedd54..943bcc4882 100644 --- a/custom_components/tuya_local/devices/logicom_powerstrip.yaml +++ b/custom_components/tuya_local/devices/logicom_powerstrip.yaml @@ -1,15 +1,14 @@ name: 4 outlet + USB powerstrip -primary_entity: - entity: switch - translation_key: outlet_x - translation_placeholders: - x: "1" - class: outlet - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + translation_key: outlet_x + translation_placeholders: + x: "1" + class: outlet + dps: + - id: 1 + type: boolean + name: switch - entity: switch translation_key: outlet_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/loonas_curtain.yaml b/custom_components/tuya_local/devices/loonas_curtain.yaml index f31d0e5590..b86a593593 100644 --- a/custom_components/tuya_local/devices/loonas_curtain.yaml +++ b/custom_components/tuya_local/devices/loonas_curtain.yaml @@ -5,39 +5,38 @@ products: name: Loonas curtain motor - id: f6jujmx0is5td50x name: Zemismart BCM500DS-TYW -primary_entity: - entity: cover - class: curtain - dps: - - id: 1 - name: control - type: string - optional: true - mapping: - - dps_val: open - value: open - - dps_val: close - value: close - - dps_val: stop - value: stop - - id: 2 - name: position - type: integer - range: - min: 0 - max: 100 - mapping: - - invert: true - - id: 3 - name: current_position - type: integer - optional: true - range: - min: 0 - max: 100 - mapping: - - invert: true -secondary_entities: +entities: + - entity: cover + class: curtain + dps: + - id: 1 + name: control + type: string + optional: true + mapping: + - dps_val: open + value: open + - dps_val: close + value: close + - dps_val: stop + value: stop + - id: 2 + name: position + type: integer + range: + min: 0 + max: 100 + mapping: + - invert: true + - id: 3 + name: current_position + type: integer + optional: true + range: + min: 0 + max: 100 + mapping: + - invert: true - entity: switch name: Reverse category: config diff --git a/custom_components/tuya_local/devices/loratap_curtain_switch.yaml b/custom_components/tuya_local/devices/loratap_curtain_switch.yaml index ac000b1650..2a40dbf439 100644 --- a/custom_components/tuya_local/devices/loratap_curtain_switch.yaml +++ b/custom_components/tuya_local/devices/loratap_curtain_switch.yaml @@ -4,44 +4,44 @@ products: name: Loratap SC500W-V1 - id: hwbhrbadjynv7w70 name: Zemismart ZM16L -primary_entity: - entity: cover - class: blind - dps: - - id: 1 - name: control - type: string - mapping: - - conditions: - - dps_val: ["1", "2", "3"] - mapping: - - dps_val: "1" - value: open - - dps_val: "2" - value: close - - dps_val: "3" - value: stop - - dps_val: ["open", "close", "stop", "continue"] - mapping: - - dps_val: open - value: open - - dps_val: close - value: close - - dps_val: stop - value: stop - - dps_val: ["ZZ", "FZ", "STOP"] - mapping: - - dps_val: ZZ - value: open - - dps_val: FZ - value: close - - dps_val: STOP - value: stop - - dps_val: null - mapping: - - dps_val: open - value: open - - dps_val: close - value: close - - dps_val: stop - value: stop +entities: + - entity: cover + class: blind + dps: + - id: 1 + name: control + type: string + mapping: + - conditions: + - dps_val: ["1", "2", "3"] + mapping: + - dps_val: "1" + value: open + - dps_val: "2" + value: close + - dps_val: "3" + value: stop + - dps_val: ["open", "close", "stop", "continue"] + mapping: + - dps_val: open + value: open + - dps_val: close + value: close + - dps_val: stop + value: stop + - dps_val: ["ZZ", "FZ", "STOP"] + mapping: + - dps_val: ZZ + value: open + - dps_val: FZ + value: close + - dps_val: STOP + value: stop + - dps_val: null + mapping: + - dps_val: open + value: open + - dps_val: close + value: close + - dps_val: stop + value: stop diff --git a/custom_components/tuya_local/devices/loratap_curtain_switch_QCSC400ZB-V2.yaml b/custom_components/tuya_local/devices/loratap_curtain_switch_QCSC400ZB-V2.yaml index fc5a324e75..988b09af5e 100644 --- a/custom_components/tuya_local/devices/loratap_curtain_switch_QCSC400ZB-V2.yaml +++ b/custom_components/tuya_local/devices/loratap_curtain_switch_QCSC400ZB-V2.yaml @@ -1,26 +1,26 @@ -name: ZigBee Curtain Switch +name: Curtain switch products: - id: qa8s8vca name: LoraTap QCSC400ZB-V2 -primary_entity: - entity: cover - class: blind - dps: - - id: 1 - name: control - type: string - mapping: - - dps_val: open - value: open - - dps_val: close - value: close - - dps_val: stop - value: stop - - id: 8 - name: control_back_mode - type: string - mapping: - - dps_val: forward - value: forward - - dps_val: backward - value: backward +entities: + - entity: cover + class: blind + dps: + - id: 1 + name: control + type: string + mapping: + - dps_val: open + value: open + - dps_val: close + value: close + - dps_val: stop + value: stop + - id: 8 + name: control_back_mode + type: string + mapping: + - dps_val: forward + value: forward + - dps_val: backward + value: backward diff --git a/custom_components/tuya_local/devices/loratap_dual_switch.yaml b/custom_components/tuya_local/devices/loratap_dual_switch.yaml index 1449ce4148..cfe8640937 100644 --- a/custom_components/tuya_local/devices/loratap_dual_switch.yaml +++ b/custom_components/tuya_local/devices/loratap_dual_switch.yaml @@ -2,16 +2,15 @@ name: Dual switch products: - id: keyjnuy4s3kre7m7 name: LoraTap RR620W-JL -primary_entity: - entity: switch - translation_key: switch_x - translation_placeholders: - x: "1" - dps: - - id: 1 - name: switch - type: boolean -secondary_entities: +entities: + - entity: switch + translation_key: switch_x + translation_placeholders: + x: "1" + dps: + - id: 1 + name: switch + type: boolean - entity: switch translation_key: switch_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/loratap_garage_door.yaml b/custom_components/tuya_local/devices/loratap_garage_door.yaml index 49db0255fc..85f55b6e1b 100644 --- a/custom_components/tuya_local/devices/loratap_garage_door.yaml +++ b/custom_components/tuya_local/devices/loratap_garage_door.yaml @@ -3,23 +3,22 @@ products: - id: kksjmhr9nhjudvzo name: LoraTap GDC100W - id: keyftvxappyrem5a -primary_entity: - entity: cover - class: garage - dps: - - id: 1 - type: boolean - name: control - optional: true - mapping: - - dps_val: true - value: open - - dps_val: false - value: close - - id: 101 - name: open - type: boolean -secondary_entities: +entities: + - entity: cover + class: garage + dps: + - id: 1 + type: boolean + name: control + optional: true + mapping: + - dps_val: true + value: open + - dps_val: false + value: close + - id: 101 + name: open + type: boolean - entity: number class: duration translation_key: timer diff --git a/custom_components/tuya_local/devices/loratap_relay.yaml b/custom_components/tuya_local/devices/loratap_relay.yaml index 7cd3ef2320..3cf8c3ed7d 100644 --- a/custom_components/tuya_local/devices/loratap_relay.yaml +++ b/custom_components/tuya_local/devices/loratap_relay.yaml @@ -2,25 +2,24 @@ name: Relay switch products: - id: owzofmjyg7foteb6 name: Loratap RR500W -primary_entity: - entity: switch - dps: - - id: 1 - type: boolean - name: switch - - id: 42 - type: string - name: cycle_time - optional: true - - id: 43 - type: string - name: random_time - optional: true - - id: 44 - type: string - name: inching - optional: true -secondary_entities: +entities: + - entity: switch + dps: + - id: 1 + type: boolean + name: switch + - id: 42 + type: string + name: cycle_time + optional: true + - id: 43 + type: string + name: random_time + optional: true + - id: 44 + type: string + name: inching + optional: true - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/loratap_wifi_curtain_switch_double.yaml b/custom_components/tuya_local/devices/loratap_wifi_curtain_switch_double.yaml index 4935f5f0df..dbf7981cb0 100644 --- a/custom_components/tuya_local/devices/loratap_wifi_curtain_switch_double.yaml +++ b/custom_components/tuya_local/devices/loratap_wifi_curtain_switch_double.yaml @@ -2,31 +2,30 @@ name: Double curtain switch products: - id: zqypumy8ot4clzyi name: Loratap QCSC420W -primary_entity: - entity: cover - name: Curtain 1 - class: blind - 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 - range: - max: 100 - min: 0 - - id: 2 - name: current_position - type: integer -secondary_entities: +entities: + - entity: cover + name: Curtain 1 + class: blind + 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 + range: + max: 100 + min: 0 + - id: 2 + name: current_position + type: integer - entity: cover name: Curtain 2 dps: diff --git a/custom_components/tuya_local/devices/loratap_zigbee_curtain.yaml b/custom_components/tuya_local/devices/loratap_zigbee_curtain.yaml index 581ac2e6ed..d14dac52d9 100644 --- a/custom_components/tuya_local/devices/loratap_zigbee_curtain.yaml +++ b/custom_components/tuya_local/devices/loratap_zigbee_curtain.yaml @@ -4,34 +4,33 @@ products: name: Loratap SC500ZB-V2 - id: v7ooovn9oamttmre name: Loratap WiFi curtain -primary_entity: - entity: cover - class: shutter - 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 - - id: 14 - name: light_mode - type: string - optional: true -secondary_entities: +entities: + - entity: cover + class: shutter + 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 + - id: 14 + name: light_mode + type: string + optional: true - entity: switch category: config name: Reverse Motor Direction diff --git a/custom_components/tuya_local/devices/loratap_zigbee_six_switch.yaml b/custom_components/tuya_local/devices/loratap_zigbee_six_switch.yaml index 4d2ae6950e..fcbc2d0f47 100644 --- a/custom_components/tuya_local/devices/loratap_zigbee_six_switch.yaml +++ b/custom_components/tuya_local/devices/loratap_zigbee_six_switch.yaml @@ -2,23 +2,22 @@ name: Six button remote products: - id: iszegwpd name: Six gang Zigbee remote -primary_entity: - entity: event - name: Button 1 - class: button - dps: - - id: 1 - type: string - name: event - optional: true - mapping: - - dps_val: single_click - value: single_click - - dps_val: long_press - value: long_press - - dps_val: double_click - value: double_click -secondary_entities: +entities: + - entity: event + name: Button 1 + class: button + dps: + - id: 1 + type: string + name: event + optional: true + mapping: + - dps_val: single_click + value: single_click + - dps_val: long_press + value: long_press + - dps_val: double_click + value: double_click - entity: event name: Button 2 class: button diff --git a/custom_components/tuya_local/devices/loycco_sound_nightlight.yaml b/custom_components/tuya_local/devices/loycco_sound_nightlight.yaml index 4c4ef737cb..2bdff6143a 100644 --- a/custom_components/tuya_local/devices/loycco_sound_nightlight.yaml +++ b/custom_components/tuya_local/devices/loycco_sound_nightlight.yaml @@ -3,57 +3,56 @@ legacy_type: momcozy_white_noise_machine products: - id: woqiobw0jfafgmar name: Momland nightlight with white noise -primary_entity: - entity: light - translation_key: nightlight - dps: - - id: 3 - type: boolean - name: switch - - id: 4 - type: string - name: color_mode - mapping: - - dps_val: change - value: Rainbow - - dps_val: breath - value: Breath - - dps_val: light_off - value: hs - - dps_val: light_on - value: white - - id: 6 - name: brightness - type: integer - optional: true - range: - min: 10 - max: 1000 - - id: 5 - name: rgbhsv - type: hex - optional: true - format: - - name: h - bytes: 2 - range: - min: 0 - max: 360 - - name: s - bytes: 2 - range: - min: 0 - max: 1000 - - name: v - bytes: 2 - range: - min: 0 - max: 1000 - - id: 1 - type: boolean - name: power - optional: true -secondary_entities: +entities: + - entity: light + translation_key: nightlight + dps: + - id: 3 + type: boolean + name: switch + - id: 4 + type: string + name: color_mode + mapping: + - dps_val: change + value: Rainbow + - dps_val: breath + value: Breath + - dps_val: light_off + value: hs + - dps_val: light_on + value: white + - id: 6 + name: brightness + type: integer + optional: true + range: + min: 10 + max: 1000 + - id: 5 + name: rgbhsv + type: hex + optional: true + format: + - name: h + bytes: 2 + range: + min: 0 + max: 360 + - name: s + bytes: 2 + range: + min: 0 + max: 1000 + - name: v + bytes: 2 + range: + min: 0 + max: 1000 + - id: 1 + type: boolean + name: power + optional: true - entity: select name: Light mode icon: "mdi:lightbulb-question" diff --git a/custom_components/tuya_local/devices/ls830ty_curtain.yaml b/custom_components/tuya_local/devices/ls830ty_curtain.yaml index 0c4bd7a0ee..79e7a47770 100644 --- a/custom_components/tuya_local/devices/ls830ty_curtain.yaml +++ b/custom_components/tuya_local/devices/ls830ty_curtain.yaml @@ -2,38 +2,37 @@ name: Curtain products: - id: 550grkojy40jodv0 name: LS830-TY -primary_entity: - entity: cover - class: curtain - dps: - - id: 1 - type: string - name: control - mapping: - - dps_val: open - value: open - - dps_val: close - value: close - - dps_val: stop - value: stop - - id: 2 - type: integer - name: position - optional: true - range: - min: 0 - max: 100 - mapping: - - invert: true - - id: 3 - type: integer - name: current_position - range: - min: 0 - max: 100 - mapping: - - invert: true -secondary_entities: +entities: + - entity: cover + class: curtain + dps: + - id: 1 + type: string + name: control + mapping: + - dps_val: open + value: open + - dps_val: close + value: close + - dps_val: stop + value: stop + - id: 2 + type: integer + name: position + optional: true + range: + min: 0 + max: 100 + mapping: + - invert: true + - id: 3 + type: integer + name: current_position + range: + min: 0 + max: 100 + mapping: + - invert: true - entity: select name: Direction icon: "mdi:arrow-u-left-bottom" diff --git a/custom_components/tuya_local/devices/lsc_ptz_camera.yaml b/custom_components/tuya_local/devices/lsc_ptz_camera.yaml index 2d308d16ae..266f159e90 100644 --- a/custom_components/tuya_local/devices/lsc_ptz_camera.yaml +++ b/custom_components/tuya_local/devices/lsc_ptz_camera.yaml @@ -2,36 +2,35 @@ name: Camera products: - id: n7h0m2x7i2yzol0p name: LSC PTZ -primary_entity: - entity: camera - dps: - - id: 105 - type: boolean - optional: true - name: switch - mapping: - - dps_val: true - value: false - - dps_val: false - value: true - - dps_val: null - value: true - hidden: true - - id: 134 - type: boolean - name: motion_enable - optional: true - - id: 150 - type: boolean - name: record - optional: true - - id: 115 - type: base64 - optional: true - persist: false - sensitive: true - name: snapshot -secondary_entities: +entities: + - entity: camera + dps: + - id: 105 + type: boolean + optional: true + name: switch + mapping: + - dps_val: true + value: false + - dps_val: false + value: true + - dps_val: null + value: true + hidden: true + - id: 134 + type: boolean + name: motion_enable + optional: true + - id: 150 + type: boolean + name: record + optional: true + - id: 115 + type: base64 + optional: true + persist: false + sensitive: true + name: snapshot - entity: switch name: Flip image category: config diff --git a/custom_components/tuya_local/devices/lsc_smart_ceiling_light.yaml b/custom_components/tuya_local/devices/lsc_smart_ceiling_light.yaml index 7755e32946..a26c135088 100644 --- a/custom_components/tuya_local/devices/lsc_smart_ceiling_light.yaml +++ b/custom_components/tuya_local/devices/lsc_smart_ceiling_light.yaml @@ -3,31 +3,30 @@ products: - id: bwyutsrcsnwf3p5o name: LSC Smart Connect -primary_entity: - entity: light - icon: mdi:circle - dps: - - id: 63 - type: boolean - name: switch - - id: 22 - name: brightness - type: integer - range: - min: 10 - max: 1000 - - id: 23 - name: color_temp - type: integer - range: - min: 0 - max: 1000 - mapping: - - target_range: - min: 2700 - max: 6500 +entities: + - entity: light + icon: mdi:circle + dps: + - id: 63 + type: boolean + name: switch + - id: 22 + name: brightness + type: integer + range: + min: 10 + max: 1000 + - id: 23 + name: color_temp + type: integer + range: + min: 0 + max: 1000 + mapping: + - target_range: + min: 2700 + max: 6500 -secondary_entities: - entity: light name: Halo icon: "mdi:circle-outline" diff --git a/custom_components/tuya_local/devices/lscsmartconnect_gardenspotlights.yaml b/custom_components/tuya_local/devices/lscsmartconnect_gardenspotlights.yaml index c2a981fd87..d859b58154 100644 --- a/custom_components/tuya_local/devices/lscsmartconnect_gardenspotlights.yaml +++ b/custom_components/tuya_local/devices/lscsmartconnect_gardenspotlights.yaml @@ -2,73 +2,72 @@ name: Lighting products: - id: key8u54q9dtru5jw name: LSC Smart Connect spots de jardin LED intelligents -primary_entity: - entity: light - dps: - - id: 20 - type: boolean - name: switch - - id: 21 - name: color_mode - type: string - mapping: - - dps_val: white - value: white - - dps_val: colour - value: hs - - dps_val: scene - value: Scene - - dps_val: music - value: Music - - id: 22 - name: brightness - type: integer - range: - min: 10 - max: 1000 - - id: 24 - name: rgbhsv - type: hex - format: - - name: h - bytes: 2 - range: - min: 0 - max: 360 - - name: s - bytes: 2 - range: - min: 0 - max: 1000 - - name: v - bytes: 2 - range: - min: 0 - max: 1000 - - id: 25 - type: string - name: scene_data - - id: 28 - type: string - optional: true - name: control_data - - id: 30 - type: string - optional: true - name: rhythm_mode - - id: 31 - type: string - optional: true - name: sleep_mode - - id: 32 - type: string - optional: true - name: wakeup_mode - - id: 33 - type: string - optional: true - name: power_memory -secondary_entities: +entities: + - entity: light + dps: + - id: 20 + type: boolean + name: switch + - id: 21 + name: color_mode + type: string + mapping: + - dps_val: white + value: white + - dps_val: colour + value: hs + - dps_val: scene + value: Scene + - dps_val: music + value: Music + - id: 22 + name: brightness + type: integer + range: + min: 10 + max: 1000 + - id: 24 + name: rgbhsv + type: hex + format: + - name: h + bytes: 2 + range: + min: 0 + max: 360 + - name: s + bytes: 2 + range: + min: 0 + max: 1000 + - name: v + bytes: 2 + range: + min: 0 + max: 1000 + - id: 25 + type: string + name: scene_data + - id: 28 + type: string + optional: true + name: control_data + - id: 30 + type: string + optional: true + name: rhythm_mode + - id: 31 + type: string + optional: true + name: sleep_mode + - id: 32 + type: string + optional: true + name: wakeup_mode + - id: 33 + type: string + optional: true + name: power_memory - entity: number class: duration translation_key: timer diff --git a/custom_components/tuya_local/devices/lscsmartconnect_rgbcct_bulb.yaml b/custom_components/tuya_local/devices/lscsmartconnect_rgbcct_bulb.yaml index c907450080..0766dcbc0b 100644 --- a/custom_components/tuya_local/devices/lscsmartconnect_rgbcct_bulb.yaml +++ b/custom_components/tuya_local/devices/lscsmartconnect_rgbcct_bulb.yaml @@ -1,65 +1,64 @@ -name: LSC RGB-CCT +name: RGB-CCT light products: - id: hpaeslvkx4znwzae name: LSC SMART Connect A60 RGB-CCT -primary_entity: - entity: light - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - name: color_mode - type: string - mapping: - - dps_val: white - value: color_temp - - dps_val: colour - value: hs - - id: 3 - name: brightness - type: integer - range: - min: 25 - max: 255 - - id: 4 - name: color_temp - type: integer - range: - min: 0 - max: 255 - mapping: - - target_range: - min: 2700 - max: 6500 - - id: 5 - name: rgbhsv - type: hex - 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 +entities: + - entity: light + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + name: color_mode + type: string + mapping: + - dps_val: white + value: color_temp + - dps_val: colour + value: hs + - id: 3 + name: brightness + type: integer + range: + min: 25 + max: 255 + - id: 4 + name: color_temp + type: integer + range: + min: 0 + max: 255 + mapping: + - target_range: + min: 2700 + max: 6500 + - id: 5 + name: rgbhsv + type: hex + 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 -secondary_entities: - entity: select name: Scene icon: "mdi:palette" diff --git a/custom_components/tuya_local/devices/lublueblu_sl60d_vacuum.yaml b/custom_components/tuya_local/devices/lublueblu_sl60d_vacuum.yaml index fcbe4c0e86..30e3e640fd 100644 --- a/custom_components/tuya_local/devices/lublueblu_sl60d_vacuum.yaml +++ b/custom_components/tuya_local/devices/lublueblu_sl60d_vacuum.yaml @@ -2,144 +2,143 @@ name: Robot vacuum products: - id: tdxitkhbixikp8eh name: Lubluelu SL60D -primary_entity: - entity: vacuum - dps: - - id: 1 - type: boolean - name: activate - optional: true - mapping: - - dps_val: false - constraint: pause - conditions: - - dps_val: true - value: false - - dps_val: false - value: false - hidden: true - - dps_val: null - value: false - hidden: true - - dps_val: true - constraint: pause - conditions: - - dps_val: false - value: true - - dps_val: true - value: true - hidden: true - - dps_val: null - value: true - hidden: true - - dps_val: null - value: false - hidden: true - - id: 2 - type: boolean - optional: true - name: pause - hidden: true - - id: 4 - type: string - name: command - optional: true - mapping: - - dps_val: smart - value: smart - - dps_val: chargego - value: return_to_base - - dps_val: zone - value: zone - - dps_val: pose - value: clean_spot - - dps_val: part - value: partial - - dps_val: selectroom - value: select_room - - id: 5 - type: string - name: status - mapping: - - dps_val: standby - value: standby - - dps_val: smart - value: smart - - dps_val: zone_clean - value: zone - - dps_val: part_clean - value: partial - - dps_val: cleaning - value: cleaning - - dps_val: paused - value: paused - - dps_val: goto_pos - value: seeking_spot - - dps_val: pos_arrived - value: located spot - - dps_val: pos_unarrive - value: left_spot - - dps_val: goto_charge - value: returning - - dps_val: charging - value: charging - - dps_val: charge_done - value: charged - - dps_val: sleep - value: sleep - - dps_val: select_room - value: selecting_room - - id: 9 - type: string - name: fan_speed - mapping: - - dps_val: gentle - value: Low - - dps_val: normal - value: Medium - - dps_val: strong - value: High - - id: 11 - type: boolean - name: locate - optional: true - - id: 12 - type: string - name: direction_control - optional: true - mapping: - - dps_val: forward - value: forward - - dps_val: backward - value: reverse - - dps_val: turn_left - value: left - - dps_val: turn_right - value: right - - dps_val: stop - value: stop - - id: 14 - type: string - optional: true - name: path_data - - id: 15 - type: string - optional: true - name: command_trans - - id: 28 - type: bitfield - name: error - hidden: true - - id: 34 - type: string - optional: true - name: device_info - - id: 35 - type: string - optional: true - name: voice_data +entities: + - entity: vacuum + dps: + - id: 1 + type: boolean + name: activate + optional: true + mapping: + - dps_val: false + constraint: pause + conditions: + - dps_val: true + value: false + - dps_val: false + value: false + hidden: true + - dps_val: null + value: false + hidden: true + - dps_val: true + constraint: pause + conditions: + - dps_val: false + value: true + - dps_val: true + value: true + hidden: true + - dps_val: null + value: true + hidden: true + - dps_val: null + value: false + hidden: true + - id: 2 + type: boolean + optional: true + name: pause + hidden: true + - id: 4 + type: string + name: command + optional: true + mapping: + - dps_val: smart + value: smart + - dps_val: chargego + value: return_to_base + - dps_val: zone + value: zone + - dps_val: pose + value: clean_spot + - dps_val: part + value: partial + - dps_val: selectroom + value: select_room + - id: 5 + type: string + name: status + mapping: + - dps_val: standby + value: standby + - dps_val: smart + value: smart + - dps_val: zone_clean + value: zone + - dps_val: part_clean + value: partial + - dps_val: cleaning + value: cleaning + - dps_val: paused + value: paused + - dps_val: goto_pos + value: seeking_spot + - dps_val: pos_arrived + value: located spot + - dps_val: pos_unarrive + value: left_spot + - dps_val: goto_charge + value: returning + - dps_val: charging + value: charging + - dps_val: charge_done + value: charged + - dps_val: sleep + value: sleep + - dps_val: select_room + value: selecting_room + - id: 9 + type: string + name: fan_speed + mapping: + - dps_val: gentle + value: Low + - dps_val: normal + value: Medium + - dps_val: strong + value: High + - id: 11 + type: boolean + name: locate + optional: true + - id: 12 + type: string + name: direction_control + optional: true + mapping: + - dps_val: forward + value: forward + - dps_val: backward + value: reverse + - dps_val: turn_left + value: left + - dps_val: turn_right + value: right + - dps_val: stop + value: stop + - id: 14 + type: string + optional: true + name: path_data + - id: 15 + type: string + optional: true + name: command_trans + - id: 28 + type: bitfield + name: error + hidden: true + - id: 34 + type: string + optional: true + name: device_info + - id: 35 + type: string + optional: true + name: voice_data -secondary_entities: - entity: switch name: Charge icon: "mdi:battery-charging" diff --git a/custom_components/tuya_local/devices/lucci_fan.yaml b/custom_components/tuya_local/devices/lucci_fan.yaml index 1792911df8..56169bbc3a 100644 --- a/custom_components/tuya_local/devices/lucci_fan.yaml +++ b/custom_components/tuya_local/devices/lucci_fan.yaml @@ -2,23 +2,22 @@ name: Ceiling Fan products: - id: U8wU126HQlIeQHvS name: Lucci Connect WiFi Fan Remote -primary_entity: - entity: fan - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - name: speed - type: string - mapping: - - dps_val: "1" - value: 33 - - dps_val: "2" - value: 66 - - dps_val: "3" - value: 100 -secondary_entities: +entities: + - entity: fan + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + name: speed + type: string + mapping: + - dps_val: "1" + value: 33 + - dps_val: "2" + value: 66 + - dps_val: "3" + value: 100 - entity: light dps: - id: 102 diff --git a/custom_components/tuya_local/devices/lucking_hs6_lock.yaml b/custom_components/tuya_local/devices/lucking_hs6_lock.yaml index 3af72e44fe..d71eb9f808 100644 --- a/custom_components/tuya_local/devices/lucking_hs6_lock.yaml +++ b/custom_components/tuya_local/devices/lucking_hs6_lock.yaml @@ -2,87 +2,86 @@ name: Door lock products: - id: 7veecefmxfxsu0b8 name: Lucking HF06EM/HF06MF-W-WIFI -primary_entity: - entity: lock - dps: - # dps 1 - 9 are config related and not supported - - id: 28 - type: boolean - name: lock - optional: true - mapping: - - dps_val: null - value: false - - id: 40 - type: boolean - # this is a guess for "lock_motor_state" - name: jammed - optional: true - persist: false - mapping: - - dps_val: null - value: false - - id: 10 - type: string - name: unlock_fingerprint - optional: true - persist: false - - id: 11 - type: string - name: unlock_password - optional: true - persist: false - - id: 12 - type: string - name: unlock_card - optional: true - persist: false - - id: 15 - type: string - # "double" in Tuya doc, but no idea what that means. Key is unused. - name: unlock_key - optional: true - persist: false - - id: 16 - type: string - name: unlock_temp_pwd - optional: true - persist: false - - id: 17 - type: string - name: unlock_offline_pwd - optional: true - persist: false - - id: 22 - type: string - name: unlock_app - optional: true - persist: false - - id: 23 - type: string - name: lock_alarm_kit - optional: true - - id: 29 - type: string - name: normal_open_period - optional: true - - id: 35 - type: string - name: closed_open_kit - optional: true - - id: 104 - type: string - name: ble_unlock_check - optional: true - - id: 105 - type: integer - name: unlock_ble - optional: true - - id: 212 - type: string - name: initiative_msg - optional: true -secondary_entities: +entities: + - entity: lock + dps: + # dps 1 - 9 are config related and not supported + - id: 28 + type: boolean + name: lock + optional: true + mapping: + - dps_val: null + value: false + - id: 40 + type: boolean + # this is a guess for "lock_motor_state" + name: jammed + optional: true + persist: false + mapping: + - dps_val: null + value: false + - id: 10 + type: string + name: unlock_fingerprint + optional: true + persist: false + - id: 11 + type: string + name: unlock_password + optional: true + persist: false + - id: 12 + type: string + name: unlock_card + optional: true + persist: false + - id: 15 + type: string + # "double" in Tuya doc, but no idea what that means. Key is unused. + name: unlock_key + optional: true + persist: false + - id: 16 + type: string + name: unlock_temp_pwd + optional: true + persist: false + - id: 17 + type: string + name: unlock_offline_pwd + optional: true + persist: false + - id: 22 + type: string + name: unlock_app + optional: true + persist: false + - id: 23 + type: string + name: lock_alarm_kit + optional: true + - id: 29 + type: string + name: normal_open_period + optional: true + - id: 35 + type: string + name: closed_open_kit + optional: true + - id: 104 + type: string + name: ble_unlock_check + optional: true + - id: 105 + type: integer + name: unlock_ble + optional: true + - id: 212 + type: string + name: initiative_msg + optional: true - entity: select name: Multi-factor authentication icon: "mdi:two-factor-authentication" diff --git a/custom_components/tuya_local/devices/luko_dehumidifier.yaml b/custom_components/tuya_local/devices/luko_dehumidifier.yaml index 54d84651be..53634f45dc 100644 --- a/custom_components/tuya_local/devices/luko_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/luko_dehumidifier.yaml @@ -2,31 +2,30 @@ name: Dehumidifier products: - id: 4w2fzgr62c1oyjsx name: Luko dehumidifier -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - name: switch - type: boolean - - id: 8 - name: current_humidity - type: integer - - id: 2 - name: mode - type: string - mapping: - - dps_val: "dehumidity" - value: normal - - id: 46 - name: humidity - type: integer - range: - min: 40 - max: 80 - mapping: - - step: 5 -secondary_entities: +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + name: switch + type: boolean + - id: 8 + name: current_humidity + type: integer + - id: 2 + name: mode + type: string + mapping: + - dps_val: "dehumidity" + value: normal + - id: 46 + name: humidity + type: integer + range: + min: 40 + max: 80 + mapping: + - step: 5 - entity: fan dps: - id: 1 diff --git a/custom_components/tuya_local/devices/lyfco_portable_airconditioner.yaml b/custom_components/tuya_local/devices/lyfco_portable_airconditioner.yaml index a9687f8c62..7bc4f37417 100644 --- a/custom_components/tuya_local/devices/lyfco_portable_airconditioner.yaml +++ b/custom_components/tuya_local/devices/lyfco_portable_airconditioner.yaml @@ -2,67 +2,66 @@ name: Air conditioner products: - id: gwwxvfg8auctbnpr name: Lyfco OL-A012 -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: Cool - value: cool - - dps_val: Dry - value: dry - - dps_val: Fan - value: fan_only - - dps_val: Heat - value: heat - - id: 2 - type: integer - name: temperature - range: - min: 16 - max: 32 - unit: C - - id: 3 - type: integer - name: current_temperature - - id: 4 - type: string - name: mode - hidden: true - - id: 5 - type: string - name: fan_mode - mapping: - - dps_val: Low - value: low - - dps_val: Mid - value: medium - - dps_val: Hig - value: high - - id: 15 - type: string - name: swing_mode - mapping: - - dps_val: "OFF" - value: "off" - - dps_val: "ON" - value: "on" - - id: 101 - type: boolean - name: preset_mode - mapping: - - dps_val: true - value: sleep - - dps_val: false - value: comfort -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: Cool + value: cool + - dps_val: Dry + value: dry + - dps_val: Fan + value: fan_only + - dps_val: Heat + value: heat + - id: 2 + type: integer + name: temperature + range: + min: 16 + max: 32 + unit: C + - id: 3 + type: integer + name: current_temperature + - id: 4 + type: string + name: mode + hidden: true + - id: 5 + type: string + name: fan_mode + mapping: + - dps_val: Low + value: low + - dps_val: Mid + value: medium + - dps_val: Hig + value: high + - id: 15 + type: string + name: swing_mode + mapping: + - dps_val: "OFF" + value: "off" + - dps_val: "ON" + value: "on" + - id: 101 + type: boolean + name: preset_mode + mapping: + - dps_val: true + value: sleep + - dps_val: false + value: comfort - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/lytmi_hdmisync_backlight.yaml b/custom_components/tuya_local/devices/lytmi_hdmisync_backlight.yaml index 105ecfe4bb..c63ac6d68a 100644 --- a/custom_components/tuya_local/devices/lytmi_hdmisync_backlight.yaml +++ b/custom_components/tuya_local/devices/lytmi_hdmisync_backlight.yaml @@ -4,42 +4,40 @@ products: name: Lytmi Fantasy/Neo 3 - id: bfedc6cf9dcae291b04ecj name: Lytmi Fantasy 3 -primary_entity: - entity: light - dps: - - id: 20 - name: switch - type: boolean - - id: 22 - name: brightness - type: integer - range: - min: 10 - max: 1000 - - id: 24 - name: rgbhsv - type: hex - format: - - name: h - bytes: 2 - range: - min: 0 - max: 360 - - name: s - bytes: 2 - range: - min: 0 - max: 1000 - - name: v - bytes: 2 - range: - min: 0 - max: 1000 - - id: 107 - type: boolean - name: unknown_107 - -secondary_entities: +entities: + - entity: light + dps: + - id: 20 + name: switch + type: boolean + - id: 22 + name: brightness + type: integer + range: + min: 10 + max: 1000 + - id: 24 + name: rgbhsv + type: hex + format: + - name: h + bytes: 2 + range: + min: 0 + max: 360 + - name: s + bytes: 2 + range: + min: 0 + max: 1000 + - name: v + bytes: 2 + range: + min: 0 + max: 1000 + - id: 107 + type: boolean + name: unknown_107 - entity: switch name: TV synchronization switch category: config diff --git a/custom_components/tuya_local/devices/m027_curtain.yaml b/custom_components/tuya_local/devices/m027_curtain.yaml index 0a921ac009..28a26f27b8 100644 --- a/custom_components/tuya_local/devices/m027_curtain.yaml +++ b/custom_components/tuya_local/devices/m027_curtain.yaml @@ -1,56 +1,55 @@ name: M027 curtain -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 - - id: 3 - name: current_position - type: integer - unit: "%" - optional: true - - id: 7 - name: action - type: string - optional: true - persist: false - mapping: - - dps_val: opening - value: opening - constraint: current_position - conditions: - - dps_val: 100 - value: opened - - dps_val: null - value: opened - - dps_val: closing - value: closing - constraint: current_position - conditions: - - dps_val: 0 - value: closed - - dps_val: null - value: closed - - id: 101 - name: unknown_101 - type: boolean -secondary_entities: +entities: + - 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 + - id: 3 + name: current_position + type: integer + unit: "%" + optional: true + - id: 7 + name: action + type: string + optional: true + persist: false + mapping: + - dps_val: opening + value: opening + constraint: current_position + conditions: + - dps_val: 100 + value: opened + - dps_val: null + value: opened + - dps_val: closing + value: closing + constraint: current_position + conditions: + - dps_val: 0 + value: closed + - dps_val: null + value: closed + - id: 101 + name: unknown_101 + type: boolean - entity: select name: Mode icon: "mdi:theme-light-dark" diff --git a/custom_components/tuya_local/devices/m515_curtain_motor.yaml b/custom_components/tuya_local/devices/m515_curtain_motor.yaml index d738637dd1..51b5840024 100644 --- a/custom_components/tuya_local/devices/m515_curtain_motor.yaml +++ b/custom_components/tuya_local/devices/m515_curtain_motor.yaml @@ -2,37 +2,36 @@ name: Curtain motor products: - id: t6ief6k56sapz1ey name: M515EGWT v2 -primary_entity: - entity: cover - class: curtain - dps: - - id: 1 - name: control - type: string - mapping: - - dps_val: open - value: open - - dps_val: stop - value: stop - - dps_val: close - value: close - - id: 2 - name: position - type: integer - range: - min: 0 - max: 100 - - id: 7 - name: action - type: string - persist: false - optional: true - mapping: - - dps_val: opening - value: opening - - dps_val: closing - value: closing -secondary_entities: +entities: + - entity: cover + class: curtain + dps: + - id: 1 + name: control + type: string + mapping: + - dps_val: open + value: open + - dps_val: stop + value: stop + - dps_val: close + value: close + - id: 2 + name: position + type: integer + range: + min: 0 + max: 100 + - id: 7 + name: action + type: string + persist: false + optional: true + mapping: + - dps_val: opening + value: opening + - dps_val: closing + value: closing - entity: switch name: Reversed icon: "mdi:arrow-u-left-bottom" diff --git a/custom_components/tuya_local/devices/madimack_eco_heatpump.yaml b/custom_components/tuya_local/devices/madimack_eco_heatpump.yaml index 3650d7efaf..308f300255 100644 --- a/custom_components/tuya_local/devices/madimack_eco_heatpump.yaml +++ b/custom_components/tuya_local/devices/madimack_eco_heatpump.yaml @@ -2,72 +2,71 @@ name: Pool heatpump products: - id: kwrvh8zwvbbyp086 name: Madimack Eco 16kW -primary_entity: - entity: climate - dps: - - id: 101 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: auto - value: heat_cool - - dps_val: heating - value: heat - - dps_val: cold - value: cool - - id: 102 - type: string - name: mode - - id: 104 - type: integer - name: temperature - range: - min: -22 - max: 104 - - id: 105 - type: string - name: preset_mode - mapping: - - dps_val: power - value: Power - - dps_val: boost - value: boost - - dps_val: silence - value: sleep - - dps_val: perfect - value: comfort - - id: 106 - name: temperature_unit - type: string - mapping: - - dps_val: f - value: F - - dps_val: c - value: C - - id: 108 - type: integer - name: current_temperature - - id: 110 - type: integer - name: max_temperature - - id: 111 - type: integer - name: min_temperature - - id: 122 - type: boolean - name: power_display - - id: 123 - type: boolean - name: cool_enable - - id: 124 - type: string - name: overclock_mode -secondary_entities: +entities: + - entity: climate + dps: + - id: 101 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: auto + value: heat_cool + - dps_val: heating + value: heat + - dps_val: cold + value: cool + - id: 102 + type: string + name: mode + - id: 104 + type: integer + name: temperature + range: + min: -22 + max: 104 + - id: 105 + type: string + name: preset_mode + mapping: + - dps_val: power + value: Power + - dps_val: boost + value: boost + - dps_val: silence + value: sleep + - dps_val: perfect + value: comfort + - id: 106 + name: temperature_unit + type: string + mapping: + - dps_val: f + value: F + - dps_val: c + value: C + - id: 108 + type: integer + name: current_temperature + - id: 110 + type: integer + name: max_temperature + - id: 111 + type: integer + name: min_temperature + - id: 122 + type: boolean + name: power_display + - id: 123 + type: boolean + name: cool_enable + - id: 124 + type: string + name: overclock_mode - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/madimack_elite_v3_heatpump.yaml b/custom_components/tuya_local/devices/madimack_elite_v3_heatpump.yaml index 4ed3463c47..d1c1b9bf2d 100644 --- a/custom_components/tuya_local/devices/madimack_elite_v3_heatpump.yaml +++ b/custom_components/tuya_local/devices/madimack_elite_v3_heatpump.yaml @@ -1,78 +1,77 @@ name: Madimack Elite V3 pool heatpump -primary_entity: - entity: climate - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - icon: "mdi:hvac-off" - - dps_val: true - constraint: mode - conditions: - - dps_val: auto - icon: "mdi:refresh-auto" - value: heat_cool - - dps_val: cold - icon: "mdi:snowflake" - value: cool - - dps_val: heating - icon: "mdi:hot-tub" - value: heat - - id: 2 - name: mode - type: string - hidden: true - - id: 4 - name: temperature - type: integer - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - range: - min: 60 - max: 104 - range: - min: 18 - max: 40 - # ^ in reality, the range is different for cool and auto - - id: 5 - name: preset_mode - type: string - mapping: - - dps_val: silence - value: sleep - - dps_val: power - value: comfort - - dps_val: boost - value: boost - - id: 6 - name: temperature_unit - type: string - mapping: - - dps_val: f - value: F - - dps_val: c - value: C - - id: 21 - type: integer - name: max_temperature - - id: 22 - type: integer - name: min_temperature - - id: 102 - name: current_temperature - type: integer - - id: 101 - name: unknown_101 - type: integer - - id: 107 - name: unknown_107 - type: boolean -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + icon: "mdi:hvac-off" + - dps_val: true + constraint: mode + conditions: + - dps_val: auto + icon: "mdi:refresh-auto" + value: heat_cool + - dps_val: cold + icon: "mdi:snowflake" + value: cool + - dps_val: heating + icon: "mdi:hot-tub" + value: heat + - id: 2 + name: mode + type: string + hidden: true + - id: 4 + name: temperature + type: integer + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + range: + min: 60 + max: 104 + range: + min: 18 + max: 40 + # ^ in reality, the range is different for cool and auto + - id: 5 + name: preset_mode + type: string + mapping: + - dps_val: silence + value: sleep + - dps_val: power + value: comfort + - dps_val: boost + value: boost + - id: 6 + name: temperature_unit + type: string + mapping: + - dps_val: f + value: F + - dps_val: c + value: C + - id: 21 + type: integer + name: max_temperature + - id: 22 + type: integer + name: min_temperature + - id: 102 + name: current_temperature + type: integer + - id: 101 + name: unknown_101 + type: integer + - id: 107 + name: unknown_107 + type: boolean - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/madimack_elite_v3_heatpump_updated.yaml b/custom_components/tuya_local/devices/madimack_elite_v3_heatpump_updated.yaml index 50237a4718..74629af173 100644 --- a/custom_components/tuya_local/devices/madimack_elite_v3_heatpump_updated.yaml +++ b/custom_components/tuya_local/devices/madimack_elite_v3_heatpump_updated.yaml @@ -2,69 +2,68 @@ name: Pool heatpump products: - id: kwrvh8zwvbbyp086 name: Madimack Elite V3 11-40kW -primary_entity: - entity: climate - dps: - - id: 101 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: auto - value: auto - - dps_val: cold - value: cool - - dps_val: heating - value: heat - - id: 102 - name: mode - type: string - hidden: true - - id: 104 - name: temperature - type: integer - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - range: - min: 54 - max: 104 - range: - min: 12 - max: 40 - - id: 105 - name: preset_mode - type: string - mapping: - - dps_val: silence - value: sleep - - dps_val: perfect - value: comfort - - dps_val: power - value: boost - - id: 106 - name: temperature_unit - type: string - mapping: - - dps_val: f - value: F - - dps_val: c - value: C - - id: 110 - type: integer - name: max_temperature - - id: 111 - type: integer - name: min_temperature - - id: 117 - name: current_temperature - type: integer -secondary_entities: +entities: + - entity: climate + dps: + - id: 101 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: auto + value: auto + - dps_val: cold + value: cool + - dps_val: heating + value: heat + - id: 102 + name: mode + type: string + hidden: true + - id: 104 + name: temperature + type: integer + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + range: + min: 54 + max: 104 + range: + min: 12 + max: 40 + - id: 105 + name: preset_mode + type: string + mapping: + - dps_val: silence + value: sleep + - dps_val: perfect + value: comfort + - dps_val: power + value: boost + - id: 106 + name: temperature_unit + type: string + mapping: + - dps_val: f + value: F + - dps_val: c + value: C + - id: 110 + type: integer + name: max_temperature + - id: 111 + type: integer + name: min_temperature + - id: 117 + name: current_temperature + type: integer - entity: sensor category: diagnostic name: Power level diff --git a/custom_components/tuya_local/devices/madimack_heatpump.yaml b/custom_components/tuya_local/devices/madimack_heatpump.yaml index eacd4ca5f9..e52019b15e 100644 --- a/custom_components/tuya_local/devices/madimack_heatpump.yaml +++ b/custom_components/tuya_local/devices/madimack_heatpump.yaml @@ -1,100 +1,99 @@ name: Madimack pool heatpump -primary_entity: - entity: climate - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - icon: "mdi:hvac-off" - icon_priority: 1 - - dps_val: true - value: "heat" - icon: "mdi:hot-tub" - icon_priority: 4 - - id: 102 - name: current_temperature - type: integer - - id: 103 - name: temperature_unit - type: boolean - mapping: - - dps_val: false - value: F - - dps_val: true - value: C - - id: 105 - name: hvac_action - type: string - mapping: - - dps_val: heating - value: heating - - dps_val: "1" - value: heating - - dps_val: cooling - value: cooling - - dps_val: "2" - value: cooling - - value: idle - - id: 106 - name: temperature - type: integer - mapping: - - constraint: temperature_unit - conditions: - - dps_val: false - range: - min: 60 - max: 115 - range: - min: 18 - max: 45 - - id: 107 - type: integer - name: min_temperature - - id: 108 - type: integer - name: max_temperature - - id: 117 - name: preset_mode - type: boolean - mapping: - - dps_val: false - value: sleep - - dps_val: true - value: boost - - id: 118 - name: unknown_118 - type: boolean - - id: 126 - name: unknown_126 - type: integer - - id: 130 - name: defrosting - type: boolean - hidden: true - mapping: - - dps_val: true - icon: "mdi:snowflake-melt" - icon_priority: 3 - - id: 134 - name: unknown_134 - type: boolean - - id: 135 - name: unknown_135 - type: boolean - - id: 136 - name: unknown_136 - type: boolean - - id: 139 - name: unknown_139 - type: boolean - - id: 140 - name: unknown_140 - type: string -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + icon: "mdi:hvac-off" + icon_priority: 1 + - dps_val: true + value: "heat" + icon: "mdi:hot-tub" + icon_priority: 4 + - id: 102 + name: current_temperature + type: integer + - id: 103 + name: temperature_unit + type: boolean + mapping: + - dps_val: false + value: F + - dps_val: true + value: C + - id: 105 + name: hvac_action + type: string + mapping: + - dps_val: heating + value: heating + - dps_val: "1" + value: heating + - dps_val: cooling + value: cooling + - dps_val: "2" + value: cooling + - value: idle + - id: 106 + name: temperature + type: integer + mapping: + - constraint: temperature_unit + conditions: + - dps_val: false + range: + min: 60 + max: 115 + range: + min: 18 + max: 45 + - id: 107 + type: integer + name: min_temperature + - id: 108 + type: integer + name: max_temperature + - id: 117 + name: preset_mode + type: boolean + mapping: + - dps_val: false + value: sleep + - dps_val: true + value: boost + - id: 118 + name: unknown_118 + type: boolean + - id: 126 + name: unknown_126 + type: integer + - id: 130 + name: defrosting + type: boolean + hidden: true + mapping: + - dps_val: true + icon: "mdi:snowflake-melt" + icon_priority: 3 + - id: 134 + name: unknown_134 + type: boolean + - id: 135 + name: unknown_135 + type: boolean + - id: 136 + name: unknown_136 + type: boolean + - id: 139 + name: unknown_139 + type: boolean + - id: 140 + name: unknown_140 + type: string - entity: sensor category: diagnostic name: Power level diff --git a/custom_components/tuya_local/devices/madimack_inverflow_pro.yaml b/custom_components/tuya_local/devices/madimack_inverflow_pro.yaml index d38a99e497..e51c0218cc 100644 --- a/custom_components/tuya_local/devices/madimack_inverflow_pro.yaml +++ b/custom_components/tuya_local/devices/madimack_inverflow_pro.yaml @@ -2,26 +2,25 @@ name: Pool pump products: - id: ircs2n82vgrozoew name: Madimack Inverflow Pro P300i -primary_entity: - entity: valve - class: water - dps: - - id: 105 - type: boolean - name: valve - - id: 116 - name: unknown_116 - type: string - hidden: true - - id: 117 - name: unknown_117 - type: string - hidden: true - - id: 115 - name: unknown_115 - type: boolean - hidden: true -secondary_entities: +entities: + - entity: valve + class: water + dps: + - id: 105 + type: boolean + name: valve + - id: 116 + name: unknown_116 + type: string + hidden: true + - id: 117 + name: unknown_117 + type: string + hidden: true + - id: 115 + name: unknown_115 + type: boolean + hidden: true - entity: select name: Pump mode icon: "mdi:pump" diff --git a/custom_components/tuya_local/devices/makegood_double_power_point_with_energy.yaml b/custom_components/tuya_local/devices/makegood_double_power_point_with_energy.yaml index 3bd3129e13..e89f5e84ad 100644 --- a/custom_components/tuya_local/devices/makegood_double_power_point_with_energy.yaml +++ b/custom_components/tuya_local/devices/makegood_double_power_point_with_energy.yaml @@ -1,15 +1,14 @@ name: Double power point -primary_entity: - entity: switch - class: outlet - translation_key: outlet_x - translation_placeholders: - x: "1" - dps: - - id: 12 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + class: outlet + translation_key: outlet_x + translation_placeholders: + x: "1" + dps: + - id: 12 + type: boolean + name: switch - entity: switch translation_key: outlet_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/makegood_switch_dual_timer-energy.yaml b/custom_components/tuya_local/devices/makegood_switch_dual_timer-energy.yaml index 00d2249bb9..ad80c64628 100644 --- a/custom_components/tuya_local/devices/makegood_switch_dual_timer-energy.yaml +++ b/custom_components/tuya_local/devices/makegood_switch_dual_timer-energy.yaml @@ -2,16 +2,15 @@ name: Dual switch products: - id: XdGCESvXTI5Mvfx2 name: MakeGood 2 Gang Switch (MG-MD04W) -primary_entity: - entity: switch - translation_key: switch_x - translation_placeholders: - x: "1" - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + translation_key: switch_x + translation_placeholders: + x: "1" + dps: + - id: 1 + type: boolean + name: switch - entity: switch translation_key: switch_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/malmbergs_dual_dimmer.yaml b/custom_components/tuya_local/devices/malmbergs_dual_dimmer.yaml index a6005a5c21..71d4ea3a09 100644 --- a/custom_components/tuya_local/devices/malmbergs_dual_dimmer.yaml +++ b/custom_components/tuya_local/devices/malmbergs_dual_dimmer.yaml @@ -2,20 +2,19 @@ name: Dual dimmer products: - id: isstlkzmlurfcc6e name: Malmbergs QS-WIFI-D02-TRIAC-2C -primary_entity: - entity: light - name: Dimmer 1 - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - name: brightness - type: integer - range: - min: 10 - max: 1000 -secondary_entities: +entities: + - entity: light + name: Dimmer 1 + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + name: brightness + type: integer + range: + min: 10 + max: 1000 - entity: light name: Dimmer 2 dps: diff --git a/custom_components/tuya_local/devices/malmbergs_single_dimmer.yaml b/custom_components/tuya_local/devices/malmbergs_single_dimmer.yaml index 990b760259..df746a3a96 100644 --- a/custom_components/tuya_local/devices/malmbergs_single_dimmer.yaml +++ b/custom_components/tuya_local/devices/malmbergs_single_dimmer.yaml @@ -2,19 +2,18 @@ name: Dimmer products: - id: yrli99lsgtmebarq name: Malmbergs QS-WIFI-D02-TRIAC -primary_entity: - entity: light - dps: - - id: 1 - type: boolean - name: switch - - id: 3 - name: brightness - type: integer - range: - min: 25 - max: 255 -secondary_entities: +entities: + - entity: light + dps: + - id: 1 + type: boolean + name: switch + - id: 3 + name: brightness + type: integer + range: + min: 25 + max: 255 - entity: number name: Minimum brightness category: config diff --git a/custom_components/tuya_local/devices/mamnv_br151_vacuum_and_mop.yaml b/custom_components/tuya_local/devices/mamnv_br151_vacuum_and_mop.yaml index deb169994a..f7ce1cae5a 100644 --- a/custom_components/tuya_local/devices/mamnv_br151_vacuum_and_mop.yaml +++ b/custom_components/tuya_local/devices/mamnv_br151_vacuum_and_mop.yaml @@ -2,78 +2,77 @@ name: Vacuum and mop products: - id: ela0pxryflaldubr name: MAMNV BR151 -primary_entity: - entity: vacuum - dps: - - id: 2 - type: boolean - name: activate - - id: 3 - type: string - name: command - mapping: - - dps_val: standby - value: stop - - dps_val: spiral - value: clean_spot - - dps_val: wall_follow - value: wall_follow - - dps_val: chargego - value: return_to_base - - dps_val: partial_bow - value: partial_bow - - dps_val: random - value: random - - id: 4 - type: string - name: direction_control - optional: true - mapping: - - dps_val: forward - value: forward - - dps_val: backward - value: reverse - - dps_val: turn_left - value: left - - dps_val: turnn_right - value: right - - dps_val: stop - value: stop - - id: 5 - type: string - name: status - mapping: - - dps_val: "standby" - value: standby - - dps_val: "smart_clean" - value: cleaning - - dps_val: "wall_clean" - value: cleaning - - dps_val: "spot_clean" - value: cleaning - - dps_val: "room_clean" - value: cleaning - - dps_val: "goto_charge" - value: returning - - dps_val: "charging" - value: charging - - dps_val: "charge_done" - value: charged - - dps_val: "cleaning" - value: cleaning - - dps_val: "sleep" - value: sleep - - dps_val: "in_trouble" - value: error - - id: 14 - type: string - name: fan_speed - mapping: - - dps_val: strong - value: High - - dps_val: normal - value: Medium -secondary_entities: +entities: + - entity: vacuum + dps: + - id: 2 + type: boolean + name: activate + - id: 3 + type: string + name: command + mapping: + - dps_val: standby + value: stop + - dps_val: spiral + value: clean_spot + - dps_val: wall_follow + value: wall_follow + - dps_val: chargego + value: return_to_base + - dps_val: partial_bow + value: partial_bow + - dps_val: random + value: random + - id: 4 + type: string + name: direction_control + optional: true + mapping: + - dps_val: forward + value: forward + - dps_val: backward + value: reverse + - dps_val: turn_left + value: left + - dps_val: turnn_right + value: right + - dps_val: stop + value: stop + - id: 5 + type: string + name: status + mapping: + - dps_val: "standby" + value: standby + - dps_val: "smart_clean" + value: cleaning + - dps_val: "wall_clean" + value: cleaning + - dps_val: "spot_clean" + value: cleaning + - dps_val: "room_clean" + value: cleaning + - dps_val: "goto_charge" + value: returning + - dps_val: "charging" + value: charging + - dps_val: "charge_done" + value: charged + - dps_val: "cleaning" + value: cleaning + - dps_val: "sleep" + value: sleep + - dps_val: "in_trouble" + value: error + - id: 14 + type: string + name: fan_speed + mapping: + - dps_val: strong + value: High + - dps_val: normal + value: Medium - entity: sensor class: battery dps: diff --git a/custom_components/tuya_local/devices/mantra_fan.yaml b/custom_components/tuya_local/devices/mantra_fan.yaml index 58d42caae8..cffadd34dd 100644 --- a/custom_components/tuya_local/devices/mantra_fan.yaml +++ b/custom_components/tuya_local/devices/mantra_fan.yaml @@ -1,87 +1,86 @@ name: Ceiling fan -primary_entity: - entity: fan - dps: - - id: 1 - type: boolean - name: switch - - id: 3 - type: string - name: speed - mapping: - - dps_val: "1" - value: 3 - - dps_val: "2" - value: 6 - - dps_val: "3" - value: 9 - - dps_val: "4" - value: 13 - - dps_val: "5" - value: 16 - - dps_val: "6" - value: 19 - - dps_val: "7" - value: 22 - - dps_val: "8" - value: 25 - - dps_val: "9" - value: 28 - - dps_val: "10" - value: 31 - - dps_val: "11" - value: 34 - - dps_val: "12" - value: 38 - - dps_val: "13" - value: 41 - - dps_val: "14" - value: 44 - - dps_val: "15" - value: 47 - - dps_val: "16" - value: 50 - - dps_val: "17" - value: 53 - - dps_val: "18" - value: 56 - - dps_val: "19" - value: 59 - - dps_val: "20" - value: 63 - - dps_val: "21" - value: 66 - - dps_val: "22" - value: 69 - - dps_val: "23" - value: 72 - - dps_val: "24" - value: 75 - - dps_val: "25" - value: 78 - - dps_val: "26" - value: 81 - - dps_val: "27" - value: 84 - - dps_val: "28" - value: 88 - - dps_val: "29" - value: 91 - - dps_val: "30" - value: 94 - - dps_val: "31" - value: 97 - - dps_val: "32" - value: 100 - - id: 101 - type: boolean - name: direction - mapping: - - dps_val: false - value: forward - - dps_val: true - value: reverse -secondary_entities: +entities: + - entity: fan + dps: + - id: 1 + type: boolean + name: switch + - id: 3 + type: string + name: speed + mapping: + - dps_val: "1" + value: 3 + - dps_val: "2" + value: 6 + - dps_val: "3" + value: 9 + - dps_val: "4" + value: 13 + - dps_val: "5" + value: 16 + - dps_val: "6" + value: 19 + - dps_val: "7" + value: 22 + - dps_val: "8" + value: 25 + - dps_val: "9" + value: 28 + - dps_val: "10" + value: 31 + - dps_val: "11" + value: 34 + - dps_val: "12" + value: 38 + - dps_val: "13" + value: 41 + - dps_val: "14" + value: 44 + - dps_val: "15" + value: 47 + - dps_val: "16" + value: 50 + - dps_val: "17" + value: 53 + - dps_val: "18" + value: 56 + - dps_val: "19" + value: 59 + - dps_val: "20" + value: 63 + - dps_val: "21" + value: 66 + - dps_val: "22" + value: 69 + - dps_val: "23" + value: 72 + - dps_val: "24" + value: 75 + - dps_val: "25" + value: 78 + - dps_val: "26" + value: 81 + - dps_val: "27" + value: 84 + - dps_val: "28" + value: 88 + - dps_val: "29" + value: 91 + - dps_val: "30" + value: 94 + - dps_val: "31" + value: 97 + - dps_val: "32" + value: 100 + - id: 101 + type: boolean + name: direction + mapping: + - dps_val: false + value: forward + - dps_val: true + value: reverse - entity: select translation_key: timer dps: diff --git a/custom_components/tuya_local/devices/marpou_ceiling_lamp_ledlight.yaml b/custom_components/tuya_local/devices/marpou_ceiling_lamp_ledlight.yaml index 826a9bf6ed..d54c71facf 100644 --- a/custom_components/tuya_local/devices/marpou_ceiling_lamp_ledlight.yaml +++ b/custom_components/tuya_local/devices/marpou_ceiling_lamp_ledlight.yaml @@ -2,87 +2,86 @@ name: RGB ceiling light products: - id: eb93523c41813016ac6ay1 name: Marpou Five way ceiling lamp -primary_entity: - entity: light - icon: "mdi:wall-sconce-flat-outline" - dps: - - id: 20 - type: boolean - name: switch - - id: 21 - type: string - name: color_mode - mapping: - - dps_val: white - value: color_temp - - dps_val: colour - value: hs - - dps_val: scene - value: Scene - - dps_val: music - value: Music - - id: 22 - name: brightness - type: integer - optional: true - range: - min: 10 - max: 1000 - mapping: - - dps_val: null - value: 0 - - id: 23 - name: color_temp - type: integer - optional: true - range: - min: 0 - max: 1000 - mapping: - - target_range: - min: 3000 - max: 6500 - - id: 24 - name: rgbhsv - type: hex - optional: true - format: - - name: h - bytes: 2 - range: - min: 0 - max: 360 - - name: s - bytes: 2 - range: - min: 0 - max: 1000 - - name: v - bytes: 2 - range: - min: 0 - max: 1000 - - id: 36 - name: scene_data - type: base64 - optional: true - - id: 27 - name: music_data - type: hex - optional: true - - id: 30 - name: rhythm_mode - type: base64 - optional: true - - id: 31 - name: sleep_mode - type: base64 - optional: true - - id: 32 - name: wakeup_mode - type: base64 - optional: true -secondary_entities: +entities: + - entity: light + icon: "mdi:wall-sconce-flat-outline" + dps: + - id: 20 + type: boolean + name: switch + - id: 21 + type: string + name: color_mode + mapping: + - dps_val: white + value: color_temp + - dps_val: colour + value: hs + - dps_val: scene + value: Scene + - dps_val: music + value: Music + - id: 22 + name: brightness + type: integer + optional: true + range: + min: 10 + max: 1000 + mapping: + - dps_val: null + value: 0 + - id: 23 + name: color_temp + type: integer + optional: true + range: + min: 0 + max: 1000 + mapping: + - target_range: + min: 3000 + max: 6500 + - id: 24 + name: rgbhsv + type: hex + optional: true + format: + - name: h + bytes: 2 + range: + min: 0 + max: 360 + - name: s + bytes: 2 + range: + min: 0 + max: 1000 + - name: v + bytes: 2 + range: + min: 0 + max: 1000 + - id: 36 + name: scene_data + type: base64 + optional: true + - id: 27 + name: music_data + type: hex + optional: true + - id: 30 + name: rhythm_mode + type: base64 + optional: true + - id: 31 + name: sleep_mode + type: base64 + optional: true + - id: 32 + name: wakeup_mode + type: base64 + optional: true - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/matsee_2way_energymeter.yaml b/custom_components/tuya_local/devices/matsee_2way_energymeter.yaml index 2eec11e92f..b350bfb026 100644 --- a/custom_components/tuya_local/devices/matsee_2way_energymeter.yaml +++ b/custom_components/tuya_local/devices/matsee_2way_energymeter.yaml @@ -5,29 +5,28 @@ products: name: MatSee Plus bidirectional 2 channel clamp meter - id: bbcg1hrkrj5rifsd name: MatSee Plus bidirectional 2 channel clamp meter -primary_entity: - entity: sensor - translation_key: energy_consumed - class: energy - dps: - - id: 1 - type: integer - optional: true - name: sensor - unit: kWh - class: total_increasing - mapping: - - dps_val: null - value_redirect: alternate - - scale: 100 - - id: 130 - type: integer - optional: true - name: alternate - hidden: true - mapping: - - scale: 100 -secondary_entities: +entities: + - entity: sensor + translation_key: energy_consumed + class: energy + dps: + - id: 1 + type: integer + optional: true + name: sensor + unit: kWh + class: total_increasing + mapping: + - dps_val: null + value_redirect: alternate + - scale: 100 + - id: 130 + type: integer + optional: true + name: alternate + hidden: true + mapping: + - scale: 100 - entity: sensor translation_key: energy_produced class: energy diff --git a/custom_components/tuya_local/devices/matsee_2wayv2_energymeter.yaml b/custom_components/tuya_local/devices/matsee_2wayv2_energymeter.yaml index cdd8923db8..bbd7bf2eba 100644 --- a/custom_components/tuya_local/devices/matsee_2wayv2_energymeter.yaml +++ b/custom_components/tuya_local/devices/matsee_2wayv2_energymeter.yaml @@ -2,24 +2,23 @@ name: Bidirectional energy meter products: - id: v5jlnn5hwyffkhp3 name: MatSee Plus bidirectional 2 channel clamp meter -primary_entity: - entity: sensor - class: energy - dps: - - id: 1 - type: integer - name: sensor - unit: kWh - mapping: - - scale: 100 - class: total_increasing - - id: 122 - type: integer - optional: true - name: hourly - mapping: - - scale: 100 -secondary_entities: +entities: + - entity: sensor + class: energy + dps: + - id: 1 + type: integer + name: sensor + unit: kWh + mapping: + - scale: 100 + class: total_increasing + - id: 122 + type: integer + optional: true + name: hourly + mapping: + - scale: 100 - entity: sensor translation_key: energy_produced class: energy diff --git a/custom_components/tuya_local/devices/maxcio_aromadiffuser.yaml b/custom_components/tuya_local/devices/maxcio_aromadiffuser.yaml index e7d13446ec..5771c5d7a9 100644 --- a/custom_components/tuya_local/devices/maxcio_aromadiffuser.yaml +++ b/custom_components/tuya_local/devices/maxcio_aromadiffuser.yaml @@ -1,23 +1,22 @@ name: Aroma diffuser -primary_entity: - entity: fan - translation_key: aroma_diffuser - dps: - - id: 1 - type: boolean - name: switch - - id: 103 - type: string - name: speed - mapping: - - dps_val: small - value: 50 - - dps_val: big - value: 100 - - dps_val: "off" - value: 0 - hidden: true -secondary_entities: +entities: + - entity: fan + translation_key: aroma_diffuser + dps: + - id: 1 + type: boolean + name: switch + - id: 103 + type: string + name: speed + mapping: + - dps_val: small + value: 50 + - dps_val: big + value: 100 + - dps_val: "off" + value: 0 + hidden: true - entity: light category: config dps: diff --git a/custom_components/tuya_local/devices/mayborn_groclock.yaml b/custom_components/tuya_local/devices/mayborn_groclock.yaml index ad0a86e955..57c41ae2b0 100644 --- a/custom_components/tuya_local/devices/mayborn_groclock.yaml +++ b/custom_components/tuya_local/devices/mayborn_groclock.yaml @@ -2,73 +2,72 @@ name: Alarm clock products: - id: pnauiuyatd821djd name: Mayborn GroClock Connect -primary_entity: - entity: siren - name: Music - icon: "mdi:music" - dps: - - id: 103 - type: boolean - name: switch - - id: 104 - type: string - name: tone - mapping: - - dps_val: "0" - value: Track 1 - - dps_val: "1" - value: Track 2 - - dps_val: "2" - value: Track 3 - - dps_val: "3" - value: Track 4 - - dps_val: "4" - value: Track 5 - - dps_val: "5" - value: Track 6 - - dps_val: "6" - value: Track 7 - - dps_val: "7" - value: Track 8 - - dps_val: "8" - value: Track 9 - - dps_val: "9" - value: Track 10 - - id: 105 - type: integer - name: volume_level - range: - min: 0 - max: 16 - mapping: - - scale: 16 - - id: 107 - type: integer - name: duration - range: - min: 1 - max: 120 - - id: 108 - type: string - optional: true - name: wake_alarm - - id: 109 - type: string - optional: true - name: nap_alarm - - id: 110 - type: string - optional: true - name: sleep_alarm - - id: 111 - type: string - optional: true - name: time_set - - id: 114 - type: string - optional: true - name: snooze -secondary_entities: +entities: + - entity: siren + name: Music + icon: "mdi:music" + dps: + - id: 103 + type: boolean + name: switch + - id: 104 + type: string + name: tone + mapping: + - dps_val: "0" + value: Track 1 + - dps_val: "1" + value: Track 2 + - dps_val: "2" + value: Track 3 + - dps_val: "3" + value: Track 4 + - dps_val: "4" + value: Track 5 + - dps_val: "5" + value: Track 6 + - dps_val: "6" + value: Track 7 + - dps_val: "7" + value: Track 8 + - dps_val: "8" + value: Track 9 + - dps_val: "9" + value: Track 10 + - id: 105 + type: integer + name: volume_level + range: + min: 0 + max: 16 + mapping: + - scale: 16 + - id: 107 + type: integer + name: duration + range: + min: 1 + max: 120 + - id: 108 + type: string + optional: true + name: wake_alarm + - id: 109 + type: string + optional: true + name: nap_alarm + - id: 110 + type: string + optional: true + name: sleep_alarm + - id: 111 + type: string + optional: true + name: time_set + - id: 114 + type: string + optional: true + name: snooze - entity: select name: Alarm mode icon: "mdi:alarm" diff --git a/custom_components/tuya_local/devices/me80_thermostat.yaml b/custom_components/tuya_local/devices/me80_thermostat.yaml index 0e9340a6eb..46efed5aba 100644 --- a/custom_components/tuya_local/devices/me80_thermostat.yaml +++ b/custom_components/tuya_local/devices/me80_thermostat.yaml @@ -1,110 +1,109 @@ name: ME80 thermostat -primary_entity: - entity: climate - translation_only_key: thermostat - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: true - constraint: preset_mode - conditions: - - dps_val: auto - value: auto - - dps_val: manual - value: heat - - dps_val: false - value: "off" - - id: 2 - type: string - name: preset_mode - mapping: - - dps_val: auto - value: program - - dps_val: manual - value: manual - - id: 16 - type: integer - name: temperature - range: - min: 5 - max: 95 - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: target_temp_f - range: - min: 41 - max: 203 - - id: 17 - type: integer - name: target_temp_f - range: - min: 41 - max: 203 - hidden: true - optional: true - - id: 18 - type: integer - name: max_temp_f - hidden: true - optional: true - - id: 19 - type: integer - name: max_temperature - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: max_temp_f - - id: 20 - type: integer - name: min_temp_f - hidden: true - optional: true - - id: 23 - type: string - name: temperature_unit - mapping: - - dps_val: c - value: C - - dps_val: f - value: F - - id: 24 - type: integer - name: current_temperature - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: current_temp_f - - id: 26 - type: integer - name: min_temperature - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: min_temp_f - - id: 29 - type: integer - name: current_temp_f - hidden: true - optional: true - - id: 36 - type: string - name: hvac_action - mapping: - - dps_val: close - value: idle - - dps_val: open - value: heating - - id: 104 - type: string - name: program -secondary_entities: +entities: + - entity: climate + translation_only_key: thermostat + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: true + constraint: preset_mode + conditions: + - dps_val: auto + value: auto + - dps_val: manual + value: heat + - dps_val: false + value: "off" + - id: 2 + type: string + name: preset_mode + mapping: + - dps_val: auto + value: program + - dps_val: manual + value: manual + - id: 16 + type: integer + name: temperature + range: + min: 5 + max: 95 + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: target_temp_f + range: + min: 41 + max: 203 + - id: 17 + type: integer + name: target_temp_f + range: + min: 41 + max: 203 + hidden: true + optional: true + - id: 18 + type: integer + name: max_temp_f + hidden: true + optional: true + - id: 19 + type: integer + name: max_temperature + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: max_temp_f + - id: 20 + type: integer + name: min_temp_f + hidden: true + optional: true + - id: 23 + type: string + name: temperature_unit + mapping: + - dps_val: c + value: C + - dps_val: f + value: F + - id: 24 + type: integer + name: current_temperature + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: current_temp_f + - id: 26 + type: integer + name: min_temperature + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: min_temp_f + - id: 29 + type: integer + name: current_temp_f + hidden: true + optional: true + - id: 36 + type: string + name: hvac_action + mapping: + - dps_val: close + value: idle + - dps_val: open + value: heating + - id: 104 + type: string + name: program - entity: number name: Maximum Temperature category: config diff --git a/custom_components/tuya_local/devices/meaco_aretetwo_dehumidifier.yaml b/custom_components/tuya_local/devices/meaco_aretetwo_dehumidifier.yaml index a5b8a6e0f1..9e3415d59a 100644 --- a/custom_components/tuya_local/devices/meaco_aretetwo_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/meaco_aretetwo_dehumidifier.yaml @@ -2,38 +2,37 @@ name: Dehumidifier products: - id: hrqj115cek0tuddi name: MeacoDry Arete Two 10L -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - name: humidity - type: integer - range: - min: 35 - max: 70 - mapping: - - step: 5 - - id: 4 - name: mode - type: string - optional: true - mapping: - - dps_val: manual - value: normal - - dps_val: laundry - value: laundry - - dps_val: sleep - value: sleep - - dps_val: purify - value: purify - - id: 16 - name: current_humidity - type: integer -secondary_entities: +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + name: humidity + type: integer + range: + min: 35 + max: 70 + mapping: + - step: 5 + - id: 4 + name: mode + type: string + optional: true + mapping: + - dps_val: manual + value: normal + - dps_val: laundry + value: laundry + - dps_val: sleep + value: sleep + - dps_val: purify + value: purify + - id: 16 + name: current_humidity + type: integer - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/medion_life_p1002.yaml b/custom_components/tuya_local/devices/medion_life_p1002.yaml index 6dc0b5d49d..94d97578e4 100644 --- a/custom_components/tuya_local/devices/medion_life_p1002.yaml +++ b/custom_components/tuya_local/devices/medion_life_p1002.yaml @@ -2,56 +2,55 @@ name: Portable air conditioner products: - id: tqgodaa9suvtbflg name: Medion LIFE P1002 -primary_entity: - entity: climate - icon: "mdi:air-conditioner" - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: Cool - value: cool - - dps_val: Dyr - value: dry - - dps_val: Fan - value: fan_only - - id: 2 - type: integer - name: temperature - range: - min: 16 - max: 32 - unit: C - - id: 3 - type: integer - name: current_temperature - - id: 4 - type: string - name: mode - hidden: true - - id: 5 - type: string - name: fan_mode - mapping: - - dps_val: Low - value: low - - dps_val: High - value: high - - id: 15 - type: boolean - name: swing_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: "on" -secondary_entities: +entities: + - entity: climate + icon: "mdi:air-conditioner" + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: Cool + value: cool + - dps_val: Dyr + value: dry + - dps_val: Fan + value: fan_only + - id: 2 + type: integer + name: temperature + range: + min: 16 + max: 32 + unit: C + - id: 3 + type: integer + name: current_temperature + - id: 4 + type: string + name: mode + hidden: true + - id: 5 + type: string + name: fan_mode + mapping: + - dps_val: Low + value: low + - dps_val: High + value: high + - id: 15 + type: boolean + name: swing_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: "on" - entity: lock icon: "mdi:lock" translation_key: child_lock diff --git a/custom_components/tuya_local/devices/medion_s10_vacuum.yaml b/custom_components/tuya_local/devices/medion_s10_vacuum.yaml index 85f6833989..8cc66113f2 100644 --- a/custom_components/tuya_local/devices/medion_s10_vacuum.yaml +++ b/custom_components/tuya_local/devices/medion_s10_vacuum.yaml @@ -2,82 +2,80 @@ name: Robot vacuum products: - id: dxzaldz77vzlxauh name: Medion S10 SW (MD19601) -primary_entity: - entity: vacuum - dps: - - id: 1 - type: boolean - name: power - optional: true - - id: 2 - type: boolean - name: activate - optional: true - - id: 3 - type: string - name: command - mapping: - - dps_val: standby - value: stop - - dps_val: spiral - value: clean_spot - - dps_val: smart - value: smart - - dps_val: chargego - value: return_to_base - - dps_val: wall_follow - value: wall_follow - - id: 4 - type: string - name: direction_control - mapping: - - dps_val: forward - value: forward - - dps_val: backward - value: reverse - - dps_val: turn_left - value: left - - dps_val: turn_right - value: right - - dps_val: stop - value: stop - - id: 5 - type: string - name: status - mapping: - - dps_val: "0" - value: standby - - dps_val: "1" - value: smart - - dps_val: "3" - value: wall_follow - - dps_val: "4" - value: returning_to_base - - dps_val: "5" - value: charging - - dps_val: "6" - value: clean_spot - - id: 13 - type: boolean - name: locate - optional: true - - id: 14 - type: string - name: fan_speed - mapping: - - dps_val: quiet - value: quiet - - dps_val: normal - value: normal - - dps_val: strong - value: strong - - id: 18 - type: bitfield - optional: true - name: error - hidden: true - -secondary_entities: +entities: + - entity: vacuum + dps: + - id: 1 + type: boolean + name: power + optional: true + - id: 2 + type: boolean + name: activate + optional: true + - id: 3 + type: string + name: command + mapping: + - dps_val: standby + value: stop + - dps_val: spiral + value: clean_spot + - dps_val: smart + value: smart + - dps_val: chargego + value: return_to_base + - dps_val: wall_follow + value: wall_follow + - id: 4 + type: string + name: direction_control + mapping: + - dps_val: forward + value: forward + - dps_val: backward + value: reverse + - dps_val: turn_left + value: left + - dps_val: turn_right + value: right + - dps_val: stop + value: stop + - id: 5 + type: string + name: status + mapping: + - dps_val: "0" + value: standby + - dps_val: "1" + value: smart + - dps_val: "3" + value: wall_follow + - dps_val: "4" + value: returning_to_base + - dps_val: "5" + value: charging + - dps_val: "6" + value: clean_spot + - id: 13 + type: boolean + name: locate + optional: true + - id: 14 + type: string + name: fan_speed + mapping: + - dps_val: quiet + value: quiet + - dps_val: normal + value: normal + - dps_val: strong + value: strong + - id: 18 + type: bitfield + optional: true + name: error + hidden: true - entity: sensor class: battery dps: diff --git a/custom_components/tuya_local/devices/medion_s20_vacuum.yaml b/custom_components/tuya_local/devices/medion_s20_vacuum.yaml index bfd9de229c..7c24ae9107 100644 --- a/custom_components/tuya_local/devices/medion_s20_vacuum.yaml +++ b/custom_components/tuya_local/devices/medion_s20_vacuum.yaml @@ -2,96 +2,95 @@ name: Robot vacuum products: - id: ltp2oxcyx2l80unp name: Medion S20-SW -primary_entity: - entity: vacuum - dps: - - id: 1 - type: boolean - name: power - - id: 2 - type: boolean - optional: true - name: activate - - id: 3 - type: string - name: command - mapping: - - dps_val: standby - value: stop - - dps_val: random - value: random - - dps_val: spiral - value: clean_spot - - dps_val: smart - value: smart - - dps_val: chargego - value: return_to_base - - dps_val: wall_follow - value: wall_follow - - id: 4 - type: string - name: direction_control - mapping: - - dps_val: forward - value: forward - - dps_val: backward - value: reverse - - dps_val: turn_left - value: left - - dps_val: turn_right - value: right - - dps_val: stop - value: stop - - id: 5 - type: string - name: status - mapping: - - dps_val: standby - value: standby - - dps_val: random_clean - value: random - - dps_val: spot_clean - value: clean_spot - - dps_val: smart_clean - value: smart - - dps_val: goto_charge - value: returning_to_base - - dps_val: wall_clean - value: wall_follow - - dps_val: sleep - value: sleep - - dps_val: remote - value: remote - - dps_val: charging_line - value: charging - - dps_val: charging_base - value: charging - - dps_val: low_power - value: low_power - - dps_val: charging - value: charging - - dps_val: charge_done - value: charged - - dps_val: paused - value: paused - - dps_val: cleaning - value: cleaning - - dps_val: mop_clean - value: mopping - - dps_val: in_trouble - value: error - - id: 13 - type: boolean - name: locate - - id: 14 - type: string - name: fan_speed - mapping: - - dps_val: normal - value: normal - - dps_val: strong - value: strong -secondary_entities: +entities: + - entity: vacuum + dps: + - id: 1 + type: boolean + name: power + - id: 2 + type: boolean + optional: true + name: activate + - id: 3 + type: string + name: command + mapping: + - dps_val: standby + value: stop + - dps_val: random + value: random + - dps_val: spiral + value: clean_spot + - dps_val: smart + value: smart + - dps_val: chargego + value: return_to_base + - dps_val: wall_follow + value: wall_follow + - id: 4 + type: string + name: direction_control + mapping: + - dps_val: forward + value: forward + - dps_val: backward + value: reverse + - dps_val: turn_left + value: left + - dps_val: turn_right + value: right + - dps_val: stop + value: stop + - id: 5 + type: string + name: status + mapping: + - dps_val: standby + value: standby + - dps_val: random_clean + value: random + - dps_val: spot_clean + value: clean_spot + - dps_val: smart_clean + value: smart + - dps_val: goto_charge + value: returning_to_base + - dps_val: wall_clean + value: wall_follow + - dps_val: sleep + value: sleep + - dps_val: remote + value: remote + - dps_val: charging_line + value: charging + - dps_val: charging_base + value: charging + - dps_val: low_power + value: low_power + - dps_val: charging + value: charging + - dps_val: charge_done + value: charged + - dps_val: paused + value: paused + - dps_val: cleaning + value: cleaning + - dps_val: mop_clean + value: mopping + - dps_val: in_trouble + value: error + - id: 13 + type: boolean + name: locate + - id: 14 + type: string + name: fan_speed + mapping: + - dps_val: normal + value: normal + - dps_val: strong + value: strong - entity: sensor class: battery dps: diff --git a/custom_components/tuya_local/devices/medion_x10sw_vacuum.yaml b/custom_components/tuya_local/devices/medion_x10sw_vacuum.yaml index 3ff7979741..739e707839 100644 --- a/custom_components/tuya_local/devices/medion_x10sw_vacuum.yaml +++ b/custom_components/tuya_local/devices/medion_x10sw_vacuum.yaml @@ -2,140 +2,139 @@ name: Robot vacuum products: - id: hyzraigatjc4zr5n name: Medion X10 SW -primary_entity: - entity: vacuum - dps: - - id: 1 - name: activate - type: boolean - optional: true - mapping: - - dps_val: null - value: false - hidden: true - - id: 2 - name: command - type: boolean - optional: true - mapping: - - dps_val: true - value: pause - - dps_val: false - constraint: clean_mode - conditions: - - dps_val: smart - value: smart - - dps_val: zone - value: zone - - dps_val: pose - value: clean_spot - - dps_val: part - value: partial_clean - - dps_val: chargego - value: return_to_base - - dps_val: wallfollow - value: wall_follow - - dps_val: selectroom - value: select_room - - id: 4 - type: string - name: clean_mode - hidden: true - - id: 5 - type: string - name: status - mapping: - - dps_val: standby - value: standby - - dps_val: smart - value: smart - - dps_val: zone_clean - value: zone_clean - - dps_val: part_clean - value: part_clean - - dps_val: cleaning - value: cleaning - - dps_val: paused - value: paused - - dps_val: goto_pos - value: going_to_position - - dps_val: pos_arrived - value: in_position - - dps_val: pos_unarrive - value: leaving_position - - dps_val: goto_charge - value: returning - - dps_val: charging - value: charging - - dps_val: charge_done - value: charged - - dps_val: sleep - value: sleep - - dps_val: fault - value: error - - dps_val: wall_follow - value: edge_cleaning - - dps_val: direction_control - value: manual_positioning - - dps_val: select_room - value: selecting_room - - dps_val: repositing - value: repositioning - - dps_val: amicro_collect_dust - value: emptying - - id: 9 - type: string - name: fan_mode - mapping: - - dps_val: closed - value: "off" - - dps_val: gentle - value: low - - dps_val: normal - value: medium - - dps_val: strong - value: high - - dps_val: max - value: max - - id: 11 - type: boolean - optional: true - name: locate - - id: 12 - type: string - optional: true - name: direction_control - mapping: - - dps_val: forward - value: forward - - dps_val: backward - value: backward - - dps_val: turn_left - value: left - - dps_val: turn_right - value: right - - dps_val: stop - value: stop - - id: 14 - type: string - optional: true - name: path_data - - id: 15 - type: string - optional: true - name: command_trans - - id: 32 - type: string - optional: true - name: schedule - - id: 34 - type: string - optional: true - name: device_info - - id: 184 - type: string - name: dormant_keep_unseen -secondary_entities: +entities: + - entity: vacuum + dps: + - id: 1 + name: activate + type: boolean + optional: true + mapping: + - dps_val: null + value: false + hidden: true + - id: 2 + name: command + type: boolean + optional: true + mapping: + - dps_val: true + value: pause + - dps_val: false + constraint: clean_mode + conditions: + - dps_val: smart + value: smart + - dps_val: zone + value: zone + - dps_val: pose + value: clean_spot + - dps_val: part + value: partial_clean + - dps_val: chargego + value: return_to_base + - dps_val: wallfollow + value: wall_follow + - dps_val: selectroom + value: select_room + - id: 4 + type: string + name: clean_mode + hidden: true + - id: 5 + type: string + name: status + mapping: + - dps_val: standby + value: standby + - dps_val: smart + value: smart + - dps_val: zone_clean + value: zone_clean + - dps_val: part_clean + value: part_clean + - dps_val: cleaning + value: cleaning + - dps_val: paused + value: paused + - dps_val: goto_pos + value: going_to_position + - dps_val: pos_arrived + value: in_position + - dps_val: pos_unarrive + value: leaving_position + - dps_val: goto_charge + value: returning + - dps_val: charging + value: charging + - dps_val: charge_done + value: charged + - dps_val: sleep + value: sleep + - dps_val: fault + value: error + - dps_val: wall_follow + value: edge_cleaning + - dps_val: direction_control + value: manual_positioning + - dps_val: select_room + value: selecting_room + - dps_val: repositing + value: repositioning + - dps_val: amicro_collect_dust + value: emptying + - id: 9 + type: string + name: fan_mode + mapping: + - dps_val: closed + value: "off" + - dps_val: gentle + value: low + - dps_val: normal + value: medium + - dps_val: strong + value: high + - dps_val: max + value: max + - id: 11 + type: boolean + optional: true + name: locate + - id: 12 + type: string + optional: true + name: direction_control + mapping: + - dps_val: forward + value: forward + - dps_val: backward + value: backward + - dps_val: turn_left + value: left + - dps_val: turn_right + value: right + - dps_val: stop + value: stop + - id: 14 + type: string + optional: true + name: path_data + - id: 15 + type: string + optional: true + name: command_trans + - id: 32 + type: string + optional: true + name: schedule + - id: 34 + type: string + optional: true + name: device_info + - id: 184 + type: string + name: dormant_keep_unseen - entity: button name: Dock dps: diff --git a/custom_components/tuya_local/devices/mellerware_citymove_vacuum.yaml b/custom_components/tuya_local/devices/mellerware_citymove_vacuum.yaml index 7b0460fabb..e34e0e0fa0 100644 --- a/custom_components/tuya_local/devices/mellerware_citymove_vacuum.yaml +++ b/custom_components/tuya_local/devices/mellerware_citymove_vacuum.yaml @@ -1,115 +1,114 @@ -name: Mellerware vacuum +name: Robot vacuum products: - id: sayafukjeqp9kupy name: Mellerware City Move -primary_entity: - entity: vacuum - dps: - - id: 1 - type: boolean - name: power - - id: 17 - type: bitfield - optional: true - name: error - hidden: true - - id: 101 - type: string - name: status - optional: true - mapping: - - dps_val: SLEEP - value: standby - - dps_val: CHARG_COMP - value: charged - - dps_val: null - value: standby - - dps_val: HALTING - value: paused - - dps_val: CLEANING - value: cleaning - - dps_val: CLEAN_COMP - value: cleaning_complete - - dps_val: FIND_STA - value: returning - - dps_val: CHARGING_STA - value: charging - - dps_val: CHARGING_DC - value: charging - - id: 102 - type: string - name: command - optional: true - mapping: - - dps_val: clean_auto - value: auto - - dps_val: clean_random - value: random - - dps_val: clean_wall - value: wall_follow - - dps_val: clean_spot - value: clean_spot - - dps_val: clean_sroom - value: clean_room - - dps_val: find_sta - value: return_to_base - - id: 104 - type: string - name: fan_speed - optional: true - force: true - mapping: - - dps_val: FANHALTING - value: Low - - dps_val: FANNORAM - value: Medium - - dps_val: FANMAX - value: High - - id: 105 - type: string - name: direction_control - optional: true - mapping: - - dps_val: MoveForward - value: forward - - dps_val: MoveBackward - value: reverse - - dps_val: MoveLeft - value: left - - dps_val: MoveRight - value: right - - dps_val: stop - value: stop - - id: 112 - type: string - name: activate - optional: true - mapping: - - dps_val: "0" - value: false - - dps_val: "1" - value: true - - id: 116 - type: boolean - name: locate - optional: true - - id: 117 - type: string - name: program - optional: true - - id: 118 - type: integer - name: model - optional: true - - id: 119 - type: integer - name: data_sample - optional: true - - id: 117 - type: string - name: time - optional: true -secondary_entities: +entities: + - entity: vacuum + dps: + - id: 1 + type: boolean + name: power + - id: 17 + type: bitfield + optional: true + name: error + hidden: true + - id: 101 + type: string + name: status + optional: true + mapping: + - dps_val: SLEEP + value: standby + - dps_val: CHARG_COMP + value: charged + - dps_val: null + value: standby + - dps_val: HALTING + value: paused + - dps_val: CLEANING + value: cleaning + - dps_val: CLEAN_COMP + value: cleaning_complete + - dps_val: FIND_STA + value: returning + - dps_val: CHARGING_STA + value: charging + - dps_val: CHARGING_DC + value: charging + - id: 102 + type: string + name: command + optional: true + mapping: + - dps_val: clean_auto + value: auto + - dps_val: clean_random + value: random + - dps_val: clean_wall + value: wall_follow + - dps_val: clean_spot + value: clean_spot + - dps_val: clean_sroom + value: clean_room + - dps_val: find_sta + value: return_to_base + - id: 104 + type: string + name: fan_speed + optional: true + force: true + mapping: + - dps_val: FANHALTING + value: Low + - dps_val: FANNORAM + value: Medium + - dps_val: FANMAX + value: High + - id: 105 + type: string + name: direction_control + optional: true + mapping: + - dps_val: MoveForward + value: forward + - dps_val: MoveBackward + value: reverse + - dps_val: MoveLeft + value: left + - dps_val: MoveRight + value: right + - dps_val: stop + value: stop + - id: 112 + type: string + name: activate + optional: true + mapping: + - dps_val: "0" + value: false + - dps_val: "1" + value: true + - id: 116 + type: boolean + name: locate + optional: true + - id: 117 + type: string + name: program + optional: true + - id: 118 + type: integer + name: model + optional: true + - id: 119 + type: integer + name: data_sample + optional: true + - id: 117 + type: string + name: time + optional: true - entity: sensor name: Clean area class: area diff --git a/custom_components/tuya_local/devices/mellerware_comfy_radiator.yaml b/custom_components/tuya_local/devices/mellerware_comfy_radiator.yaml index cd72d5a92d..9da7e3cf43 100644 --- a/custom_components/tuya_local/devices/mellerware_comfy_radiator.yaml +++ b/custom_components/tuya_local/devices/mellerware_comfy_radiator.yaml @@ -2,83 +2,82 @@ name: Heater products: - id: 5jidkruwamydvcfk name: Mellerware Comfy Medium -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: preset_mode - conditions: - - dps_val: P1 - value: auto - - dps_val: [P2, P3] - value: auto - hidden: true - - dps_val: CF - value: heat - - dps_val: [EC, AF] - value: heat - hidden: true - - dps_val: ST - value: "off" - hidden: true - - id: 2 - type: integer - name: temperature - range: - min: 5 - max: 35 - unit: C - mapping: - - constraint: preset_mode - conditions: - - dps_val: EC - range: - min: 1 - max: 31 - - dps_val: AF - invalid: true - - id: 3 - type: integer - name: current_temperature - - id: 4 - type: string - name: preset_mode - mapping: - - dps_val: CF - value: comfort - - dps_val: EC - value: eco - - dps_val: P1 - value: Daytime - - dps_val: P2 - value: Morning+Evening - - dps_val: P3 - value: Program - - dps_val: AF - value: away - - dps_val: ST - value: ST - hidden: true - - id: 11 - type: string - name: hvac_action - mapping: - - dps_val: working - value: heating - - dps_val: standby - value: idle - - id: 26 - type: string - optional: true - name: custom_program -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: preset_mode + conditions: + - dps_val: P1 + value: auto + - dps_val: [P2, P3] + value: auto + hidden: true + - dps_val: CF + value: heat + - dps_val: [EC, AF] + value: heat + hidden: true + - dps_val: ST + value: "off" + hidden: true + - id: 2 + type: integer + name: temperature + range: + min: 5 + max: 35 + unit: C + mapping: + - constraint: preset_mode + conditions: + - dps_val: EC + range: + min: 1 + max: 31 + - dps_val: AF + invalid: true + - id: 3 + type: integer + name: current_temperature + - id: 4 + type: string + name: preset_mode + mapping: + - dps_val: CF + value: comfort + - dps_val: EC + value: eco + - dps_val: P1 + value: Daytime + - dps_val: P2 + value: Morning+Evening + - dps_val: P3 + value: Program + - dps_val: AF + value: away + - dps_val: ST + value: ST + hidden: true + - id: 11 + type: string + name: hvac_action + mapping: + - dps_val: working + value: heating + - dps_val: standby + value: idle + - id: 26 + type: string + optional: true + name: custom_program - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/minco_mh1823d_thermostat.yaml b/custom_components/tuya_local/devices/minco_mh1823d_thermostat.yaml index 17a133da31..9d7edf95db 100644 --- a/custom_components/tuya_local/devices/minco_mh1823d_thermostat.yaml +++ b/custom_components/tuya_local/devices/minco_mh1823d_thermostat.yaml @@ -1,98 +1,97 @@ name: Minco MH-1823D thermostat -primary_entity: - entity: climate - translation_only_key: thermostat - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: preset_mode - conditions: - - dps_val: manual - value: heat - - dps_val: program - value: auto - - dps_val: holiday - value: auto - - id: 2 - type: string - name: preset_mode - mapping: - - dps_val: program - value: program - - dps_val: manual - value: manual - - dps_val: holiday - value: away - - id: 3 - type: string - name: hvac_action - mapping: - - dps_val: stop - value: idle - - dps_val: start - value: heating - - id: 12 - type: boolean - name: unknown_12 - - id: 19 - type: string - name: temperature_unit - mapping: - - dps_val: c - value: C - - dps_val: f - value: F - - id: 22 - type: integer - name: temperature - range: - min: 5 - max: 50 - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: temp_f - range: - min: 41 - max: 99 - - id: 23 - type: integer - name: temp_f - range: - min: 41 - max: 99 - hidden: true - - id: 32 - type: integer - name: unknown_32 - - id: 33 - type: integer - name: current_temperature - mapping: - - scale: 10 - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: current_temp_f - - id: 37 - type: integer - name: current_temp_f - mapping: - - scale: 10 - hidden: true - - id: 45 - type: integer - name: unknown_45 - - id: 105 - type: string - name: unknown_105 -secondary_entities: +entities: + - entity: climate + translation_only_key: thermostat + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: preset_mode + conditions: + - dps_val: manual + value: heat + - dps_val: program + value: auto + - dps_val: holiday + value: auto + - id: 2 + type: string + name: preset_mode + mapping: + - dps_val: program + value: program + - dps_val: manual + value: manual + - dps_val: holiday + value: away + - id: 3 + type: string + name: hvac_action + mapping: + - dps_val: stop + value: idle + - dps_val: start + value: heating + - id: 12 + type: boolean + name: unknown_12 + - id: 19 + type: string + name: temperature_unit + mapping: + - dps_val: c + value: C + - dps_val: f + value: F + - id: 22 + type: integer + name: temperature + range: + min: 5 + max: 50 + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: temp_f + range: + min: 41 + max: 99 + - id: 23 + type: integer + name: temp_f + range: + min: 41 + max: 99 + hidden: true + - id: 32 + type: integer + name: unknown_32 + - id: 33 + type: integer + name: current_temperature + mapping: + - scale: 10 + constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: current_temp_f + - id: 37 + type: integer + name: current_temp_f + mapping: + - scale: 10 + hidden: true + - id: 45 + type: integer + name: unknown_45 + - id: 105 + type: string + name: unknown_105 - entity: select name: Temperature sensor category: config diff --git a/custom_components/tuya_local/devices/minoston_timer_switch.yaml b/custom_components/tuya_local/devices/minoston_timer_switch.yaml index 766c4914b1..f42f30f111 100644 --- a/custom_components/tuya_local/devices/minoston_timer_switch.yaml +++ b/custom_components/tuya_local/devices/minoston_timer_switch.yaml @@ -2,13 +2,12 @@ name: Timer switch products: - id: ae0y7quogjcnzery name: Minoston nhT06-WIFI -primary_entity: - entity: switch - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + dps: + - id: 1 + type: boolean + name: switch - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/mirabella_genio_motion_sensor.yaml b/custom_components/tuya_local/devices/mirabella_genio_motion_sensor.yaml index de58bb2edd..f9fa706641 100644 --- a/custom_components/tuya_local/devices/mirabella_genio_motion_sensor.yaml +++ b/custom_components/tuya_local/devices/mirabella_genio_motion_sensor.yaml @@ -2,19 +2,18 @@ name: Motion sensor products: - id: p0y7ucexietpcqlq name: Mirabella Genio Motion Sensor -primary_entity: - entity: binary_sensor - class: motion - dps: - - id: 101 - type: string - name: sensor - mapping: - - dps_val: pir - value: true - - dps_val: "none" - value: false -secondary_entities: +entities: + - entity: binary_sensor + class: motion + dps: + - id: 101 + type: string + name: sensor + mapping: + - dps_val: pir + value: true + - dps_val: "none" + value: false - entity: sensor class: battery dps: diff --git a/custom_components/tuya_local/devices/mirabella_genio_usb.yaml b/custom_components/tuya_local/devices/mirabella_genio_usb.yaml index 3166fe0195..054195e65c 100644 --- a/custom_components/tuya_local/devices/mirabella_genio_usb.yaml +++ b/custom_components/tuya_local/devices/mirabella_genio_usb.yaml @@ -5,14 +5,13 @@ products: name: Maxcio W-DE004 - id: O0YnvNLlDWbJd4KC name: Hyleton 315 -primary_entity: - entity: switch - class: outlet - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + class: outlet + dps: + - id: 1 + type: boolean + name: switch - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/mirabella_geniopixel_light.yaml b/custom_components/tuya_local/devices/mirabella_geniopixel_light.yaml index 197f9c71d8..be2ce9cf57 100644 --- a/custom_components/tuya_local/devices/mirabella_geniopixel_light.yaml +++ b/custom_components/tuya_local/devices/mirabella_geniopixel_light.yaml @@ -2,74 +2,73 @@ name: Ceiling light products: - id: kllgg1iuwrtcvlnp name: Mirabella Genio Pixel LED Oval light -primary_entity: - entity: light - dps: - - id: 20 - type: boolean - name: switch - - id: 21 - type: string - name: color_mode - mapping: - - dps_val: white - value: color_temp - - dps_val: colour - value: hs - - dps_val: static - value: Static - - dps_val: pre_set - value: Preset - - dps_val: custom - value: Custom - - dps_val: local_music - value: Music - - id: 22 - type: integer - name: brightness - range: - min: 10 - max: 1000 - - id: 23 - type: integer - name: color_temp - range: - min: 0 - max: 1000 - mapping: - - target_range: - min: 2700 - max: 6500 - - id: 24 - type: hex - name: rgbhsv - format: - - name: h - bytes: 2 - range: - min: 0 - max: 360 - - name: s - bytes: 2 - range: - min: 0 - max: 1000 - - name: v - bytes: 2 - range: - min: 0 - max: 1000 - - id: 25 - type: hex - name: scene_data - optional: true - - id: 101 - type: string - name: scene_num - - id: 105 - type: base64 - name: debug_info -secondary_entities: +entities: + - entity: light + dps: + - id: 20 + type: boolean + name: switch + - id: 21 + type: string + name: color_mode + mapping: + - dps_val: white + value: color_temp + - dps_val: colour + value: hs + - dps_val: static + value: Static + - dps_val: pre_set + value: Preset + - dps_val: custom + value: Custom + - dps_val: local_music + value: Music + - id: 22 + type: integer + name: brightness + range: + min: 10 + max: 1000 + - id: 23 + type: integer + name: color_temp + range: + min: 0 + max: 1000 + mapping: + - target_range: + min: 2700 + max: 6500 + - id: 24 + type: hex + name: rgbhsv + format: + - name: h + bytes: 2 + range: + min: 0 + max: 360 + - name: s + bytes: 2 + range: + min: 0 + max: 1000 + - name: v + bytes: 2 + range: + min: 0 + max: 1000 + - id: 25 + type: hex + name: scene_data + optional: true + - id: 101 + type: string + name: scene_num + - id: 105 + type: base64 + name: debug_info - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/mirabella_power_strip.yaml b/custom_components/tuya_local/devices/mirabella_power_strip.yaml index 0866823bc6..d0a846cddf 100644 --- a/custom_components/tuya_local/devices/mirabella_power_strip.yaml +++ b/custom_components/tuya_local/devices/mirabella_power_strip.yaml @@ -1,18 +1,17 @@ -name: Genio Smart Power Board 2Gnd +name: Power board products: - id: 5dvqb3eeuhhnjnlr - name: Genio Smart Power Board 2Gnd -primary_entity: - entity: switch - translation_key: outlet_x - translation_placeholders: - x: "1" - class: outlet - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: + name: Genio Smart 2Gnd +entities: + - entity: switch + translation_key: outlet_x + translation_placeholders: + x: "1" + class: outlet + dps: + - id: 1 + type: boolean + name: switch - entity: switch translation_key: outlet_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/modena_es15sky_waterheater.yaml b/custom_components/tuya_local/devices/modena_es15sky_waterheater.yaml index 17d435de11..445c1f0a28 100644 --- a/custom_components/tuya_local/devices/modena_es15sky_waterheater.yaml +++ b/custom_components/tuya_local/devices/modena_es15sky_waterheater.yaml @@ -2,58 +2,57 @@ name: Water heater products: - id: sbno8dlqbq1kjlku name: Modena ES-15-SKY -primary_entity: - entity: water_heater - dps: - - id: 1 - type: boolean - name: switch - - id: 101 - type: integer - name: operation_mode - mapping: - - dps_val: 0 - value: Mode 0 - - dps_val: 1 - value: Mode 1 - - dps_val: 2 - value: Mode 2 - - dps_val: 3 - value: Mode 3 - - dps_val: 4 - value: Mode 4 - - dps_val: 5 - value: Mode 5 - - dps_val: 6 - value: Mode 6 - - dps_val: 7 - value: Mode 7 - - dps_val: 8 - value: Mode 8 - - dps_val: 9 - value: Mode 9 - - dps_val: 10 - value: Mode 10 - - id: 103 - type: integer - name: temperature - unit: C - range: - min: 30 - max: 75 - - id: 108 - type: integer - name: current_temperature - - id: 115 - type: integer - name: reserve1 - - id: 116 - type: integer - name: reserve2 - - id: 117 - type: integer - name: reserve3 -secondary_entities: +entities: + - entity: water_heater + dps: + - id: 1 + type: boolean + name: switch + - id: 101 + type: integer + name: operation_mode + mapping: + - dps_val: 0 + value: Mode 0 + - dps_val: 1 + value: Mode 1 + - dps_val: 2 + value: Mode 2 + - dps_val: 3 + value: Mode 3 + - dps_val: 4 + value: Mode 4 + - dps_val: 5 + value: Mode 5 + - dps_val: 6 + value: Mode 6 + - dps_val: 7 + value: Mode 7 + - dps_val: 8 + value: Mode 8 + - dps_val: 9 + value: Mode 9 + - dps_val: 10 + value: Mode 10 + - id: 103 + type: integer + name: temperature + unit: C + range: + min: 30 + max: 75 + - id: 108 + type: integer + name: current_temperature + - id: 115 + type: integer + name: reserve1 + - id: 116 + type: integer + name: reserve2 + - id: 117 + type: integer + name: reserve3 - entity: sensor name: Energy category: diagnostic diff --git a/custom_components/tuya_local/devices/modernflames_orion_fireplace.yaml b/custom_components/tuya_local/devices/modernflames_orion_fireplace.yaml index b00aadcefa..9a1b46bf40 100644 --- a/custom_components/tuya_local/devices/modernflames_orion_fireplace.yaml +++ b/custom_components/tuya_local/devices/modernflames_orion_fireplace.yaml @@ -2,79 +2,78 @@ name: Fireplace products: - id: buigpagr3xzmj6zk name: Modern Flames Orion -primary_entity: - entity: climate - icon: "mdi:campfire" - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: preset_mode - conditions: - - dps_val: HIGH_HEAT - value: heat - - dps_val: LOW_HEAT - value: heat - hidden: true - - dps_val: FAN - value: fan_only - - dps_val: "OFF" - value: "off" - hidden: true - - id: 2 - name: temperature - type: integer - range: - min: 20 - max: 31 - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: temp_set_f - range: - min: 68 - max: 90 - - id: 9 - name: temperature_unit - type: string - mapping: - - dps_val: f - value: F - - dps_val: c - value: C - - id: 10 - name: temp_set_f - type: integer - range: - min: 68 - max: 90 - hidden: true - - id: 113 - name: preset_mode - type: string - mapping: - - dps_val: "OFF" - value: none - - dps_val: "FAN" - value: Fan only - - dps_val: "LOW_HEAT" - value: eco - - dps_val: "HIGH_HEAT" - value: boost - - id: 122 - name: custom - type: string - optional: true - - id: 123 - type: string - name: save_custom - optional: true -secondary_entities: +entities: + - entity: climate + icon: "mdi:campfire" + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: preset_mode + conditions: + - dps_val: HIGH_HEAT + value: heat + - dps_val: LOW_HEAT + value: heat + hidden: true + - dps_val: FAN + value: fan_only + - dps_val: "OFF" + value: "off" + hidden: true + - id: 2 + name: temperature + type: integer + range: + min: 20 + max: 31 + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: temp_set_f + range: + min: 68 + max: 90 + - id: 9 + name: temperature_unit + type: string + mapping: + - dps_val: f + value: F + - dps_val: c + value: C + - id: 10 + name: temp_set_f + type: integer + range: + min: 68 + max: 90 + hidden: true + - id: 113 + name: preset_mode + type: string + mapping: + - dps_val: "OFF" + value: none + - dps_val: "FAN" + value: Fan only + - dps_val: "LOW_HEAT" + value: eco + - dps_val: "HIGH_HEAT" + value: boost + - id: 122 + name: custom + type: string + optional: true + - id: 123 + type: string + name: save_custom + optional: true - entity: select translation_key: temperature_unit category: config diff --git a/custom_components/tuya_local/devices/moebot_s_mower.yaml b/custom_components/tuya_local/devices/moebot_s_mower.yaml index a053a921c0..ef3cdf7166 100644 --- a/custom_components/tuya_local/devices/moebot_s_mower.yaml +++ b/custom_components/tuya_local/devices/moebot_s_mower.yaml @@ -4,77 +4,76 @@ products: name: MoeBot S20 - id: icw5sal7xfcevsve name: Parkside PMRDA 20-Li A1 -primary_entity: - entity: lawn_mower - dps: - - id: 101 - name: activity - type: string - mapping: - - dps_val: STANDBY - value: docked - - dps_val: MOWING - value: mowing - - dps_val: CHARGING - value: docked - - dps_val: EMERGENCY - value: error - - dps_val: LOCKED - value: docked - - dps_val: PAUSED - value: paused - - dps_val: PARK - value: returning - - dps_val: CHARGING_WITH_TASK_SUSPEND - value: docked - - dps_val: FIXED_MOWING - value: mowing - - dps_val: ERROR - value: error - - dps_val: UPDATA - value: docked - - dps_val: SELF_TEST - value: docked - - id: 115 - name: command - type: string - optional: true - mapping: - - dps_val: StartMowing - value: start_mowing - - dps_val: StartFixedMowing - value: start_mowing - hidden: true - - dps_val: PauseWork - value: pause - - dps_val: CancelWork - value: pause - hidden: true - - dps_val: ContinueWork - value: start_mowing - hidden: true - - dps_val: StartReturnStation - value: dock - - id: 101 - name: raw_activity - type: string - - id: 106 - type: integer - name: password - sensitive: true - - id: 110 - type: string - name: schedule - optional: true - - id: 112 - type: string - name: work_log - optional: true - - id: 113 - type: string - name: zones - optional: true -secondary_entities: +entities: + - entity: lawn_mower + dps: + - id: 101 + name: activity + type: string + mapping: + - dps_val: STANDBY + value: docked + - dps_val: MOWING + value: mowing + - dps_val: CHARGING + value: docked + - dps_val: EMERGENCY + value: error + - dps_val: LOCKED + value: docked + - dps_val: PAUSED + value: paused + - dps_val: PARK + value: returning + - dps_val: CHARGING_WITH_TASK_SUSPEND + value: docked + - dps_val: FIXED_MOWING + value: mowing + - dps_val: ERROR + value: error + - dps_val: UPDATA + value: docked + - dps_val: SELF_TEST + value: docked + - id: 115 + name: command + type: string + optional: true + mapping: + - dps_val: StartMowing + value: start_mowing + - dps_val: StartFixedMowing + value: start_mowing + hidden: true + - dps_val: PauseWork + value: pause + - dps_val: CancelWork + value: pause + hidden: true + - dps_val: ContinueWork + value: start_mowing + hidden: true + - dps_val: StartReturnStation + value: dock + - id: 101 + name: raw_activity + type: string + - id: 106 + type: integer + name: password + sensitive: true + - id: 110 + type: string + name: schedule + optional: true + - id: 112 + type: string + name: work_log + optional: true + - id: 113 + type: string + name: zones + optional: true - entity: button name: Start fixed mowing icon: "mdi:mower-on" diff --git a/custom_components/tuya_local/devices/moes_bht002_thermostat_c.yaml b/custom_components/tuya_local/devices/moes_bht002_thermostat_c.yaml index 9ee43a6b96..cd568efebc 100644 --- a/custom_components/tuya_local/devices/moes_bht002_thermostat_c.yaml +++ b/custom_components/tuya_local/devices/moes_bht002_thermostat_c.yaml @@ -1,50 +1,49 @@ name: BHT-002 thermostat C -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: "0" - value: auto - - dps_val: "1" - value: heat - - id: 2 - type: integer - name: temperature - unit: C - range: - min: 10 - max: 70 - mapping: - - scale: 2 - - id: 3 - type: integer - name: current_temperature - mapping: - - scale: 2 - - id: 4 - type: string - name: mode - hidden: true - - id: 5 - type: boolean - name: preset_mode - mapping: - - dps_val: true - value: eco - - dps_val: false - value: comfort - - id: 104 - type: boolean - name: unknown_104 -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: "0" + value: auto + - dps_val: "1" + value: heat + - id: 2 + type: integer + name: temperature + unit: C + range: + min: 10 + max: 70 + mapping: + - scale: 2 + - id: 3 + type: integer + name: current_temperature + mapping: + - scale: 2 + - id: 4 + type: string + name: mode + hidden: true + - id: 5 + type: boolean + name: preset_mode + mapping: + - dps_val: true + value: eco + - dps_val: false + value: comfort + - id: 104 + type: boolean + name: unknown_104 - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/moes_controlpanel.yaml b/custom_components/tuya_local/devices/moes_controlpanel.yaml index ea8be93322..67044aec62 100644 --- a/custom_components/tuya_local/devices/moes_controlpanel.yaml +++ b/custom_components/tuya_local/devices/moes_controlpanel.yaml @@ -2,27 +2,26 @@ name: Control hub products: - id: z1fcxdrpiazyjaky name: Moes CCP-S01-EU-WH-EN touchscreen control panel IR and Bluetooth hub -primary_entity: - entity: switch - translation_key: switch_x - translation_placeholders: - x: "1" - dps: - - id: 16 - type: boolean - name: switch - # up channel is defined as read-only, down_channel as write only. - # this seems wrong, but they are in an undocumented "raw" format, - # so anyway difficult to support - - id: 1 - type: string - optional: true - name: up_channel - - id: 2 - type: string - optional: true - name: down_channel -secondary_entities: +entities: + - entity: switch + translation_key: switch_x + translation_placeholders: + x: "1" + dps: + - id: 16 + type: boolean + name: switch + # up channel is defined as read-only, down_channel as write only. + # this seems wrong, but they are in an undocumented "raw" format, + # so anyway difficult to support + - id: 1 + type: string + optional: true + name: up_channel + - id: 2 + type: string + optional: true + name: down_channel - entity: switch translation_key: switch_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/moes_dimmer.yaml b/custom_components/tuya_local/devices/moes_dimmer.yaml index 2d63f9bef8..a47974a9cf 100644 --- a/custom_components/tuya_local/devices/moes_dimmer.yaml +++ b/custom_components/tuya_local/devices/moes_dimmer.yaml @@ -1,20 +1,19 @@ name: Moes dimmer -primary_entity: - entity: light - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - name: brightness - type: integer - range: - min: 10 - max: 1000 - - id: 13 - name: work_mode - type: string -secondary_entities: +entities: + - entity: light + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + name: brightness + type: integer + range: + min: 10 + max: 1000 + - id: 13 + name: work_mode + type: string - entity: number name: Minimum brightness category: config diff --git a/custom_components/tuya_local/devices/moes_dual_dimmer.yaml b/custom_components/tuya_local/devices/moes_dual_dimmer.yaml index 3e48444419..24d7c4c53c 100644 --- a/custom_components/tuya_local/devices/moes_dual_dimmer.yaml +++ b/custom_components/tuya_local/devices/moes_dual_dimmer.yaml @@ -2,20 +2,19 @@ name: Dual dimmer products: - id: bxoo2swd name: Moes ZM-105B-M-MS -primary_entity: - entity: light - name: Light 1 - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - name: brightness - type: integer - range: - min: 10 - max: 1000 -secondary_entities: +entities: + - entity: light + name: Light 1 + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + name: brightness + type: integer + range: + min: 10 + max: 1000 - entity: light name: Light 2 dps: diff --git a/custom_components/tuya_local/devices/moes_indoorptz_camera.yaml b/custom_components/tuya_local/devices/moes_indoorptz_camera.yaml index 5c391ae374..591e0b6e1d 100644 --- a/custom_components/tuya_local/devices/moes_indoorptz_camera.yaml +++ b/custom_components/tuya_local/devices/moes_indoorptz_camera.yaml @@ -2,24 +2,23 @@ name: Camera products: - id: sy8xnbefqdxbgwti name: Moes P52 PTZ indoor security camera -primary_entity: - entity: camera - dps: - - id: 105 - type: boolean - name: switch - mapping: - - dps_val: false - value: true - - dps_val: true - value: false - - id: 134 - type: boolean - name: motion_enable - - id: 150 - type: boolean - name: record -secondary_entities: +entities: + - entity: camera + dps: + - id: 105 + type: boolean + name: switch + mapping: + - dps_val: false + value: true + - dps_val: true + value: false + - id: 134 + type: boolean + name: motion_enable + - id: 150 + type: boolean + name: record - entity: light translation_key: indicator category: config diff --git a/custom_components/tuya_local/devices/moes_motionsensor_light.yaml b/custom_components/tuya_local/devices/moes_motionsensor_light.yaml index 0f026e510b..17394de87d 100644 --- a/custom_components/tuya_local/devices/moes_motionsensor_light.yaml +++ b/custom_components/tuya_local/devices/moes_motionsensor_light.yaml @@ -2,20 +2,19 @@ name: Motion sensor light products: - id: vwqnz1sn name: Moes XZ-CGV3 -primary_entity: - entity: binary_sensor - name: Motion detected - class: motion - dps: - - id: 1 - type: string - name: sensor - mapping: - - dps_val: none - value: false - - dps_val: pir - value: true -secondary_entities: +entities: + - entity: binary_sensor + name: Motion detected + class: motion + dps: + - id: 1 + type: string + name: sensor + mapping: + - dps_val: none + value: false + - dps_val: pir + value: true - entity: sensor name: Current luminance class: illuminance diff --git a/custom_components/tuya_local/devices/moes_motionsensor_switch.yaml b/custom_components/tuya_local/devices/moes_motionsensor_switch.yaml index ad6597a1ea..93c4d2831e 100644 --- a/custom_components/tuya_local/devices/moes_motionsensor_switch.yaml +++ b/custom_components/tuya_local/devices/moes_motionsensor_switch.yaml @@ -22,19 +22,18 @@ name: Motion sensor switch products: - id: vd5jgg8vgdbaqerq name: Moes Smart PIR switch -primary_entity: - entity: switch - dps: - - id: 1 - name: switch - type: boolean - - id: 44 - type: string - name: illuminance_state - - id: 47 - type: string - name: motion_state -secondary_entities: +entities: + - entity: switch + dps: + - id: 1 + name: switch + type: boolean + - id: 44 + type: string + name: illuminance_state + - id: 47 + type: string + name: motion_state - entity: select category: config translation_key: initial_state diff --git a/custom_components/tuya_local/devices/moes_quad_switch.yaml b/custom_components/tuya_local/devices/moes_quad_switch.yaml index 93ccbc4861..aba67dba13 100644 --- a/custom_components/tuya_local/devices/moes_quad_switch.yaml +++ b/custom_components/tuya_local/devices/moes_quad_switch.yaml @@ -2,23 +2,22 @@ name: Quad switch products: - id: mwiiltjyanw48oxm name: Moes MS-104D -primary_entity: - entity: switch - translation_key: switch_x - translation_placeholders: - x: "1" - dps: - - id: 1 - type: boolean - name: switch - - id: 44 - type: string - name: inching - - id: 48 - type: string - name: interlock - optional: true -secondary_entities: +entities: + - entity: switch + translation_key: switch_x + translation_placeholders: + x: "1" + dps: + - id: 1 + type: boolean + name: switch + - id: 44 + type: string + name: inching + - id: 48 + type: string + name: interlock + optional: true - entity: switch translation_key: switch_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/moes_rgb_socket.yaml b/custom_components/tuya_local/devices/moes_rgb_socket.yaml index dd71f17d7e..5059e08c8d 100644 --- a/custom_components/tuya_local/devices/moes_rgb_socket.yaml +++ b/custom_components/tuya_local/devices/moes_rgb_socket.yaml @@ -1,12 +1,11 @@ name: MoesHouse RGB socket -primary_entity: - entity: switch - class: outlet - dps: - - id: 101 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + class: outlet + dps: + - id: 101 + type: boolean + name: switch - entity: light translation_key: nightlight dps: diff --git a/custom_components/tuya_local/devices/moes_star_projector.yaml b/custom_components/tuya_local/devices/moes_star_projector.yaml index 6ae3da2d96..d57eeaa4b3 100644 --- a/custom_components/tuya_local/devices/moes_star_projector.yaml +++ b/custom_components/tuya_local/devices/moes_star_projector.yaml @@ -2,47 +2,46 @@ name: Star projector products: - id: cw7kinnselbesfp9 name: Moes Smart Star Projector -primary_entity: - entity: light - name: Background - icon: "mdi:projector" - dps: - - id: 103 - type: boolean - name: switch - - id: 21 - name: color_mode - type: string - mapping: - - dps_val: white - value: white - - dps_val: colour - value: hs - - dps_val: scene - value: Scene - - id: 24 - name: rgbhsv - type: hex - format: - - name: h - bytes: 2 - range: - min: 0 - max: 360 - - name: s - bytes: 2 - range: - min: 0 - max: 1000 - - name: v - bytes: 2 - range: - min: 0 - max: 1000 - - id: 25 - name: scene_data - type: hex -secondary_entities: +entities: + - entity: light + name: Background + icon: "mdi:projector" + dps: + - id: 103 + type: boolean + name: switch + - id: 21 + name: color_mode + type: string + mapping: + - dps_val: white + value: white + - dps_val: colour + value: hs + - dps_val: scene + value: Scene + - id: 24 + name: rgbhsv + type: hex + format: + - name: h + bytes: 2 + range: + min: 0 + max: 360 + - name: s + bytes: 2 + range: + min: 0 + max: 1000 + - name: v + bytes: 2 + range: + min: 0 + max: 1000 + - id: 25 + name: scene_data + type: hex - entity: light translation_key: laser dps: diff --git a/custom_components/tuya_local/devices/moes_temp_humidity.yaml b/custom_components/tuya_local/devices/moes_temp_humidity.yaml index fa6207b03a..1f7f683fbe 100644 --- a/custom_components/tuya_local/devices/moes_temp_humidity.yaml +++ b/custom_components/tuya_local/devices/moes_temp_humidity.yaml @@ -1,23 +1,22 @@ -name: Moes thermostat and hydrostat +name: Thermostat and hydrostat products: - id: dlsdk5zvkuuhufpy name: Moes MS-103 -primary_entity: - entity: switch - name: Main switch - category: config - dps: - - id: 1 - type: boolean - name: switch - - id: 24 - type: string - name: cycle_time - - id: 106 - type: string - # Probe type detection - name: sensor_dect -secondary_entities: +entities: + - entity: switch + name: Main switch + category: config + dps: + - id: 1 + type: boolean + name: switch + - id: 24 + type: string + name: cycle_time + - id: 106 + type: string + # Probe type detection + name: sensor_dect - entity: switch translation_key: switch_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/moes_threegang.yaml b/custom_components/tuya_local/devices/moes_threegang.yaml index 7b9dec1919..979c3ecf26 100644 --- a/custom_components/tuya_local/devices/moes_threegang.yaml +++ b/custom_components/tuya_local/devices/moes_threegang.yaml @@ -2,14 +2,13 @@ name: Triple switch with timer and backlight products: - id: m4viuhaiez8qjswh name: Moes 3 Gang smart switch -primary_entity: - entity: light - name: "Gang 1" - dps: - - id: 1 - name: switch - type: boolean -secondary_entities: +entities: + - entity: light + name: "Gang 1" + dps: + - id: 1 + name: switch + type: boolean - entity: light name: "Gang 2" dps: diff --git a/custom_components/tuya_local/devices/moes_touch_curtain_switch.yaml b/custom_components/tuya_local/devices/moes_touch_curtain_switch.yaml index 431c9c71e1..d77e41deee 100644 --- a/custom_components/tuya_local/devices/moes_touch_curtain_switch.yaml +++ b/custom_components/tuya_local/devices/moes_touch_curtain_switch.yaml @@ -1,22 +1,21 @@ name: Curtain switch products: - id: 6tb9dko4t15optxz - name: Moes SCS80 Touch Curtain Swich -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: continue - value: stop -secondary_entities: + name: Moes SCS80 Touch +entities: + - entity: cover + class: curtain + dps: + - id: 1 + name: control + type: string + mapping: + - dps_val: open + value: open + - dps_val: close + value: close + - dps_val: continue + value: stop - entity: light translation_key: backlight category: config diff --git a/custom_components/tuya_local/devices/moes_trv_thermostat.yaml b/custom_components/tuya_local/devices/moes_trv_thermostat.yaml index e809a3a852..5352e94797 100644 --- a/custom_components/tuya_local/devices/moes_trv_thermostat.yaml +++ b/custom_components/tuya_local/devices/moes_trv_thermostat.yaml @@ -2,98 +2,97 @@ name: Radiator valve products: - id: b6wax7g0 name: Moes Zigbee BRT-100-TRV -primary_entity: - entity: climate - translation_key: thermostat - dps: - - id: 1 - type: string - optional: true - name: hvac_mode - mapping: - - dps_val: auto - value: auto - - dps_val: manual - value: heat - - value: heat - hidden: true - - id: 2 - type: integer - optional: true - name: temperature - unit: C - range: - min: 0 - max: 45 - mapping: - - constraint: preset_mode - conditions: - - dps_val: true - value_redirect: eco_temp - - id: 3 - type: integer - optional: true - name: current_temperature - mapping: - - scale: 10 - - id: 4 - type: boolean - name: boost_mode - hidden: true - - id: 7 - type: string - optional: true - name: hvac_action - mapping: - - dps_val: opened - value: heating - - dps_val: closed - value: idle - - id: 106 - type: boolean - optional: true - name: preset_mode - mapping: - - dps_val: true - value: eco - - dps_val: false - constraint: boost_mode - conditions: - - dps_val: true - value: boost - - dps_val: false - value: comfort - - dps_val: null - value: comfort - hidden: true - - dps_val: null - constraint: boost_mode - conditions: - - dps_val: true - value: boost - hidden: true - - dps_val: false - value: comfort - hidden: true - - dps_val: null - value: comfort - hidden: true - - id: 107 - type: integer - optional: true - name: eco_temp - range: - min: 5 - max: 35 - - id: 108 - type: integer - optional: true - name: max_temperature - - id: 109 - type: integer - optional: true - name: min_temperature -secondary_entities: +entities: + - entity: climate + translation_key: thermostat + dps: + - id: 1 + type: string + optional: true + name: hvac_mode + mapping: + - dps_val: auto + value: auto + - dps_val: manual + value: heat + - value: heat + hidden: true + - id: 2 + type: integer + optional: true + name: temperature + unit: C + range: + min: 0 + max: 45 + mapping: + - constraint: preset_mode + conditions: + - dps_val: true + value_redirect: eco_temp + - id: 3 + type: integer + optional: true + name: current_temperature + mapping: + - scale: 10 + - id: 4 + type: boolean + name: boost_mode + hidden: true + - id: 7 + type: string + optional: true + name: hvac_action + mapping: + - dps_val: opened + value: heating + - dps_val: closed + value: idle + - id: 106 + type: boolean + optional: true + name: preset_mode + mapping: + - dps_val: true + value: eco + - dps_val: false + constraint: boost_mode + conditions: + - dps_val: true + value: boost + - dps_val: false + value: comfort + - dps_val: null + value: comfort + hidden: true + - dps_val: null + constraint: boost_mode + conditions: + - dps_val: true + value: boost + hidden: true + - dps_val: false + value: comfort + hidden: true + - dps_val: null + value: comfort + hidden: true + - id: 107 + type: integer + optional: true + name: eco_temp + range: + min: 5 + max: 35 + - id: 108 + type: integer + optional: true + name: max_temperature + - id: 109 + type: integer + optional: true + name: min_temperature - entity: switch name: Holiday mode icon: "mdi:caravan" diff --git a/custom_components/tuya_local/devices/moes_wht009_thermostat.yaml b/custom_components/tuya_local/devices/moes_wht009_thermostat.yaml index 13c92f1d31..b3196fb296 100644 --- a/custom_components/tuya_local/devices/moes_wht009_thermostat.yaml +++ b/custom_components/tuya_local/devices/moes_wht009_thermostat.yaml @@ -2,68 +2,66 @@ name: Thermostat products: - id: 14bmxdarlb4ravgd name: Moes WHT-009 -primary_entity: - entity: climate - translation_key: thermostat - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: manual - value: heat - - dps_val: auto - value: auto - - id: 2 - name: mode - type: string - - id: 16 - name: temperature - type: integer - unit: C - range: - min: 50 - max: 450 - mapping: - - scale: 10 - step: 5 - - id: 24 - name: current_temperature - type: integer - mapping: - - scale: 10 - step: 5 - - id: 19 - type: integer - optional: true - name: max_temperature - mapping: - - scale: 10 - - id: 26 - type: integer - optional: true - name: min_temperature - mapping: - - scale: 10 - - id: 36 - type: string - name: hvac_action - mapping: - - dps_val: open - value: heating - - dps_val: close - value: idle - - id: 71 - type: string - optional: true - name: week_program - -secondary_entities: +entities: + - entity: climate + translation_key: thermostat + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: manual + value: heat + - dps_val: auto + value: auto + - id: 2 + name: mode + type: string + - id: 16 + name: temperature + type: integer + unit: C + range: + min: 50 + max: 450 + mapping: + - scale: 10 + step: 5 + - id: 24 + name: current_temperature + type: integer + mapping: + - scale: 10 + step: 5 + - id: 19 + type: integer + optional: true + name: max_temperature + mapping: + - scale: 10 + - id: 26 + type: integer + optional: true + name: min_temperature + mapping: + - scale: 10 + - id: 36 + type: string + name: hvac_action + mapping: + - dps_val: open + value: heating + - dps_val: close + value: idle + - id: 71 + type: string + optional: true + name: week_program - entity: number name: Maximum temperature class: temperature diff --git a/custom_components/tuya_local/devices/moes_wsyeuc_curtainswitch.yaml b/custom_components/tuya_local/devices/moes_wsyeuc_curtainswitch.yaml index 4e55233f1d..76b6ecccd3 100644 --- a/custom_components/tuya_local/devices/moes_wsyeuc_curtainswitch.yaml +++ b/custom_components/tuya_local/devices/moes_wsyeuc_curtainswitch.yaml @@ -2,21 +2,20 @@ name: Curtain switch products: - id: 1qhlrytqcpnqmzj7 name: Moes WS-Y-EUC -primary_entity: - entity: cover - class: curtain - dps: - - id: 1 - name: control - type: string - mapping: - - dps_val: "on" - value: open - - dps_val: "off" - value: close - - dps_val: stop - value: stop -secondary_entities: +entities: + - entity: cover + class: curtain + dps: + - id: 1 + name: control + type: string + mapping: + - dps_val: "on" + value: open + - dps_val: "off" + value: close + - dps_val: stop + value: stop - entity: light category: config translation_key: backlight diff --git a/custom_components/tuya_local/devices/moesgo_dimmer.yaml b/custom_components/tuya_local/devices/moesgo_dimmer.yaml index 9aaebd74ac..e0514c3e98 100644 --- a/custom_components/tuya_local/devices/moesgo_dimmer.yaml +++ b/custom_components/tuya_local/devices/moesgo_dimmer.yaml @@ -2,19 +2,18 @@ name: Dimmer switch products: - id: bf450789b46e8ff48f9n6r name: MoesGo dimmer switch -primary_entity: - entity: light - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - name: brightness - type: integer - range: - min: 10 - max: 1000 -secondary_entities: +entities: + - entity: light + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + name: brightness + type: integer + range: + min: 10 + max: 1000 - entity: number name: Minimum brightness category: config diff --git a/custom_components/tuya_local/devices/moistenland_water_timer.yaml b/custom_components/tuya_local/devices/moistenland_water_timer.yaml index c707576c1c..1ebce3276f 100644 --- a/custom_components/tuya_local/devices/moistenland_water_timer.yaml +++ b/custom_components/tuya_local/devices/moistenland_water_timer.yaml @@ -2,14 +2,13 @@ name: Irrigation timer products: - id: 8t5hebn0 name: MoistenLand BLE -primary_entity: - entity: valve - class: water - dps: - - id: 1 - name: valve - type: boolean -secondary_entities: +entities: + - entity: valve + class: water + dps: + - id: 1 + name: valve + type: boolean - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/momcozy_white_noise_machine_v2.yaml b/custom_components/tuya_local/devices/momcozy_white_noise_machine_v2.yaml index 1937df4b78..87ce5f525c 100644 --- a/custom_components/tuya_local/devices/momcozy_white_noise_machine_v2.yaml +++ b/custom_components/tuya_local/devices/momcozy_white_noise_machine_v2.yaml @@ -2,52 +2,51 @@ name: White noise machine products: - id: dymvl7axplliptxx name: Mom Cozy white noise machine -primary_entity: - entity: light - dps: - - id: 3 - type: boolean - name: switch - - id: 4 - type: string - name: color_mode - mapping: - - dps_val: change - value: Rainbow - - dps_val: breath - value: Breath - - dps_val: light_off - value: hs - - dps_val: light_on - value: white - - id: 6 - name: brightness - type: integer - optional: true - range: - min: 10 - max: 1000 - - id: 5 - name: rgbhsv - type: hex - optional: true - format: - - name: h - bytes: 2 - range: - min: 0 - max: 360 - - name: s - bytes: 2 - range: - min: 0 - max: 1000 - - name: v - bytes: 2 - range: - min: 0 - max: 1000 -secondary_entities: +entities: + - entity: light + dps: + - id: 3 + type: boolean + name: switch + - id: 4 + type: string + name: color_mode + mapping: + - dps_val: change + value: Rainbow + - dps_val: breath + value: Breath + - dps_val: light_off + value: hs + - dps_val: light_on + value: white + - id: 6 + name: brightness + type: integer + optional: true + range: + min: 10 + max: 1000 + - id: 5 + name: rgbhsv + type: hex + optional: true + format: + - name: h + bytes: 2 + range: + min: 0 + max: 360 + - name: s + bytes: 2 + range: + min: 0 + max: 1000 + - name: v + bytes: 2 + range: + min: 0 + max: 1000 - entity: siren name: Sound icon: "mdi:music" diff --git a/custom_components/tuya_local/devices/monzana_klimaanlage_air_conditioner.yaml b/custom_components/tuya_local/devices/monzana_klimaanlage_air_conditioner.yaml index f6294933bc..407a5dc92b 100644 --- a/custom_components/tuya_local/devices/monzana_klimaanlage_air_conditioner.yaml +++ b/custom_components/tuya_local/devices/monzana_klimaanlage_air_conditioner.yaml @@ -2,49 +2,48 @@ name: Air conditioner products: - id: rcbmbxfhfjka1kap name: Monzana Klimaanlage -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: Cool - value: cool - - dps_val: Dyr - value: dry - - dps_val: Fan - value: fan_only - - dps_val: Heat - value: heat - - id: 2 - type: integer - name: temperature - range: - min: 16 - max: 32 - unit: C - - id: 3 - type: integer - name: current_temperature - - id: 4 - type: string - name: mode - hidden: true - - id: 5 - type: string - name: fan_mode - mapping: - - dps_val: Low - value: low - - dps_val: High - value: high -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: Cool + value: cool + - dps_val: Dyr + value: dry + - dps_val: Fan + value: fan_only + - dps_val: Heat + value: heat + - id: 2 + type: integer + name: temperature + range: + min: 16 + max: 32 + unit: C + - id: 3 + type: integer + name: current_temperature + - id: 4 + type: string + name: mode + hidden: true + - id: 5 + type: string + name: fan_mode + mapping: + - dps_val: Low + value: low + - dps_val: High + value: high - entity: lock translation_key: child_lock dps: diff --git a/custom_components/tuya_local/devices/morento_hy4866_wf.yaml b/custom_components/tuya_local/devices/morento_hy4866_wf.yaml index d8099f87fb..f1f386817c 100644 --- a/custom_components/tuya_local/devices/morento_hy4866_wf.yaml +++ b/custom_components/tuya_local/devices/morento_hy4866_wf.yaml @@ -2,31 +2,30 @@ name: Air purifier products: - id: 5a4rez30alfjfmdg name: Morento HY4866-WF -primary_entity: - entity: fan - translation_only_key: fan_with_presets - icon: "mdi:air-purifier" - dps: - - id: 1 - name: switch - type: boolean - - id: 3 - name: preset_mode - type: string - mapping: - - dps_val: sleep - value: sleep - - dps_val: Auto - value: smart - - dps_val: 1F - value: low - - dps_val: 2F - value: medium - - dps_val: 3F - value: high - - dps_val: 4F - value: strong -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + icon: "mdi:air-purifier" + dps: + - id: 1 + name: switch + type: boolean + - id: 3 + name: preset_mode + type: string + mapping: + - dps_val: sleep + value: sleep + - dps_val: Auto + value: smart + - dps_val: 1F + value: low + - dps_val: 2F + value: medium + - dps_val: 3F + value: high + - dps_val: 4F + value: strong - entity: sensor class: pm25 dps: diff --git a/custom_components/tuya_local/devices/motion_sensor_light.yaml b/custom_components/tuya_local/devices/motion_sensor_light.yaml index fb3b9e6b53..cd53daf490 100644 --- a/custom_components/tuya_local/devices/motion_sensor_light.yaml +++ b/custom_components/tuya_local/devices/motion_sensor_light.yaml @@ -6,24 +6,23 @@ products: name: Deta Light Motion Sensor - id: pxyhz90upglpoedu name: Arlec MAL315HA -primary_entity: - entity: light - dps: - - id: 101 - type: string - name: effect - mapping: - - dps_val: mode_off - value: "off" - - dps_val: mode_auto - value: auto - - dps_val: mode_on - value: "on" - - id: 102 - type: boolean - name: switch - readonly: true -secondary_entities: +entities: + - entity: light + dps: + - id: 101 + type: string + name: effect + mapping: + - dps_val: mode_off + value: "off" + - dps_val: mode_auto + value: auto + - dps_val: mode_on + value: "on" + - id: 102 + type: boolean + name: switch + readonly: true - entity: switch name: Auto mode icon: "mdi:motion-sensor" diff --git a/custom_components/tuya_local/devices/mrc_magnum_floorheater.yaml b/custom_components/tuya_local/devices/mrc_magnum_floorheater.yaml index 8865bf6267..c1b7471d1a 100644 --- a/custom_components/tuya_local/devices/mrc_magnum_floorheater.yaml +++ b/custom_components/tuya_local/devices/mrc_magnum_floorheater.yaml @@ -2,91 +2,90 @@ name: Floor heating products: - id: fy783e8g0n38ahlt name: MRC Magnum -primary_entity: - entity: climate - dps: - - id: 2 - type: string - name: hvac_mode - mapping: - - dps_val: AUTO - value: auto - - dps_val: MANUAL - value: heat - - value: heat - - id: 2 - type: string - name: preset_mode - mapping: - - dps_val: AUTO - value: home - - dps_val: MANUAL - value: none - - dps_val: HOLIDAY - value: away - - dps_val: FROST - value: sleep - - dps_val: SLOW - value: Slow start - hidden: true - - id: 3 - type: string - name: hvac_action - mapping: - - dps_val: warming - value: idle - - dps_val: heating - value: heating - - id: 16 - type: integer - name: temperature - unit: C - range: - min: 50 - max: 400 - mapping: - - scale: 10 - constraint: temperature_unit - conditions: - - dps_val: false - step: 5 - - dps_val: true - step: 10 - range: - min: 410 - max: 1040 - value_redirect: temp_set_f - - id: 17 - type: integer - name: temp_set_f - optional: true - range: - min: 410 - max: 1040 - hidden: true - - id: 24 - type: integer - name: current_temperature - mapping: - - scale: 10 - constraint: temperature_unit - conditions: - - dps_val: true - value_redirect: temp_current_f - - id: 29 - type: integer - name: temp_current_f - optional: true - hidden: true - - id: 107 - type: boolean - name: temperature_unit - mapping: - - dps_val: false - value: C - - dps_val: true - value: F -secondary_entities: +entities: + - entity: climate + dps: + - id: 2 + type: string + name: hvac_mode + mapping: + - dps_val: AUTO + value: auto + - dps_val: MANUAL + value: heat + - value: heat + - id: 2 + type: string + name: preset_mode + mapping: + - dps_val: AUTO + value: home + - dps_val: MANUAL + value: none + - dps_val: HOLIDAY + value: away + - dps_val: FROST + value: sleep + - dps_val: SLOW + value: Slow start + hidden: true + - id: 3 + type: string + name: hvac_action + mapping: + - dps_val: warming + value: idle + - dps_val: heating + value: heating + - id: 16 + type: integer + name: temperature + unit: C + range: + min: 50 + max: 400 + mapping: + - scale: 10 + constraint: temperature_unit + conditions: + - dps_val: false + step: 5 + - dps_val: true + step: 10 + range: + min: 410 + max: 1040 + value_redirect: temp_set_f + - id: 17 + type: integer + name: temp_set_f + optional: true + range: + min: 410 + max: 1040 + hidden: true + - id: 24 + type: integer + name: current_temperature + mapping: + - scale: 10 + constraint: temperature_unit + conditions: + - dps_val: true + value_redirect: temp_current_f + - id: 29 + type: integer + name: temp_current_f + optional: true + hidden: true + - id: 107 + type: boolean + name: temperature_unit + mapping: + - dps_val: false + value: C + - dps_val: true + value: F - entity: select name: Standby display icon: "mdi:numeric" diff --git a/custom_components/tuya_local/devices/multi_leaf_dy_107_thermostat.yaml b/custom_components/tuya_local/devices/multi_leaf_dy_107_thermostat.yaml index f0e6584933..2f64ba02ce 100644 --- a/custom_components/tuya_local/devices/multi_leaf_dy_107_thermostat.yaml +++ b/custom_components/tuya_local/devices/multi_leaf_dy_107_thermostat.yaml @@ -2,58 +2,57 @@ name: Thermostat products: - id: gdusjavy8i4dpjlt name: Multi-leaf DY-107 -primary_entity: - entity: climate - translation_key: thermostat - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: true - value: heat - - dps_val: false - value: "off" - icon: "mdi:radiator-disabled" - icon_priority: 1 - - id: 2 - name: preset_mode - type: string - mapping: - - dps_val: auto - value: program - - dps_val: manual - value: manual - - id: 16 - type: integer - name: temperature - unit: C - range: - min: 5 - max: 90 - - id: 19 - type: integer - name: max_temperature - - id: 24 - type: integer - name: current_temperature - - id: 26 - optional: true - type: integer - name: min_temperature - - id: 36 - type: string - name: hvac_action - mapping: - - dps_val: close - icon: "mdi:radiator-disabled" - icon_priority: 2 - value: idle - - dps_val: open - icon: "mdi:radiator" - icon_priority: 2 - value: heating -secondary_entities: +entities: + - entity: climate + translation_key: thermostat + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: true + value: heat + - dps_val: false + value: "off" + icon: "mdi:radiator-disabled" + icon_priority: 1 + - id: 2 + name: preset_mode + type: string + mapping: + - dps_val: auto + value: program + - dps_val: manual + value: manual + - id: 16 + type: integer + name: temperature + unit: C + range: + min: 5 + max: 90 + - id: 19 + type: integer + name: max_temperature + - id: 24 + type: integer + name: current_temperature + - id: 26 + optional: true + type: integer + name: min_temperature + - id: 36 + type: string + name: hvac_action + mapping: + - dps_val: close + icon: "mdi:radiator-disabled" + icon_priority: 2 + value: idle + - dps_val: open + icon: "mdi:radiator" + icon_priority: 2 + value: heating - entity: number name: Calibration offset category: config diff --git a/custom_components/tuya_local/devices/mypin_6l_videopetfeeder.yaml b/custom_components/tuya_local/devices/mypin_6l_videopetfeeder.yaml index 564d66abf9..b8db75ab9d 100644 --- a/custom_components/tuya_local/devices/mypin_6l_videopetfeeder.yaml +++ b/custom_components/tuya_local/devices/mypin_6l_videopetfeeder.yaml @@ -2,26 +2,25 @@ name: Video pet feeder products: - id: 8zrzjldq07tlxnlv name: Mypin 6L -primary_entity: - entity: camera - dps: - - id: 113 - type: boolean - optional: true - name: motion_enable - mapping: - - dps_val: null - value: false - hidden: true - - id: 150 - type: boolean - optional: true - name: record - mapping: - - dps_val: null - value: false - hidden: true -secondary_entities: +entities: + - entity: camera + dps: + - id: 113 + type: boolean + optional: true + name: motion_enable + mapping: + - dps_val: null + value: false + hidden: true + - id: 150 + type: boolean + optional: true + name: record + mapping: + - dps_val: null + value: false + hidden: true - entity: light translation_key: indicator category: config diff --git a/custom_components/tuya_local/devices/myq_td8_videodoorbell.yaml b/custom_components/tuya_local/devices/myq_td8_videodoorbell.yaml index 216bd3d2dd..94d8c4ad09 100644 --- a/custom_components/tuya_local/devices/myq_td8_videodoorbell.yaml +++ b/custom_components/tuya_local/devices/myq_td8_videodoorbell.yaml @@ -2,35 +2,34 @@ name: Video doorbell products: - id: wih9ybttb42lxb1q name: myQ TD8 -primary_entity: - entity: camera - dps: - - id: 154 - name: snapshot - type: base64 - optional: true - persist: false - sensitive: true - mapping: - - dps_val: null - value_redirect: movement_pic - - id: 115 - name: movement_pic - type: base64 - optional: true - sensitive: true - - id: 134 - name: motion_enable - type: boolean - - id: 150 - name: record - type: boolean - - id: 152 - name: pir_switch - type: string - optional: true - # enum: ["0", "1", "2", "3"] - probably a select, but meanings unknown -secondary_entities: +entities: + - entity: camera + dps: + - id: 154 + name: snapshot + type: base64 + optional: true + persist: false + sensitive: true + mapping: + - dps_val: null + value_redirect: movement_pic + - id: 115 + name: movement_pic + type: base64 + optional: true + sensitive: true + - id: 134 + name: motion_enable + type: boolean + - id: 150 + name: record + type: boolean + - id: 152 + name: pir_switch + type: string + optional: true + # enum: ["0", "1", "2", "3"] - probably a select, but meanings unknown - entity: light translation_key: indicator category: config diff --git a/custom_components/tuya_local/devices/myuet_me82_thermostat.yaml b/custom_components/tuya_local/devices/myuet_me82_thermostat.yaml index 9639370cd2..831eccabe0 100644 --- a/custom_components/tuya_local/devices/myuet_me82_thermostat.yaml +++ b/custom_components/tuya_local/devices/myuet_me82_thermostat.yaml @@ -2,62 +2,61 @@ name: Thermostat products: - id: 7ingxzrs0wo9rqsd name: Myuet ME82 -primary_entity: - entity: climate - translation_key: thermostat - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: "heat" - - id: 16 - type: integer - name: temperature - mapping: - - scale: 10 - step: 5 - unit: C - range: - min: 50 - max: 700 - - id: 19 - type: integer - name: max_temperature - optional: true - mapping: - - scale: 10 - - id: 26 - type: integer - name: min_temperature - optional: true - mapping: - - scale: 10 - - id: 24 - type: integer - name: current_temperature - mapping: - - scale: 10 - - id: 36 - type: string - name: hvac_action - mapping: - - dps_val: open - value: heating - - dps_val: close - value: idle - - id: 2 - type: string - name: preset_mode - mapping: - - dps_val: auto - value: program - - dps_val: manual - value: manual -secondary_entities: +entities: + - entity: climate + translation_key: thermostat + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: "heat" + - id: 16 + type: integer + name: temperature + mapping: + - scale: 10 + step: 5 + unit: C + range: + min: 50 + max: 700 + - id: 19 + type: integer + name: max_temperature + optional: true + mapping: + - scale: 10 + - id: 26 + type: integer + name: min_temperature + optional: true + mapping: + - scale: 10 + - id: 24 + type: integer + name: current_temperature + mapping: + - scale: 10 + - id: 36 + type: string + name: hvac_action + mapping: + - dps_val: open + value: heating + - dps_val: close + value: idle + - id: 2 + type: string + name: preset_mode + mapping: + - dps_val: auto + value: program + - dps_val: manual + value: manual - entity: switch translation_key: anti_frost category: config diff --git a/custom_components/tuya_local/devices/nac_ap470_purifier.yaml b/custom_components/tuya_local/devices/nac_ap470_purifier.yaml index 28add09c1d..8993579b65 100644 --- a/custom_components/tuya_local/devices/nac_ap470_purifier.yaml +++ b/custom_components/tuya_local/devices/nac_ap470_purifier.yaml @@ -2,30 +2,29 @@ name: Air purifier products: - id: y7iiubdc5sufjvo3 name: "NAC AP470 Air Purifier" -primary_entity: - entity: fan - icon: "mdi:air-purifier" - dps: - - id: 1 - type: boolean - name: switch - - id: 4 - type: string - name: preset_mode - mapping: - - dps_val: 1 - value: Auto - - dps_val: 2 - value: Sleep - - dps_val: 3 - value: Level 1 - - dps_val: 4 - value: Level 2 - - dps_val: 4 - value: Level 3 - - dps_val: 6 - value: Level 4 -secondary_entities: +entities: + - entity: fan + icon: "mdi:air-purifier" + dps: + - id: 1 + type: boolean + name: switch + - id: 4 + type: string + name: preset_mode + mapping: + - dps_val: 1 + value: Auto + - dps_val: 2 + value: Sleep + - dps_val: 3 + value: Level 1 + - dps_val: 4 + value: Level 2 + - dps_val: 4 + value: Level 3 + - dps_val: 6 + value: Level 4 - entity: sensor class: pm25 dps: diff --git a/custom_components/tuya_local/devices/nashone_mts700wb_thermostat.yaml b/custom_components/tuya_local/devices/nashone_mts700wb_thermostat.yaml index 55335fc875..14cd4cfcd1 100644 --- a/custom_components/tuya_local/devices/nashone_mts700wb_thermostat.yaml +++ b/custom_components/tuya_local/devices/nashone_mts700wb_thermostat.yaml @@ -1,69 +1,68 @@ name: Nashone MTS-700-WB thermostat -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: cold - value: cool - - dps_val: hot - value: heat - - id: 2 - type: string - name: mode - hidden: true - - id: 3 - type: string - name: work_state - - id: 16 - type: integer - name: temperature - range: - min: -20 - max: 105 - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: temp_f - range: - min: -4 - max: 221 - - id: 17 - type: integer - name: temp_f - range: - min: -4 - max: 221 - hidden: true - - id: 23 - type: string - name: temperature_unit - mapping: - - dps_val: c - value: C - - dps_val: f - value: F - - id: 24 - type: integer - name: current_temperature - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: temp_current_f - - id: 29 - type: integer - name: temp_current_f - hidden: true -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: cold + value: cool + - dps_val: hot + value: heat + - id: 2 + type: string + name: mode + hidden: true + - id: 3 + type: string + name: work_state + - id: 16 + type: integer + name: temperature + range: + min: -20 + max: 105 + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: temp_f + range: + min: -4 + max: 221 + - id: 17 + type: integer + name: temp_f + range: + min: -4 + max: 221 + hidden: true + - id: 23 + type: string + name: temperature_unit + mapping: + - dps_val: c + value: C + - dps_val: f + value: F + - id: 24 + type: integer + name: current_temperature + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: temp_current_f + - id: 29 + type: integer + name: temp_current_f + hidden: true - entity: number category: config name: Calibration offset diff --git a/custom_components/tuya_local/devices/neatsvor_x600_vacuum.yaml b/custom_components/tuya_local/devices/neatsvor_x600_vacuum.yaml index 9ed9b454a1..d5d4ff0faf 100644 --- a/custom_components/tuya_local/devices/neatsvor_x600_vacuum.yaml +++ b/custom_components/tuya_local/devices/neatsvor_x600_vacuum.yaml @@ -2,145 +2,144 @@ name: Robot vacuum products: - id: lb3jihr6cvumqomi name: Neatsvor X600 -primary_entity: - entity: vacuum - dps: - - id: 1 - type: boolean - name: activate - optional: true - - id: 2 - type: boolean - name: pause - optional: true - - id: 3 - name: return_to_base - type: boolean - optional: true - - id: 4 - type: string - name: command - optional: true - mapping: - - dps_val: smart - value: Auto clean - - dps_val: zone - value: Zone cleaning - - dps_val: pose - value: pose - - dps_val: part - value: clean_spot - - dps_val: chargego - value: return_to_base - - dps_val: selectroom - value: Select room cleaning - - id: 5 - name: status - type: string - optional: true - mapping: - - dps_val: standby - value: standby - - dps_val: smart - value: cleaning - - dps_val: zone_clean - value: cleaning - - dps_val: part_clean - value: cleaning - - dps_val: cleaning - value: cleaning - - dps_val: paused - value: pause - - dps_val: goto_pos - value: go to target point - - dps_val: pos_arrived - value: arrived to target point - - dps_val: pos_unarrive - value: cannot arrive to target point - - dps_val: goto_charge - value: returning - - dps_val: charging - value: charging - - dps_val: charge_done - value: charged - - dps_val: sleep - value: sleep - - dps_val: mop_clean - value: mop_clean - - dps_val: manual_control - value: manual_control - - dps_val: select_room - value: select_room - - id: 9 - name: fan_speed - type: string - mapping: - - dps_val: closed - value: "Off" - - dps_val: gentle - value: Gentle - - dps_val: normal - value: Normal - - dps_val: strong - value: Strong - - dps_val: max - value: Max - - id: 11 - name: locate - type: boolean - optional: true - - id: 12 - name: direction_control - type: string - optional: true - mapping: - - dps_val: forward - value: forward - - dps_val: backward - value: backward - - dps_val: turn_left - value: left - - dps_val: turn_right - value: right - - dps_val: stop - value: stop - - id: 14 - name: path_data - type: string - optional: true - - id: 15 - name: command_trans - type: base64 - optional: true - - id: 16 - name: request - type: string - optional: true - - id: 28 - type: bitfield - name: error - hidden: true - - id: 32 - name: device_timer - type: string - optional: true - - id: 33 - name: disturb_time - type: base64 - optional: true - - id: 34 - name: device_info - type: base64 - optional: true - - id: 35 - name: voice_data - type: base64 - optional: true - - id: 36 - name: language - type: string - optional: true -secondary_entities: +entities: + - entity: vacuum + dps: + - id: 1 + type: boolean + name: activate + optional: true + - id: 2 + type: boolean + name: pause + optional: true + - id: 3 + name: return_to_base + type: boolean + optional: true + - id: 4 + type: string + name: command + optional: true + mapping: + - dps_val: smart + value: Auto clean + - dps_val: zone + value: Zone cleaning + - dps_val: pose + value: pose + - dps_val: part + value: clean_spot + - dps_val: chargego + value: return_to_base + - dps_val: selectroom + value: Select room cleaning + - id: 5 + name: status + type: string + optional: true + mapping: + - dps_val: standby + value: standby + - dps_val: smart + value: cleaning + - dps_val: zone_clean + value: cleaning + - dps_val: part_clean + value: cleaning + - dps_val: cleaning + value: cleaning + - dps_val: paused + value: pause + - dps_val: goto_pos + value: go to target point + - dps_val: pos_arrived + value: arrived to target point + - dps_val: pos_unarrive + value: cannot arrive to target point + - dps_val: goto_charge + value: returning + - dps_val: charging + value: charging + - dps_val: charge_done + value: charged + - dps_val: sleep + value: sleep + - dps_val: mop_clean + value: mop_clean + - dps_val: manual_control + value: manual_control + - dps_val: select_room + value: select_room + - id: 9 + name: fan_speed + type: string + mapping: + - dps_val: closed + value: "Off" + - dps_val: gentle + value: Gentle + - dps_val: normal + value: Normal + - dps_val: strong + value: Strong + - dps_val: max + value: Max + - id: 11 + name: locate + type: boolean + optional: true + - id: 12 + name: direction_control + type: string + optional: true + mapping: + - dps_val: forward + value: forward + - dps_val: backward + value: backward + - dps_val: turn_left + value: left + - dps_val: turn_right + value: right + - dps_val: stop + value: stop + - id: 14 + name: path_data + type: string + optional: true + - id: 15 + name: command_trans + type: base64 + optional: true + - id: 16 + name: request + type: string + optional: true + - id: 28 + type: bitfield + name: error + hidden: true + - id: 32 + name: device_timer + type: string + optional: true + - id: 33 + name: disturb_time + type: base64 + optional: true + - id: 34 + name: device_info + type: base64 + optional: true + - id: 35 + name: voice_data + type: base64 + optional: true + - id: 36 + name: language + type: string + optional: true - entity: sensor name: Cleaning time category: diagnostic diff --git a/custom_components/tuya_local/devices/nedis_airquality.yaml b/custom_components/tuya_local/devices/nedis_airquality.yaml index 9a4a1707b2..f25debdcd1 100644 --- a/custom_components/tuya_local/devices/nedis_airquality.yaml +++ b/custom_components/tuya_local/devices/nedis_airquality.yaml @@ -1,22 +1,21 @@ -name: Nedis air quality monitor +name: Air quality monitor products: - id: ipbqjatfsxghe3dc name: Nedis WIFISA10CWT - id: hryy1di7ozhgpj6p name: RSH-AirBox01 -primary_entity: - entity: sensor - name: Formaldehyde - class: volatile_organic_compounds - dps: - - id: 2 - type: integer - name: sensor - unit: ugm3 - class: measurement - mapping: - - scale: 0.1 -secondary_entities: +entities: + - entity: sensor + name: Formaldehyde + class: volatile_organic_compounds + dps: + - id: 2 + type: integer + name: sensor + unit: ugm3 + class: measurement + mapping: + - scale: 0.1 - entity: sensor class: temperature dps: diff --git a/custom_components/tuya_local/devices/nedis_htpl20f_heater.yaml b/custom_components/tuya_local/devices/nedis_htpl20f_heater.yaml index 5e8b3e01e0..d5872a3030 100644 --- a/custom_components/tuya_local/devices/nedis_htpl20f_heater.yaml +++ b/custom_components/tuya_local/devices/nedis_htpl20f_heater.yaml @@ -1,43 +1,42 @@ name: Nedis smart convection heater -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: true - value: heat - - dps_val: false - value: "off" - - id: 2 - type: integer - name: temperature - unit: C - range: - min: 15 - max: 35 - - id: 3 - type: integer - name: current_temperature - - id: 4 - type: string - name: preset_mode - mapping: - - dps_val: "1" - value: eco - - dps_val: "2" - value: comfort - - dps_val: "3" - value: away - - id: 11 - type: string - name: unknown_11 - - id: 101 - type: boolean - name: unknown_101 -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: true + value: heat + - dps_val: false + value: "off" + - id: 2 + type: integer + name: temperature + unit: C + range: + min: 15 + max: 35 + - id: 3 + type: integer + name: current_temperature + - id: 4 + type: string + name: preset_mode + mapping: + - dps_val: "1" + value: eco + - dps_val: "2" + value: comfort + - dps_val: "3" + value: away + - id: 11 + type: string + name: unknown_11 + - id: 101 + type: boolean + name: unknown_101 - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/nedis_openclose_sensor.yaml b/custom_components/tuya_local/devices/nedis_openclose_sensor.yaml index 0a6d8bf024..8589575c2c 100644 --- a/custom_components/tuya_local/devices/nedis_openclose_sensor.yaml +++ b/custom_components/tuya_local/devices/nedis_openclose_sensor.yaml @@ -2,14 +2,13 @@ name: Door/window sensor products: - id: bzxlofth name: Nedis Zigbee ZBSD10WT -primary_entity: - entity: binary_sensor - class: door - dps: - - id: 1 - type: boolean - name: sensor -secondary_entities: +entities: + - entity: binary_sensor + class: door + dps: + - id: 1 + type: boolean + name: sensor - entity: sensor class: battery category: diagnostic diff --git a/custom_components/tuya_local/devices/nedis_outdoor_camera.yaml b/custom_components/tuya_local/devices/nedis_outdoor_camera.yaml index d8a41c2a10..205de0e601 100644 --- a/custom_components/tuya_local/devices/nedis_outdoor_camera.yaml +++ b/custom_components/tuya_local/devices/nedis_outdoor_camera.yaml @@ -2,31 +2,30 @@ name: Outdoor camera products: - id: irt8xftriwhxbzsn name: Nedis WIFICO11CWT -primary_entity: - entity: camera - dps: - - id: 115 - name: snapshot - type: base64 - optional: true - sensitive: true - - id: 134 - name: motion_enable - type: boolean - optional: true - mapping: - - dps_val: null - value: false - hidden: true - - id: 150 - name: record - type: boolean - optional: true - mapping: - - dps_val: null - value: false - hidden: true -secondary_entities: +entities: + - entity: camera + dps: + - id: 115 + name: snapshot + type: base64 + optional: true + sensitive: true + - id: 134 + name: motion_enable + type: boolean + optional: true + mapping: + - dps_val: null + value: false + hidden: true + - id: 150 + name: record + type: boolean + optional: true + mapping: + - dps_val: null + value: false + hidden: true - entity: light translation_key: indicator category: config diff --git a/custom_components/tuya_local/devices/nedis_pet_feeder.yaml b/custom_components/tuya_local/devices/nedis_pet_feeder.yaml index adb7b5ab88..0564a2871d 100644 --- a/custom_components/tuya_local/devices/nedis_pet_feeder.yaml +++ b/custom_components/tuya_local/devices/nedis_pet_feeder.yaml @@ -1,15 +1,15 @@ -name: Nedis Pet Feeder +name: Pet feeder products: - id: yxhdmalt36kbawev -primary_entity: - entity: switch - name: Feeding - icon: "mdi:food-drumstick" - dps: - - id: 103 - type: boolean - name: switch -secondary_entities: + name: Nedis Pet Feeder +entities: + - entity: switch + name: Feeding + icon: "mdi:food-drumstick" + dps: + - id: 103 + type: boolean + name: switch - entity: number name: Timer feed category: config diff --git a/custom_components/tuya_local/devices/nedis_ptc_fan_heater.yaml b/custom_components/tuya_local/devices/nedis_ptc_fan_heater.yaml index f9994e261a..3038d2866e 100644 --- a/custom_components/tuya_local/devices/nedis_ptc_fan_heater.yaml +++ b/custom_components/tuya_local/devices/nedis_ptc_fan_heater.yaml @@ -2,55 +2,54 @@ name: Fan heater products: - id: gzmby6hypv4daebf name: Nedis Ceramic PTC HTFA22WTW -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: preset_mode - conditions: - - dps_val: level_1 - value: fan_only - - dps_val: level_2 - value: heat - - dps_val: level_3 - value: heat - - id: 2 - type: integer - name: temperature - unit: C - range: - min: 10 - max: 49 - - id: 3 - type: integer - name: current_temperature - - id: 5 - name: preset_mode - type: string - mapping: - - dps_val: "level_1" - value: none - hidden: true - - dps_val: "level_2" - value: comfort - - dps_val: "level_3" - value: boost - - id: 8 - type: boolean - name: swing_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: "on" -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: preset_mode + conditions: + - dps_val: level_1 + value: fan_only + - dps_val: level_2 + value: heat + - dps_val: level_3 + value: heat + - id: 2 + type: integer + name: temperature + unit: C + range: + min: 10 + max: 49 + - id: 3 + type: integer + name: current_temperature + - id: 5 + name: preset_mode + type: string + mapping: + - dps_val: "level_1" + value: none + hidden: true + - dps_val: "level_2" + value: comfort + - dps_val: "level_3" + value: boost + - id: 8 + type: boolean + name: swing_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: "on" - entity: light translation_key: indicator category: config diff --git a/custom_components/tuya_local/devices/nedis_zbrc10wt_remotecontrol.yaml b/custom_components/tuya_local/devices/nedis_zbrc10wt_remotecontrol.yaml index 300760b0dc..b87b35ef12 100644 --- a/custom_components/tuya_local/devices/nedis_zbrc10wt_remotecontrol.yaml +++ b/custom_components/tuya_local/devices/nedis_zbrc10wt_remotecontrol.yaml @@ -2,24 +2,23 @@ name: Remote control products: - id: fsiepnrh name: Nedis ZBRC10WT -primary_entity: - entity: event - name: Button 0 - class: button - dps: - - id: 29 - type: string - name: event - optional: true - mapping: - - dps_val: null - value: null - - value: pressed - - id: 29 - type: string - optional: true - name: code -secondary_entities: +entities: + - entity: event + name: Button 0 + class: button + dps: + - id: 29 + type: string + name: event + optional: true + mapping: + - dps_val: null + value: null + - value: pressed + - id: 29 + type: string + optional: true + name: code - entity: event name: Button 1 class: button diff --git a/custom_components/tuya_local/devices/neo_coolcam_siren.yaml b/custom_components/tuya_local/devices/neo_coolcam_siren.yaml index ec1daf4118..3718fd61d3 100644 --- a/custom_components/tuya_local/devices/neo_coolcam_siren.yaml +++ b/custom_components/tuya_local/devices/neo_coolcam_siren.yaml @@ -1,68 +1,67 @@ name: Neo Coolcam siren -primary_entity: - entity: siren - dps: - - id: 104 - type: boolean - name: switch - - id: 102 - type: string - name: tone - mapping: - - dps_val: "1" - value: Doorbell - - dps_val: "2" - value: Für Elise - - dps_val: "3" - value: Big Ben - - dps_val: "4" - value: Ring ring - - dps_val: "5" - value: Lone Ranger - - dps_val: "6" - value: Turkish march - - dps_val: "7" - value: High pitched - - dps_val: "8" - value: Red alert - - dps_val: "9" - value: Crickets - - dps_val: "10" - value: Beep - - dps_val: "11" - value: Dog bark - - dps_val: "12" - value: Police siren - - dps_val: "13" - value: Grandfather clock - - dps_val: "14" - value: Phone ring - - dps_val: "15" - value: Fire truck - - dps_val: "16" - value: Clock chime - - dps_val: "17" - value: Alarm clock - - dps_val: "18" - value: School bell - - id: 103 - type: integer - name: duration - unit: s - range: - min: 0 - max: 1800 - - id: 116 - type: string - name: volume_level - mapping: - - dps_val: "0" - value: 1.0 - - dps_val: "1" - value: 0.7 - - dps_val: "2" - value: 0.3 -secondary_entities: +entities: + - entity: siren + dps: + - id: 104 + type: boolean + name: switch + - id: 102 + type: string + name: tone + mapping: + - dps_val: "1" + value: Doorbell + - dps_val: "2" + value: Für Elise + - dps_val: "3" + value: Big Ben + - dps_val: "4" + value: Ring ring + - dps_val: "5" + value: Lone Ranger + - dps_val: "6" + value: Turkish march + - dps_val: "7" + value: High pitched + - dps_val: "8" + value: Red alert + - dps_val: "9" + value: Crickets + - dps_val: "10" + value: Beep + - dps_val: "11" + value: Dog bark + - dps_val: "12" + value: Police siren + - dps_val: "13" + value: Grandfather clock + - dps_val: "14" + value: Phone ring + - dps_val: "15" + value: Fire truck + - dps_val: "16" + value: Clock chime + - dps_val: "17" + value: Alarm clock + - dps_val: "18" + value: School bell + - id: 103 + type: integer + name: duration + unit: s + range: + min: 0 + max: 1800 + - id: 116 + type: string + name: volume_level + mapping: + - dps_val: "0" + value: 1.0 + - dps_val: "1" + value: 0.7 + - dps_val: "2" + value: 0.3 - entity: sensor class: battery category: diagnostic diff --git a/custom_components/tuya_local/devices/neo_ir_climate_controller.yaml b/custom_components/tuya_local/devices/neo_ir_climate_controller.yaml index 32c43b1f9e..912e210e75 100644 --- a/custom_components/tuya_local/devices/neo_ir_climate_controller.yaml +++ b/custom_components/tuya_local/devices/neo_ir_climate_controller.yaml @@ -2,80 +2,79 @@ name: IR climate control products: - id: fnc1jft20tlgnxdj name: Shenzhen Neo Smart Air Conditioner Controller -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: warm - value: heat - - dps_val: cold - value: cool - - dps_val: wind - value: fan_only - - dps_val: dehumidify - value: dry - - dps_val: auto - value: heat_cool - - id: 2 - type: integer - name: current_temperature - mapping: - - scale: 10 - - id: 3 - type: integer - name: temperature - range: - min: 16 - max: 32 - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - range: - min: 60 - max: 90 - - id: 4 - type: string - name: mode - hidden: true - - id: 5 - type: string - name: fan_mode - mapping: - - dps_val: auto - value: auto - - dps_val: low - value: low - - dps_val: middle - value: medium - - dps_val: high - value: high - - id: 9 - type: integer - name: max_temperature - - id: 10 - type: integer - name: min_temperature - - id: 11 - type: string - name: temperature_unit - mapping: - - dps_val: c - value: C - - dps_val: f - value: F - - id: 12 - type: integer - name: current_humidity -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: warm + value: heat + - dps_val: cold + value: cool + - dps_val: wind + value: fan_only + - dps_val: dehumidify + value: dry + - dps_val: auto + value: heat_cool + - id: 2 + type: integer + name: current_temperature + mapping: + - scale: 10 + - id: 3 + type: integer + name: temperature + range: + min: 16 + max: 32 + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + range: + min: 60 + max: 90 + - id: 4 + type: string + name: mode + hidden: true + - id: 5 + type: string + name: fan_mode + mapping: + - dps_val: auto + value: auto + - dps_val: low + value: low + - dps_val: middle + value: medium + - dps_val: high + value: high + - id: 9 + type: integer + name: max_temperature + - id: 10 + type: integer + name: min_temperature + - id: 11 + type: string + name: temperature_unit + mapping: + - dps_val: c + value: C + - dps_val: f + value: F + - id: 12 + type: integer + name: current_humidity - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/neptun_smart_waterleak.yaml b/custom_components/tuya_local/devices/neptun_smart_waterleak.yaml index e68e34d29f..94d42a11d7 100644 --- a/custom_components/tuya_local/devices/neptun_smart_waterleak.yaml +++ b/custom_components/tuya_local/devices/neptun_smart_waterleak.yaml @@ -2,91 +2,90 @@ name: Water leak detector products: - id: vptg13wa7y8xmoio name: Neptun Smart -primary_entity: - entity: binary_sensor - class: problem - category: diagnostic - dps: - - id: 123 - type: bitfield - name: sensor - optional: true - mapping: - - dps_val: null - value: false - - dps_val: 0 - value: false - - value: true - - id: 123 - type: bitfield - name: fault_code - optional: true - - id: 123 - type: bitfield - name: description - optional: true - mapping: - - dps_val: 0 - value: ok - - dps_val: 1 - value: alarm_zone_1 - - dps_val: 2 - value: alarm_zone_2 - - dps_val: 4 - value: sens_discharge - - dps_val: 8 - value: sensor_lost - - dps_val: 16 - value: closed_zone_1 - - dps_val: 32 - value: closed_zone_2 - - dps_val: 64 - value: cleaning_floor - - dps_val: 128 - value: slot1_error - - dps_val: 256 - value: slot2_error - - dps_val: 512 - value: slot3_error - - dps_val: 1024 - value: slot4_error - - dps_val: 2048 - value: counter1_error - - dps_val: 4096 - value: counter2_error - - dps_val: 8192 - value: counter3_error - - dps_val: 16384 - value: counter4_error - - dps_val: 32768 - value: counter5_error - - dps_val: 65536 - value: counter6_error - - dps_val: 131072 - value: counter7_error - - dps_val: 262144 - value: counter8_error - - id: 114 - type: string - optional: true - name: line_settings - - id: 115 - type: integer - optional: true - name: status_wire_line - - id: 116 - type: integer - name: relay_settings - optional: true - - id: 134 - type: string - optional: true - name: name_lines - - id: 145 - type: string - optional: true - name: slots_map -secondary_entities: +entities: + - entity: binary_sensor + class: problem + category: diagnostic + dps: + - id: 123 + type: bitfield + name: sensor + optional: true + mapping: + - dps_val: null + value: false + - dps_val: 0 + value: false + - value: true + - id: 123 + type: bitfield + name: fault_code + optional: true + - id: 123 + type: bitfield + name: description + optional: true + mapping: + - dps_val: 0 + value: ok + - dps_val: 1 + value: alarm_zone_1 + - dps_val: 2 + value: alarm_zone_2 + - dps_val: 4 + value: sens_discharge + - dps_val: 8 + value: sensor_lost + - dps_val: 16 + value: closed_zone_1 + - dps_val: 32 + value: closed_zone_2 + - dps_val: 64 + value: cleaning_floor + - dps_val: 128 + value: slot1_error + - dps_val: 256 + value: slot2_error + - dps_val: 512 + value: slot3_error + - dps_val: 1024 + value: slot4_error + - dps_val: 2048 + value: counter1_error + - dps_val: 4096 + value: counter2_error + - dps_val: 8192 + value: counter3_error + - dps_val: 16384 + value: counter4_error + - dps_val: 32768 + value: counter5_error + - dps_val: 65536 + value: counter6_error + - dps_val: 131072 + value: counter7_error + - dps_val: 262144 + value: counter8_error + - id: 114 + type: string + optional: true + name: line_settings + - id: 115 + type: integer + optional: true + name: status_wire_line + - id: 116 + type: integer + name: relay_settings + optional: true + - id: 134 + type: string + optional: true + name: name_lines + - id: 145 + type: string + optional: true + name: slots_map - entity: switch name: Floor cleaning icon: "mdi:pail" diff --git a/custom_components/tuya_local/devices/netmostat_n1_thermostat.yaml b/custom_components/tuya_local/devices/netmostat_n1_thermostat.yaml index 94a6eedeae..f2f4787f13 100644 --- a/custom_components/tuya_local/devices/netmostat_n1_thermostat.yaml +++ b/custom_components/tuya_local/devices/netmostat_n1_thermostat.yaml @@ -1,39 +1,38 @@ name: Netmostat N-1 thermostat -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: true - value: heat - - dps_val: false - value: "off" - - id: 2 - type: integer - name: temperature - unit: C - range: - min: 50 - max: 350 - mapping: - - step: 5 - scale: 10 - - id: 3 - type: integer - name: current_temperature - mapping: - - scale: 10 - - id: 4 - type: string - name: preset_mode - mapping: - - dps_val: smart - value: comfort - - dps_val: antifreezing - value: away -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: true + value: heat + - dps_val: false + value: "off" + - id: 2 + type: integer + name: temperature + unit: C + range: + min: 50 + max: 350 + mapping: + - step: 5 + scale: 10 + - id: 3 + type: integer + name: current_temperature + mapping: + - scale: 10 + - id: 4 + type: string + name: preset_mode + mapping: + - dps_val: smart + value: comfort + - dps_val: antifreezing + value: away - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/nice_digi_lock.yaml b/custom_components/tuya_local/devices/nice_digi_lock.yaml index d9c4fb0edf..474062a896 100644 --- a/custom_components/tuya_local/devices/nice_digi_lock.yaml +++ b/custom_components/tuya_local/devices/nice_digi_lock.yaml @@ -2,79 +2,78 @@ name: Door lock products: - id: ofwvna43 name: Nice Digi -primary_entity: - entity: lock - dps: - - id: 1 - type: string - name: unlock_method_create - optional: true - sensitive: true - - id: 2 - type: string - name: unlock_method_delete - optional: true - - id: 3 - type: string - name: unlock_method_modify - optional: true - sensitive: true - - id: 12 - type: integer - name: unlock_fingerprint - optional: true - persist: false - - id: 19 - type: integer - name: unlock_ble - optional: true - persist: false - - id: 20 - type: string - name: lock_record - optional: true - - id: 46 - type: boolean - name: lock - optional: true - mapping: - - dps_val: null - value_mirror: lock_motor_state - - id: 47 - type: boolean - name: lock_motor_state - optional: true - - id: 54 - type: string - name: sync_method - optional: true - sensitive: true - - id: 61 - type: string - name: remote_no_dp_key - optional: true - sensitive: true - - id: 62 - type: integer - name: unlock_app - optional: true - persist: false - - id: 70 - type: string - name: check_code_set - optional: true - sensitive: true - - id: 71 - type: string - name: ble_unlock_check - optional: true - sensitive: true - - id: 73 - type: string - name: remote_pd_setkey_check - optional: true - sensitive: true -secondary_entities: +entities: + - entity: lock + dps: + - id: 1 + type: string + name: unlock_method_create + optional: true + sensitive: true + - id: 2 + type: string + name: unlock_method_delete + optional: true + - id: 3 + type: string + name: unlock_method_modify + optional: true + sensitive: true + - id: 12 + type: integer + name: unlock_fingerprint + optional: true + persist: false + - id: 19 + type: integer + name: unlock_ble + optional: true + persist: false + - id: 20 + type: string + name: lock_record + optional: true + - id: 46 + type: boolean + name: lock + optional: true + mapping: + - dps_val: null + value_mirror: lock_motor_state + - id: 47 + type: boolean + name: lock_motor_state + optional: true + - id: 54 + type: string + name: sync_method + optional: true + sensitive: true + - id: 61 + type: string + name: remote_no_dp_key + optional: true + sensitive: true + - id: 62 + type: integer + name: unlock_app + optional: true + persist: false + - id: 70 + type: string + name: check_code_set + optional: true + sensitive: true + - id: 71 + type: string + name: ble_unlock_check + optional: true + sensitive: true + - id: 73 + type: string + name: remote_pd_setkey_check + optional: true + sensitive: true - entity: sensor class: battery category: diagnostic diff --git a/custom_components/tuya_local/devices/nine_ev_charger.yaml b/custom_components/tuya_local/devices/nine_ev_charger.yaml index 3f717e7b15..4cd5233faf 100644 --- a/custom_components/tuya_local/devices/nine_ev_charger.yaml +++ b/custom_components/tuya_local/devices/nine_ev_charger.yaml @@ -2,36 +2,35 @@ name: EV charger products: - id: bktb3jskdic1ar2t name: Nine 32A EV charger -primary_entity: - entity: sensor - translation_key: status - icon: "mdi:ev-station" - class: enum - dps: - - id: 3 # work_state - type: string - name: sensor - mapping: - - dps_val: charger_charging - value: charging - - dps_val: charger_free - value: available - - dps_val: charger_insert - value: plugged_in - - dps_val: charger_free_fault - value: fault_unplugged - - dps_val: charger_wait - value: waiting - - dps_val: charger_pause - value: paused - - dps_val: charger_end - value: charged - - dps_val: charger_fault - value: fault - - id: 23 # system_version - type: string - name: system_version -secondary_entities: +entities: + - entity: sensor + translation_key: status + icon: "mdi:ev-station" + class: enum + dps: + - id: 3 # work_state + type: string + name: sensor + mapping: + - dps_val: charger_charging + value: charging + - dps_val: charger_free + value: available + - dps_val: charger_insert + value: plugged_in + - dps_val: charger_free_fault + value: fault_unplugged + - dps_val: charger_wait + value: waiting + - dps_val: charger_pause + value: paused + - dps_val: charger_end + value: charged + - dps_val: charger_fault + value: fault + - id: 23 # system_version + type: string + name: system_version - entity: number name: Charging current category: config diff --git a/custom_components/tuya_local/devices/noeifevo_q21w_evcharger.yaml b/custom_components/tuya_local/devices/noeifevo_q21w_evcharger.yaml index c6b9cb6406..7b1ec65f8a 100644 --- a/custom_components/tuya_local/devices/noeifevo_q21w_evcharger.yaml +++ b/custom_components/tuya_local/devices/noeifevo_q21w_evcharger.yaml @@ -2,36 +2,35 @@ name: EV charger products: - id: "bktb3jskdic1ar2t" name: "Noeifevo Q21W EV charger" -primary_entity: - entity: sensor - translation_key: status - icon: "mdi:ev-station" - class: enum - dps: - - id: 3 - type: string - name: sensor - mapping: - - dps_val: charger_charging - value: charging - - dps_val: charger_free - value: available - - dps_val: charger_insert - value: plugged_in - - dps_val: charger_free_fault - value: fault_unplugged - - dps_val: charger_wait - value: waiting - - dps_val: charger_pause - value: paused - - dps_val: charger_end - value: charged - - dps_val: charger_fault - value: fault - - id: 23 - type: string - name: system_version -secondary_entities: +entities: + - entity: sensor + translation_key: status + icon: "mdi:ev-station" + class: enum + dps: + - id: 3 + type: string + name: sensor + mapping: + - dps_val: charger_charging + value: charging + - dps_val: charger_free + value: available + - dps_val: charger_insert + value: plugged_in + - dps_val: charger_free_fault + value: fault_unplugged + - dps_val: charger_wait + value: waiting + - dps_val: charger_pause + value: paused + - dps_val: charger_end + value: charged + - dps_val: charger_fault + value: fault + - id: 23 + type: string + name: system_version - entity: number name: Charging current category: config diff --git a/custom_components/tuya_local/devices/nooie_nsp21_smartplug.yaml b/custom_components/tuya_local/devices/nooie_nsp21_smartplug.yaml index b3c5e02e6a..452f3f8997 100644 --- a/custom_components/tuya_local/devices/nooie_nsp21_smartplug.yaml +++ b/custom_components/tuya_local/devices/nooie_nsp21_smartplug.yaml @@ -2,14 +2,13 @@ name: SmartPlug products: - id: e8dqdqxjgmilloml name: Nooie NSP21 -primary_entity: - entity: switch - class: outlet - dps: - - id: 1 - name: switch - type: boolean -secondary_entities: +entities: + - entity: switch + class: outlet + dps: + - id: 1 + name: switch + type: boolean - entity: number translation_key: timer category: config diff --git a/custom_components/tuya_local/devices/nooie_pu13_smartplug.yaml b/custom_components/tuya_local/devices/nooie_pu13_smartplug.yaml index 9aa8e9cde9..a7e0b60a47 100644 --- a/custom_components/tuya_local/devices/nooie_pu13_smartplug.yaml +++ b/custom_components/tuya_local/devices/nooie_pu13_smartplug.yaml @@ -2,14 +2,13 @@ name: SmartPlug products: - id: eimdzrehi6a6vixn name: Nooie PU13 -primary_entity: - entity: switch - class: outlet - dps: - - id: 1 - name: switch - type: boolean -secondary_entities: +entities: + - entity: switch + class: outlet + dps: + - id: 1 + name: switch + type: boolean - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/novadigital_quad_switch.yaml b/custom_components/tuya_local/devices/novadigital_quad_switch.yaml index 5f2c82db03..5c01009de9 100644 --- a/custom_components/tuya_local/devices/novadigital_quad_switch.yaml +++ b/custom_components/tuya_local/devices/novadigital_quad_switch.yaml @@ -1,20 +1,19 @@ # Example DPS Status # {'dps': {'1': True, '2': True, '3': True, '4': True, '7': 0, '8': 0, '9': 0, # '10': 0, '14': '0', '16': True}} -name: Novadigital Quad Switch +name: Quad switch products: - id: 6u3rzfddlfajqvn5 name: Novadigital quad switch -primary_entity: - entity: switch - translation_key: switch_x - translation_placeholders: - x: "1" - dps: - - id: 1 - name: switch - type: boolean -secondary_entities: +entities: + - entity: switch + translation_key: switch_x + translation_placeholders: + x: "1" + dps: + - id: 1 + name: switch + type: boolean - entity: switch translation_key: switch_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/novadigital_sl06_lock.yaml b/custom_components/tuya_local/devices/novadigital_sl06_lock.yaml index ccee50df74..a6c765d45a 100644 --- a/custom_components/tuya_local/devices/novadigital_sl06_lock.yaml +++ b/custom_components/tuya_local/devices/novadigital_sl06_lock.yaml @@ -2,48 +2,47 @@ name: Door lock products: - id: 0zhwazcqndafnhta name: NovaDigital SL06 -primary_entity: - entity: lock - dps: - - id: 1 - type: integer - name: unlock_fingerprint - optional: true - persist: false - - id: 2 - type: integer - name: unlock_password - optional: true - persist: false - - id: 3 - type: integer - name: unlock_temp_pwd - optional: true - persist: false - - id: 5 - type: integer - name: unlock_card - optional: true - persist: false - - id: 9 - type: integer - name: unlock_request - optional: true - - id: 15 - name: unlock_app - type: integer - optional: true - persist: false - - id: 44 - name: unlock_multi - type: string - optional: true - persist: false - - id: 212 - name: push_message - type: string - optional: true -secondary_entities: +entities: + - entity: lock + dps: + - id: 1 + type: integer + name: unlock_fingerprint + optional: true + persist: false + - id: 2 + type: integer + name: unlock_password + optional: true + persist: false + - id: 3 + type: integer + name: unlock_temp_pwd + optional: true + persist: false + - id: 5 + type: integer + name: unlock_card + optional: true + persist: false + - id: 9 + type: integer + name: unlock_request + optional: true + - id: 15 + name: unlock_app + type: integer + optional: true + persist: false + - id: 44 + name: unlock_multi + type: string + optional: true + persist: false + - id: 212 + name: push_message + type: string + optional: true - entity: sensor name: Alert class: enum diff --git a/custom_components/tuya_local/devices/nwt_7speed_fan.yaml b/custom_components/tuya_local/devices/nwt_7speed_fan.yaml index 9089fe9ff0..9d95c7af73 100644 --- a/custom_components/tuya_local/devices/nwt_7speed_fan.yaml +++ b/custom_components/tuya_local/devices/nwt_7speed_fan.yaml @@ -2,19 +2,18 @@ name: Pedestal 7 speed fan products: - id: qdxgvuj2ncbx5aha name: NEW WIDETECH WPF-16SW5 -primary_entity: - entity: fan - dps: - - id: 1 - type: boolean - name: switch - - id: 3 - type: integer - name: speed - range: - min: 1 - max: 7 -secondary_entities: +entities: + - entity: fan + dps: + - id: 1 + type: boolean + name: switch + - id: 3 + type: integer + name: speed + range: + min: 1 + max: 7 - entity: light dps: - id: 15 diff --git a/custom_components/tuya_local/devices/nx_100ap_air_purifier.yaml b/custom_components/tuya_local/devices/nx_100ap_air_purifier.yaml index f867a64485..c732e320ab 100644 --- a/custom_components/tuya_local/devices/nx_100ap_air_purifier.yaml +++ b/custom_components/tuya_local/devices/nx_100ap_air_purifier.yaml @@ -2,27 +2,26 @@ name: Air purifier products: - id: xhrfqobcbyk2br0z name: NX-100AP Rapid -primary_entity: - entity: fan - translation_only_key: fan_with_presets - icon: "mdi:air-purifier" - dps: - - id: 1 - name: switch - type: boolean - - id: 3 - name: preset_mode - type: string - mapping: - - dps_val: Sleep - value: sleep - - dps_val: M - value: normal - - dps_val: H - value: strong - - dps_val: Auto - value: smart -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + icon: "mdi:air-purifier" + dps: + - id: 1 + name: switch + type: boolean + - id: 3 + name: preset_mode + type: string + mapping: + - dps_val: Sleep + value: sleep + - dps_val: M + value: normal + - dps_val: H + value: strong + - dps_val: Auto + value: smart - entity: sensor translation_key: time_remaining class: duration diff --git a/custom_components/tuya_local/devices/nybro_heater.yaml b/custom_components/tuya_local/devices/nybro_heater.yaml index 48e3387644..cd0e2988d8 100644 --- a/custom_components/tuya_local/devices/nybro_heater.yaml +++ b/custom_components/tuya_local/devices/nybro_heater.yaml @@ -1,45 +1,45 @@ -name: NYBRO heater +name: Heater products: - id: ahzyjjcfbe1ehrbt -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: "heat" - - id: 2 - name: temperature - type: integer - range: - min: 5 - max: 35 - - id: 3 - name: current_temperature - type: integer - - id: 4 - type: string - name: preset_mode - mapping: - - dps_val: low - value: eco - - dps_val: high - value: boost - - dps_val: af - value: away - - id: 101 - type: boolean - name: hvac_action - mapping: - - dps_val: false - value: idle - - dps_val: true - value: heating -secondary_entities: + name: NYBRO heater +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: "heat" + - id: 2 + name: temperature + type: integer + range: + min: 5 + max: 35 + - id: 3 + name: current_temperature + type: integer + - id: 4 + type: string + name: preset_mode + mapping: + - dps_val: low + value: eco + - dps_val: high + value: boost + - dps_val: af + value: away + - id: 101 + type: boolean + name: hvac_action + mapping: + - dps_val: false + value: idle + - dps_val: true + value: heating - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/okp_k2_vacuum.yaml b/custom_components/tuya_local/devices/okp_k2_vacuum.yaml index da14e4f93b..a1483a6e20 100644 --- a/custom_components/tuya_local/devices/okp_k2_vacuum.yaml +++ b/custom_components/tuya_local/devices/okp_k2_vacuum.yaml @@ -2,117 +2,116 @@ name: Robot vacuum products: - id: 6k8pca2ywenbry2l name: OKP K2 -primary_entity: - entity: vacuum - dps: - - id: 1 - type: boolean - name: power - - id: 2 - type: boolean - name: activate - - id: 3 - type: string - name: command - mapping: - - dps_val: standby - value: stop - - dps_val: smart - value: smart - - dps_val: random - value: random - - dps_val: chargego - value: return_to_base - - dps_val: right_bow - value: right_bow - - dps_val: wall_follow - value: wall_follow - - dps_val: spiral - value: spiral - - id: 4 - type: string - optional: true - name: direction_control - mapping: - - dps_val: forward - value: forward - - dps_val: backward - value: reverse - - dps_val: turn_left - value: left - - dps_val: turn_right - value: right - - dps_val: stop - value: stop - - id: 5 - type: string - name: status - mapping: - - dps_val: standby - value: standby - - dps_val: smart_clean - value: smart_clean - - dps_val: wall_clean - value: wall_clean - - dps_val: cleaning - value: cleaning - - dps_val: paused - value: pause - - dps_val: spot_clean - value: spot_clean - - dps_val: goto_charge - value: returning - - dps_val: charging - value: charging - - dps_val: charge_done - value: charged - - id: 13 - type: boolean - name: locate - optional: true - - id: 15 - type: string - optional: true - name: clean_record - - id: 18 - type: bitfield - name: error - hidden: true - - id: 19 - type: string - optional: true - name: map_config - - id: 101 - type: string - name: fan_speed - mapping: - - dps_val: low - value: Low - - dps_val: nar - value: Medium - - dps_val: high - value: High - - id: 103 - type: integer - name: heading - optional: true - - id: 105 - type: string - name: wheel_status - optional: true - - id: 106 - type: string - name: charging_status - optional: true - - id: 107 - type: string - name: robot_status - optional: true - - id: 108 - type: string - name: log - optional: true -secondary_entities: +entities: + - entity: vacuum + dps: + - id: 1 + type: boolean + name: power + - id: 2 + type: boolean + name: activate + - id: 3 + type: string + name: command + mapping: + - dps_val: standby + value: stop + - dps_val: smart + value: smart + - dps_val: random + value: random + - dps_val: chargego + value: return_to_base + - dps_val: right_bow + value: right_bow + - dps_val: wall_follow + value: wall_follow + - dps_val: spiral + value: spiral + - id: 4 + type: string + optional: true + name: direction_control + mapping: + - dps_val: forward + value: forward + - dps_val: backward + value: reverse + - dps_val: turn_left + value: left + - dps_val: turn_right + value: right + - dps_val: stop + value: stop + - id: 5 + type: string + name: status + mapping: + - dps_val: standby + value: standby + - dps_val: smart_clean + value: smart_clean + - dps_val: wall_clean + value: wall_clean + - dps_val: cleaning + value: cleaning + - dps_val: paused + value: pause + - dps_val: spot_clean + value: spot_clean + - dps_val: goto_charge + value: returning + - dps_val: charging + value: charging + - dps_val: charge_done + value: charged + - id: 13 + type: boolean + name: locate + optional: true + - id: 15 + type: string + optional: true + name: clean_record + - id: 18 + type: bitfield + name: error + hidden: true + - id: 19 + type: string + optional: true + name: map_config + - id: 101 + type: string + name: fan_speed + mapping: + - dps_val: low + value: Low + - dps_val: nar + value: Medium + - dps_val: high + value: High + - id: 103 + type: integer + name: heading + optional: true + - id: 105 + type: string + name: wheel_status + optional: true + - id: 106 + type: string + name: charging_status + optional: true + - id: 107 + type: string + name: robot_status + optional: true + - id: 108 + type: string + name: log + optional: true - entity: sensor name: Clean area class: area diff --git a/custom_components/tuya_local/devices/omnibreeze_tower_fan.yaml b/custom_components/tuya_local/devices/omnibreeze_tower_fan.yaml index 9ef574072b..46e21324ef 100644 --- a/custom_components/tuya_local/devices/omnibreeze_tower_fan.yaml +++ b/custom_components/tuya_local/devices/omnibreeze_tower_fan.yaml @@ -2,35 +2,34 @@ name: Fan products: - id: c85duuajuaqjvjaj name: OmniBreeze Tower Fan -primary_entity: - entity: fan - translation_key: fan_with_presets - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - type: string - name: preset_mode - mapping: - - dps_val: '0' - value: normal - - dps_val: '1' - value: nature - - dps_val: '2' - value: sleep - - dps_val: '3' - value: smart - - id: 3 - type: integer - name: speed - range: - min: 1 - max: 4 - - id: 5 - type: boolean - name: oscillate -secondary_entities: +entities: + - entity: fan + translation_key: fan_with_presets + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + type: string + name: preset_mode + mapping: + - dps_val: '0' + value: normal + - dps_val: '1' + value: nature + - dps_val: '2' + value: sleep + - dps_val: '3' + value: smart + - id: 3 + type: integer + name: speed + range: + min: 1 + max: 4 + - id: 5 + type: boolean + name: oscillate - entity: light translation_key: display category: config diff --git a/custom_components/tuya_local/devices/orion_indoor_siren.yaml b/custom_components/tuya_local/devices/orion_indoor_siren.yaml index 3babf3a81c..a8d3e39448 100644 --- a/custom_components/tuya_local/devices/orion_indoor_siren.yaml +++ b/custom_components/tuya_local/devices/orion_indoor_siren.yaml @@ -2,37 +2,35 @@ name: Indoor Siren products: - id: yytgthb3nxt1zp0e name: Orion SWS07HA -primary_entity: - entity: siren - dps: - - id: 1 - name: tone - type: string - mapping: - - dps_val: alarm_sound - value: sound - default: true - - dps_val: normal - value: "off" - - id: 5 - name: volume_level - type: string - mapping: - - dps_val: low - value: 0.33 - - dps_val: middle - value: 0.67 - - dps_val: high - value: 1.0 - - id: 7 - name: duration - type: integer - range: - min: 0 - max: 4 - unit: min - -secondary_entities: +entities: + - entity: siren + dps: + - id: 1 + name: tone + type: string + mapping: + - dps_val: alarm_sound + value: sound + default: true + - dps_val: normal + value: "off" + - id: 5 + name: volume_level + type: string + mapping: + - dps_val: low + value: 0.33 + - dps_val: middle + value: 0.67 + - dps_val: high + value: 1.0 + - id: 7 + name: duration + type: integer + range: + min: 0 + max: 4 + unit: min - entity: alarm_control_panel dps: - id: 4 diff --git a/custom_components/tuya_local/devices/orion_outdoor_siren.yaml b/custom_components/tuya_local/devices/orion_outdoor_siren.yaml index 20008ae404..cbafffbdab 100644 --- a/custom_components/tuya_local/devices/orion_outdoor_siren.yaml +++ b/custom_components/tuya_local/devices/orion_outdoor_siren.yaml @@ -4,42 +4,41 @@ products: name: Orion SWS08HA - id: likuc5ld1ap3apcm name: Elesion NX-4980 -primary_entity: - entity: siren - dps: - - id: 1 - name: tone - type: string - mapping: - - dps_val: alarm_sound - value: sound - - dps_val: alarm_light - value: light - - dps_val: alarm_sound_light - value: sound+light - default: true - - dps_val: normal - value: "off" - - id: 5 - name: volume_level - type: string - mapping: - - dps_val: mute - value: 0.0 - - dps_val: low - value: 0.33 - - dps_val: middle - value: 0.67 - - dps_val: high - value: 1.0 - - id: 7 - name: duration - type: integer - range: - min: 1 - max: 10 - unit: min -secondary_entities: +entities: + - entity: siren + dps: + - id: 1 + name: tone + type: string + mapping: + - dps_val: alarm_sound + value: sound + - dps_val: alarm_light + value: light + - dps_val: alarm_sound_light + value: sound+light + default: true + - dps_val: normal + value: "off" + - id: 5 + name: volume_level + type: string + mapping: + - dps_val: mute + value: 0.0 + - dps_val: low + value: 0.33 + - dps_val: middle + value: 0.67 + - dps_val: high + value: 1.0 + - id: 7 + name: duration + type: integer + range: + min: 1 + max: 10 + unit: min - entity: binary_sensor name: Charging category: diagnostic diff --git a/custom_components/tuya_local/devices/orion_ptc2000_heater.yaml b/custom_components/tuya_local/devices/orion_ptc2000_heater.yaml index 818eca9512..e95b4bf762 100644 --- a/custom_components/tuya_local/devices/orion_ptc2000_heater.yaml +++ b/custom_components/tuya_local/devices/orion_ptc2000_heater.yaml @@ -1,47 +1,46 @@ name: Orion Heater -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: true - value: "heat" - - dps_val: false - value: "off" - - id: 2 - type: integer - name: temperature - unit: C - range: - min: 18 - max: 45 - - id: 3 - type: integer - name: current_temperature - - id: 5 - type: string - name: preset_mode - mapping: - - dps_val: "1" - value: eco - - dps_val: "2" - value: boost - - dps_val: "auto" - value: comfort - - dps_val: "off" - value: none - - id: 101 - type: boolean - name: swing_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: "on" -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: true + value: "heat" + - dps_val: false + value: "off" + - id: 2 + type: integer + name: temperature + unit: C + range: + min: 18 + max: 45 + - id: 3 + type: integer + name: current_temperature + - id: 5 + type: string + name: preset_mode + mapping: + - dps_val: "1" + value: eco + - dps_val: "2" + value: boost + - dps_val: "auto" + value: comfort + - dps_val: "off" + value: none + - id: 101 + type: boolean + name: swing_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: "on" - entity: select translation_key: timer category: config diff --git a/custom_components/tuya_local/devices/orion_smart_lock.yaml b/custom_components/tuya_local/devices/orion_smart_lock.yaml index 3819117011..e4d65079c7 100644 --- a/custom_components/tuya_local/devices/orion_smart_lock.yaml +++ b/custom_components/tuya_local/devices/orion_smart_lock.yaml @@ -1,63 +1,62 @@ name: Orion Grid Connect smart lock -primary_entity: - entity: lock - dps: - - id: 1 - type: integer - name: unlock_fingerprint - optional: true - persist: false - - id: 2 - type: integer - name: unlock_password - optional: true - persist: false - - id: 3 - type: integer - name: unlock_temp_pwd - optional: true - persist: false - - id: 4 - type: integer - name: unlock_dynamic_pwd - optional: true - persist: false - - id: 5 - type: integer - name: unlock_card - optional: true - persist: false - - id: 8 - type: bitfield - name: jammed - mapping: - - dps_val: 16 - value: true - - dps_val: 128 - value: true - - value: false - - id: 9 - type: integer - name: request_unlock - - id: 10 - type: boolean - name: approve_unlock - - id: 15 - type: integer - name: unlock_app - - id: 25 - type: hex - name: fingers_enrolled - optional: true - - id: 26 - type: hex - name: passwords_enrolled - optional: true - - id: 27 - type: hex - name: cards_enrolled - optional: true -secondary_entities: +entities: + - entity: lock + dps: + - id: 1 + type: integer + name: unlock_fingerprint + optional: true + persist: false + - id: 2 + type: integer + name: unlock_password + optional: true + persist: false + - id: 3 + type: integer + name: unlock_temp_pwd + optional: true + persist: false + - id: 4 + type: integer + name: unlock_dynamic_pwd + optional: true + persist: false + - id: 5 + type: integer + name: unlock_card + optional: true + persist: false + - id: 8 + type: bitfield + name: jammed + mapping: + - dps_val: 16 + value: true + - dps_val: 128 + value: true + - value: false + - id: 9 + type: integer + name: request_unlock + - id: 10 + type: boolean + name: approve_unlock + - id: 15 + type: integer + name: unlock_app + - id: 25 + type: hex + name: fingers_enrolled + optional: true + - id: 26 + type: hex + name: passwords_enrolled + optional: true + - id: 27 + type: hex + name: cards_enrolled + optional: true - entity: sensor name: Alert class: enum diff --git a/custom_components/tuya_local/devices/orison_chanfok_neo_fan_light.yaml b/custom_components/tuya_local/devices/orison_chanfok_neo_fan_light.yaml index 769efe8e99..d60b3c896d 100644 --- a/custom_components/tuya_local/devices/orison_chanfok_neo_fan_light.yaml +++ b/custom_components/tuya_local/devices/orison_chanfok_neo_fan_light.yaml @@ -2,31 +2,30 @@ name: Ceiling fan with light products: - id: zfwgeelmqcypcdgh name: Orison Chanfok Neo -primary_entity: - entity: fan - dps: - - id: 107 - type: boolean - name: switch - - id: 106 - name: preset_mode - type: string - mapping: - - dps_val: fresh - value: fresh - - dps_val: nature - value: nature - - id: 105 - type: integer - name: speed - optional: true - range: - min: 1 - max: 6 - - id: 104 - type: string - name: direction -secondary_entities: +entities: + - entity: fan + dps: + - id: 107 + type: boolean + name: switch + - id: 106 + name: preset_mode + type: string + mapping: + - dps_val: fresh + value: fresh + - dps_val: nature + value: nature + - id: 105 + type: integer + name: speed + optional: true + range: + min: 1 + max: 6 + - id: 104 + type: string + name: direction - entity: light dps: - id: 20 diff --git a/custom_components/tuya_local/devices/orison_rgb_ceilingfan.yaml b/custom_components/tuya_local/devices/orison_rgb_ceilingfan.yaml index 388141fd81..e2f25557ca 100644 --- a/custom_components/tuya_local/devices/orison_rgb_ceilingfan.yaml +++ b/custom_components/tuya_local/devices/orison_rgb_ceilingfan.yaml @@ -2,34 +2,33 @@ name: Light and fan products: - id: 8k3ss1tcresem1bh name: Orison RGB ambient light bladeless ceiling fan -primary_entity: - entity: fan - dps: - - id: 60 - type: boolean - name: switch - - id: 61 - name: preset_mode - type: string - mapping: - - dps_val: fresh - value: fresh - - dps_val: nature - value: nature - - id: 62 - type: integer - name: speed - optional: true - range: - min: 1 - max: 100 - - id: 63 - type: string - name: direction - - id: 103 - type: boolean - name: unknown_103 -secondary_entities: +entities: + - entity: fan + dps: + - id: 60 + type: boolean + name: switch + - id: 61 + name: preset_mode + type: string + mapping: + - dps_val: fresh + value: fresh + - dps_val: nature + value: nature + - id: 62 + type: integer + name: speed + optional: true + range: + min: 1 + max: 100 + - id: 63 + type: string + name: direction + - id: 103 + type: boolean + name: unknown_103 - entity: light dps: - id: 20 diff --git a/custom_components/tuya_local/devices/otu_r1o1_lock.yaml b/custom_components/tuya_local/devices/otu_r1o1_lock.yaml index 4d9edf49bc..176b474a8b 100644 --- a/custom_components/tuya_local/devices/otu_r1o1_lock.yaml +++ b/custom_components/tuya_local/devices/otu_r1o1_lock.yaml @@ -2,146 +2,145 @@ name: Door lock products: - id: jqpmkfj7 name: O'TU R1O1 -primary_entity: - entity: lock - dps: - - id: 1 - type: string - optional: true - sensitive: true - name: unlock_method_create - - id: 2 - type: string - optional: true - sensitive: true - name: unlock_method_delete - - id: 3 - type: string - optional: true - name: unlock_method_modify - - id: 6 - type: string - optional: true - name: bluetooth_proximity_unlock - - id: 7 - type: boolean - optional: true - name: bluetooth_proximity_feedback - - id: 12 - type: integer - optional: true - persist: false - name: unlock_fingerprint - - id: 13 - type: integer - optional: true - persist: false - name: unlock_password - - id: 14 - type: integer - optional: true - persist: false - name: unlock_dynamic_pwd - - id: 15 - type: integer - optional: true - persist: false - name: unlock_card - - id: 19 - type: integer - optional: true - persist: false - name: unlock_ble - - id: 21 - type: string - optional: true - persist: false - name: jammed - mapping: - - dps_val: tongue_bad - value: true - - dps_val: tongue_not_out - value: true - - value: false - - id: 35 - type: string - optional: true - sensitive: true - name: synch_member - - id: 44 - type: boolean - optional: true - name: rtc_lock - - id: 51 - type: string - optional: true - sensitive: true - name: temporary_password_create - - id: 52 - type: string - optional: true - name: temporary_password_delete - - id: 53 - type: string - optional: true - sensitive: true - name: temporary_password_modify - - id: 54 - type: string - optional: true - sensitive: true - name: synch_method - - id: 55 - type: integer - optional: true - persist: false - name: unlock_temp_pwd - - id: 60 - type: string - optional: true - sensitive: true - name: remote_no_pd_setkey - - id: 61 - type: string - optional: true - sensitive: true - name: remote_no_dp_key - - id: 62 - type: integer - optional: true - persist: false - name: unlock_app - - id: 63 - type: integer - optional: true - persist: false - name: unlock_voice - - id: 64 - type: string - optional: true - name: password_offline_time - - id: 66 - type: string - optional: true - name: unlock_offline_clear - - id: 67 - type: string - optional: true - persist: false - name: unlock_offline_pwd - mapping: - - dps_val: null - value: null - - value: 1 - - id: 69 - type: string - optional: true - name: record - - id: 72 - type: string - optional: true - name: unlock_record_check -secondary_entities: +entities: + - entity: lock + dps: + - id: 1 + type: string + optional: true + sensitive: true + name: unlock_method_create + - id: 2 + type: string + optional: true + sensitive: true + name: unlock_method_delete + - id: 3 + type: string + optional: true + name: unlock_method_modify + - id: 6 + type: string + optional: true + name: bluetooth_proximity_unlock + - id: 7 + type: boolean + optional: true + name: bluetooth_proximity_feedback + - id: 12 + type: integer + optional: true + persist: false + name: unlock_fingerprint + - id: 13 + type: integer + optional: true + persist: false + name: unlock_password + - id: 14 + type: integer + optional: true + persist: false + name: unlock_dynamic_pwd + - id: 15 + type: integer + optional: true + persist: false + name: unlock_card + - id: 19 + type: integer + optional: true + persist: false + name: unlock_ble + - id: 21 + type: string + optional: true + persist: false + name: jammed + mapping: + - dps_val: tongue_bad + value: true + - dps_val: tongue_not_out + value: true + - value: false + - id: 35 + type: string + optional: true + sensitive: true + name: synch_member + - id: 44 + type: boolean + optional: true + name: rtc_lock + - id: 51 + type: string + optional: true + sensitive: true + name: temporary_password_create + - id: 52 + type: string + optional: true + name: temporary_password_delete + - id: 53 + type: string + optional: true + sensitive: true + name: temporary_password_modify + - id: 54 + type: string + optional: true + sensitive: true + name: synch_method + - id: 55 + type: integer + optional: true + persist: false + name: unlock_temp_pwd + - id: 60 + type: string + optional: true + sensitive: true + name: remote_no_pd_setkey + - id: 61 + type: string + optional: true + sensitive: true + name: remote_no_dp_key + - id: 62 + type: integer + optional: true + persist: false + name: unlock_app + - id: 63 + type: integer + optional: true + persist: false + name: unlock_voice + - id: 64 + type: string + optional: true + name: password_offline_time + - id: 66 + type: string + optional: true + name: unlock_offline_clear + - id: 67 + type: string + optional: true + persist: false + name: unlock_offline_pwd + mapping: + - dps_val: null + value: null + - value: 1 + - id: 69 + type: string + optional: true + name: record + - id: 72 + type: string + optional: true + name: unlock_record_check - entity: sensor class: battery category: diagnostic diff --git a/custom_components/tuya_local/devices/ovlaim_ceiling_fan_light.yaml b/custom_components/tuya_local/devices/ovlaim_ceiling_fan_light.yaml index e4aef0c278..669ca4b461 100644 --- a/custom_components/tuya_local/devices/ovlaim_ceiling_fan_light.yaml +++ b/custom_components/tuya_local/devices/ovlaim_ceiling_fan_light.yaml @@ -3,33 +3,32 @@ legacy_type: reiga_52_fan_light products: - id: g0ewlb1vmwqljzji name: Ovlaim FP9805_TAIDE / Reiga 52 -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - name: preset_mode - type: string - mapping: - - dps_val: normal - value: normal - - dps_val: sleep - value: sleep - - dps_val: nature - value: nature - - id: 3 - name: speed - type: integer - range: - min: 1 - max: 6 - - id: 8 - name: direction - type: string -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + name: preset_mode + type: string + mapping: + - dps_val: normal + value: normal + - dps_val: sleep + value: sleep + - dps_val: nature + value: nature + - id: 3 + name: speed + type: integer + range: + min: 1 + max: 6 + - id: 8 + name: direction + type: string - entity: light dps: - id: 15 diff --git a/custom_components/tuya_local/devices/owon_pct513_thermostat.yaml b/custom_components/tuya_local/devices/owon_pct513_thermostat.yaml index 7b10af93c7..796c9d3520 100644 --- a/custom_components/tuya_local/devices/owon_pct513_thermostat.yaml +++ b/custom_components/tuya_local/devices/owon_pct513_thermostat.yaml @@ -1,161 +1,160 @@ -name: PCT513 themostat +name: Thermostat products: - id: rsujjtinksnzcezy name: Owon PCT513 - id: sqkxklkleeasfk8w name: MoesGo PCT513-WB-TY -primary_entity: - entity: climate - translation_only_key: thermostat - dps: - - id: 2 - type: string - name: hvac_mode - mapping: - - dps_val: "off" - value: "off" - - dps_val: cool - value: cool - - dps_val: heat - value: heat - - dps_val: auto - value: heat_cool - - dps_val: emergencyheat - value: heat - - id: 16 - type: integer - name: temperature - range: - min: 41 - max: 4500 - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: temp_f - range: - min: 41 - max: 90 - - dps_val: c - range: - min: 1500 - max: 4500 - scale: 100 - step: 50 - - id: 17 - type: integer - name: temp_f - hidden: true - range: - min: 41 - max: 90 - - id: 23 - type: string - name: temperature_unit - mapping: - - dps_val: c - value: C - - dps_val: f - value: F - - id: 24 - type: integer - name: current_temperature - mapping: - - scale: 100 - constraint: temperature_unit - conditions: - - dps_val: f - scale: 1 - value_redirect: curtemp_f - - id: 29 - type: integer - name: curtemp_f - hidden: true - - id: 34 - type: integer - name: current_humidity - - id: 107 - type: string - name: installation - - id: 108 - type: integer - name: cool_temp_set - mapping: - - scale: 100 - - id: 109 - type: integer - name: heat_temp_set - - id: 110 - type: integer - name: cool_temp_set_f - - id: 111 - type: integer - name: heat_temp_set_f - - id: 115 - type: string - name: fan_mode - mapping: - - dps_val: auto - value: auto - - dps_val: "on" - value: "on" - - dps_val: cycle - value: cycle - - id: 116 - type: string - name: home_mode - - id: 118 - type: base64 - name: schedule - optional: true - - id: 119 - type: boolean - name: scheduling - hidden: true - mapping: - - dps_val: false - value: manual - - id: 120 - type: string - name: preset_mode - mapping: - - dps_val: followschedule - constraint: scheduling - conditions: - - dps_val: false - value_redirect: scheduling - value: manual - - dps_val: true - value: program - - dps_val: temphold - constraint: scheduling - conditions: - - dps_val: false - value_redirect: scheduling - - dps_val: true - value: temp_override - - dps_val: permhold - constraint: scheduling - conditions: - - dps_val: false - value_redirect: scheduling - - dps_val: true - value: perm_override - - id: 129 - type: string - name: hvac_action - mapping: - - dps_val: coolfanon - value: cooling - - dps_val: alloff - value: idle - - dps_val: fanon - value: fan - - dps_val: heatfanon - value: heating - - dps_val: "1" - value: preheating -secondary_entities: +entities: + - entity: climate + translation_only_key: thermostat + dps: + - id: 2 + type: string + name: hvac_mode + mapping: + - dps_val: "off" + value: "off" + - dps_val: cool + value: cool + - dps_val: heat + value: heat + - dps_val: auto + value: heat_cool + - dps_val: emergencyheat + value: heat + - id: 16 + type: integer + name: temperature + range: + min: 41 + max: 4500 + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: temp_f + range: + min: 41 + max: 90 + - dps_val: c + range: + min: 1500 + max: 4500 + scale: 100 + step: 50 + - id: 17 + type: integer + name: temp_f + hidden: true + range: + min: 41 + max: 90 + - id: 23 + type: string + name: temperature_unit + mapping: + - dps_val: c + value: C + - dps_val: f + value: F + - id: 24 + type: integer + name: current_temperature + mapping: + - scale: 100 + constraint: temperature_unit + conditions: + - dps_val: f + scale: 1 + value_redirect: curtemp_f + - id: 29 + type: integer + name: curtemp_f + hidden: true + - id: 34 + type: integer + name: current_humidity + - id: 107 + type: string + name: installation + - id: 108 + type: integer + name: cool_temp_set + mapping: + - scale: 100 + - id: 109 + type: integer + name: heat_temp_set + - id: 110 + type: integer + name: cool_temp_set_f + - id: 111 + type: integer + name: heat_temp_set_f + - id: 115 + type: string + name: fan_mode + mapping: + - dps_val: auto + value: auto + - dps_val: "on" + value: "on" + - dps_val: cycle + value: cycle + - id: 116 + type: string + name: home_mode + - id: 118 + type: base64 + name: schedule + optional: true + - id: 119 + type: boolean + name: scheduling + hidden: true + mapping: + - dps_val: false + value: manual + - id: 120 + type: string + name: preset_mode + mapping: + - dps_val: followschedule + constraint: scheduling + conditions: + - dps_val: false + value_redirect: scheduling + value: manual + - dps_val: true + value: program + - dps_val: temphold + constraint: scheduling + conditions: + - dps_val: false + value_redirect: scheduling + - dps_val: true + value: temp_override + - dps_val: permhold + constraint: scheduling + conditions: + - dps_val: false + value_redirect: scheduling + - dps_val: true + value: perm_override + - id: 129 + type: string + name: hvac_action + mapping: + - dps_val: coolfanon + value: cooling + - dps_val: alloff + value: idle + - dps_val: fanon + value: fan + - dps_val: heatfanon + value: heating + - dps_val: "1" + value: preheating - entity: number name: Fan runtime category: config diff --git a/custom_components/tuya_local/devices/parkside_plgs2012a1_smart_charger.yaml b/custom_components/tuya_local/devices/parkside_plgs2012a1_smart_charger.yaml index bada31d24b..b88faa4219 100644 --- a/custom_components/tuya_local/devices/parkside_plgs2012a1_smart_charger.yaml +++ b/custom_components/tuya_local/devices/parkside_plgs2012a1_smart_charger.yaml @@ -1,18 +1,18 @@ -name: Parkside PLGS2012A1 charger +name: Battery charger products: - id: h6pglenun37dzsgo -primary_entity: - entity: switch - icon: "mdi:ev-station" - dps: - - id: 1 - type: boolean - name: switch - optional: true - - id: 2 - type: string - name: model -secondary_entities: + name: Parkside PLGS2012A1 charger +entities: + - entity: switch + icon: "mdi:ev-station" + dps: + - id: 1 + type: boolean + name: switch + optional: true + - id: 2 + type: string + name: model - entity: number name: Charge current icon: "mdi:current-dc" diff --git a/custom_components/tuya_local/devices/parkside_solar_inverter.yaml b/custom_components/tuya_local/devices/parkside_solar_inverter.yaml index c8f500ae9e..2b63a574c2 100644 --- a/custom_components/tuya_local/devices/parkside_solar_inverter.yaml +++ b/custom_components/tuya_local/devices/parkside_solar_inverter.yaml @@ -2,25 +2,24 @@ name: Solar inverter products: - id: ayg4cocdsg1mkchp name: Parkside PG-300 -primary_entity: - entity: sensor - translation_key: energy_produced - class: energy - dps: - - id: 2 - type: integer - name: sensor - unit: kWh - class: total_increasing - mapping: - - scale: 100 - - id: 15 - name: model - type: string - - id: 16 - name: inverter_id - type: string -secondary_entities: +entities: + - entity: sensor + translation_key: energy_produced + class: energy + dps: + - id: 2 + type: integer + name: sensor + unit: kWh + class: total_increasing + mapping: + - scale: 100 + - id: 15 + name: model + type: string + - id: 16 + name: inverter_id + type: string - entity: sensor translation_key: energy_consumed class: energy diff --git a/custom_components/tuya_local/devices/pc311ty_energy_meter.yaml b/custom_components/tuya_local/devices/pc311ty_energy_meter.yaml index 1565abee75..31ff573352 100644 --- a/custom_components/tuya_local/devices/pc311ty_energy_meter.yaml +++ b/custom_components/tuya_local/devices/pc311ty_energy_meter.yaml @@ -1,20 +1,20 @@ -name: PC311-TY power clamp +name: Energy meter products: - id: vfwxetkavqrvg02u -primary_entity: - entity: sensor - category: diagnostic - name: Total Energy - class: energy - dps: - - id: 1 - name: sensor - type: integer - unit: kWh - class: total_increasing - mapping: - - scale: 100 -secondary_entities: + name: PC311-TY power clamp +entities: + - entity: sensor + category: diagnostic + name: Total Energy + class: energy + dps: + - id: 1 + name: sensor + type: integer + unit: kWh + class: total_increasing + mapping: + - scale: 100 - entity: sensor category: diagnostic name: Total Generation diff --git a/custom_components/tuya_local/devices/pc321ty_energy_meter.yaml b/custom_components/tuya_local/devices/pc321ty_energy_meter.yaml index acd0be8075..3ea01e74ed 100644 --- a/custom_components/tuya_local/devices/pc321ty_energy_meter.yaml +++ b/custom_components/tuya_local/devices/pc321ty_energy_meter.yaml @@ -4,18 +4,17 @@ products: name: PC321-TY - id: 9rjjf6rdkca9woju name: PC321-TY 80A -primary_entity: - entity: sensor - class: energy - dps: - - id: 131 - type: integer - name: sensor - mapping: - - scale: 100 - unit: kWh - class: total_increasing -secondary_entities: +entities: + - entity: sensor + class: energy + dps: + - id: 131 + type: integer + name: sensor + mapping: + - scale: 100 + unit: kWh + class: total_increasing - entity: sensor category: diagnostic translation_key: voltage_x diff --git a/custom_components/tuya_local/devices/pc321zty_energy_meter.yaml b/custom_components/tuya_local/devices/pc321zty_energy_meter.yaml index d12bc8ac52..5f2ad53c6d 100644 --- a/custom_components/tuya_local/devices/pc321zty_energy_meter.yaml +++ b/custom_components/tuya_local/devices/pc321zty_energy_meter.yaml @@ -4,26 +4,25 @@ products: name: PC321-Z-TY - id: gqmmtjclqb7reg5p name: Owon PCT321-W-TY 80A -primary_entity: - entity: sensor - class: energy - dps: - - id: 1 - type: integer - name: sensor - mapping: - - scale: 100 - unit: kWh - class: total_increasing - - id: 3 - type: string - name: monthly - optional: true - - id: 4 - type: string - name: daily - optional: true -secondary_entities: +entities: + - entity: sensor + class: energy + dps: + - id: 1 + type: integer + name: sensor + mapping: + - scale: 100 + unit: kWh + class: total_increasing + - id: 3 + type: string + name: monthly + optional: true + - id: 4 + type: string + name: daily + optional: true - entity: sensor category: diagnostic translation_key: voltage_x diff --git a/custom_components/tuya_local/devices/petlibro_PLAF103_feeder.yaml b/custom_components/tuya_local/devices/petlibro_PLAF103_feeder.yaml index 0fbcee2418..6a96a90584 100644 --- a/custom_components/tuya_local/devices/petlibro_PLAF103_feeder.yaml +++ b/custom_components/tuya_local/devices/petlibro_PLAF103_feeder.yaml @@ -2,33 +2,32 @@ name: Pet feeder products: - id: tyjxq8vanjxpn7kb name: Petlibro PLAF103 -primary_entity: - entity: sensor - translation_key: status - class: enum - icon: "mdi:paw" - dps: - - id: 4 - type: string - name: sensor - mapping: - - dps_val: standby - value: standby - - dps_val: no_food - value: no_food - - dps_val: error_ir - value: jammed - - dps_val: feed_timeout - value: blocked - - dps_val: feeding - value: feeding - - dps_val: feed_end - value: feeding_complete - - id: 1 - name: meal_plan - type: string - optional: true -secondary_entities: +entities: + - entity: sensor + translation_key: status + class: enum + icon: "mdi:paw" + dps: + - id: 4 + type: string + name: sensor + mapping: + - dps_val: standby + value: standby + - dps_val: no_food + value: no_food + - dps_val: error_ir + value: jammed + - dps_val: feed_timeout + value: blocked + - dps_val: feeding + value: feeding + - dps_val: feed_end + value: feeding_complete + - id: 1 + name: meal_plan + type: string + optional: true - entity: number name: Manual feed icon: "mdi:food-drumstick" diff --git a/custom_components/tuya_local/devices/petlibro_camera_feeder.yaml b/custom_components/tuya_local/devices/petlibro_camera_feeder.yaml index f282075591..a6bc14af22 100644 --- a/custom_components/tuya_local/devices/petlibro_camera_feeder.yaml +++ b/custom_components/tuya_local/devices/petlibro_camera_feeder.yaml @@ -2,27 +2,26 @@ name: Pet feeder products: - id: e1zs835joz1lc85q name: Petlibro PLAF203 -primary_entity: - entity: sensor - translation_key: status - icon: "mdi:paw" - dps: - - id: 233 - type: string - name: sensor - optional: true - - id: 231 - type: hex - name: schedule - - id: 237 - type: string - name: planned_feed_report - optional: true - - id: 247 - type: string - name: manual_feed_report - optional: true -secondary_entities: +entities: + - entity: sensor + translation_key: status + icon: "mdi:paw" + dps: + - id: 233 + type: string + name: sensor + optional: true + - id: 231 + type: hex + name: schedule + - id: 237 + type: string + name: planned_feed_report + optional: true + - id: 247 + type: string + name: manual_feed_report + optional: true - entity: light translation_key: indicator category: config diff --git a/custom_components/tuya_local/devices/petoneer_frescomini_petfountain.yaml b/custom_components/tuya_local/devices/petoneer_frescomini_petfountain.yaml index 8113d3c63d..3c951db784 100644 --- a/custom_components/tuya_local/devices/petoneer_frescomini_petfountain.yaml +++ b/custom_components/tuya_local/devices/petoneer_frescomini_petfountain.yaml @@ -2,14 +2,13 @@ name: Pet fountain products: - id: uoihz7w5myinwrdx name: Petoneer Fresco Mini -primary_entity: - entity: switch - icon: "mdi:water-pump" - dps: - - id: 101 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + icon: "mdi:water-pump" + dps: + - id: 101 + type: boolean + name: switch - entity: light class: indicator category: config diff --git a/custom_components/tuya_local/devices/petrust_tkwf002_petfountain.yaml b/custom_components/tuya_local/devices/petrust_tkwf002_petfountain.yaml index 9e7d4d44b5..eb2d6fe60a 100644 --- a/custom_components/tuya_local/devices/petrust_tkwf002_petfountain.yaml +++ b/custom_components/tuya_local/devices/petrust_tkwf002_petfountain.yaml @@ -1,15 +1,14 @@ -name: Petrust Smart Fountain +name: Pet fountain products: - id: 5jdws4vgfzhkq7vs name: Petrust TK-WF002 -primary_entity: - entity: switch - icon: "mdi:power" - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + icon: "mdi:power" + dps: + - id: 1 + type: boolean + name: switch - entity: select name: Mode class: enum diff --git a/custom_components/tuya_local/devices/pgst_climate_sensor.yaml b/custom_components/tuya_local/devices/pgst_climate_sensor.yaml index e643bf8fb2..5edc8cc9c2 100644 --- a/custom_components/tuya_local/devices/pgst_climate_sensor.yaml +++ b/custom_components/tuya_local/devices/pgst_climate_sensor.yaml @@ -1,20 +1,19 @@ name: Indoor temperature humidity -primary_entity: - entity: sensor - class: temperature - dps: - - id: 1 - type: integer - name: sensor - unit: C - class: measurement - - id: 23 - type: integer - name: unknown_23 - - id: 24 - type: integer - name: unknown_24 -secondary_entities: +entities: + - entity: sensor + class: temperature + dps: + - id: 1 + type: integer + name: sensor + unit: C + class: measurement + - id: 23 + type: integer + name: unknown_23 + - id: 24 + type: integer + name: unknown_24 - entity: sensor class: humidity dps: diff --git a/custom_components/tuya_local/devices/pgst_pw150_alarm.yaml b/custom_components/tuya_local/devices/pgst_pw150_alarm.yaml index 30e66719d3..7ec510ebdb 100644 --- a/custom_components/tuya_local/devices/pgst_pw150_alarm.yaml +++ b/custom_components/tuya_local/devices/pgst_pw150_alarm.yaml @@ -2,65 +2,64 @@ name: Alarm system products: - id: bxtloihrivkxalgn name: PGST PW150 -primary_entity: - entity: alarm_control_panel - dps: - - id: 1 - type: string - name: alarm_state - mapping: - - dps_val: disarmed - value: disarmed - - dps_val: arm - value: armed_away - - dps_val: home - value: armed_home - - dps_val: sos - value: triggered - - id: 1 - type: string - name: trigger - mapping: - - dps_val: sos - value: true - - value: false - - id: 24 - type: string - name: zone_attribute - optional: true - - id: 32 - type: string - name: master_state - optional: true - - id: 36 - type: string - name: sub_class - optional: true - - id: 37 - type: string - name: sub_type - optional: true - - id: 38 - type: string - name: sub_admin - optional: true - - id: 39 - type: string - name: sub_state - optional: true - - id: 101 - type: string - name: power_event - optional: true - - id: 103 - type: string - name: zone_number - optional: true - - id: 104 - type: string - name: other_event - optional: true -secondary_entities: +entities: + - entity: alarm_control_panel + dps: + - id: 1 + type: string + name: alarm_state + mapping: + - dps_val: disarmed + value: disarmed + - dps_val: arm + value: armed_away + - dps_val: home + value: armed_home + - dps_val: sos + value: triggered + - id: 1 + type: string + name: trigger + mapping: + - dps_val: sos + value: true + - value: false + - id: 24 + type: string + name: zone_attribute + optional: true + - id: 32 + type: string + name: master_state + optional: true + - id: 36 + type: string + name: sub_class + optional: true + - id: 37 + type: string + name: sub_type + optional: true + - id: 38 + type: string + name: sub_admin + optional: true + - id: 39 + type: string + name: sub_state + optional: true + - id: 101 + type: string + name: power_event + optional: true + - id: 103 + type: string + name: zone_number + optional: true + - id: 104 + type: string + name: other_event + optional: true - entity: number name: Exit delay category: config diff --git a/custom_components/tuya_local/devices/phw218_waterquality_monitor.yaml b/custom_components/tuya_local/devices/phw218_waterquality_monitor.yaml index 8bc013ba93..7fb78faf83 100644 --- a/custom_components/tuya_local/devices/phw218_waterquality_monitor.yaml +++ b/custom_components/tuya_local/devices/phw218_waterquality_monitor.yaml @@ -2,19 +2,18 @@ name: Water quality products: - id: layxxij0sdbrfmrf name: pH-W218 -primary_entity: - entity: sensor - class: temperature - icon: "mdi:water-thermometer" - dps: - - id: 8 - type: integer - name: sensor - class: measurement - mapping: - - scale: 10 - unit: C -secondary_entities: +entities: + - entity: sensor + class: temperature + icon: "mdi:water-thermometer" + dps: + - id: 8 + type: integer + name: sensor + class: measurement + mapping: + - scale: 10 + unit: C - entity: sensor name: pH icon: "mdi:ph" diff --git a/custom_components/tuya_local/devices/pinelake_birdfeeder.yaml b/custom_components/tuya_local/devices/pinelake_birdfeeder.yaml index 5569071dbe..3aa848a084 100644 --- a/custom_components/tuya_local/devices/pinelake_birdfeeder.yaml +++ b/custom_components/tuya_local/devices/pinelake_birdfeeder.yaml @@ -1,21 +1,20 @@ -name: Smart Bird Feeder Camera +name: Smart bird feeder camera products: - id: bk9uhkngejjo8wup name: Pinelake BF002 -primary_entity: - entity: camera - dps: - - id: 150 - name: record - type: boolean - optional: true - force: true - - id: 134 - type: boolean - name: motion_enable - optional: true - force: true -secondary_entities: +entities: + - entity: camera + dps: + - id: 150 + name: record + type: boolean + optional: true + force: true + - id: 134 + type: boolean + name: motion_enable + optional: true + force: true - entity: switch name: Siren icon: "mdi:bullhorn" diff --git a/custom_components/tuya_local/devices/pinguino_portable_airconditioner.yaml b/custom_components/tuya_local/devices/pinguino_portable_airconditioner.yaml index 729090d760..621edd8705 100644 --- a/custom_components/tuya_local/devices/pinguino_portable_airconditioner.yaml +++ b/custom_components/tuya_local/devices/pinguino_portable_airconditioner.yaml @@ -1,95 +1,94 @@ -name: Portable Air Conditioner +name: Portable air conditioner products: - id: anR7aeh1YPTKAz5a name: De'Longhi Pinguino PACEL140LRFK 3ALBK -primary_entity: - entity: climate - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - value: "off" - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: null - value: "off" - - dps_val: "1" - value: dry - - dps_val: "2" - value: cool - - dps_val: "3" - value: fan_only - - dps_val: "4" - value: auto - - id: 5 - name: mode - type: string - - id: 6 - type: integer - name: temperature - range: - min: 18 - max: 32 - mapping: - - constraint: temperature_unit - conditions: - - dps_val: true - range: - min: 64 - max: 90 - - id: 8 - type: string - name: fan_mode - mapping: - - value: auto - - dps_val: "0" - value: auto - - dps_val: "1" - value: auto - constraint: mode - conditions: - - dps_val: "2" - value: low - - dps_val: "3" - value: low - - dps_val: "2" - value: auto - constraint: mode - conditions: - - dps_val: "2" - value: medium - - dps_val: "3" - value: medium - - dps_val: "3" - value: auto - constraint: mode - conditions: - - dps_val: "2" - value: high - - dps_val: "3" - value: high - - id: 16 - name: swing_mode - type: boolean - mapping: - - value: "off" - - dps_val: false - value: "off" - - dps_val: true - value: vertical - - id: 21 - name: temperature_unit - type: boolean - mapping: - - dps_val: false - value: "C" - - dps_val: true - value: "F" -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - value: "off" + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: null + value: "off" + - dps_val: "1" + value: dry + - dps_val: "2" + value: cool + - dps_val: "3" + value: fan_only + - dps_val: "4" + value: auto + - id: 5 + name: mode + type: string + - id: 6 + type: integer + name: temperature + range: + min: 18 + max: 32 + mapping: + - constraint: temperature_unit + conditions: + - dps_val: true + range: + min: 64 + max: 90 + - id: 8 + type: string + name: fan_mode + mapping: + - value: auto + - dps_val: "0" + value: auto + - dps_val: "1" + value: auto + constraint: mode + conditions: + - dps_val: "2" + value: low + - dps_val: "3" + value: low + - dps_val: "2" + value: auto + constraint: mode + conditions: + - dps_val: "2" + value: medium + - dps_val: "3" + value: medium + - dps_val: "3" + value: auto + constraint: mode + conditions: + - dps_val: "2" + value: high + - dps_val: "3" + value: high + - id: 16 + name: swing_mode + type: boolean + mapping: + - value: "off" + - dps_val: false + value: "off" + - dps_val: true + value: vertical + - id: 21 + name: temperature_unit + type: boolean + mapping: + - dps_val: false + value: "C" + - dps_val: true + value: "F" - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/pir_rgbcw_light.yaml b/custom_components/tuya_local/devices/pir_rgbcw_light.yaml index 290b9817a4..42b5e85b87 100644 --- a/custom_components/tuya_local/devices/pir_rgbcw_light.yaml +++ b/custom_components/tuya_local/devices/pir_rgbcw_light.yaml @@ -2,66 +2,65 @@ name: PIR RGBCW light products: - id: hbmq4wdi5vyx9qgu name: Kojima motion sensor nightlight -primary_entity: - entity: light - dps: - - id: 20 - type: boolean - name: switch - - id: 21 - type: string - name: color_mode - mapping: - - dps_val: white - value: color_temp - - dps_val: colour - value: hs - - dps_val: scene - value: Scene - # iot.tuya.com includes music too, but there is no music_data dp - - id: 22 - name: brightness - type: integer - range: - min: 10 - max: 1000 - - id: 23 - name: color_temp - type: integer - range: - min: 0 - max: 1000 - mapping: - - target_range: - min: 2700 - max: 6500 - - id: 24 - name: rgbhsv - type: hex - format: - - name: h - bytes: 2 - range: - min: 0 - max: 360 - - name: s - bytes: 2 - range: - min: 0 - max: 1000 - - name: v - bytes: 2 - range: - min: 0 - max: 1000 - - id: 25 - name: scene_data - type: hex - - id: 28 - name: control_data - type: string - optional: true -secondary_entities: +entities: + - entity: light + dps: + - id: 20 + type: boolean + name: switch + - id: 21 + type: string + name: color_mode + mapping: + - dps_val: white + value: color_temp + - dps_val: colour + value: hs + - dps_val: scene + value: Scene + # iot.tuya.com includes music too, but there is no music_data dp + - id: 22 + name: brightness + type: integer + range: + min: 10 + max: 1000 + - id: 23 + name: color_temp + type: integer + range: + min: 0 + max: 1000 + mapping: + - target_range: + min: 2700 + max: 6500 + - id: 24 + name: rgbhsv + type: hex + format: + - name: h + bytes: 2 + range: + min: 0 + max: 360 + - name: s + bytes: 2 + range: + min: 0 + max: 1000 + - name: v + bytes: 2 + range: + min: 0 + max: 1000 + - id: 25 + name: scene_data + type: hex + - id: 28 + name: control_data + type: string + optional: true - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/pir_sensor.yaml b/custom_components/tuya_local/devices/pir_sensor.yaml index 8e4ec80614..5dc5cd68e9 100644 --- a/custom_components/tuya_local/devices/pir_sensor.yaml +++ b/custom_components/tuya_local/devices/pir_sensor.yaml @@ -1,19 +1,18 @@ name: PIR sensor products: - id: gaczanu8noooebfe -primary_entity: - entity: binary_sensor - class: motion - dps: - - id: 1 - type: string - name: sensor - mapping: - - dps_val: pir - value: true - - dps_val: "none" - value: false -secondary_entities: +entities: + - entity: binary_sensor + class: motion + dps: + - id: 1 + type: string + name: sensor + mapping: + - dps_val: pir + value: true + - dps_val: "none" + value: false - entity: sensor class: battery dps: diff --git a/custom_components/tuya_local/devices/pir_spotlight.yaml b/custom_components/tuya_local/devices/pir_spotlight.yaml index a37e7dacda..800fdff8a9 100644 --- a/custom_components/tuya_local/devices/pir_spotlight.yaml +++ b/custom_components/tuya_local/devices/pir_spotlight.yaml @@ -6,33 +6,32 @@ products: name: Nedis SmartLife Outdoor Floodlight - id: key3pw4guvnat9ad name: LSC floodlight with sensor -primary_entity: - entity: light - dps: - - id: 20 - type: boolean - name: switch - - id: 21 - type: string - name: work_mode - - id: 22 - name: brightness - type: integer - range: - min: 10 - max: 1000 - - id: 23 - name: color_temp - type: integer - optional: true - range: - min: 0 - max: 1000 - mapping: - - target_range: - min: 2700 - max: 6500 -secondary_entities: +entities: + - entity: light + dps: + - id: 20 + type: boolean + name: switch + - id: 21 + type: string + name: work_mode + - id: 22 + name: brightness + type: integer + range: + min: 10 + max: 1000 + - id: 23 + name: color_temp + type: integer + optional: true + range: + min: 0 + max: 1000 + mapping: + - target_range: + min: 2700 + max: 6500 - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/pj1103_clamp_meter.yaml b/custom_components/tuya_local/devices/pj1103_clamp_meter.yaml index ad97e04e68..d2dede2edf 100644 --- a/custom_components/tuya_local/devices/pj1103_clamp_meter.yaml +++ b/custom_components/tuya_local/devices/pj1103_clamp_meter.yaml @@ -1,27 +1,27 @@ -name: PJ-1103 clamp power meter +name: Energy meter products: - id: djfep9s6s3b2qk89 -primary_entity: - entity: sensor - class: power - dps: - - id: 19 - name: sensor - type: integer - unit: W - class: measurement - force: true - mapping: - - scale: 10 - - id: 24 - name: calibration - type: integer - optional: true - - id: 21 - type: bitfield - name: test - optional: true -secondary_entities: + name: PJ-1103 clamp +entities: + - entity: sensor + class: power + dps: + - id: 19 + name: sensor + type: integer + unit: W + class: measurement + force: true + mapping: + - scale: 10 + - id: 24 + name: calibration + type: integer + optional: true + - id: 21 + type: bitfield + name: test + optional: true - entity: sensor class: current category: diagnostic diff --git a/custom_components/tuya_local/devices/plantsio_ivy_smart_planter.yaml b/custom_components/tuya_local/devices/plantsio_ivy_smart_planter.yaml index c759c85f00..a9c132977b 100644 --- a/custom_components/tuya_local/devices/plantsio_ivy_smart_planter.yaml +++ b/custom_components/tuya_local/devices/plantsio_ivy_smart_planter.yaml @@ -5,24 +5,23 @@ name: Smart Planter products: - id: 8n3q0y4cwov8ifxt name: PlantsIO Ivy Smart Planter -primary_entity: - entity: sensor - name: Water level - class: volume_storage - dps: - - id: 108 - type: integer - name: sensor - unit: mL - class: measurement - mapping: - - dps_val: 0 - icon: "mdi:cup-outline" - - icon: "mdi:cup" - - id: 107 - type: string - name: version -secondary_entities: +entities: + - entity: sensor + name: Water level + class: volume_storage + dps: + - id: 108 + type: integer + name: sensor + unit: mL + class: measurement + mapping: + - dps_val: 0 + icon: "mdi:cup-outline" + - icon: "mdi:cup" + - id: 107 + type: string + name: version # Sensor entities raw - entity: sensor class: illuminance diff --git a/custom_components/tuya_local/devices/plikc_neve_thermostat.yaml b/custom_components/tuya_local/devices/plikc_neve_thermostat.yaml index a6d0641a44..d62e81b9bc 100644 --- a/custom_components/tuya_local/devices/plikc_neve_thermostat.yaml +++ b/custom_components/tuya_local/devices/plikc_neve_thermostat.yaml @@ -6,93 +6,92 @@ products: name: Plikc Neve X W - id: 9myqvomgygt9zgcs name: Plikc Neve Pro W -primary_entity: - entity: climate - translation_key: thermostat - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: heat_cool - - id: 2 - type: string - name: preset_mode - mapping: - - dps_val: auto - value: program - - dps_val: manual - value: manual - - dps_val: temporary - value: temp_override - hidden: true - - dps_val: holiday - value: away - constraint: holiday_duration - conditions: - - dps_val: 0 - value: "Set holiday length!" - hidden: true - - id: 3 - type: string - name: hvac_action - mapping: - - dps_val: heat - value: heating - - dps_val: cold - value: cooling - - dps_val: cool - value: cooling - - dps_val: "off" - value: idle - - id: 16 - type: integer - name: temperature - unit: C - range: - min: 50 - max: 350 - mapping: - - scale: 10 - constraint: preset_mode - conditions: - - dps_val: holiday - value_redirect: holiday_temp_set - - id: 19 - type: integer - optional: true - name: max_temperature - mapping: - - scale: 10 - - id: 24 - type: integer - name: current_temperature - mapping: - - scale: 10 - - id: 26 - type: integer - optional: true - name: min_temperature - mapping: - - scale: 10 - - id: 32 - type: integer - name: holiday_temp_set - optional: true - hidden: true - range: - min: 50 - max: 350 - mapping: - - scale: 10 - - id: 33 - type: integer - name: holiday_duration - hidden: true -secondary_entities: +entities: + - entity: climate + translation_key: thermostat + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: heat_cool + - id: 2 + type: string + name: preset_mode + mapping: + - dps_val: auto + value: program + - dps_val: manual + value: manual + - dps_val: temporary + value: temp_override + hidden: true + - dps_val: holiday + value: away + constraint: holiday_duration + conditions: + - dps_val: 0 + value: "Set holiday length!" + hidden: true + - id: 3 + type: string + name: hvac_action + mapping: + - dps_val: heat + value: heating + - dps_val: cold + value: cooling + - dps_val: cool + value: cooling + - dps_val: "off" + value: idle + - id: 16 + type: integer + name: temperature + unit: C + range: + min: 50 + max: 350 + mapping: + - scale: 10 + constraint: preset_mode + conditions: + - dps_val: holiday + value_redirect: holiday_temp_set + - id: 19 + type: integer + optional: true + name: max_temperature + mapping: + - scale: 10 + - id: 24 + type: integer + name: current_temperature + mapping: + - scale: 10 + - id: 26 + type: integer + optional: true + name: min_temperature + mapping: + - scale: 10 + - id: 32 + type: integer + name: holiday_temp_set + optional: true + hidden: true + range: + min: 50 + max: 350 + mapping: + - scale: 10 + - id: 33 + type: integer + name: holiday_duration + hidden: true - entity: number name: Temperature calibration category: config diff --git a/custom_components/tuya_local/devices/pni_water_feeeder.yaml b/custom_components/tuya_local/devices/pni_water_feeeder.yaml index edfbd9db5f..54ec4cd24d 100644 --- a/custom_components/tuya_local/devices/pni_water_feeeder.yaml +++ b/custom_components/tuya_local/devices/pni_water_feeeder.yaml @@ -2,14 +2,13 @@ name: Water feeder products: - id: ajkayo9kucq6vttv name: PNI TA-WF-SMART(UV) -primary_entity: - entity: switch - icon: "mdi:paw" - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + icon: "mdi:paw" + dps: + - id: 1 + type: boolean + name: switch - entity: switch translation_key: uv_sterilization category: config diff --git a/custom_components/tuya_local/devices/poiema_one_purifier.yaml b/custom_components/tuya_local/devices/poiema_one_purifier.yaml index cd07ea2795..3181999cde 100644 --- a/custom_components/tuya_local/devices/poiema_one_purifier.yaml +++ b/custom_components/tuya_local/devices/poiema_one_purifier.yaml @@ -1,37 +1,36 @@ name: Poiema One air purifier products: - id: 2q2jgeegaziyugdg -primary_entity: - entity: fan - icon: "mdi:air-purifier" - translation_only_key: fan_with_presets - dps: - - id: 1 - type: boolean - name: switch - - id: 3 - type: string - name: preset_mode - mapping: - - dps_val: manual - value: normal - - dps_val: auto - value: smart - - dps_val: sleep - value: sleep - - id: 4 - type: string - name: speed - mapping: - - dps_val: "low" - value: 25 - - dps_val: "mid" - value: 50 - - dps_val: "high" - value: 75 - - dps_val: "strong" - value: 100 -secondary_entities: +entities: + - entity: fan + icon: "mdi:air-purifier" + translation_only_key: fan_with_presets + dps: + - id: 1 + type: boolean + name: switch + - id: 3 + type: string + name: preset_mode + mapping: + - dps_val: manual + value: normal + - dps_val: auto + value: smart + - dps_val: sleep + value: sleep + - id: 4 + type: string + name: speed + mapping: + - dps_val: "low" + value: 25 + - dps_val: "mid" + value: 50 + - dps_val: "high" + value: 75 + - dps_val: "strong" + value: 100 - entity: sensor class: pm25 dps: diff --git a/custom_components/tuya_local/devices/point_panel_heater.yaml b/custom_components/tuya_local/devices/point_panel_heater.yaml index 04c84a1279..3dd98f9340 100644 --- a/custom_components/tuya_local/devices/point_panel_heater.yaml +++ b/custom_components/tuya_local/devices/point_panel_heater.yaml @@ -2,40 +2,39 @@ name: Panel heater products: - id: nqj51hxb2tx5kklv name: Point POPANW600 -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: true - value: "heat" - - dps_val: false - value: "off" - - id: 2 - name: temperature - type: integer - unit: C - mapping: - - scale: 10 - range: - min: 50 - max: 500 - - id: 3 - name: current_temperature - type: integer - - id: 4 - name: preset_mode - type: string - optional: true - mapping: - - dps_val: ECO - value: eco - - dps_val: Comfort - value: comfort -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: true + value: "heat" + - dps_val: false + value: "off" + - id: 2 + name: temperature + type: integer + unit: C + mapping: + - scale: 10 + range: + min: 50 + max: 500 + - id: 3 + name: current_temperature + type: integer + - id: 4 + name: preset_mode + type: string + optional: true + mapping: + - dps_val: ECO + value: eco + - dps_val: Comfort + value: comfort - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/poolex_arctic_action.yaml b/custom_components/tuya_local/devices/poolex_arctic_action.yaml index 7b2af1a344..24034dba0c 100644 --- a/custom_components/tuya_local/devices/poolex_arctic_action.yaml +++ b/custom_components/tuya_local/devices/poolex_arctic_action.yaml @@ -2,78 +2,77 @@ name: Spa Heat Pump products: - id: pzp8owd7lhtpssgj name: Poolex Arctic Action -primary_entity: - entity: climate - translation_only_key: pool_heatpump - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: "auto" - - id: 2 - type: integer - name: temperature - range: - min: 5 - max: 40 - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - range: - min: 41 - max: 104 - value_redirect: temp_set_f - - id: 3 - type: integer - name: current_temperature - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: temp_current_f - - id: 4 - type: string - name: preset_mode - mapping: - - dps_val: heat - value: smart_heat - - dps_val: h_powerful - value: quick_heat - - dps_val: h_silent - value: quiet_heat - - dps_val: cool - value: smart_cool - - dps_val: c_powerful - value: quick_cool - - dps_val: c_silent - value: quiet_cool - - id: 13 - type: string - name: temperature_unit - mapping: - - dps_val: c - value: C - - dps_val: f - value: F - - id: 14 - type: integer - name: temp_set_f - range: - min: 41 - max: 104 - hidden: true - optional: true - - id: 15 - type: integer - name: temp_current_f - hidden: true - optional: true -secondary_entities: +entities: + - entity: climate + translation_only_key: pool_heatpump + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: "auto" + - id: 2 + type: integer + name: temperature + range: + min: 5 + max: 40 + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + range: + min: 41 + max: 104 + value_redirect: temp_set_f + - id: 3 + type: integer + name: current_temperature + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: temp_current_f + - id: 4 + type: string + name: preset_mode + mapping: + - dps_val: heat + value: smart_heat + - dps_val: h_powerful + value: quick_heat + - dps_val: h_silent + value: quiet_heat + - dps_val: cool + value: smart_cool + - dps_val: c_powerful + value: quick_cool + - dps_val: c_silent + value: quiet_cool + - id: 13 + type: string + name: temperature_unit + mapping: + - dps_val: c + value: C + - dps_val: f + value: F + - id: 14 + type: integer + name: temp_set_f + range: + min: 41 + max: 104 + hidden: true + optional: true + - id: 15 + type: integer + name: temp_current_f + hidden: true + optional: true - entity: select translation_key: temperature_unit category: config diff --git a/custom_components/tuya_local/devices/poolex_icespa70_heatpump.yaml b/custom_components/tuya_local/devices/poolex_icespa70_heatpump.yaml index 82f4dc2108..9a2e01b5f7 100644 --- a/custom_components/tuya_local/devices/poolex_icespa70_heatpump.yaml +++ b/custom_components/tuya_local/devices/poolex_icespa70_heatpump.yaml @@ -2,125 +2,124 @@ name: Pool heat pump products: - id: trtfk7jrlez4hvxu name: Poolex SpaWer Ice Spa 70 -primary_entity: - entity: climate - translation_key: pool_heatpump - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - constraint: mode - conditions: - - dps_val: "0" - value: heat_cool - - dps_val: "1" - value: cool - - dps_val: "4" - value: heat - - id: 2 - type: string - name: mode - - id: 4 - type: integer - name: temperature - unit: C - range: - min: 400 - max: 4000 - mapping: - - scale: 100 - step: 100 - constraint: mode - conditions: - - dps_val: "1" - value_redirect: temp_set_cold - - dps_val: "4" - value_redirect: temp_set_heat - - id: 16 - type: integer - name: current_temperature - mapping: - - scale: 100 - - id: 117 - type: integer - name: temp_set_heat - hidden: true - mapping: - - scale: 100 - step: 100 - range: - min: 1500 - max: 4000 - - id: 118 - type: integer - name: temp_set_cold - hidden: true - mapping: - - scale: 100 - step: 100 - range: - min: 400 - max: 3500 - # dps past 128 are not appearing in the log, so left as attributes rather - # than creating sensors for values that might never be seen - - id: 129 - type: integer - optional: true - name: temperature_target_distance - mapping: - - scale: 100 - - id: 130 - type: boolean - optional: true - name: water_pump_status - - id: 131 - type: boolean - optional: true - name: aux_heating - - id: 132 - type: integer - optional: true - name: ac_voltage - mapping: - - scale: 100 - - id: 133 - type: integer - optional: true - name: ac_current - mapping: - - scale: 100 - - id: 134 - type: integer - optional: true - name: bus_voltage - mapping: - - scale: 100 - - id: 135 - type: integer - optional: true - name: compressor_current - mapping: - - scale: 100 - - id: 136 - type: integer - optional: true - name: fan_current - mapping: - - scale: 100 - - id: 137 - type: integer - optional: true - name: ipm_temp - mapping: - - scale: 100 - - id: 138 - type: boolean - optional: true - name: four_way_valve -secondary_entities: +entities: + - entity: climate + translation_key: pool_heatpump + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - constraint: mode + conditions: + - dps_val: "0" + value: heat_cool + - dps_val: "1" + value: cool + - dps_val: "4" + value: heat + - id: 2 + type: string + name: mode + - id: 4 + type: integer + name: temperature + unit: C + range: + min: 400 + max: 4000 + mapping: + - scale: 100 + step: 100 + constraint: mode + conditions: + - dps_val: "1" + value_redirect: temp_set_cold + - dps_val: "4" + value_redirect: temp_set_heat + - id: 16 + type: integer + name: current_temperature + mapping: + - scale: 100 + - id: 117 + type: integer + name: temp_set_heat + hidden: true + mapping: + - scale: 100 + step: 100 + range: + min: 1500 + max: 4000 + - id: 118 + type: integer + name: temp_set_cold + hidden: true + mapping: + - scale: 100 + step: 100 + range: + min: 400 + max: 3500 + # dps past 128 are not appearing in the log, so left as attributes rather + # than creating sensors for values that might never be seen + - id: 129 + type: integer + optional: true + name: temperature_target_distance + mapping: + - scale: 100 + - id: 130 + type: boolean + optional: true + name: water_pump_status + - id: 131 + type: boolean + optional: true + name: aux_heating + - id: 132 + type: integer + optional: true + name: ac_voltage + mapping: + - scale: 100 + - id: 133 + type: integer + optional: true + name: ac_current + mapping: + - scale: 100 + - id: 134 + type: integer + optional: true + name: bus_voltage + mapping: + - scale: 100 + - id: 135 + type: integer + optional: true + name: compressor_current + mapping: + - scale: 100 + - id: 136 + type: integer + optional: true + name: fan_current + mapping: + - scale: 100 + - id: 137 + type: integer + optional: true + name: ipm_temp + mapping: + - scale: 100 + - id: 138 + type: boolean + optional: true + name: four_way_valve - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/poolex_q7_heatpump.yaml b/custom_components/tuya_local/devices/poolex_q7_heatpump.yaml index ff0c4ed900..d6ee89eb6d 100644 --- a/custom_components/tuya_local/devices/poolex_q7_heatpump.yaml +++ b/custom_components/tuya_local/devices/poolex_q7_heatpump.yaml @@ -3,104 +3,103 @@ products: - id: qhrpnqjhakrn3jvv name: Poolex Qline Q-7 # unknown id: Poolsana InverPower -primary_entity: - entity: climate - icon: "mdi:pool-thermometer" - translation_only_key: pool_heatpump - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: preset_mode - conditions: - - dps_val: Boost_Heat - value: heat - - dps_val: Silent_Heat - value: heat - - dps_val: ECO_Heat - value: heat - - dps_val: Boost_Cool - value: cool - - dps_val: Silent_Cool - value: cool - - dps_val: ECO_Cool - value: cool - - id: 2 - type: integer - name: temperature - range: - min: 20 - max: 40 - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - range: - min: 68 - max: 104 - value_redirect: temp_set_f - - id: 3 - type: integer - name: current_temperature - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: temp_current_f - - id: 4 - type: string - name: preset_mode - mapping: - - dps_val: Boost_Heat - value: quick_heat - - dps_val: Silent_Heat - value: quiet_heat - - dps_val: ECO_Heat - value: smart_heat - - dps_val: ECO_Cool - value: smart_cool - - dps_val: Silent_Cool - value: quiet_cool - - dps_val: Boost_Cool - value: quick_cool - - id: 11 - type: string - name: hvac_action - mapping: - - dps_val: heating - value: heating - - dps_val: cooling - value: cooling - - value: idle - - id: 13 - type: string - name: temperature_unit - mapping: - - dps_val: c - value: C - - dps_val: f - value: F - - id: 14 - type: integer - name: temp_set_f - range: - min: 68 - max: 104 - hidden: true - optional: true - - id: 15 - type: integer - name: temp_current_f - hidden: true - optional: true - - id: 21 - type: integer - name: unknown_21 -secondary_entities: +entities: + - entity: climate + icon: "mdi:pool-thermometer" + translation_only_key: pool_heatpump + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: preset_mode + conditions: + - dps_val: Boost_Heat + value: heat + - dps_val: Silent_Heat + value: heat + - dps_val: ECO_Heat + value: heat + - dps_val: Boost_Cool + value: cool + - dps_val: Silent_Cool + value: cool + - dps_val: ECO_Cool + value: cool + - id: 2 + type: integer + name: temperature + range: + min: 20 + max: 40 + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + range: + min: 68 + max: 104 + value_redirect: temp_set_f + - id: 3 + type: integer + name: current_temperature + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: temp_current_f + - id: 4 + type: string + name: preset_mode + mapping: + - dps_val: Boost_Heat + value: quick_heat + - dps_val: Silent_Heat + value: quiet_heat + - dps_val: ECO_Heat + value: smart_heat + - dps_val: ECO_Cool + value: smart_cool + - dps_val: Silent_Cool + value: quiet_cool + - dps_val: Boost_Cool + value: quick_cool + - id: 11 + type: string + name: hvac_action + mapping: + - dps_val: heating + value: heating + - dps_val: cooling + value: cooling + - value: idle + - id: 13 + type: string + name: temperature_unit + mapping: + - dps_val: c + value: C + - dps_val: f + value: F + - id: 14 + type: integer + name: temp_set_f + range: + min: 68 + max: 104 + hidden: true + optional: true + - id: 15 + type: integer + name: temp_current_f + hidden: true + optional: true + - id: 21 + type: integer + name: unknown_21 - entity: select translation_key: temperature_unit category: config diff --git a/custom_components/tuya_local/devices/poolex_qline_heatpump.yaml b/custom_components/tuya_local/devices/poolex_qline_heatpump.yaml index 7acd16b258..271af92f76 100644 --- a/custom_components/tuya_local/devices/poolex_qline_heatpump.yaml +++ b/custom_components/tuya_local/devices/poolex_qline_heatpump.yaml @@ -1,47 +1,46 @@ name: Poolex Q-Line heatpump -primary_entity: - entity: climate - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - icon: "mdi:hvac-off" - icon_priority: 1 - - dps_val: true - constraint: heating_mode - conditions: - - dps_val: cold - value: cool - - dps_val: heating - value: heat - - dps_val: mute - value: heat_cool - - id: 2 - name: heating_mode - hidden: true - type: string - icon_priority: 3 - mapping: - - dps_val: heating - icon: "mdi:hot-tub" - - dps_val: cold - icon: "mdi:snowflake" - - dps_val: mute - icon: "mdi:hot-tub" - - id: 4 - name: temperature - type: integer - unit: C - range: - min: 8 - max: 40 - - id: 16 - name: current_temperature - type: integer -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + icon: "mdi:hvac-off" + icon_priority: 1 + - dps_val: true + constraint: heating_mode + conditions: + - dps_val: cold + value: cool + - dps_val: heating + value: heat + - dps_val: mute + value: heat_cool + - id: 2 + name: heating_mode + hidden: true + type: string + icon_priority: 3 + mapping: + - dps_val: heating + icon: "mdi:hot-tub" + - dps_val: cold + icon: "mdi:snowflake" + - dps_val: mute + icon: "mdi:hot-tub" + - id: 4 + name: temperature + type: integer + unit: C + range: + min: 8 + max: 40 + - id: 16 + name: current_temperature + type: integer - entity: binary_sensor name: Water flow class: problem diff --git a/custom_components/tuya_local/devices/poolex_silverline_heatpump.yaml b/custom_components/tuya_local/devices/poolex_silverline_heatpump.yaml index cc76f6f517..cc62d202fc 100644 --- a/custom_components/tuya_local/devices/poolex_silverline_heatpump.yaml +++ b/custom_components/tuya_local/devices/poolex_silverline_heatpump.yaml @@ -1,45 +1,44 @@ name: Pool heat pump -primary_entity: - entity: climate - translation_only_key: pool_heatpump - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: "heat" - - id: 2 - name: temperature - type: integer - unit: C - range: - min: 8 - max: 40 - - id: 3 - name: current_temperature - type: integer - - id: 4 - name: preset_mode - type: string - mapping: - - dps_val: Auto - value: auto - - dps_val: Cool - value: smart_cool - - dps_val: Heat - value: smart_heat - - dps_val: BoostHeat - value: quick_heat - - dps_val: BoostCool - value: quick_cool - - dps_val: SilentHeat - value: quiet_heat - - dps_val: SilentCool - value: quiet_cool -secondary_entities: +entities: + - entity: climate + translation_only_key: pool_heatpump + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: "heat" + - id: 2 + name: temperature + type: integer + unit: C + range: + min: 8 + max: 40 + - id: 3 + name: current_temperature + type: integer + - id: 4 + name: preset_mode + type: string + mapping: + - dps_val: Auto + value: auto + - dps_val: Cool + value: smart_cool + - dps_val: Heat + value: smart_heat + - dps_val: BoostHeat + value: quick_heat + - dps_val: BoostCool + value: quick_cool + - dps_val: SilentHeat + value: quiet_heat + - dps_val: SilentCool + value: quiet_cool - entity: binary_sensor name: Water flow class: problem diff --git a/custom_components/tuya_local/devices/poolex_vertigo_heatpump.yaml b/custom_components/tuya_local/devices/poolex_vertigo_heatpump.yaml index a5b4b965a8..a349b6d654 100644 --- a/custom_components/tuya_local/devices/poolex_vertigo_heatpump.yaml +++ b/custom_components/tuya_local/devices/poolex_vertigo_heatpump.yaml @@ -1,37 +1,36 @@ name: Poolex Vertigo FI heatpump -primary_entity: - entity: climate - translation_only_key: pool_heatpump - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: "heat" - - id: 2 - name: temperature - type: integer - unit: C - range: - min: 8 - max: 40 - - id: 3 - name: current_temperature - type: integer - - id: 4 - name: preset_mode - type: string - mapping: - - dps_val: "cool" - value: smart_cool - - dps_val: heat - value: smart_heat - - dps_val: silent - value: quiet_heat -secondary_entities: +entities: + - entity: climate + translation_only_key: pool_heatpump + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: "heat" + - id: 2 + name: temperature + type: integer + unit: C + range: + min: 8 + max: 40 + - id: 3 + name: current_temperature + type: integer + - id: 4 + name: preset_mode + type: string + mapping: + - dps_val: "cool" + value: smart_cool + - dps_val: heat + value: smart_heat + - dps_val: silent + value: quiet_heat - entity: binary_sensor name: Water flow class: problem diff --git a/custom_components/tuya_local/devices/poolsana_heatpump.yaml b/custom_components/tuya_local/devices/poolsana_heatpump.yaml index 0b076ce541..78274e3da2 100644 --- a/custom_components/tuya_local/devices/poolsana_heatpump.yaml +++ b/custom_components/tuya_local/devices/poolsana_heatpump.yaml @@ -2,54 +2,53 @@ name: Pool heat pump products: - id: abb8kaxcphfzkwsg name: PoolSana InverPower Next -primary_entity: - entity: climate - translation_key: pool_heatpump - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: Cooling - value: cool - - dps_val: Heating - value: heat - - dps_val: Auto - value: heat_cool - - id: 2 - type: string - name: mode - hidden: true - - id: 4 - type: integer - name: temperature - range: - min: 70 - max: 400 - mapping: - - scale: 10 - step: 10 - - id: 16 - type: integer - name: current_temperature - mapping: - - scale: 10 - - id: 5 - type: string - name: preset_mode - mapping: - - dps_val: Boost - value: boost - - dps_val: Silence - value: eco - - dps_val: Smart - value: comfort -secondary_entities: +entities: + - entity: climate + translation_key: pool_heatpump + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: Cooling + value: cool + - dps_val: Heating + value: heat + - dps_val: Auto + value: heat_cool + - id: 2 + type: string + name: mode + hidden: true + - id: 4 + type: integer + name: temperature + range: + min: 70 + max: 400 + mapping: + - scale: 10 + step: 10 + - id: 16 + type: integer + name: current_temperature + mapping: + - scale: 10 + - id: 5 + type: string + name: preset_mode + mapping: + - dps_val: Boost + value: boost + - dps_val: Silence + value: eco + - dps_val: Smart + value: comfort - entity: sensor class: temperature name: Outlet Temperature diff --git a/custom_components/tuya_local/devices/position_blinds.yaml b/custom_components/tuya_local/devices/position_blinds.yaml index 84ec652258..9e1a2a5545 100644 --- a/custom_components/tuya_local/devices/position_blinds.yaml +++ b/custom_components/tuya_local/devices/position_blinds.yaml @@ -1,38 +1,38 @@ -name: Blind controller with set and read position -primary_entity: - entity: cover - class: blind - 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 - range: - min: 0 - max: 100 - mapping: - - invert: true - - id: 2 - name: current_position - type: integer - range: - min: 0 - max: 100 - mapping: - - invert: true - - id: 5 - name: control_back_mode - type: boolean - - id: 7 - # seems intended to match action, but doesn't change in observation - name: work_state - type: string +name: Blind controller +entities: + - entity: cover + class: blind + 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 + range: + min: 0 + max: 100 + mapping: + - invert: true + - id: 2 + name: current_position + type: integer + range: + min: 0 + max: 100 + mapping: + - invert: true + - id: 5 + name: control_back_mode + type: boolean + - id: 7 + # seems intended to match action, but doesn't change in observation + name: work_state + type: string diff --git a/custom_components/tuya_local/devices/powerasia_6inchrecessed_lighting.yaml b/custom_components/tuya_local/devices/powerasia_6inchrecessed_lighting.yaml index 50e72ce542..18261de623 100644 --- a/custom_components/tuya_local/devices/powerasia_6inchrecessed_lighting.yaml +++ b/custom_components/tuya_local/devices/powerasia_6inchrecessed_lighting.yaml @@ -2,67 +2,66 @@ name: Light products: - id: 8ugheslg name: PowerAsia RGB 6 Inch recessed -primary_entity: - entity: light - dps: - - id: 1 - type: boolean - name: switch - # Most of the non-switch dps are write-only on this device, so there will - # be no feedback, but we can allow blind control as far as possible - - id: 2 - name: color_mode - type: string - optional: true - mapping: - - dps_val: white - value: color_temp - - dps_val: colour - value: hs - - dps_val: scene - value: Scene - - dps_val: music - value: Music - - id: 3 - name: brightness - type: integer - optional: true - range: - min: 10 - max: 1000 - - id: 4 - name: color_temp - type: integer - optional: true - range: - min: 0 - max: 1000 - mapping: - - target_range: - min: 2700 - max: 6500 - - id: 11 - name: color_data_raw - type: string - optional: true - # format unknown - - id: 109 - type: string - optional: true - name: scene_data - - id: 113 - type: string - optional: true - name: switch_gradient - - id: 121 - type: string - optional: true - name: music_data - - id: 123 - type: base64 - optional: true - name: device_info -secondary_entities: +entities: + - entity: light + dps: + - id: 1 + type: boolean + name: switch + # Most of the non-switch dps are write-only on this device, so there will + # be no feedback, but we can allow blind control as far as possible + - id: 2 + name: color_mode + type: string + optional: true + mapping: + - dps_val: white + value: color_temp + - dps_val: colour + value: hs + - dps_val: scene + value: Scene + - dps_val: music + value: Music + - id: 3 + name: brightness + type: integer + optional: true + range: + min: 10 + max: 1000 + - id: 4 + name: color_temp + type: integer + optional: true + range: + min: 0 + max: 1000 + mapping: + - target_range: + min: 2700 + max: 6500 + - id: 11 + name: color_data_raw + type: string + optional: true + # format unknown + - id: 109 + type: string + optional: true + name: scene_data + - id: 113 + type: string + optional: true + name: switch_gradient + - id: 121 + type: string + optional: true + name: music_data + - id: 123 + type: base64 + optional: true + name: device_info - entity: light name: White category: config diff --git a/custom_components/tuya_local/devices/powerstrip_4outlet_usbs.yaml b/custom_components/tuya_local/devices/powerstrip_4outlet_usbs.yaml index 176c3e3e98..29b69a4752 100644 --- a/custom_components/tuya_local/devices/powerstrip_4outlet_usbs.yaml +++ b/custom_components/tuya_local/devices/powerstrip_4outlet_usbs.yaml @@ -1,15 +1,14 @@ name: 4 outlet + USB powerstrip -primary_entity: - entity: switch - translation_key: outlet_x - translation_placeholders: - x: "1" - class: outlet - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + translation_key: outlet_x + translation_placeholders: + x: "1" + class: outlet + dps: + - id: 1 + type: boolean + name: switch - entity: switch translation_key: outlet_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/powerstrip_6outlet_usbs.yaml b/custom_components/tuya_local/devices/powerstrip_6outlet_usbs.yaml index 8f92e95eeb..ece91e9019 100644 --- a/custom_components/tuya_local/devices/powerstrip_6outlet_usbs.yaml +++ b/custom_components/tuya_local/devices/powerstrip_6outlet_usbs.yaml @@ -2,20 +2,19 @@ name: 6 outlet + 4 USB power strip products: - id: 2fcngzxvsivfzhzj name: ACME SH3305 -primary_entity: - entity: switch - translation_key: switch_x - translation_placeholders: - x: "1" - class: outlet - dps: - - id: 1 - type: boolean - name: switch - - id: 101 - type: integer - name: countdown -secondary_entities: +entities: + - entity: switch + translation_key: switch_x + translation_placeholders: + x: "1" + class: outlet + dps: + - id: 1 + type: boolean + name: switch + - id: 101 + type: integer + name: countdown - entity: switch translation_key: switch_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/powerworld_pw58330_waterheater.yaml b/custom_components/tuya_local/devices/powerworld_pw58330_waterheater.yaml index 8c303ad472..cfe131add9 100644 --- a/custom_components/tuya_local/devices/powerworld_pw58330_waterheater.yaml +++ b/custom_components/tuya_local/devices/powerworld_pw58330_waterheater.yaml @@ -2,71 +2,70 @@ name: Water heat pump # products: # - id: UNKNOWN # name: Powerworld PW58330 -primary_entity: - entity: water_heater - dps: - - id: 1 - type: boolean - name: operation_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: work_mode - conditions: - - dps_val: wth - value: Hot water - - dps_val: heat - value: Heating - - dps_val: cool - value: Cooling - - dps_val: wth_heat - value: Hot water + heating - - dps_val: wth_cool - value: Hot water + cooling - - id: 5 - type: string - name: work_mode - hidden: true - - id: 6 - type: string - name: temperature_unit - mapping: - - dps_val: f - value: F - - value: C - - id: 108 - type: integer - name: current_temperature - - id: 118 - type: string - optional: true - name: parameter_group_1 - - id: 119 - type: string - optional: true - name: parameter_group_2 - - id: 120 - type: string - optional: true - name: parameter_group_3 - - id: 121 - type: string - optional: true - name: parameter_group_4 - - id: 122 - type: string - optional: true - name: parameter_group_5 - - id: 123 - type: string - optional: true - name: parameter_group_6 - - id: 124 - type: string - optional: true - name: parameter_group_7 -secondary_entities: +entities: + - entity: water_heater + dps: + - id: 1 + type: boolean + name: operation_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: work_mode + conditions: + - dps_val: wth + value: Hot water + - dps_val: heat + value: Heating + - dps_val: cool + value: Cooling + - dps_val: wth_heat + value: Hot water + heating + - dps_val: wth_cool + value: Hot water + cooling + - id: 5 + type: string + name: work_mode + hidden: true + - id: 6 + type: string + name: temperature_unit + mapping: + - dps_val: f + value: F + - value: C + - id: 108 + type: integer + name: current_temperature + - id: 118 + type: string + optional: true + name: parameter_group_1 + - id: 119 + type: string + optional: true + name: parameter_group_2 + - id: 120 + type: string + optional: true + name: parameter_group_3 + - id: 121 + type: string + optional: true + name: parameter_group_4 + - id: 122 + type: string + optional: true + name: parameter_group_5 + - id: 123 + type: string + optional: true + name: parameter_group_6 + - id: 124 + type: string + optional: true + name: parameter_group_7 - entity: climate translation_key: heater dps: diff --git a/custom_components/tuya_local/devices/powerworld_pw58410_hvaconly.yaml b/custom_components/tuya_local/devices/powerworld_pw58410_hvaconly.yaml index 55fc60735e..560bb234c4 100644 --- a/custom_components/tuya_local/devices/powerworld_pw58410_hvaconly.yaml +++ b/custom_components/tuya_local/devices/powerworld_pw58410_hvaconly.yaml @@ -2,72 +2,71 @@ name: Heat pump products: - id: 74jzzoqr2ghxyu1p name: Powerworld PW58410 -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: work_mode - conditions: - - dps_val: heat - value: heat - - dps_val: cool - value: cool - - dps_val: wth - value: "off" - hidden: true - - dps_val: wth_heat - value: heat - hidden: true - - dps_val: wth_cool - value: cool - hidden: true - - id: 2 - type: string - name: preset_mode - mapping: - - dps_val: smart - value: comfort - - dps_val: strong - value: boost - - dps_val: mute - value: sleep - - id: 5 - type: string - name: work_mode - - id: 6 - type: string - name: temperature_unit - mapping: - - dps_val: f - value: F - - value: C - - id: 111 - type: integer - optional: true - name: temperature - range: - min: 0 - max: 99 - mapping: - - constraint: work_mode - conditions: - - dps_val: [cool, wth_cool] - value_redirect: cool_temp - - id: 112 - type: integer - name: cool_temp - optional: true - hidden: true - range: - min: 0 - max: 99 -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: work_mode + conditions: + - dps_val: heat + value: heat + - dps_val: cool + value: cool + - dps_val: wth + value: "off" + hidden: true + - dps_val: wth_heat + value: heat + hidden: true + - dps_val: wth_cool + value: cool + hidden: true + - id: 2 + type: string + name: preset_mode + mapping: + - dps_val: smart + value: comfort + - dps_val: strong + value: boost + - dps_val: mute + value: sleep + - id: 5 + type: string + name: work_mode + - id: 6 + type: string + name: temperature_unit + mapping: + - dps_val: f + value: F + - value: C + - id: 111 + type: integer + optional: true + name: temperature + range: + min: 0 + max: 99 + mapping: + - constraint: work_mode + conditions: + - dps_val: [cool, wth_cool] + value_redirect: cool_temp + - id: 112 + type: integer + name: cool_temp + optional: true + hidden: true + range: + min: 0 + max: 99 - entity: water_heater dps: - id: 1 diff --git a/custom_components/tuya_local/devices/powerworld_pw58410_waterheater.yaml b/custom_components/tuya_local/devices/powerworld_pw58410_waterheater.yaml index 824d04eb04..1508e9ad3b 100644 --- a/custom_components/tuya_local/devices/powerworld_pw58410_waterheater.yaml +++ b/custom_components/tuya_local/devices/powerworld_pw58410_waterheater.yaml @@ -2,90 +2,89 @@ name: Water heat pump products: - id: 74jzzoqr2ghxyu1p name: Powerworld PW58410 -primary_entity: - entity: water_heater - dps: - - id: 1 - type: boolean - name: operation_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: work_mode - conditions: - - dps_val: wth - value: Hot water - - dps_val: heat - value: Heating - - dps_val: cool - value: Cooling - - dps_val: wth_heat - value: Hot water + heating - - dps_val: wth_cool - value: Hot water + cooling - - id: 5 - type: string - name: work_mode - hidden: true - - id: 6 - type: string - name: temperature_unit - mapping: - - dps_val: f - value: F - - value: C - - id: 110 - type: integer - name: temperature - range: - min: 0 - max: 99 - - id: 101 - type: base64 - optional: true - name: current_temperature - mask: "000000000000000000000000000000000000000000000000\ - 00000000FFFFFFFF00000000000000000000000000000000\ - 000000000000000000000000000000000000000000000000\ - 0000000000000000" - - id: 118 - type: string - optional: true - name: parameter_group_1 - - id: 119 - type: string - optional: true - name: parameter_group_2 - - id: 120 - type: string - optional: true - name: parameter_group_3 - - id: 121 - type: string - optional: true - name: parameter_group_4 - - id: 122 - type: string - optional: true - name: parameter_group_5 - - id: 123 - type: string - optional: true - name: parameter_group_6 - - id: 124 - type: string - optional: true - name: parameter_group_7 - - id: 126 - type: string - optional: true - name: parameter_group_8 - - id: 140 - type: string - optional: true - name: power_statistics -secondary_entities: +entities: + - entity: water_heater + dps: + - id: 1 + type: boolean + name: operation_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: work_mode + conditions: + - dps_val: wth + value: Hot water + - dps_val: heat + value: Heating + - dps_val: cool + value: Cooling + - dps_val: wth_heat + value: Hot water + heating + - dps_val: wth_cool + value: Hot water + cooling + - id: 5 + type: string + name: work_mode + hidden: true + - id: 6 + type: string + name: temperature_unit + mapping: + - dps_val: f + value: F + - value: C + - id: 110 + type: integer + name: temperature + range: + min: 0 + max: 99 + - id: 101 + type: base64 + optional: true + name: current_temperature + mask: "000000000000000000000000000000000000000000000000\ + 00000000FFFFFFFF00000000000000000000000000000000\ + 000000000000000000000000000000000000000000000000\ + 0000000000000000" + - id: 118 + type: string + optional: true + name: parameter_group_1 + - id: 119 + type: string + optional: true + name: parameter_group_2 + - id: 120 + type: string + optional: true + name: parameter_group_3 + - id: 121 + type: string + optional: true + name: parameter_group_4 + - id: 122 + type: string + optional: true + name: parameter_group_5 + - id: 123 + type: string + optional: true + name: parameter_group_6 + - id: 124 + type: string + optional: true + name: parameter_group_7 + - id: 126 + type: string + optional: true + name: parameter_group_8 + - id: 140 + type: string + optional: true + name: power_statistics - entity: climate dps: - id: 2 diff --git a/custom_components/tuya_local/devices/princess_panel_heater.yaml b/custom_components/tuya_local/devices/princess_panel_heater.yaml index 0f2079ade4..8a977f5455 100644 --- a/custom_components/tuya_local/devices/princess_panel_heater.yaml +++ b/custom_components/tuya_local/devices/princess_panel_heater.yaml @@ -1,58 +1,57 @@ name: Panel heater -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: heat - - id: 2 - type: integer - name: temperature - range: - min: 0 - max: 37 - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: temp_set_f - range: - min: 32 - max: 99 - - id: 3 - type: integer - name: current_temperature - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: cur_temp_f - - id: 13 - type: string - name: temperature_unit - mapping: - - dps_val: c - value: C - - dps_val: f - value: F - - id: 14 - type: integer - name: temp_set_f - range: - min: 32 - max: 99 - hidden: true - - id: 15 - type: integer - name: cur_temp_f - hidden: true -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: heat + - id: 2 + type: integer + name: temperature + range: + min: 0 + max: 37 + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: temp_set_f + range: + min: 32 + max: 99 + - id: 3 + type: integer + name: current_temperature + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: cur_temp_f + - id: 13 + type: string + name: temperature_unit + mapping: + - dps_val: c + value: C + - dps_val: f + value: F + - id: 14 + type: integer + name: temp_set_f + range: + min: 32 + max: 99 + hidden: true + - id: 15 + type: integer + name: cur_temp_f + hidden: true - entity: select translation_key: temperature_unit category: config diff --git a/custom_components/tuya_local/devices/princess_pedestal_fan.yaml b/custom_components/tuya_local/devices/princess_pedestal_fan.yaml index e30d971e3d..2c3a1d9330 100644 --- a/custom_components/tuya_local/devices/princess_pedestal_fan.yaml +++ b/custom_components/tuya_local/devices/princess_pedestal_fan.yaml @@ -2,35 +2,34 @@ name: Fan products: - id: glhx4aeaqmzmp3sb name: Princess 358450 DC pedestal fan -primary_entity: - entity: fan - translation_key: fan_with_presets - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - type: string - name: preset_mode - mapping: - - dps_val: nature - value: nature - - dps_val: sleep - value: sleep - - dps_val: fresh - value: fresh - - dps_val: smart - value: smart - - id: 3 - type: integer - range: - min: 1 - max: 24 - name: speed - - id: 101 - type: boolean - name: oscillate -secondary_entities: +entities: + - entity: fan + translation_key: fan_with_presets + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + type: string + name: preset_mode + mapping: + - dps_val: nature + value: nature + - dps_val: sleep + value: sleep + - dps_val: fresh + value: fresh + - dps_val: smart + value: smart + - id: 3 + type: integer + range: + min: 1 + max: 24 + name: speed + - id: 101 + type: boolean + name: oscillate - entity: select translation_key: timer category: config diff --git a/custom_components/tuya_local/devices/probreeze_pb20.yaml b/custom_components/tuya_local/devices/probreeze_pb20.yaml index 1031121e51..d354c08d02 100644 --- a/custom_components/tuya_local/devices/probreeze_pb20.yaml +++ b/custom_components/tuya_local/devices/probreeze_pb20.yaml @@ -2,42 +2,41 @@ name: Dehumidifier products: - id: bfaa8cc446a9c7a142bp7o name: Pro Breeze PB-20 -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - name: work_mode - type: string - hidden: true - - id: 101 - type: boolean - name: mode - mapping: - - dps_val: false - constraint: work_mode - conditions: - - dps_val: "1" - value: boost - - dps_val: "0" - value: auto - - dps_val: true - value: Internal drying - - id: 3 - name: current_humidity - type: integer - - id: 4 - name: humidity - type: integer - range: - min: 30 - max: 80 - mapping: - - step: 5 -secondary_entities: +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + name: work_mode + type: string + hidden: true + - id: 101 + type: boolean + name: mode + mapping: + - dps_val: false + constraint: work_mode + conditions: + - dps_val: "1" + value: boost + - dps_val: "0" + value: auto + - dps_val: true + value: Internal drying + - id: 3 + name: current_humidity + type: integer + - id: 4 + name: humidity + type: integer + range: + min: 30 + max: 80 + mapping: + - step: 5 - entity: fan dps: - id: 1 diff --git a/custom_components/tuya_local/devices/proenergy_pe08_poolheater.yaml b/custom_components/tuya_local/devices/proenergy_pe08_poolheater.yaml index 6fd6c10a55..4a84ff33fd 100644 --- a/custom_components/tuya_local/devices/proenergy_pe08_poolheater.yaml +++ b/custom_components/tuya_local/devices/proenergy_pe08_poolheater.yaml @@ -2,45 +2,44 @@ name: Pool heater products: - id: kirzfzcxypdjo2ay name: Pro-Energy PE08 -primary_entity: - entity: climate - translation_key: pool_heatpump - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: heat - icon: "mdi:hot-tub" - - id: 2 - name: preset_mode - type: string - mapping: - - dps_val: eco_heat - value: eco - - dps_val: heating - value: boost - - dps_val: cold - value: Cool - - dps_val: auto - value: auto - - id: 4 - type: integer - name: temperature - range: - min: 5 - max: 40 - unit: C - - id: 26 - type: integer - name: current_temperature - - id: 104 - type: string - name: unknown_104 -secondary_entities: +entities: + - entity: climate + translation_key: pool_heatpump + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: heat + icon: "mdi:hot-tub" + - id: 2 + name: preset_mode + type: string + mapping: + - dps_val: eco_heat + value: eco + - dps_val: heating + value: boost + - dps_val: cold + value: Cool + - dps_val: auto + value: auto + - id: 4 + type: integer + name: temperature + range: + min: 5 + max: 40 + unit: C + - id: 26 + type: integer + name: current_temperature + - id: 104 + type: string + name: unknown_104 - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/proscenic_a8_airpurifier.yaml b/custom_components/tuya_local/devices/proscenic_a8_airpurifier.yaml index 39c879c59e..e4439ff1e9 100644 --- a/custom_components/tuya_local/devices/proscenic_a8_airpurifier.yaml +++ b/custom_components/tuya_local/devices/proscenic_a8_airpurifier.yaml @@ -2,33 +2,32 @@ name: Air Purifier products: - id: jiiagi6aamtgbffk name: Proscenic A8 -primary_entity: - entity: fan - icon: "mdi:air-purifier" - translation_only_key: fan_with_presets - dps: - - id: 1 - name: switch - type: boolean - - id: 4 - name: preset_mode - type: string - mapping: - - dps_val: sleep - value: sleep - - dps_val: mid - value: fresh - - dps_val: high - value: strong - - dps_val: auto - value: smart - - id: 101 - name: unknown_101 - type: integer - - id: 102 - name: unknown_102 - type: string -secondary_entities: +entities: + - entity: fan + icon: "mdi:air-purifier" + translation_only_key: fan_with_presets + dps: + - id: 1 + name: switch + type: boolean + - id: 4 + name: preset_mode + type: string + mapping: + - dps_val: sleep + value: sleep + - dps_val: mid + value: fresh + - dps_val: high + value: strong + - dps_val: auto + value: smart + - id: 101 + name: unknown_101 + type: integer + - id: 102 + name: unknown_102 + type: string - entity: sensor class: pm25 dps: diff --git a/custom_components/tuya_local/devices/proscenic_a9_airpurifier.yaml b/custom_components/tuya_local/devices/proscenic_a9_airpurifier.yaml index 0a6583c21a..e1f83a4dc6 100644 --- a/custom_components/tuya_local/devices/proscenic_a9_airpurifier.yaml +++ b/custom_components/tuya_local/devices/proscenic_a9_airpurifier.yaml @@ -2,50 +2,49 @@ name: Air Purifier products: - id: giwqfeiezesbkkbe name: Proscenic A9 -primary_entity: - entity: fan - icon: "mdi:air-purifier" - translation_only_key: fan_with_presets - dps: - - id: 1 - name: switch - type: boolean - - id: 4 - name: preset_mode - type: string - mapping: - - dps_val: "Sleep" - value: sleep - - dps_val: "1" - value: low - - dps_val: "2" - value: medium - - dps_val: "3" - value: high - - dps_val: "4" - value: turbo - - dps_val: "Auto" - value: auto - - id: 4 - name: speed - type: string - mapping: - - dps_val: "Sleep" - value: 20 - - dps_val: "1" - value: 40 - - dps_val: "2" - value: 60 - - dps_val: "3" - value: 80 - - dps_val: "4" - value: 100 - - dps_val: "Auto" - value: 0 - - id: 102 - name: unknown_102 - type: string -secondary_entities: +entities: + - entity: fan + icon: "mdi:air-purifier" + translation_only_key: fan_with_presets + dps: + - id: 1 + name: switch + type: boolean + - id: 4 + name: preset_mode + type: string + mapping: + - dps_val: "Sleep" + value: sleep + - dps_val: "1" + value: low + - dps_val: "2" + value: medium + - dps_val: "3" + value: high + - dps_val: "4" + value: turbo + - dps_val: "Auto" + value: auto + - id: 4 + name: speed + type: string + mapping: + - dps_val: "Sleep" + value: 20 + - dps_val: "1" + value: 40 + - dps_val: "2" + value: 60 + - dps_val: "3" + value: 80 + - dps_val: "4" + value: 100 + - dps_val: "Auto" + value: 0 + - id: 102 + name: unknown_102 + type: string - entity: sensor class: pm25 dps: diff --git a/custom_components/tuya_local/devices/proscenic_m9_vacuum.yaml b/custom_components/tuya_local/devices/proscenic_m9_vacuum.yaml index c53ac7adda..374463f695 100644 --- a/custom_components/tuya_local/devices/proscenic_m9_vacuum.yaml +++ b/custom_components/tuya_local/devices/proscenic_m9_vacuum.yaml @@ -2,186 +2,184 @@ name: Robot Vacuum products: - id: ise3eub6pvacnzdw name: Proscenic M9 -primary_entity: - entity: vacuum - dps: - - id: 1 - type: boolean - name: activate - optional: true - - id: 2 - type: boolean - name: pause - optional: true - - id: 3 - name: return_to_base - type: boolean - optional: true - - id: 4 - type: string - name: command - optional: true - mapping: - - dps_val: smart - value: Auto clean - - dps_val: zone - value: Zone cleaning - - dps_val: pose - value: pose - - dps_val: part - value: clean_spot - - dps_val: goto_charge - value: return_to_base - - dps_val: wallfollow - value: wallfollow - - dps_val: select_room - value: Select room cleaning - - id: 5 - name: status - type: string - optional: true - mapping: - - dps_val: standby - value: standby - - dps_val: smart - value: cleaning - - dps_val: zone_clean - value: cleaning - - dps_val: part_clean - value: cleaning - - dps_val: cleaning - value: cleaning - - dps_val: paused - value: pause - - dps_val: goto_pos - value: go to target point - - dps_val: pos_arrived - value: arrived to target point - - dps_val: pos_unarrive - value: cannot arrive to target point - - dps_val: goto_charge - value: returning - - dps_val: charging - value: charging - - dps_val: charge_done - value: charged - - dps_val: sleep - value: sleep - - dps_val: fault - value: error - - dps_val: wall_follow - value: wall_follow - - dps_val: direction_control - value: direction_control - - dps_val: repositing - value: repositing - - dps_val: select_room - value: select_room - - dps_val: seek_dust_bucket - value: seek_dust_bucket - - dps_val: collecting_dust - value: collecting_dust - - id: 9 - name: fan_speed - type: string - mapping: - - dps_val: closed - value: "Off" - - dps_val: gentle - value: Gentle - - dps_val: normal - value: Normal - - dps_val: strong - value: Strong - - dps_val: max - value: Max - hidden: true - - id: 11 - name: locate - type: boolean - optional: true - - id: 12 - name: direction_control - type: string - optional: true - mapping: - - dps_val: forward - value: forward - - dps_val: backward - value: backward - - dps_val: turn_left - value: left - - dps_val: turn_right - value: right - - dps_val: stop - value: stop - - dps_val: exit - value: exit - - id: 13 - name: map_reset - type: boolean - optional: true - hidden: true - - id: 14 - name: path_data - type: string - optional: true - - id: 15 - name: command_trans - type: base64 - optional: true - - id: 16 - name: request - type: string - optional: true - - id: 25 - name: do_not_disturb # cannot be used, set an automation instead - type: boolean - - id: 32 - name: device_timer # set an automation for scheduled cleaning - type: string - optional: true - - id: 33 - name: disturb_time - type: base64 - optional: true - - id: 34 - name: device_info - type: base64 - optional: true - - id: 35 - name: voice_data - type: base64 - optional: true - - id: 36 - name: language - type: string - optional: true - - id: 132 - name: chaging_base_type - type: string - optional: true - - id: 133 - name: water_tank_type - type: string - optional: true - - id: 134 - name: realtime_fanspeed - type: string - optional: true - - id: 135 - name: realtime_water_level - type: string - optional: true - - id: 137 - name: cloud_map # not useful without the app - type: boolean - - id: 141 - name: cleanspot - type: boolean - optional: true - -secondary_entities: +entities: + - entity: vacuum + dps: + - id: 1 + type: boolean + name: activate + optional: true + - id: 2 + type: boolean + name: pause + optional: true + - id: 3 + name: return_to_base + type: boolean + optional: true + - id: 4 + type: string + name: command + optional: true + mapping: + - dps_val: smart + value: Auto clean + - dps_val: zone + value: Zone cleaning + - dps_val: pose + value: pose + - dps_val: part + value: clean_spot + - dps_val: goto_charge + value: return_to_base + - dps_val: wallfollow + value: wallfollow + - dps_val: select_room + value: Select room cleaning + - id: 5 + name: status + type: string + optional: true + mapping: + - dps_val: standby + value: standby + - dps_val: smart + value: cleaning + - dps_val: zone_clean + value: cleaning + - dps_val: part_clean + value: cleaning + - dps_val: cleaning + value: cleaning + - dps_val: paused + value: pause + - dps_val: goto_pos + value: go to target point + - dps_val: pos_arrived + value: arrived to target point + - dps_val: pos_unarrive + value: cannot arrive to target point + - dps_val: goto_charge + value: returning + - dps_val: charging + value: charging + - dps_val: charge_done + value: charged + - dps_val: sleep + value: sleep + - dps_val: fault + value: error + - dps_val: wall_follow + value: wall_follow + - dps_val: direction_control + value: direction_control + - dps_val: repositing + value: repositing + - dps_val: select_room + value: select_room + - dps_val: seek_dust_bucket + value: seek_dust_bucket + - dps_val: collecting_dust + value: collecting_dust + - id: 9 + name: fan_speed + type: string + mapping: + - dps_val: closed + value: "Off" + - dps_val: gentle + value: Gentle + - dps_val: normal + value: Normal + - dps_val: strong + value: Strong + - dps_val: max + value: Max + hidden: true + - id: 11 + name: locate + type: boolean + optional: true + - id: 12 + name: direction_control + type: string + optional: true + mapping: + - dps_val: forward + value: forward + - dps_val: backward + value: backward + - dps_val: turn_left + value: left + - dps_val: turn_right + value: right + - dps_val: stop + value: stop + - dps_val: exit + value: exit + - id: 13 + name: map_reset + type: boolean + optional: true + hidden: true + - id: 14 + name: path_data + type: string + optional: true + - id: 15 + name: command_trans + type: base64 + optional: true + - id: 16 + name: request + type: string + optional: true + - id: 25 + name: do_not_disturb # cannot be used, set an automation instead + type: boolean + - id: 32 + name: device_timer # set an automation for scheduled cleaning + type: string + optional: true + - id: 33 + name: disturb_time + type: base64 + optional: true + - id: 34 + name: device_info + type: base64 + optional: true + - id: 35 + name: voice_data + type: base64 + optional: true + - id: 36 + name: language + type: string + optional: true + - id: 132 + name: chaging_base_type + type: string + optional: true + - id: 133 + name: water_tank_type + type: string + optional: true + - id: 134 + name: realtime_fanspeed + type: string + optional: true + - id: 135 + name: realtime_water_level + type: string + optional: true + - id: 137 + name: cloud_map # not useful without the app + type: boolean + - id: 141 + name: cleanspot + type: boolean + optional: true - entity: sensor name: Cleaning time category: diagnostic diff --git a/custom_components/tuya_local/devices/prosto_ptc2000_heater.yaml b/custom_components/tuya_local/devices/prosto_ptc2000_heater.yaml index 83d4f4464f..a15aeddf7d 100644 --- a/custom_components/tuya_local/devices/prosto_ptc2000_heater.yaml +++ b/custom_components/tuya_local/devices/prosto_ptc2000_heater.yaml @@ -1,53 +1,52 @@ name: Prosto Heater -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: preset_mode - conditions: - - dps_val: level_0 - value: fan_only - - dps_val: level_1 - value: heat - - dps_val: level_2 - value: heat - hidden: true - - id: 2 - type: integer - name: temperature - unit: C - range: - min: 18 - max: 45 - - id: 3 - type: integer - name: current_temperature - - id: 5 - name: preset_mode - type: string - mapping: - - dps_val: "level_0" - value: none - - dps_val: "level_1" - value: comfort - - dps_val: "level_2" - value: boost - - id: 8 - type: boolean - name: swing_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: "on" -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: preset_mode + conditions: + - dps_val: level_0 + value: fan_only + - dps_val: level_1 + value: heat + - dps_val: level_2 + value: heat + hidden: true + - id: 2 + type: integer + name: temperature + unit: C + range: + min: 18 + max: 45 + - id: 3 + type: integer + name: current_temperature + - id: 5 + name: preset_mode + type: string + mapping: + - dps_val: "level_0" + value: none + - dps_val: "level_1" + value: comfort + - dps_val: "level_2" + value: boost + - id: 8 + type: boolean + name: swing_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: "on" - entity: select name: Level icon: "mdi:signal" diff --git a/custom_components/tuya_local/devices/psmart_t436_thermostat.yaml b/custom_components/tuya_local/devices/psmart_t436_thermostat.yaml index df83929586..7135466c9a 100644 --- a/custom_components/tuya_local/devices/psmart_t436_thermostat.yaml +++ b/custom_components/tuya_local/devices/psmart_t436_thermostat.yaml @@ -2,77 +2,76 @@ name: Thermostat products: - id: gogb05wrtredz3bs name: Psmart T436 -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: auto - value: auto - - dps_val: manual - value: heat - - id: 2 - type: string - name: mode - hidden: true - - id: 16 - type: integer - name: temperature - unit: C - range: - min: 50 - max: 700 - mapping: - - scale: 10 - step: 5 - - id: 19 - type: integer - name: max_temperature - optional: true - mapping: - - scale: 10 - - id: 26 - type: integer - name: min_temperature - optional: true - mapping: - - scale: 10 - - id: 24 - type: integer - name: current_temperature - mapping: - - scale: 10 - - id: 36 - type: string - name: hvac_action - optional: true - mapping: - - dps_val: open - value: heating - - dps_val: close - value: idle - - id: 71 - type: string - optional: true - name: week_program - - id: 104 - type: string - name: fan_mode - mapping: - - dps_val: low - value: low - - dps_val: mid - value: medium - - dps_val: high - value: high -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: auto + value: auto + - dps_val: manual + value: heat + - id: 2 + type: string + name: mode + hidden: true + - id: 16 + type: integer + name: temperature + unit: C + range: + min: 50 + max: 700 + mapping: + - scale: 10 + step: 5 + - id: 19 + type: integer + name: max_temperature + optional: true + mapping: + - scale: 10 + - id: 26 + type: integer + name: min_temperature + optional: true + mapping: + - scale: 10 + - id: 24 + type: integer + name: current_temperature + mapping: + - scale: 10 + - id: 36 + type: string + name: hvac_action + optional: true + mapping: + - dps_val: open + value: heating + - dps_val: close + value: idle + - id: 71 + type: string + optional: true + name: week_program + - id: 104 + type: string + name: fan_mode + mapping: + - dps_val: low + value: low + - dps_val: mid + value: medium + - dps_val: high + value: high - entity: number name: Maximum temperature class: temperature diff --git a/custom_components/tuya_local/devices/puppy_kitty_pet_feeder.yaml b/custom_components/tuya_local/devices/puppy_kitty_pet_feeder.yaml index 3c98b82a8a..9fc6b9e504 100644 --- a/custom_components/tuya_local/devices/puppy_kitty_pet_feeder.yaml +++ b/custom_components/tuya_local/devices/puppy_kitty_pet_feeder.yaml @@ -2,19 +2,18 @@ name: Pet feeder products: - id: iwabnqimdhmzxzvp name: PUPPY KITTY Automatic Cat & Dog Feeder -primary_entity: - entity: switch - name: Enable feeder - icon: "mdi:food-drumstick" - dps: - - id: 25 - type: boolean - name: switch - - id: 1 - name: meal_plan - type: string - optional: true -secondary_entities: +entities: + - entity: switch + name: Enable feeder + icon: "mdi:food-drumstick" + dps: + - id: 25 + type: boolean + name: switch + - id: 1 + name: meal_plan + type: string + optional: true - entity: sensor icon: "mdi:paw" name: Feed report diff --git a/custom_components/tuya_local/devices/purline_m100_heater.yaml b/custom_components/tuya_local/devices/purline_m100_heater.yaml index 5008fd3c2f..6a10eca867 100644 --- a/custom_components/tuya_local/devices/purline_m100_heater.yaml +++ b/custom_components/tuya_local/devices/purline_m100_heater.yaml @@ -1,64 +1,63 @@ name: Purline Hoti M100 heater -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: preset_mode - conditions: - - dps_val: "off" - value: fan_only - icon: "mdi:fan" - value: "heat" - - id: 2 - name: temperature - type: integer - unit: C - range: - min: 15 - max: 35 - - id: 3 - name: current_temperature - type: integer - - id: 5 - name: preset_mode - type: string - mapping: - - dps_val: "off" - value: none - - dps_val: "1" - value: "1" - - dps_val: "2" - value: "2" - - dps_val: "3" - value: "3" - - dps_val: "4" - value: "4" - - dps_val: "5" - value: "5" - - dps_val: "auto" - value: comfort - - id: 11 - name: timer_hours - type: integer - - id: 12 - name: timer_remain - type: integer - - id: 102 - name: swing_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: "vertical" -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: preset_mode + conditions: + - dps_val: "off" + value: fan_only + icon: "mdi:fan" + value: "heat" + - id: 2 + name: temperature + type: integer + unit: C + range: + min: 15 + max: 35 + - id: 3 + name: current_temperature + type: integer + - id: 5 + name: preset_mode + type: string + mapping: + - dps_val: "off" + value: none + - dps_val: "1" + value: "1" + - dps_val: "2" + value: "2" + - dps_val: "3" + value: "3" + - dps_val: "4" + value: "4" + - dps_val: "5" + value: "5" + - dps_val: "auto" + value: comfort + - id: 11 + name: timer_hours + type: integer + - id: 12 + name: timer_remain + type: integer + - id: 102 + name: swing_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: "vertical" - entity: light translation_key: display category: config diff --git a/custom_components/tuya_local/devices/pv28-cw_airquality_monitor.yaml b/custom_components/tuya_local/devices/pv28-cw_airquality_monitor.yaml index 8b9737ea02..e10b5203ea 100644 --- a/custom_components/tuya_local/devices/pv28-cw_airquality_monitor.yaml +++ b/custom_components/tuya_local/devices/pv28-cw_airquality_monitor.yaml @@ -2,20 +2,19 @@ name: 8 in 1 air quality products: - id: yrr3eiyiacm31ski name: PV28-CW -primary_entity: - entity: sensor - class: carbon_dioxide - dps: - - id: 2 - type: integer - name: sensor - unit: ppm - class: measurement - - id: 103 - name: current_humidity - type: integer - hidden: true -secondary_entities: +entities: + - entity: sensor + class: carbon_dioxide + dps: + - id: 2 + type: integer + name: sensor + unit: ppm + class: measurement + - id: 103 + name: current_humidity + type: integer + hidden: true - entity: binary_sensor name: CO2 levels class: safety diff --git a/custom_components/tuya_local/devices/pziot_e01_energymeter.yaml b/custom_components/tuya_local/devices/pziot_e01_energymeter.yaml index 2e77213d79..dd4110f6d4 100644 --- a/custom_components/tuya_local/devices/pziot_e01_energymeter.yaml +++ b/custom_components/tuya_local/devices/pziot_e01_energymeter.yaml @@ -2,28 +2,27 @@ name: Energy meter # products: # - id: UNKNOWN # name: PZIOT-E01 -primary_entity: - entity: sensor - name: Total energy - class: energy - dps: - - id: 109 - type: integer - name: sensor - unit: kWh - class: total_increasing - mapping: - - scale: 100 - - id: 104 - type: integer - name: unknown_104 - - id: 105 - type: integer - name: unknown_105 - - id: 106 - type: integer - name: unknown_106 -secondary_entities: +entities: + - entity: sensor + name: Total energy + class: energy + dps: + - id: 109 + type: integer + name: sensor + unit: kWh + class: total_increasing + mapping: + - scale: 100 + - id: 104 + type: integer + name: unknown_104 + - id: 105 + type: integer + name: unknown_105 + - id: 106 + type: integer + name: unknown_106 - entity: sensor class: voltage dps: diff --git a/custom_components/tuya_local/devices/qh_gd_elegant_heater.yaml b/custom_components/tuya_local/devices/qh_gd_elegant_heater.yaml index 8afc4172c9..cc3157215a 100644 --- a/custom_components/tuya_local/devices/qh_gd_elegant_heater.yaml +++ b/custom_components/tuya_local/devices/qh_gd_elegant_heater.yaml @@ -2,45 +2,44 @@ name: IR panel heater products: - id: 4iuq3mlns7b2zi7q name: QH-GD Elegant Series -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: heat - - id: 2 - type: integer - name: temperature - unit: C - range: - min: 10 - max: 45 - - id: 3 - type: integer - name: current_temperature - - id: 6 - type: boolean - name: preset_mode - mapping: - - dps_val: false - value: comfort - - dps_val: true - value: eco - - id: 11 - type: string - name: hvac_action - mapping: - - dps_val: heating - value: heating - - dps_val: standby - value: idle -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: heat + - id: 2 + type: integer + name: temperature + unit: C + range: + min: 10 + max: 45 + - id: 3 + type: integer + name: current_temperature + - id: 6 + type: boolean + name: preset_mode + mapping: + - dps_val: false + value: comfort + - dps_val: true + value: eco + - id: 11 + type: string + name: hvac_action + mapping: + - dps_val: heating + value: heating + - dps_val: standby + value: idle - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/qlima_d812_dehumidifier.yaml b/custom_components/tuya_local/devices/qlima_d812_dehumidifier.yaml index 3221f8639e..783cb7afab 100644 --- a/custom_components/tuya_local/devices/qlima_d812_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/qlima_d812_dehumidifier.yaml @@ -2,27 +2,26 @@ name: Dehumidifier products: - id: pxlnsbmh6jdqh35n name: Qlima D812 -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - type: boolean - name: switch - - id: 3 - type: string - name: humidity - mapping: - - dps_val: "30" - value: 30 - - dps_val: "40" - value: 40 - - dps_val: "50" - value: 50 - # not listed in device properties, but exists in device - - dps_val: "60" - value: 60 -secondary_entities: +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + type: boolean + name: switch + - id: 3 + type: string + name: humidity + mapping: + - dps_val: "30" + value: 30 + - dps_val: "40" + value: 40 + - dps_val: "50" + value: 50 + # not listed in device properties, but exists in device + - dps_val: "60" + value: 60 - entity: select translation_key: timer category: config diff --git a/custom_components/tuya_local/devices/qlima_d820a_dehumidifier.yaml b/custom_components/tuya_local/devices/qlima_d820a_dehumidifier.yaml index fb8786793c..1242d984d8 100644 --- a/custom_components/tuya_local/devices/qlima_d820a_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/qlima_d820a_dehumidifier.yaml @@ -2,37 +2,36 @@ name: Dehumidifier products: - id: bfba28a17b4fe4e87aljv2 name: Qlima D820A -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - type: boolean - name: switch - - id: 3 - type: integer - name: humidity - range: - min: 35 - max: 80 - mapping: - - step: 5 - - id: 5 - type: string - name: mode - mapping: - - dps_val: dry_clothes - value: laundry - - dps_val: sleep_mode - value: sleep - - dps_val: manual_dehumidify - value: normal - - dps_val: auto - value: auto - - id: 6 - type: integer - name: current_humidity -secondary_entities: +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + type: boolean + name: switch + - id: 3 + type: integer + name: humidity + range: + min: 35 + max: 80 + mapping: + - step: 5 + - id: 5 + type: string + name: mode + mapping: + - dps_val: dry_clothes + value: laundry + - dps_val: sleep_mode + value: sleep + - dps_val: manual_dehumidify + value: normal + - dps_val: auto + value: auto + - id: 6 + type: integer + name: current_humidity - entity: fan dps: - id: 1 diff --git a/custom_components/tuya_local/devices/qnect_usb_powerstrip.yaml b/custom_components/tuya_local/devices/qnect_usb_powerstrip.yaml index 354e77db08..b4ad456d1a 100644 --- a/custom_components/tuya_local/devices/qnect_usb_powerstrip.yaml +++ b/custom_components/tuya_local/devices/qnect_usb_powerstrip.yaml @@ -2,17 +2,16 @@ name: 3 outlet + USB powerstrip products: - id: ivd9p236skiaqdrk name: Qnect QN-WP03 -primary_entity: - entity: switch - translation_key: outlet_x - translation_placeholders: - x: "1" - class: outlet - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + translation_key: outlet_x + translation_placeholders: + x: "1" + class: outlet + dps: + - id: 1 + type: boolean + name: switch - entity: switch translation_key: outlet_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/qoto_03_sprinkler.yaml b/custom_components/tuya_local/devices/qoto_03_sprinkler.yaml index 43e69ce98b..ebef90b38b 100644 --- a/custom_components/tuya_local/devices/qoto_03_sprinkler.yaml +++ b/custom_components/tuya_local/devices/qoto_03_sprinkler.yaml @@ -1,14 +1,13 @@ name: QOTO 03 sprinkler controller -primary_entity: - entity: valve - class: water - dps: - - id: 102 - type: integer - name: valve - mapping: - - step: 5 -secondary_entities: +entities: + - entity: valve + class: water + dps: + - id: 102 + type: integer + name: valve + mapping: + - step: 5 - entity: number icon: "mdi:pipe-valve" category: config diff --git a/custom_components/tuya_local/devices/qoto_05_water_valve.yaml b/custom_components/tuya_local/devices/qoto_05_water_valve.yaml index 912579781f..a9c0dfcc2b 100644 --- a/custom_components/tuya_local/devices/qoto_05_water_valve.yaml +++ b/custom_components/tuya_local/devices/qoto_05_water_valve.yaml @@ -2,14 +2,13 @@ name: Water valve products: - id: arge1ptm name: QOTO 05 water valve -primary_entity: - entity: valve - class: water - dps: - - id: 2 - type: integer - name: valve -secondary_entities: +entities: + - entity: valve + class: water + dps: + - id: 2 + type: integer + name: valve - entity: number icon: "mdi:pipe-valve" category: config diff --git a/custom_components/tuya_local/devices/qs_c01_curtain.yaml b/custom_components/tuya_local/devices/qs_c01_curtain.yaml index ea5798453f..424cdf3f01 100644 --- a/custom_components/tuya_local/devices/qs_c01_curtain.yaml +++ b/custom_components/tuya_local/devices/qs_c01_curtain.yaml @@ -4,30 +4,29 @@ products: name: QS-WIFI-C01 - id: ol1uhvza name: QS-ZIGBEE-C01 -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: +entities: + - 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 - entity: select name: Motor reverse mode category: config diff --git a/custom_components/tuya_local/devices/quad_power_timer.yaml b/custom_components/tuya_local/devices/quad_power_timer.yaml index e5d7d539d9..d87ab35b46 100644 --- a/custom_components/tuya_local/devices/quad_power_timer.yaml +++ b/custom_components/tuya_local/devices/quad_power_timer.yaml @@ -2,17 +2,16 @@ name: Quad powerstrip products: - id: ckg60n4x6qakegxo name: Pearl Xystec NX-4986-919 4xUSB -primary_entity: - entity: switch - translation_key: outlet_x - translation_placeholders: - x: "1" - class: outlet - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + translation_key: outlet_x + translation_placeholders: + x: "1" + class: outlet + dps: + - id: 1 + type: boolean + name: switch - entity: switch translation_key: outlet_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/quad_powerstrip.yaml b/custom_components/tuya_local/devices/quad_powerstrip.yaml index 5822e21aec..abe266aed5 100644 --- a/custom_components/tuya_local/devices/quad_powerstrip.yaml +++ b/custom_components/tuya_local/devices/quad_powerstrip.yaml @@ -2,25 +2,24 @@ name: Quad powerstrip products: - id: l5gnaxuawkjfquqo name: Kogan KASPS10A3P3UA 3+USB -primary_entity: - entity: switch - translation_key: outlet_x - translation_placeholders: - x: "1" - class: outlet - dps: - - id: 1 - type: boolean - name: switch - - id: 17 - type: integer - name: add_ele - optional: true - - id: 25 - type: integer - name: ele_calibration - optional: true -secondary_entities: +entities: + - entity: switch + translation_key: outlet_x + translation_placeholders: + x: "1" + class: outlet + dps: + - id: 1 + type: boolean + name: switch + - id: 17 + type: integer + name: add_ele + optional: true + - id: 25 + type: integer + name: ele_calibration + optional: true - entity: switch translation_key: outlet_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/quad_powerstrip_usb.yaml b/custom_components/tuya_local/devices/quad_powerstrip_usb.yaml index 440d7ea9bc..3ec558b8ef 100644 --- a/custom_components/tuya_local/devices/quad_powerstrip_usb.yaml +++ b/custom_components/tuya_local/devices/quad_powerstrip_usb.yaml @@ -1,23 +1,22 @@ name: Quad powerstrip with USB -primary_entity: - entity: switch - translation_key: outlet_x - translation_placeholders: - x: "1" - class: outlet - dps: - - id: 1 - type: boolean - name: switch - - id: 17 - type: integer - name: add_ele - optional: true - - id: 25 - type: integer - name: ele_calibration - optional: true -secondary_entities: +entities: + - entity: switch + translation_key: outlet_x + translation_placeholders: + x: "1" + class: outlet + dps: + - id: 1 + type: boolean + name: switch + - id: 17 + type: integer + name: add_ele + optional: true + - id: 25 + type: integer + name: ele_calibration + optional: true - entity: switch translation_key: outlet_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/rainpoint_water_timer.yaml b/custom_components/tuya_local/devices/rainpoint_water_timer.yaml index 4e04e65e1f..3b475739fc 100644 --- a/custom_components/tuya_local/devices/rainpoint_water_timer.yaml +++ b/custom_components/tuya_local/devices/rainpoint_water_timer.yaml @@ -2,20 +2,19 @@ name: Water timer products: - id: ew946yrp3pgbaziu name: RainPoint TTV103FRF -primary_entity: - entity: valve - class: water - icon: "mdi:watering-can" - dps: - - id: 108 - type: boolean - name: valve - mapping: - - dps_val: true - value: false - - dps_val: false - value: true -secondary_entities: +entities: + - entity: valve + class: water + icon: "mdi:watering-can" + dps: + - id: 108 + type: boolean + name: valve + mapping: + - dps_val: true + value: false + - dps_val: false + value: true - entity: switch name: Automatic irrigation category: config diff --git a/custom_components/tuya_local/devices/raykube_a1promax_lock.yaml b/custom_components/tuya_local/devices/raykube_a1promax_lock.yaml index 601cf74b1a..197d90d482 100644 --- a/custom_components/tuya_local/devices/raykube_a1promax_lock.yaml +++ b/custom_components/tuya_local/devices/raykube_a1promax_lock.yaml @@ -2,81 +2,80 @@ name: Door lock products: - id: rlyxv7pe name: Raykube A1 Pro Max -primary_entity: - entity: lock - dps: - - id: 1 - type: string - optional: true - name: unlock_method_create - - id: 2 - type: string - optional: true - name: unlock_method_delete - - id: 3 - type: string - optional: true - name: unlock_method_modify - - id: 16 - type: integer - optional: true - persist: false - name: unlock_key - - id: 19 - type: integer - optional: true - persist: false - name: unlock_ble - - id: 20 - type: string - optional: true - name: lock_record - - id: 46 - type: boolean - name: lock - - id: 47 - type: boolean - name: open - readonly: true - - id: 54 - type: string - optional: true - name: sync_method - - id: 61 - type: string - optional: true - name: remote_no_dp_key - - id: 62 - type: integer - optional: true - persist: false - name: unlock_app - - id: 63 - type: integer - optional: true - persist: false - name: unlock_voice - - id: 69 - type: string - optional: true - name: record - - id: 70 - type: string - optional: true - name: check_code_set - - id: 71 - type: string - optional: true - name: ble_unlock_check - - id: 72 - type: string - optional: true - name: unlock_record_check - - id: 73 - type: string - optional: true - name: remote_pd_setkey_check -secondary_entities: +entities: + - entity: lock + dps: + - id: 1 + type: string + optional: true + name: unlock_method_create + - id: 2 + type: string + optional: true + name: unlock_method_delete + - id: 3 + type: string + optional: true + name: unlock_method_modify + - id: 16 + type: integer + optional: true + persist: false + name: unlock_key + - id: 19 + type: integer + optional: true + persist: false + name: unlock_ble + - id: 20 + type: string + optional: true + name: lock_record + - id: 46 + type: boolean + name: lock + - id: 47 + type: boolean + name: open + readonly: true + - id: 54 + type: string + optional: true + name: sync_method + - id: 61 + type: string + optional: true + name: remote_no_dp_key + - id: 62 + type: integer + optional: true + persist: false + name: unlock_app + - id: 63 + type: integer + optional: true + persist: false + name: unlock_voice + - id: 69 + type: string + optional: true + name: record + - id: 70 + type: string + optional: true + name: check_code_set + - id: 71 + type: string + optional: true + name: ble_unlock_check + - id: 72 + type: string + optional: true + name: unlock_record_check + - id: 73 + type: string + optional: true + name: remote_pd_setkey_check - entity: sensor class: battery category: diagnostic diff --git a/custom_components/tuya_local/devices/reiga_ceiling_fan.yaml b/custom_components/tuya_local/devices/reiga_ceiling_fan.yaml index 79bd99b454..c2cc3ad329 100644 --- a/custom_components/tuya_local/devices/reiga_ceiling_fan.yaml +++ b/custom_components/tuya_local/devices/reiga_ceiling_fan.yaml @@ -2,33 +2,32 @@ name: Ceiling Fan products: - id: aktxh7558udrex8a name: Reiga Smart Ceiling Fan -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - type: string - name: preset_mode - mapping: - - dps_val: normal - value: normal - - dps_val: nature - value: nature - - dps_val: sleep - value: sleep - - id: 3 - type: integer - name: speed - range: - min: 1 - max: 6 - - id: 8 - type: string - name: direction -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + type: string + name: preset_mode + mapping: + - dps_val: normal + value: normal + - dps_val: nature + value: nature + - dps_val: sleep + value: sleep + - id: 3 + type: integer + name: speed + range: + min: 1 + max: 6 + - id: 8 + type: string + name: direction - entity: select translation_key: timer category: config diff --git a/custom_components/tuya_local/devices/relay_switch_remote.yaml b/custom_components/tuya_local/devices/relay_switch_remote.yaml index 90f2f75235..dda56bab79 100644 --- a/custom_components/tuya_local/devices/relay_switch_remote.yaml +++ b/custom_components/tuya_local/devices/relay_switch_remote.yaml @@ -4,27 +4,26 @@ products: name: 1-433 - id: fugkn1vkc53nvo1s name: 1 Gang WiFi Smart Relay -primary_entity: - entity: switch - dps: - - id: 1 - type: boolean - name: switch - - id: 42 - type: string - name: random_time - - id: 43 - type: string - name: cycle_time - - id: 49 - name: add_remote - type: string - optional: true - - id: 50 - name: list_remote - type: string - optional: true -secondary_entities: +entities: + - entity: switch + dps: + - id: 1 + type: boolean + name: switch + - id: 42 + type: string + name: random_time + - id: 43 + type: string + name: cycle_time + - id: 49 + name: add_remote + type: string + optional: true + - id: 50 + name: list_remote + type: string + optional: true - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/remora_heatpump.yaml b/custom_components/tuya_local/devices/remora_heatpump.yaml index dd4d7bb0f5..13db75a934 100644 --- a/custom_components/tuya_local/devices/remora_heatpump.yaml +++ b/custom_components/tuya_local/devices/remora_heatpump.yaml @@ -1,47 +1,46 @@ name: Remora pool heatpump -primary_entity: - entity: climate - translation_only_key: pool_heatpump - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - icon: "mdi:hvac-off" - icon_priority: 1 - - dps_val: true - value: "heat" - icon: "mdi:hot-tub" - icon_priority: 3 - - id: 2 - name: temperature - type: integer - unit: C - range: - min: 5 - max: 40 - - id: 3 - name: current_temperature - type: integer - - id: 4 - name: preset_mode - type: string - mapping: - - dps_val: heat - value: smart_heat - - dps_val: h_powerful - value: quick_heat - - dps_val: h_silent - value: quiet_heat - - dps_val: cool - value: smart_cool - - dps_val: c_powerful - value: quick_cool - - dps_val: c_silent - value: quiet_cool -secondary_entities: +entities: + - entity: climate + translation_only_key: pool_heatpump + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + icon: "mdi:hvac-off" + icon_priority: 1 + - dps_val: true + value: "heat" + icon: "mdi:hot-tub" + icon_priority: 3 + - id: 2 + name: temperature + type: integer + unit: C + range: + min: 5 + max: 40 + - id: 3 + name: current_temperature + type: integer + - id: 4 + name: preset_mode + type: string + mapping: + - dps_val: heat + value: smart_heat + - dps_val: h_powerful + value: quick_heat + - dps_val: h_silent + value: quiet_heat + - dps_val: cool + value: smart_cool + - dps_val: c_powerful + value: quick_cool + - dps_val: c_silent + value: quiet_cool - entity: binary_sensor name: Water flow class: problem diff --git a/custom_components/tuya_local/devices/renpho_rp_ap001s.yaml b/custom_components/tuya_local/devices/renpho_rp_ap001s.yaml index 0ffdc43999..8b865c4162 100644 --- a/custom_components/tuya_local/devices/renpho_rp_ap001s.yaml +++ b/custom_components/tuya_local/devices/renpho_rp_ap001s.yaml @@ -1,45 +1,45 @@ -name: Renpho RP-AP001S purifier +name: Air purifier products: - id: oaleouzsq0sk4quk -primary_entity: - entity: fan - icon: "mdi:air-purifier" - translation_only_key: fan_with_presets - dps: - - id: 1 - name: switch - type: boolean - - id: 4 - name: preset_mode - type: string - mapping: - - dps_val: low - value: sleep - - dps_val: mid - value: fresh - - dps_val: high - value: strong - - dps_val: auto - value: smart - - id: 19 - name: timer - type: string - - id: 22 - name: air_quality - type: string - - id: 102 - name: prefilter_life - type: integer - - id: 103 - name: charcoal_filter_life - type: integer - - id: 104 - name: activated_charcoal_filter_life - type: integer - - id: 105 - name: hepa_filter_life - type: integer -secondary_entities: + name: Renpho RP-AP001S +entities: + - entity: fan + icon: "mdi:air-purifier" + translation_only_key: fan_with_presets + dps: + - id: 1 + name: switch + type: boolean + - id: 4 + name: preset_mode + type: string + mapping: + - dps_val: low + value: sleep + - dps_val: mid + value: fresh + - dps_val: high + value: strong + - dps_val: auto + value: smart + - id: 19 + name: timer + type: string + - id: 22 + name: air_quality + type: string + - id: 102 + name: prefilter_life + type: integer + - id: 103 + name: charcoal_filter_life + type: integer + - id: 104 + name: activated_charcoal_filter_life + type: integer + - id: 105 + name: hepa_filter_life + type: integer - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/rgb_led_strip.yaml b/custom_components/tuya_local/devices/rgb_led_strip.yaml index 7afaba458a..941ad0f22f 100644 --- a/custom_components/tuya_local/devices/rgb_led_strip.yaml +++ b/custom_components/tuya_local/devices/rgb_led_strip.yaml @@ -9,48 +9,47 @@ products: name: Panamalar Sunset lamp - id: whomcoylqdl8r4jw name: Nince RGB LED strip -primary_entity: - entity: light - dps: - - id: 20 - type: boolean - name: switch - - id: 21 - type: string - name: effect - optional: true - mapping: - - dps_val: white - value: white - hidden: true - - dps_val: colour - value: "off" - - dps_val: scene - value: Scene - - dps_val: null - value: "off" - hidden: true - - id: 24 - type: hex - name: rgbhsv - optional: true - format: - - name: h - bytes: 2 - range: - min: 0 - max: 360 - - name: s - bytes: 2 - range: - min: 0 - max: 1000 - - name: v - bytes: 2 - range: - min: 0 - max: 1000 -secondary_entities: +entities: + - entity: light + dps: + - id: 20 + type: boolean + name: switch + - id: 21 + type: string + name: effect + optional: true + mapping: + - dps_val: white + value: white + hidden: true + - dps_val: colour + value: "off" + - dps_val: scene + value: Scene + - dps_val: null + value: "off" + hidden: true + - id: 24 + type: hex + name: rgbhsv + optional: true + format: + - name: h + bytes: 2 + range: + min: 0 + max: 360 + - name: s + bytes: 2 + range: + min: 0 + max: 1000 + - name: v + bytes: 2 + range: + min: 0 + max: 1000 - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/rgb_light_bar.yaml b/custom_components/tuya_local/devices/rgb_light_bar.yaml index ac06a9c08c..35b4e9ac97 100644 --- a/custom_components/tuya_local/devices/rgb_light_bar.yaml +++ b/custom_components/tuya_local/devices/rgb_light_bar.yaml @@ -2,58 +2,57 @@ name: RGB light products: - id: kteusapswadn9pf5 name: Ambient light bar -primary_entity: - entity: light - dps: - - id: 20 - type: boolean - name: switch - - id: 21 - name: effect - type: string - mapping: - - dps_val: colour - value: RGB - - dps_val: scene - value: Scene - - dps_val: music - value: Music - - id: 24 - name: rgbhsv - type: hex - format: - - name: h - bytes: 2 - range: - min: 0 - max: 360 - - name: s - bytes: 2 - range: - min: 0 - max: 1000 - - name: v - bytes: 2 - range: - min: 0 - max: 1000 - - id: 27 - type: string - name: music_data - optional: true - - id: 51 - type: string - name: dreamlight_scene - optional: true - - id: 52 - type: string - name: dreamlight_music_data - optional: true - - id: 101 - type: string - name: dreeamscene_data - optional: true -secondary_entities: +entities: + - entity: light + dps: + - id: 20 + type: boolean + name: switch + - id: 21 + name: effect + type: string + mapping: + - dps_val: colour + value: RGB + - dps_val: scene + value: Scene + - dps_val: music + value: Music + - id: 24 + name: rgbhsv + type: hex + format: + - name: h + bytes: 2 + range: + min: 0 + max: 360 + - name: s + bytes: 2 + range: + min: 0 + max: 1000 + - name: v + bytes: 2 + range: + min: 0 + max: 1000 + - id: 27 + type: string + name: music_data + optional: true + - id: 51 + type: string + name: dreamlight_scene + optional: true + - id: 52 + type: string + name: dreamlight_music_data + optional: true + - id: 101 + type: string + name: dreeamscene_data + optional: true - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/rgb_nightlight_outlet.yaml b/custom_components/tuya_local/devices/rgb_nightlight_outlet.yaml index c00046e48b..e2a092a817 100644 --- a/custom_components/tuya_local/devices/rgb_nightlight_outlet.yaml +++ b/custom_components/tuya_local/devices/rgb_nightlight_outlet.yaml @@ -1,12 +1,11 @@ name: Scenario light socket -primary_entity: - entity: switch - class: outlet - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + class: outlet + dps: + - id: 1 + type: boolean + name: switch - entity: light translation_key: nightlight dps: diff --git a/custom_components/tuya_local/devices/rgbcw_lightbulb.yaml b/custom_components/tuya_local/devices/rgbcw_lightbulb.yaml index a3bb02d91a..2ca479b58f 100644 --- a/custom_components/tuya_local/devices/rgbcw_lightbulb.yaml +++ b/custom_components/tuya_local/devices/rgbcw_lightbulb.yaml @@ -14,90 +14,89 @@ products: name: Genio Smart WIFI bulb A60 RGB+CCT - id: gshkqhi4fx9qqwrr name: ANWIO BR30 WiFi Smart LED Bulb RGB+CCT 13W -primary_entity: - entity: light - dps: - - id: 20 - type: boolean - name: switch - - id: 21 - type: string - name: color_mode - mapping: - - dps_val: white - value: color_temp - - dps_val: colour - value: hs - - dps_val: scene - value: Scene - - dps_val: music - value: Music - - id: 22 - name: brightness - type: integer - optional: true - range: - min: 10 - max: 1000 - mapping: - - dps_val: null - value: 0 - - id: 23 - name: color_temp - type: integer - optional: true - range: - min: 0 - max: 1000 - mapping: - - target_range: - min: 2700 - max: 6500 - - id: 24 - name: rgbhsv - type: hex - optional: true - format: - - name: h - bytes: 2 - range: - min: 0 - max: 360 - - name: s - bytes: 2 - range: - min: 0 - max: 1000 - - name: v - bytes: 2 - range: - min: 0 - max: 1000 - - id: 25 - name: scene_data - type: hex - optional: true - - id: 27 - name: music_data - type: hex - optional: true - - id: 28 - name: control_data - type: hex - optional: true - - id: 30 - name: rhythm_mode - type: base64 - optional: true - - id: 31 - name: sleep_mode - type: base64 - optional: true - - id: 32 - name: wakeup_mode - type: base64 - optional: true -secondary_entities: +entities: + - entity: light + dps: + - id: 20 + type: boolean + name: switch + - id: 21 + type: string + name: color_mode + mapping: + - dps_val: white + value: color_temp + - dps_val: colour + value: hs + - dps_val: scene + value: Scene + - dps_val: music + value: Music + - id: 22 + name: brightness + type: integer + optional: true + range: + min: 10 + max: 1000 + mapping: + - dps_val: null + value: 0 + - id: 23 + name: color_temp + type: integer + optional: true + range: + min: 0 + max: 1000 + mapping: + - target_range: + min: 2700 + max: 6500 + - id: 24 + name: rgbhsv + type: hex + optional: true + format: + - name: h + bytes: 2 + range: + min: 0 + max: 360 + - name: s + bytes: 2 + range: + min: 0 + max: 1000 + - name: v + bytes: 2 + range: + min: 0 + max: 1000 + - id: 25 + name: scene_data + type: hex + optional: true + - id: 27 + name: music_data + type: hex + optional: true + - id: 28 + name: control_data + type: hex + optional: true + - id: 30 + name: rhythm_mode + type: base64 + optional: true + - id: 31 + name: sleep_mode + type: base64 + optional: true + - id: 32 + name: wakeup_mode + type: base64 + optional: true - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/rgbcw_lightbulb_xld_cl002.yaml b/custom_components/tuya_local/devices/rgbcw_lightbulb_xld_cl002.yaml index 06c84277ca..884d9df6eb 100755 --- a/custom_components/tuya_local/devices/rgbcw_lightbulb_xld_cl002.yaml +++ b/custom_components/tuya_local/devices/rgbcw_lightbulb_xld_cl002.yaml @@ -2,90 +2,89 @@ name: RGBCW Lightbulb products: - id: bfde31c920bcaa323azft2 name: Xinled XLD-CL002 -primary_entity: - entity: light - dps: - - id: 20 - type: boolean - name: switch - - id: 21 - type: string - name: color_mode - mapping: - - dps_val: white - value: color_temp - - dps_val: colour - value: hs - - dps_val: scene - value: Scene - - dps_val: music - value: Music - - id: 22 - name: brightness - type: integer - optional: true - range: - min: 10 - max: 1000 - mapping: - - dps_val: null - value: 0 - - id: 23 - name: color_temp - type: integer - optional: true - range: - min: 0 - max: 1000 - mapping: - - target_range: - min: 2700 - max: 6500 - - id: 24 - name: rgbhsv - type: hex - optional: true - format: - - name: h - bytes: 2 - range: - min: 0 - max: 360 - - name: s - bytes: 2 - range: - min: 0 - max: 1000 - - name: v - bytes: 2 - range: - min: 0 - max: 1000 - - id: 25 - name: scene_data - type: hex - optional: true - - id: 27 - name: music_data - type: hex - optional: true - - id: 28 - name: control_data - type: hex - optional: true - - id: 30 - name: rhythm_mode - type: base64 - optional: true - - id: 31 - name: sleep_mode - type: base64 - optional: true - - id: 32 - name: wakeup_mode - type: base64 - optional: true -secondary_entities: +entities: + - entity: light + dps: + - id: 20 + type: boolean + name: switch + - id: 21 + type: string + name: color_mode + mapping: + - dps_val: white + value: color_temp + - dps_val: colour + value: hs + - dps_val: scene + value: Scene + - dps_val: music + value: Music + - id: 22 + name: brightness + type: integer + optional: true + range: + min: 10 + max: 1000 + mapping: + - dps_val: null + value: 0 + - id: 23 + name: color_temp + type: integer + optional: true + range: + min: 0 + max: 1000 + mapping: + - target_range: + min: 2700 + max: 6500 + - id: 24 + name: rgbhsv + type: hex + optional: true + format: + - name: h + bytes: 2 + range: + min: 0 + max: 360 + - name: s + bytes: 2 + range: + min: 0 + max: 1000 + - name: v + bytes: 2 + range: + min: 0 + max: 1000 + - id: 25 + name: scene_data + type: hex + optional: true + - id: 27 + name: music_data + type: hex + optional: true + - id: 28 + name: control_data + type: hex + optional: true + - id: 30 + name: rhythm_mode + type: base64 + optional: true + - id: 31 + name: sleep_mode + type: base64 + optional: true + - id: 32 + name: wakeup_mode + type: base64 + optional: true - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/rgbcw_lightbulbv2.yaml b/custom_components/tuya_local/devices/rgbcw_lightbulbv2.yaml index 749da4d785..0cb6c03cfe 100644 --- a/custom_components/tuya_local/devices/rgbcw_lightbulbv2.yaml +++ b/custom_components/tuya_local/devices/rgbcw_lightbulbv2.yaml @@ -2,73 +2,73 @@ name: RGBCW lightbulb products: - id: bqkefojbmb8ovvws name: A60 RGBW smart bulb -primary_entity: - entity: light - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - name: color_mode - type: string - mapping: - - dps_val: white - value: color_temp - - dps_val: colour - value: hs - - id: 3 - name: brightness - type: integer - range: - min: 25 - max: 255 - - id: 4 - name: color_temp - type: integer - range: - min: 0 - max: 255 - mapping: - - target_range: - min: 2700 - max: 6500 - - id: 5 - name: rgbhsv - type: hex - 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 - - id: 6 - name: scene - type: hex - - id: 7 - name: flash_scene1 - type: hex - - id: 8 - name: flash_scene2 - type: hex - - id: 9 - name: flash_scene3 - type: hex - - id: 10 - name: flash_scene4 - type: hex +entities: + - entity: light + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + name: color_mode + type: string + mapping: + - dps_val: white + value: color_temp + - dps_val: colour + value: hs + - id: 3 + name: brightness + type: integer + range: + min: 25 + max: 255 + - id: 4 + name: color_temp + type: integer + range: + min: 0 + max: 255 + mapping: + - target_range: + min: 2700 + max: 6500 + - id: 5 + name: rgbhsv + type: hex + 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 + - id: 6 + name: scene + type: hex + - id: 7 + name: flash_scene1 + type: hex + - id: 8 + name: flash_scene2 + type: hex + - id: 9 + name: flash_scene3 + type: hex + - id: 10 + name: flash_scene4 + type: hex diff --git a/custom_components/tuya_local/devices/rgbw_lightbulb.yaml b/custom_components/tuya_local/devices/rgbw_lightbulb.yaml index e688547b20..3b54218e6e 100644 --- a/custom_components/tuya_local/devices/rgbw_lightbulb.yaml +++ b/custom_components/tuya_local/devices/rgbw_lightbulb.yaml @@ -4,68 +4,68 @@ products: name: Merkury BW904 Smart Bulb - id: p2i2oapbnxftdukj name: Merkury BW904 Smart Bulb -primary_entity: - entity: light - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - name: color_mode - type: string - mapping: - - dps_val: white - value: white - - dps_val: colour - value: hs - - id: 3 - name: brightness - type: integer - range: - min: 25 - max: 255 - - id: 5 - name: rgbhsv - type: hex - 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 - - id: 6 - name: scene - type: hex - optional: true - - id: 7 - name: flash_scene1 - type: hex - optional: true - - id: 8 - name: flash_scene2 - type: hex - optional: true - - id: 9 - name: flash_scene3 - type: hex - optional: true - - id: 10 - name: flash_scene4 - type: hex - optional: true +entities: + - entity: light + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + name: color_mode + type: string + mapping: + - dps_val: white + value: white + - dps_val: colour + value: hs + - id: 3 + name: brightness + type: integer + range: + min: 25 + max: 255 + - id: 5 + name: rgbhsv + type: hex + 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 + - id: 6 + name: scene + type: hex + optional: true + - id: 7 + name: flash_scene1 + type: hex + optional: true + - id: 8 + name: flash_scene2 + type: hex + optional: true + - id: 9 + name: flash_scene3 + type: hex + optional: true + - id: 10 + name: flash_scene4 + type: hex + optional: true diff --git a/custom_components/tuya_local/devices/rgbw_lightbulbv2.yaml b/custom_components/tuya_local/devices/rgbw_lightbulbv2.yaml index e283c1da37..4fc4927279 100644 --- a/custom_components/tuya_local/devices/rgbw_lightbulbv2.yaml +++ b/custom_components/tuya_local/devices/rgbw_lightbulbv2.yaml @@ -1,62 +1,61 @@ name: RGBW lightbulb products: - id: dik6z7of4nailf94 -primary_entity: - entity: light - dps: - - id: 20 - type: boolean - name: switch - - id: 21 - name: color_mode - type: string - mapping: - - dps_val: white - value: white - - dps_val: colour - value: hs - - dps_val: scene - value: Scene - - dps_val: music - value: Music - - id: 22 - name: brightness - type: integer - range: - min: 10 - max: 1000 - - id: 24 - name: rgbhsv - type: hex - format: - - name: h - bytes: 2 - range: - min: 0 - max: 360 - - name: s - bytes: 2 - range: - min: 0 - max: 1000 - - name: v - bytes: 2 - range: - min: 0 - max: 1000 - - id: 25 - name: scene - type: string - optional: true - - id: 27 - name: music - type: string - optional: true - - id: 28 - name: control_data - type: string - optional: true -secondary_entities: +entities: + - entity: light + dps: + - id: 20 + type: boolean + name: switch + - id: 21 + name: color_mode + type: string + mapping: + - dps_val: white + value: white + - dps_val: colour + value: hs + - dps_val: scene + value: Scene + - dps_val: music + value: Music + - id: 22 + name: brightness + type: integer + range: + min: 10 + max: 1000 + - id: 24 + name: rgbhsv + type: hex + format: + - name: h + bytes: 2 + range: + min: 0 + max: 360 + - name: s + bytes: 2 + range: + min: 0 + max: 1000 + - name: v + bytes: 2 + range: + min: 0 + max: 1000 + - id: 25 + name: scene + type: string + optional: true + - id: 27 + name: music + type: string + optional: true + - id: 28 + name: control_data + type: string + optional: true - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/rgbww_lightbulb.yaml b/custom_components/tuya_local/devices/rgbww_lightbulb.yaml index 5063bae5cc..81dba48342 100644 --- a/custom_components/tuya_local/devices/rgbww_lightbulb.yaml +++ b/custom_components/tuya_local/devices/rgbww_lightbulb.yaml @@ -5,85 +5,85 @@ products: name: A60 RGB 1800-2700K light - id: 8cr0olwf9sphi0u4 name: Feit RGB Light Bulb -primary_entity: - entity: light - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - type: string - name: color_mode - optional: true - mapping: - - dps_val: white - value: color_temp - - dps_val: colour - value: hs - - dps_val: null - value: color_temp - hidden: true - - id: 3 - type: integer - name: brightness - optional: true - range: - min: 25 - max: 255 - - id: 4 - type: integer - optional: true - name: color_temp - range: - min: 0 - max: 255 - mapping: - - target_range: - min: 1800 - max: 2700 - - id: 5 - type: hex - name: rgbhsv - optional: true - 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 - - id: 6 - type: string - name: scene_data - optional: true - - id: 7 - type: string - name: flash_scene_1 - optional: true - - id: 8 - type: string - name: flash_scene_2 - optional: true - - id: 9 - type: string - name: flash_scene_3 - optional: true - - id: 10 - type: string - name: flash_scene_4 - optional: true +entities: + - entity: light + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + type: string + name: color_mode + optional: true + mapping: + - dps_val: white + value: color_temp + - dps_val: colour + value: hs + - dps_val: null + value: color_temp + hidden: true + - id: 3 + type: integer + name: brightness + optional: true + range: + min: 25 + max: 255 + - id: 4 + type: integer + optional: true + name: color_temp + range: + min: 0 + max: 255 + mapping: + - target_range: + min: 1800 + max: 2700 + - id: 5 + type: hex + name: rgbhsv + optional: true + 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 + - id: 6 + type: string + name: scene_data + optional: true + - id: 7 + type: string + name: flash_scene_1 + optional: true + - id: 8 + type: string + name: flash_scene_2 + optional: true + - id: 9 + type: string + name: flash_scene_3 + optional: true + - id: 10 + type: string + name: flash_scene_4 + optional: true diff --git a/custom_components/tuya_local/devices/richelieu_undercabinet_lighting_pucks.yaml b/custom_components/tuya_local/devices/richelieu_undercabinet_lighting_pucks.yaml index bf2bb64d1d..f7a9d9dc98 100644 --- a/custom_components/tuya_local/devices/richelieu_undercabinet_lighting_pucks.yaml +++ b/custom_components/tuya_local/devices/richelieu_undercabinet_lighting_pucks.yaml @@ -2,149 +2,149 @@ name: Accent lighting products: - id: bau7S9LJYvPgynWc name: Richelieu tunable white LED puck light (166142030) -primary_entity: - entity: light - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - type: string - name: effect - # "current" is default or can set "scene_[1-18]" to use that scene - mapping: - - dps_val: current - value: "off" - - dps_val: "scene_1" - value: Scene 1 - - dps_val: "scene_2" - value: Scene 2 - - dps_val: "scene_3" - value: Scene 3 - - dps_val: "scene_4" - value: Scene 4 - - dps_val: "scene_5" - value: Scene 5 - - dps_val: "scene_6" - value: Scene 6 - - dps_val: "scene_7" - value: Scene 7 - - dps_val: "scene_8" - value: Scene 8 - - dps_val: "scene_9" - value: Scene 9 - - dps_val: "scene_10" - value: Scene 10 - - dps_val: "scene_11" - value: Scene 11 - - dps_val: "scene_12" - value: Scene 12 - - dps_val: "scene_13" - value: Scene 13 - - dps_val: "scene_14" - value: Scene 14 - - dps_val: "scene_15" - value: Scene 15 - - dps_val: "scene_16" - value: Scene 16 - - dps_val: "scene_17" - value: Scene 17 - - dps_val: "scene_18" - value: Scene 18 - - id: 3 - name: brightness - type: integer - unit: "%" - range: - min: 1 - max: 100 - - id: 4 - name: color_temp - type: integer - range: - min: 0 - max: 100 - mapping: - - target_range: - min: 3000 - max: 5000 - - id: 101 - name: selected_scene_to_delete - type: string - mapping: - - dps_val: "scene_1" - value: Scene 1 - - dps_val: "scene_2" - value: Scene 2 - - dps_val: "scene_3" - value: Scene 3 - - dps_val: "scene_4" - value: Scene 4 - - dps_val: "scene_5" - value: Scene 5 - - dps_val: "scene_6" - value: Scene 6 - - dps_val: "scene_7" - value: Scene 7 - - dps_val: "scene_8" - value: Scene 8 - - dps_val: "scene_9" - value: Scene 9 - - dps_val: "scene_10" - value: Scene 10 - - dps_val: "scene_11" - value: Scene 11 - - dps_val: "scene_12" - value: Scene 12 - - dps_val: "scene_13" - value: Scene 13 - - dps_val: "scene_14" - value: Scene 14 - - dps_val: "scene_15" - value: Scene 15 - - dps_val: "scene_16" - value: Scene 16 - - dps_val: "scene_17" - value: Scene 17 - - dps_val: "scene_18" - value: Scene 18 - - id: 102 - name: selected_scene_to_add - type: string - mapping: - - dps_val: "scene_1" - value: Scene 1 - - dps_val: "scene_2" - value: Scene 2 - - dps_val: "scene_3" - value: Scene 3 - - dps_val: "scene_4" - value: Scene 4 - - dps_val: "scene_5" - value: Scene 5 - - dps_val: "scene_6" - value: Scene 6 - - dps_val: "scene_7" - value: Scene 7 - - dps_val: "scene_8" - value: Scene 8 - - dps_val: "scene_9" - value: Scene 9 - - dps_val: "scene_10" - value: Scene 10 - - dps_val: "scene_11" - value: Scene 11 - - dps_val: "scene_12" - value: Scene 12 - - dps_val: "scene_13" - value: Scene 13 - - dps_val: "scene_14" - value: Scene 14 - - dps_val: "scene_15" - value: Scene 15 - - dps_val: "scene_16" - value: Scene 16 - - dps_val: "scene_17" - value: Scene 17 - - dps_val: "scene_18" - value: Scene 18 +entities: + - entity: light + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + type: string + name: effect + # "current" is default or can set "scene_[1-18]" to use that scene + mapping: + - dps_val: current + value: "off" + - dps_val: "scene_1" + value: Scene 1 + - dps_val: "scene_2" + value: Scene 2 + - dps_val: "scene_3" + value: Scene 3 + - dps_val: "scene_4" + value: Scene 4 + - dps_val: "scene_5" + value: Scene 5 + - dps_val: "scene_6" + value: Scene 6 + - dps_val: "scene_7" + value: Scene 7 + - dps_val: "scene_8" + value: Scene 8 + - dps_val: "scene_9" + value: Scene 9 + - dps_val: "scene_10" + value: Scene 10 + - dps_val: "scene_11" + value: Scene 11 + - dps_val: "scene_12" + value: Scene 12 + - dps_val: "scene_13" + value: Scene 13 + - dps_val: "scene_14" + value: Scene 14 + - dps_val: "scene_15" + value: Scene 15 + - dps_val: "scene_16" + value: Scene 16 + - dps_val: "scene_17" + value: Scene 17 + - dps_val: "scene_18" + value: Scene 18 + - id: 3 + name: brightness + type: integer + unit: "%" + range: + min: 1 + max: 100 + - id: 4 + name: color_temp + type: integer + range: + min: 0 + max: 100 + mapping: + - target_range: + min: 3000 + max: 5000 + - id: 101 + name: selected_scene_to_delete + type: string + mapping: + - dps_val: "scene_1" + value: Scene 1 + - dps_val: "scene_2" + value: Scene 2 + - dps_val: "scene_3" + value: Scene 3 + - dps_val: "scene_4" + value: Scene 4 + - dps_val: "scene_5" + value: Scene 5 + - dps_val: "scene_6" + value: Scene 6 + - dps_val: "scene_7" + value: Scene 7 + - dps_val: "scene_8" + value: Scene 8 + - dps_val: "scene_9" + value: Scene 9 + - dps_val: "scene_10" + value: Scene 10 + - dps_val: "scene_11" + value: Scene 11 + - dps_val: "scene_12" + value: Scene 12 + - dps_val: "scene_13" + value: Scene 13 + - dps_val: "scene_14" + value: Scene 14 + - dps_val: "scene_15" + value: Scene 15 + - dps_val: "scene_16" + value: Scene 16 + - dps_val: "scene_17" + value: Scene 17 + - dps_val: "scene_18" + value: Scene 18 + - id: 102 + name: selected_scene_to_add + type: string + mapping: + - dps_val: "scene_1" + value: Scene 1 + - dps_val: "scene_2" + value: Scene 2 + - dps_val: "scene_3" + value: Scene 3 + - dps_val: "scene_4" + value: Scene 4 + - dps_val: "scene_5" + value: Scene 5 + - dps_val: "scene_6" + value: Scene 6 + - dps_val: "scene_7" + value: Scene 7 + - dps_val: "scene_8" + value: Scene 8 + - dps_val: "scene_9" + value: Scene 9 + - dps_val: "scene_10" + value: Scene 10 + - dps_val: "scene_11" + value: Scene 11 + - dps_val: "scene_12" + value: Scene 12 + - dps_val: "scene_13" + value: Scene 13 + - dps_val: "scene_14" + value: Scene 14 + - dps_val: "scene_15" + value: Scene 15 + - dps_val: "scene_16" + value: Scene 16 + - dps_val: "scene_17" + value: Scene 17 + - dps_val: "scene_18" + value: Scene 18 diff --git a/custom_components/tuya_local/devices/rinkmo_d2_vacuum.yaml b/custom_components/tuya_local/devices/rinkmo_d2_vacuum.yaml index d0104880cd..79dcb0ab9b 100644 --- a/custom_components/tuya_local/devices/rinkmo_d2_vacuum.yaml +++ b/custom_components/tuya_local/devices/rinkmo_d2_vacuum.yaml @@ -1,69 +1,68 @@ -name: Rinkmo vacuum +name: Robot vacuum products: - id: lq0g9hpampbedce0 name: Rinkmo D2 -primary_entity: - entity: vacuum - dps: - - id: 2 - name: activate - type: boolean - - id: 3 - name: command - type: string - mapping: - - dps_val: standby - value: stop - - dps_val: smart - value: smart - - dps_val: wall_follow - value: wall_follow - - dps_val: spiral - value: clean_spot - - dps_val: chargego - value: return_to_base - - id: 4 - type: string - name: direction_control - mapping: - - dps_val: forward - value: forward - - dps_val: backward - value: reverse - - dps_val: turn_left - value: left - - dps_val: turnn_right - value: right - - dps_val: stop - value: stop - - id: 5 - type: string - name: status - mapping: - - dps_val: standby - value: standby - - dps_val: smart_clean - value: cleaning - - dps_val: wall_clean - value: cleaning - - dps_val: spot_clean - value: cleaning - - dps_val: goto_charge - value: returning - - dps_val: charging - value: charging - - dps_val: charge_done - value: standby - - dps_val: paused - value: paused - - id: 13 - type: boolean - name: locate - - id: 18 - type: bitfield - name: error - hidden: true -secondary_entities: +entities: + - entity: vacuum + dps: + - id: 2 + name: activate + type: boolean + - id: 3 + name: command + type: string + mapping: + - dps_val: standby + value: stop + - dps_val: smart + value: smart + - dps_val: wall_follow + value: wall_follow + - dps_val: spiral + value: clean_spot + - dps_val: chargego + value: return_to_base + - id: 4 + type: string + name: direction_control + mapping: + - dps_val: forward + value: forward + - dps_val: backward + value: reverse + - dps_val: turn_left + value: left + - dps_val: turnn_right + value: right + - dps_val: stop + value: stop + - id: 5 + type: string + name: status + mapping: + - dps_val: standby + value: standby + - dps_val: smart_clean + value: cleaning + - dps_val: wall_clean + value: cleaning + - dps_val: spot_clean + value: cleaning + - dps_val: goto_charge + value: returning + - dps_val: charging + value: charging + - dps_val: charge_done + value: standby + - dps_val: paused + value: paused + - id: 13 + type: boolean + name: locate + - id: 18 + type: bitfield + name: error + hidden: true - entity: sensor class: battery dps: diff --git a/custom_components/tuya_local/devices/rl_video_lock.yaml b/custom_components/tuya_local/devices/rl_video_lock.yaml index 69671d0e1c..47dcf13d7d 100644 --- a/custom_components/tuya_local/devices/rl_video_lock.yaml +++ b/custom_components/tuya_local/devices/rl_video_lock.yaml @@ -1,24 +1,23 @@ name: Video intercom -primary_entity: - entity: camera - dps: - - id: 150 - name: record - type: boolean - optional: true - mapping: - - dps_val: null - value: false - - id: 154 - name: snapshot - type: base64 - optional: true - sensitive: true - - id: 191 - name: smart_action - type: string - optional: true -secondary_entities: +entities: + - entity: camera + dps: + - id: 150 + name: record + type: boolean + optional: true + mapping: + - dps_val: null + value: false + - id: 154 + name: snapshot + type: base64 + optional: true + sensitive: true + - id: 191 + name: smart_action + type: string + optional: true - entity: lock name: Lock 1 dps: diff --git a/custom_components/tuya_local/devices/rojeco_pet_feeder.yaml b/custom_components/tuya_local/devices/rojeco_pet_feeder.yaml index ac2dec6181..e44a788e24 100644 --- a/custom_components/tuya_local/devices/rojeco_pet_feeder.yaml +++ b/custom_components/tuya_local/devices/rojeco_pet_feeder.yaml @@ -2,16 +2,15 @@ name: Pet feeder products: - id: hbiwalfrzqfzv2cq name: Rojeco PTM-001 -primary_entity: - entity: button - icon: "mdi:food-drumstick" - name: Quick feed - dps: - - id: 2 - type: boolean - name: button - optional: true -secondary_entities: +entities: + - entity: button + icon: "mdi:food-drumstick" + name: Quick feed + dps: + - id: 2 + type: boolean + name: button + optional: true - entity: sensor icon: "mdi:paw" name: Last amount diff --git a/custom_components/tuya_local/devices/rojeco_pet_feeder_ptm001_4l_single.yaml b/custom_components/tuya_local/devices/rojeco_pet_feeder_ptm001_4l_single.yaml index b3383c48b6..5d14f3534c 100644 --- a/custom_components/tuya_local/devices/rojeco_pet_feeder_ptm001_4l_single.yaml +++ b/custom_components/tuya_local/devices/rojeco_pet_feeder_ptm001_4l_single.yaml @@ -2,16 +2,15 @@ name: Pet feeder products: - id: opnbfbjlnpdjwior name: Rojeco PTM-001 4L Single Bowl -primary_entity: - entity: button - icon: "mdi:food-drumstick" - name: Quick feed - dps: - - id: 12 - type: boolean - name: button - optional: true -secondary_entities: +entities: + - entity: button + icon: "mdi:food-drumstick" + name: Quick feed + dps: + - id: 12 + type: boolean + name: button + optional: true - entity: sensor icon: "mdi:paw" name: Last amount diff --git a/custom_components/tuya_local/devices/rotenso_ronix_heatpump.yaml b/custom_components/tuya_local/devices/rotenso_ronix_heatpump.yaml index 1df5a7fe5c..69cc4ca45e 100644 --- a/custom_components/tuya_local/devices/rotenso_ronix_heatpump.yaml +++ b/custom_components/tuya_local/devices/rotenso_ronix_heatpump.yaml @@ -2,106 +2,105 @@ name: Air conditioner products: - id: hw50w7qvxluhslkk name: Rotenso Roni X -primary_entity: - entity: climate - translation_only_key: aircon_extra - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: cold - value: cool - - dps_val: hot - value: heat - - dps_val: wet - value: dry - - dps_val: wind - value: fan_only - - dps_val: auto - value: heat_cool - - id: 2 - type: integer - name: temperature - unit: C - range: - min: 160 - max: 310 - mapping: - - scale: 10 - step: 10 - - id: 3 - type: integer - name: current_temperature - - id: 4 - type: string - name: mode - hidden: true - - id: 5 - type: string - name: fan_mode - mapping: - - dps_val: "strong" - value: strong - - dps_val: "high" - value: high - - dps_val: "mid_high" - value: medhigh - - dps_val: "mid" - value: medium - - dps_val: "mid_low" - value: medlow - - dps_val: "low" - value: low - - dps_val: "mute" - value: quiet - - dps_val: "auto" - value: auto - - id: 18 - type: integer - name: current_humidity - - id: 110 - type: bitfield - name: flags - - id: 113 - type: string - name: swing_mode - mapping: - - dps_val: "0" - value: "off" - - dps_val: "1" - value: "on" - - hidden: true - value: "on" - - id: 114 - type: string - name: swing_horizontal_mode - mapping: - - dps_val: "0" - value: "off" - - dps_val: "1" - value: "on" - - value: "on" - hidden: true - - id: 120 - type: string - name: energy - - id: 123 - type: hex - name: flags_2 - - id: 125 - type: string - name: air_quality - optional: true - - id: 132 - type: boolean - name: hot_cool -secondary_entities: +entities: + - entity: climate + translation_only_key: aircon_extra + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: cold + value: cool + - dps_val: hot + value: heat + - dps_val: wet + value: dry + - dps_val: wind + value: fan_only + - dps_val: auto + value: heat_cool + - id: 2 + type: integer + name: temperature + unit: C + range: + min: 160 + max: 310 + mapping: + - scale: 10 + step: 10 + - id: 3 + type: integer + name: current_temperature + - id: 4 + type: string + name: mode + hidden: true + - id: 5 + type: string + name: fan_mode + mapping: + - dps_val: "strong" + value: strong + - dps_val: "high" + value: high + - dps_val: "mid_high" + value: medhigh + - dps_val: "mid" + value: medium + - dps_val: "mid_low" + value: medlow + - dps_val: "low" + value: low + - dps_val: "mute" + value: quiet + - dps_val: "auto" + value: auto + - id: 18 + type: integer + name: current_humidity + - id: 110 + type: bitfield + name: flags + - id: 113 + type: string + name: swing_mode + mapping: + - dps_val: "0" + value: "off" + - dps_val: "1" + value: "on" + - hidden: true + value: "on" + - id: 114 + type: string + name: swing_horizontal_mode + mapping: + - dps_val: "0" + value: "off" + - dps_val: "1" + value: "on" + - value: "on" + hidden: true + - id: 120 + type: string + name: energy + - id: 123 + type: hex + name: flags_2 + - id: 125 + type: string + name: air_quality + optional: true + - id: 132 + type: boolean + name: hot_cool - entity: select name: Sleep category: config diff --git a/custom_components/tuya_local/devices/royal_airconditioner.yaml b/custom_components/tuya_local/devices/royal_airconditioner.yaml index ea0c4a3261..c255968933 100644 --- a/custom_components/tuya_local/devices/royal_airconditioner.yaml +++ b/custom_components/tuya_local/devices/royal_airconditioner.yaml @@ -3,95 +3,94 @@ legacy_type: rotenso_ronir35wi_heatpump products: - id: 2si3Y6O3K2rK9XBr name: Royal Sovereign RSAI-12SA mini split AC -primary_entity: - entity: climate - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: auto - value: heat_cool - - dps_val: cold - value: cool - - dps_val: wind - value: fan_only - - dps_val: wet - value: dry - - dps_val: hot - value: heat - - id: 2 - name: temperature - type: integer - range: - min: 16 - max: 31 - - id: 3 - name: current_temperature - type: integer - - id: 4 - name: mode - type: string - hidden: true - - id: 5 - name: fan_mode - type: string - mapping: - - dps_val: "0" - value: auto - - dps_val: "3" - value: low - - dps_val: "2" - value: medium - - dps_val: "1" - value: high - - id: 8 - name: preset_mode_eco - type: boolean - hidden: true - - id: 102 - name: preset_mode - type: boolean - mapping: - - dps_val: true - value: boost - - dps_val: false - constraint: preset_mode_eco - conditions: - - dps_val: true - value: eco - - dps_val: false - value: comfort - - id: 104 - name: swing_mode - type: boolean - mapping: - - dps_val: true - value: "on" - - dps_val: false - value: "off" - - id: 105 - name: swing_horizontal_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: "on" - - id: 103 - name: temperature_unit - type: boolean - mapping: - - dps_val: true - value: "F" - - dps_val: false - value: "C" -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: auto + value: heat_cool + - dps_val: cold + value: cool + - dps_val: wind + value: fan_only + - dps_val: wet + value: dry + - dps_val: hot + value: heat + - id: 2 + name: temperature + type: integer + range: + min: 16 + max: 31 + - id: 3 + name: current_temperature + type: integer + - id: 4 + name: mode + type: string + hidden: true + - id: 5 + name: fan_mode + type: string + mapping: + - dps_val: "0" + value: auto + - dps_val: "3" + value: low + - dps_val: "2" + value: medium + - dps_val: "1" + value: high + - id: 8 + name: preset_mode_eco + type: boolean + hidden: true + - id: 102 + name: preset_mode + type: boolean + mapping: + - dps_val: true + value: boost + - dps_val: false + constraint: preset_mode_eco + conditions: + - dps_val: true + value: eco + - dps_val: false + value: comfort + - id: 104 + name: swing_mode + type: boolean + mapping: + - dps_val: true + value: "on" + - dps_val: false + value: "off" + - id: 105 + name: swing_horizontal_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: "on" + - id: 103 + name: temperature_unit + type: boolean + mapping: + - dps_val: true + value: "F" + - dps_val: false + value: "C" - entity: select translation_key: temperature_unit category: config diff --git a/custom_components/tuya_local/devices/royalclima_fresh_climate.yaml b/custom_components/tuya_local/devices/royalclima_fresh_climate.yaml index 52a2eae1da..3baa138bde 100644 --- a/custom_components/tuya_local/devices/royalclima_fresh_climate.yaml +++ b/custom_components/tuya_local/devices/royalclima_fresh_climate.yaml @@ -2,121 +2,120 @@ name: Air conditioner products: - id: mcnywzjlugvvvnjj name: Royal fresh full inverter -primary_entity: - entity: climate - translation_key: aircon_extra - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: cold - value: cool - - dps_val: hot - value: heat - - dps_val: wet - value: dry - - dps_val: wind - value: fan_only - - dps_val: auto - value: heat_cool - - id: 2 - type: integer - name: temperature - range: - min: 160 - max: 880 - mapping: - - scale: 10 - step: 5 - unit: C - - id: 3 - name: current_temperature - type: integer - - id: 4 - type: string - name: mode - hidden: true - - id: 5 - type: string - name: fan_mode - mapping: - - dps_val: auto - value: auto - - dps_val: mute - value: quiet - - dps_val: low - value: low - - dps_val: mid_low - value: medlow - - dps_val: mid - value: medium - - dps_val: mid_high - value: medhigh - - dps_val: high - value: high - - dps_val: strong - value: strong - - id: 110 - type: bitfield - name: flags - - id: 113 - type: string - name: swing_mode - mapping: - - dps_val: "0" - value: "off" - - dps_val: "1" - value: "on" - - value: "on" - hidden: true - - id: 114 - type: string - name: swing_horizontal_mode - mapping: - - dps_val: "0" - value: "off" - - dps_val: "1" - value: "on" - - value: "on" - hidden: true - - id: 119 - type: string - name: electricity_management - - id: 120 - type: string - name: gen_mode - - id: 123 - type: hex - name: flags_2 - - id: 125 - type: string - name: air_quality - optional: true - - id: 128 - type: string - name: model_code - - id: 129 - type: string - name: energy - - id: 130 - type: integer - name: eco_temp - - id: 132 - type: boolean - name: hot_cool - - id: 133 - type: string - name: swing_action - - id: 134 - type: json - name: statistics -secondary_entities: +entities: + - entity: climate + translation_key: aircon_extra + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: cold + value: cool + - dps_val: hot + value: heat + - dps_val: wet + value: dry + - dps_val: wind + value: fan_only + - dps_val: auto + value: heat_cool + - id: 2 + type: integer + name: temperature + range: + min: 160 + max: 880 + mapping: + - scale: 10 + step: 5 + unit: C + - id: 3 + name: current_temperature + type: integer + - id: 4 + type: string + name: mode + hidden: true + - id: 5 + type: string + name: fan_mode + mapping: + - dps_val: auto + value: auto + - dps_val: mute + value: quiet + - dps_val: low + value: low + - dps_val: mid_low + value: medlow + - dps_val: mid + value: medium + - dps_val: mid_high + value: medhigh + - dps_val: high + value: high + - dps_val: strong + value: strong + - id: 110 + type: bitfield + name: flags + - id: 113 + type: string + name: swing_mode + mapping: + - dps_val: "0" + value: "off" + - dps_val: "1" + value: "on" + - value: "on" + hidden: true + - id: 114 + type: string + name: swing_horizontal_mode + mapping: + - dps_val: "0" + value: "off" + - dps_val: "1" + value: "on" + - value: "on" + hidden: true + - id: 119 + type: string + name: electricity_management + - id: 120 + type: string + name: gen_mode + - id: 123 + type: hex + name: flags_2 + - id: 125 + type: string + name: air_quality + optional: true + - id: 128 + type: string + name: model_code + - id: 129 + type: string + name: energy + - id: 130 + type: integer + name: eco_temp + - id: 132 + type: boolean + name: hot_cool + - id: 133 + type: string + name: swing_action + - id: 134 + type: json + name: statistics - entity: select name: Ventilation dps: diff --git a/custom_components/tuya_local/devices/royalclima_rcb150_ventilation.yaml b/custom_components/tuya_local/devices/royalclima_rcb150_ventilation.yaml index d6214be1bf..a7bdc3d043 100644 --- a/custom_components/tuya_local/devices/royalclima_rcb150_ventilation.yaml +++ b/custom_components/tuya_local/devices/royalclima_rcb150_ventilation.yaml @@ -2,46 +2,45 @@ name: Ventilation system products: - id: qcgxajmb0sdg608j name: Royal Clima RCB 150 -primary_entity: - entity: fan - translation_only_key: ventilation - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - name: preset_mode - type: string - mapping: - - dps_val: Air_Supply - value: fresh - - dps_val: Recirculation - value: circulate - - dps_val: Sleep - value: sleep - - dps_val: Auto - value: auto - - dps_val: Eco - value: eco - - dps_val: Anti_Condensation - value: anti-condensation - - id: 12 - name: speed - type: string - mapping: - - dps_val: "1" - value: 17 - - dps_val: "2" - value: 33 - - dps_val: "3" - value: 50 - - dps_val: "4" - value: 67 - - dps_val: "5" - value: 83 - - dps_val: "6" - value: 100 -secondary_entities: +entities: + - entity: fan + translation_only_key: ventilation + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + name: preset_mode + type: string + mapping: + - dps_val: Air_Supply + value: fresh + - dps_val: Recirculation + value: circulate + - dps_val: Sleep + value: sleep + - dps_val: Auto + value: auto + - dps_val: Eco + value: eco + - dps_val: Anti_Condensation + value: anti-condensation + - id: 12 + name: speed + type: string + mapping: + - dps_val: "1" + value: 17 + - dps_val: "2" + value: 33 + - dps_val: "3" + value: 50 + - dps_val: "4" + value: 67 + - dps_val: "5" + value: 83 + - dps_val: "6" + value: 100 - entity: sensor class: pm25 dps: diff --git a/custom_components/tuya_local/devices/rse_tywfh301_gate.yaml b/custom_components/tuya_local/devices/rse_tywfh301_gate.yaml index b16d251368..ba0b7e6e3a 100644 --- a/custom_components/tuya_local/devices/rse_tywfh301_gate.yaml +++ b/custom_components/tuya_local/devices/rse_tywfh301_gate.yaml @@ -2,23 +2,22 @@ name: Gate controller products: - id: q4tn6xb10zncammj name: Home Gate NI800z/NI600z -primary_entity: - entity: button - name: Open - icon: "mdi:gate-open" - dps: - - id: 101 - type: boolean - name: button - optional: true - - id: 107 - type: boolean - name: locked - optional: true - mapping: - - dps_val: null - value: false -secondary_entities: +entities: + - entity: button + name: Open + icon: "mdi:gate-open" + dps: + - id: 101 + type: boolean + name: button + optional: true + - id: 107 + type: boolean + name: locked + optional: true + mapping: + - dps_val: null + value: false - entity: button name: Close icon: "mdi:gate" diff --git a/custom_components/tuya_local/devices/rtcz03_presencesensor.yaml b/custom_components/tuya_local/devices/rtcz03_presencesensor.yaml index 93cfac9285..06243f8b50 100644 --- a/custom_components/tuya_local/devices/rtcz03_presencesensor.yaml +++ b/custom_components/tuya_local/devices/rtcz03_presencesensor.yaml @@ -2,31 +2,30 @@ name: Human presence detector products: - id: e833v6jexwfkjrij name: RTCZ-03 human presence sensor -primary_entity: - entity: binary_sensor - class: occupancy - dps: - - id: 1 - type: string - name: sensor - mapping: - - dps_val: peaceful - value: false - - dps_val: presence - value: true - - dps_val: small_move - value: true - - dps_val: large_move - value: true - - dps_val: none - value: false - - id: 1 - type: string - name: raw_state - - id: 120 - type: string - name: debug -secondary_entities: +entities: + - entity: binary_sensor + class: occupancy + dps: + - id: 1 + type: string + name: sensor + mapping: + - dps_val: peaceful + value: false + - dps_val: presence + value: true + - dps_val: small_move + value: true + - dps_val: large_move + value: true + - dps_val: none + value: false + - id: 1 + type: string + name: raw_state + - id: 120 + type: string + name: debug - entity: binary_sensor class: motion dps: diff --git a/custom_components/tuya_local/devices/rumba_bathroom_heater.yaml b/custom_components/tuya_local/devices/rumba_bathroom_heater.yaml index c8b75d3f1d..b935406c94 100644 --- a/custom_components/tuya_local/devices/rumba_bathroom_heater.yaml +++ b/custom_components/tuya_local/devices/rumba_bathroom_heater.yaml @@ -1,48 +1,47 @@ name: Bathroom heater -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: heat - - id: 2 - name: preset_mode - type: string - mapping: - - dps_val: hot - value: comfort - - dps_val: eco - value: eco - - dps_val: cold - value: away - - dps_val: auto - value: home - - id: 16 - name: temperature - type: integer - unit: C - range: - min: 150 - max: 700 - mapping: - - scale: 10 - step: 5 - - id: 24 - name: current_temperature - type: integer - mapping: - - scale: 10 - - id: 110 - name: schedule - type: string - optional: true -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: heat + - id: 2 + name: preset_mode + type: string + mapping: + - dps_val: hot + value: comfort + - dps_val: eco + value: eco + - dps_val: cold + value: away + - dps_val: auto + value: home + - id: 16 + name: temperature + type: integer + unit: C + range: + min: 150 + max: 700 + mapping: + - scale: 10 + step: 5 + - id: 24 + name: current_temperature + type: integer + mapping: + - scale: 10 + - id: 110 + name: schedule + type: string + optional: true - entity: number name: Temperature correction category: config diff --git a/custom_components/tuya_local/devices/rztk_aqua_pro_wifi_humidifier.yaml b/custom_components/tuya_local/devices/rztk_aqua_pro_wifi_humidifier.yaml index 266e586962..4ab0cc279a 100644 --- a/custom_components/tuya_local/devices/rztk_aqua_pro_wifi_humidifier.yaml +++ b/custom_components/tuya_local/devices/rztk_aqua_pro_wifi_humidifier.yaml @@ -2,41 +2,40 @@ name: Humidifier products: - id: g7qj4zfr2rq5meak name: Aqua Pro Wifi -primary_entity: - entity: humidifier - class: humidifier - dps: - - id: 1 - name: switch - type: boolean - - id: 14 - name: current_humidity - type: integer - - id: 101 - name: humidity - type: string - mapping: - - dps_val: cancel - value: 0 - - dps_val: 40 - value: 40 - - dps_val: 45 - value: 45 - - dps_val: 50 - value: 50 - - dps_val: 55 - value: 55 - - dps_val: 60 - value: 60 - - dps_val: 65 - value: 65 - - dps_val: 70 - value: 70 - - dps_val: 75 - value: 75 - - dps_val: 80 - value: 80 -secondary_entities: +entities: + - entity: humidifier + class: humidifier + dps: + - id: 1 + name: switch + type: boolean + - id: 14 + name: current_humidity + type: integer + - id: 101 + name: humidity + type: string + mapping: + - dps_val: cancel + value: 0 + - dps_val: 40 + value: 40 + - dps_val: 45 + value: 45 + - dps_val: 50 + value: 50 + - dps_val: 55 + value: 55 + - dps_val: 60 + value: 60 + - dps_val: 65 + value: 65 + - dps_val: 70 + value: 70 + - dps_val: 75 + value: 75 + - dps_val: 80 + value: 80 - entity: switch translation_key: uv_sterilization category: config diff --git a/custom_components/tuya_local/devices/s11_rfir_remote.yaml b/custom_components/tuya_local/devices/s11_rfir_remote.yaml index 94930a1e0f..a58c883f40 100644 --- a/custom_components/tuya_local/devices/s11_rfir_remote.yaml +++ b/custom_components/tuya_local/devices/s11_rfir_remote.yaml @@ -7,31 +7,31 @@ products: name: Moes RF/IR remote - id: 0gawnyfgyneswent name: IR Controller Pro -primary_entity: - entity: remote - dps: - - id: 201 - name: send - type: string - optional: true - - id: 202 - name: receive - type: string - optional: true - persist: false - - id: 1 - type: string - name: scene_1 - optional: true - - id: 2 - type: string - optional: true - name: scene_2 - - id: 3 - type: string - optional: true - name: scene_3 - - id: 4 - type: string - optional: true - name: scene_4 +entities: + - entity: remote + dps: + - id: 201 + name: send + type: string + optional: true + - id: 202 + name: receive + type: string + optional: true + persist: false + - id: 1 + type: string + name: scene_1 + optional: true + - id: 2 + type: string + optional: true + name: scene_2 + - id: 3 + type: string + optional: true + name: scene_3 + - id: 4 + type: string + optional: true + name: scene_4 diff --git a/custom_components/tuya_local/devices/salcar_t9w_thermostat.yaml b/custom_components/tuya_local/devices/salcar_t9w_thermostat.yaml index 0f0468d5d6..b58eb26ad7 100644 --- a/custom_components/tuya_local/devices/salcar_t9w_thermostat.yaml +++ b/custom_components/tuya_local/devices/salcar_t9w_thermostat.yaml @@ -1,65 +1,64 @@ name: Salcar T9W thermostat -primary_entity: - entity: climate - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: auto - value: auto - - dps_val: manual - value: heat - - id: 2 - name: mode - type: string - hidden: true - - id: 16 - name: temperature - type: integer - range: - min: 50 - max: 10000 - mapping: - - scale: 10 - step: 5 - - id: 19 - name: max_temperature - type: integer - mapping: - - scale: 10 - - id: 23 - name: temperature_unit - type: string - mapping: - - dps_val: c - value: C - - dps_val: f - value: F - - id: 24 - name: current_temperature - type: integer - mapping: - - scale: 10 - - id: 26 - name: min_temperature - type: integer - mapping: - - scale: 10 - - id: 36 - name: hvac_action - type: string - mapping: - - dps_val: open - value: heating - - dps_val: close - value: idle -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: auto + value: auto + - dps_val: manual + value: heat + - id: 2 + name: mode + type: string + hidden: true + - id: 16 + name: temperature + type: integer + range: + min: 50 + max: 10000 + mapping: + - scale: 10 + step: 5 + - id: 19 + name: max_temperature + type: integer + mapping: + - scale: 10 + - id: 23 + name: temperature_unit + type: string + mapping: + - dps_val: c + value: C + - dps_val: f + value: F + - id: 24 + name: current_temperature + type: integer + mapping: + - scale: 10 + - id: 26 + name: min_temperature + type: integer + mapping: + - scale: 10 + - id: 36 + name: hvac_action + type: string + mapping: + - dps_val: open + value: heating + - dps_val: close + value: idle - entity: switch translation_key: anti_frost category: config diff --git a/custom_components/tuya_local/devices/sanden_gaua45hpd_heatpumpcontroller.yaml b/custom_components/tuya_local/devices/sanden_gaua45hpd_heatpumpcontroller.yaml index 42552d9fd2..257b1227ac 100644 --- a/custom_components/tuya_local/devices/sanden_gaua45hpd_heatpumpcontroller.yaml +++ b/custom_components/tuya_local/devices/sanden_gaua45hpd_heatpumpcontroller.yaml @@ -2,62 +2,61 @@ name: Water heater products: - id: ssqd7htb3tbhxqvk name: Sanden GAU-A45HP heat pump controller -primary_entity: - entity: water_heater - dps: - - id: 101 - type: boolean - name: boost_mode - - id: 103 - type: boolean - name: operation_mode - mapping: - - dps_val: false - value: "off" - - constraint: boost_mode - conditions: - - dps_val: true - value: high_demand - - dps_val: false - value: heat_pump - - id: 119 - type: integer - name: current_temperature - unit: C - - id: 139 - type: string - name: tank_model - - id: 140 - type: string - name: heatpump_serial_number - - id: 142 - type: string - name: tank_serial_number - - id: 143 - type: string - name: installation_date - - id: 144 - type: string - name: post_code - - id: 145 - type: string - name: service_date_1 - - id: 146 - type: string - name: service_date_2 - - id: 147 - type: string - name: service_date_3 - - id: 150 - type: string - name: service_error_1 - - id: 151 - type: string - name: service_error_2 - - id: 152 - type: string - name: service_error_3 -secondary_entities: +entities: + - entity: water_heater + dps: + - id: 101 + type: boolean + name: boost_mode + - id: 103 + type: boolean + name: operation_mode + mapping: + - dps_val: false + value: "off" + - constraint: boost_mode + conditions: + - dps_val: true + value: high_demand + - dps_val: false + value: heat_pump + - id: 119 + type: integer + name: current_temperature + unit: C + - id: 139 + type: string + name: tank_model + - id: 140 + type: string + name: heatpump_serial_number + - id: 142 + type: string + name: tank_serial_number + - id: 143 + type: string + name: installation_date + - id: 144 + type: string + name: post_code + - id: 145 + type: string + name: service_date_1 + - id: 146 + type: string + name: service_date_2 + - id: 147 + type: string + name: service_date_3 + - id: 150 + type: string + name: service_error_1 + - id: 151 + type: string + name: service_error_2 + - id: 152 + type: string + name: service_error_3 - entity: switch name: Air purge icon: "mdi:pipe-valve" diff --git a/custom_components/tuya_local/devices/saswell_c16_thermostat.yaml b/custom_components/tuya_local/devices/saswell_c16_thermostat.yaml index b4793c2422..ecdd852451 100644 --- a/custom_components/tuya_local/devices/saswell_c16_thermostat.yaml +++ b/custom_components/tuya_local/devices/saswell_c16_thermostat.yaml @@ -3,88 +3,87 @@ legacy_type: thermoval_tvt40_thermostat products: - id: jIRwsT5yLPJO41Po name: Thermoval TVT 40 / Saswell C16 -primary_entity: - entity: climate - translation_only_key: thermostat - dps: - - id: 2 - name: temperature - type: integer - unit: C - range: - min: 50 - max: 400 - mapping: - - scale: 10 - step: 5 - - id: 3 - name: preset_mode - type: string - mapping: - - dps_val: Smart - value: program - - dps_val: Anti_frozen - value: away - - dps_val: Manual - value: manual - - id: 5 - name: current_temperature - type: integer - mapping: - - scale: 10 - constraint: sensor_select - conditions: - - dps_val: "0" - value_redirect: floor_temperature - - id: 6 - name: floor_temp_limit - type: integer - mapping: - - scale: 10 - - id: 7 - name: installation - type: boolean - mapping: - - dps_val: true - value: Office - - dps_val: false - value: Home - - id: 8 - name: floor_temperature - type: integer - mapping: - - scale: 10 - hidden: true - - id: 9 - name: hvac_mode - type: boolean - readonly: true - mapping: - - dps_val: false - value: "heat" - - dps_val: true - value: "cool" - - id: 10 - name: adaptive - type: boolean - - id: 12 - name: schedule - type: string - - id: 24 - name: hvac_action - type: string - mapping: - - dps_val: Standby - value: idle - - dps_val: Heating - value: heating - - dps_val: Cooling - value: cooling - - id: 26 - name: antifreeze_settings - optional: true - type: integer -secondary_entities: +entities: + - entity: climate + translation_only_key: thermostat + dps: + - id: 2 + name: temperature + type: integer + unit: C + range: + min: 50 + max: 400 + mapping: + - scale: 10 + step: 5 + - id: 3 + name: preset_mode + type: string + mapping: + - dps_val: Smart + value: program + - dps_val: Anti_frozen + value: away + - dps_val: Manual + value: manual + - id: 5 + name: current_temperature + type: integer + mapping: + - scale: 10 + constraint: sensor_select + conditions: + - dps_val: "0" + value_redirect: floor_temperature + - id: 6 + name: floor_temp_limit + type: integer + mapping: + - scale: 10 + - id: 7 + name: installation + type: boolean + mapping: + - dps_val: true + value: Office + - dps_val: false + value: Home + - id: 8 + name: floor_temperature + type: integer + mapping: + - scale: 10 + hidden: true + - id: 9 + name: hvac_mode + type: boolean + readonly: true + mapping: + - dps_val: false + value: "heat" + - dps_val: true + value: "cool" + - id: 10 + name: adaptive + type: boolean + - id: 12 + name: schedule + type: string + - id: 24 + name: hvac_action + type: string + mapping: + - dps_val: Standby + value: idle + - dps_val: Heating + value: heating + - dps_val: Cooling + value: cooling + - id: 26 + name: antifreeze_settings + optional: true + type: integer - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/saswell_t29utk_thermostat.yaml b/custom_components/tuya_local/devices/saswell_t29utk_thermostat.yaml index a3d513a60d..451eac552b 100644 --- a/custom_components/tuya_local/devices/saswell_t29utk_thermostat.yaml +++ b/custom_components/tuya_local/devices/saswell_t29utk_thermostat.yaml @@ -1,132 +1,131 @@ name: Saswell T29UTK-7-S-(TY) thermostat -primary_entity: - entity: climate - translation_only_key: thermostat - dps: - - id: 1 - name: power - type: boolean - - id: 2 - name: temperature - type: integer - range: - min: 50 - max: 350 - mapping: - - scale: 10 - step: 5 - constraint: temperature_unit - conditions: - - dps_val: "F" - step: 10 - range: - min: 410 - max: 950 - - id: 3 - name: current_temperature - type: integer - mapping: - - scale: 10 - - id: 4 - name: hvac_mode - type: string - mapping: - - dps_val: cold - value: cool - icon: "mdi:thermometer-minus" - constraint: configuration - conditions: - - dps_val: "2" - invalid: true - - dps_val: hot - value: heat - icon: "mdi:thermometer-plus" - constraint: configuration - conditions: - - dps_val: "1" - invalid: true - - dps_val: "off" - value: "off" - icon: "mdi:thermometer-off" - - id: 5 - name: fan_mode - type: string - mapping: - - dps_val: auto - value: auto - - dps_val: "on" - value: "on" - - id: 19 - name: temperature_unit - type: string - mapping: - - dps_val: F - value: F - - dps_val: C - value: C - - id: 101 - name: preset_mode - type: boolean - mapping: - - dps_val: true - value: away - - dps_val: false - constraint: program - conditions: - - dps_val: true - value: program - - dps_val: false - value: manual - - id: 102 - name: program - type: boolean - hidden: true - - id: 103 - name: hvac_action - type: string - mapping: - - dps_val: cold - constraint: power - conditions: - - dps_val: false - value: "off" - - dps_val: true - value: cooling - - dps_val: hot - constraint: power - conditions: - - dps_val: false - value: "off" - - dps_val: true - value: heating - - id: 112 - name: configuration - type: string - mapping: - - dps_val: "1" - value: "cooling" - - dps_val: "2" - value: "heating" - - dps_val: "3" - value: "heat/cool" - - dps_val: "5" - value: "heatpump" - - id: 113 - name: unknown_113 - type: integer - - id: 114 - name: temperature_c - type: integer - - id: 115 - name: current_temperature_c - type: integer - - id: 116 - name: temperature_f - type: integer - - id: 117 - name: current_temperature_f - type: integer -secondary_entities: +entities: + - entity: climate + translation_only_key: thermostat + dps: + - id: 1 + name: power + type: boolean + - id: 2 + name: temperature + type: integer + range: + min: 50 + max: 350 + mapping: + - scale: 10 + step: 5 + constraint: temperature_unit + conditions: + - dps_val: "F" + step: 10 + range: + min: 410 + max: 950 + - id: 3 + name: current_temperature + type: integer + mapping: + - scale: 10 + - id: 4 + name: hvac_mode + type: string + mapping: + - dps_val: cold + value: cool + icon: "mdi:thermometer-minus" + constraint: configuration + conditions: + - dps_val: "2" + invalid: true + - dps_val: hot + value: heat + icon: "mdi:thermometer-plus" + constraint: configuration + conditions: + - dps_val: "1" + invalid: true + - dps_val: "off" + value: "off" + icon: "mdi:thermometer-off" + - id: 5 + name: fan_mode + type: string + mapping: + - dps_val: auto + value: auto + - dps_val: "on" + value: "on" + - id: 19 + name: temperature_unit + type: string + mapping: + - dps_val: F + value: F + - dps_val: C + value: C + - id: 101 + name: preset_mode + type: boolean + mapping: + - dps_val: true + value: away + - dps_val: false + constraint: program + conditions: + - dps_val: true + value: program + - dps_val: false + value: manual + - id: 102 + name: program + type: boolean + hidden: true + - id: 103 + name: hvac_action + type: string + mapping: + - dps_val: cold + constraint: power + conditions: + - dps_val: false + value: "off" + - dps_val: true + value: cooling + - dps_val: hot + constraint: power + conditions: + - dps_val: false + value: "off" + - dps_val: true + value: heating + - id: 112 + name: configuration + type: string + mapping: + - dps_val: "1" + value: "cooling" + - dps_val: "2" + value: "heating" + - dps_val: "3" + value: "heat/cool" + - dps_val: "5" + value: "heatpump" + - id: 113 + name: unknown_113 + type: integer + - id: 114 + name: temperature_c + type: integer + - id: 115 + name: current_temperature_c + type: integer + - id: 116 + name: temperature_f + type: integer + - id: 117 + name: current_temperature_f + type: integer - entity: select translation_key: temperature_unit category: config diff --git a/custom_components/tuya_local/devices/sboardiii_weigand_lock.yaml b/custom_components/tuya_local/devices/sboardiii_weigand_lock.yaml index 13645a5fbe..638560dd0b 100644 --- a/custom_components/tuya_local/devices/sboardiii_weigand_lock.yaml +++ b/custom_components/tuya_local/devices/sboardiii_weigand_lock.yaml @@ -2,92 +2,91 @@ name: Door access products: - id: 5k8h97qska6pf5cm name: Sboard III mini Wiegand access control interface -primary_entity: - entity: lock - dps: - - id: 1 - type: string - optional: true - name: unlock_method_create - - id: 2 - type: string - optional: true - name: unlock_method_delete - - id: 3 - type: string - optional: true - name: unlock_method_modify - - id: 4 - type: string - optional: true - name: sync_method - - id: 5 - type: string - optional: true - name: tmp_passwd_create - - id: 6 - type: string - optional: true - name: tmp_passwd_delete - - id: 7 - type: string - optional: true - name: tmp_passwd_modify - - id: 8 - type: string - optional: true - name: remote_no_pd_setkey - - id: 9 - type: string - optional: true - name: remote_no_dp_key - - id: 10 - type: string - optional: true - persist: false - name: unlock_fingerprint - - id: 11 - type: string - optional: true - persist: false - name: unlock_password - - id: 12 - type: string - optional: true - persist: false - name: unlock_card - - id: 16 - type: string - optional: true - persist: false - name: unlock_temp_pwd - - id: 17 - type: string - optional: true - persist: false - name: unlock_dynamic_pwd - - id: 22 - type: string - optional: true - persist: false - name: unlock_app - - id: 23 - type: string - optional: true - name: alarm_records - - id: 35 - type: string - optional: true - name: closed_open_state - - id: 38 - type: string - optional: true - name: alarm_channel - - id: 39 - type: string - optional: true - name: alarm_lifted -secondary_entities: +entities: + - entity: lock + dps: + - id: 1 + type: string + optional: true + name: unlock_method_create + - id: 2 + type: string + optional: true + name: unlock_method_delete + - id: 3 + type: string + optional: true + name: unlock_method_modify + - id: 4 + type: string + optional: true + name: sync_method + - id: 5 + type: string + optional: true + name: tmp_passwd_create + - id: 6 + type: string + optional: true + name: tmp_passwd_delete + - id: 7 + type: string + optional: true + name: tmp_passwd_modify + - id: 8 + type: string + optional: true + name: remote_no_pd_setkey + - id: 9 + type: string + optional: true + name: remote_no_dp_key + - id: 10 + type: string + optional: true + persist: false + name: unlock_fingerprint + - id: 11 + type: string + optional: true + persist: false + name: unlock_password + - id: 12 + type: string + optional: true + persist: false + name: unlock_card + - id: 16 + type: string + optional: true + persist: false + name: unlock_temp_pwd + - id: 17 + type: string + optional: true + persist: false + name: unlock_dynamic_pwd + - id: 22 + type: string + optional: true + persist: false + name: unlock_app + - id: 23 + type: string + optional: true + name: alarm_records + - id: 35 + type: string + optional: true + name: closed_open_state + - id: 38 + type: string + optional: true + name: alarm_channel + - id: 39 + type: string + optional: true + name: alarm_lifted - entity: siren name: Doorbell dps: diff --git a/custom_components/tuya_local/devices/sd123_hpr01_presence.yaml b/custom_components/tuya_local/devices/sd123_hpr01_presence.yaml index a31bd6ba0d..f8af743b0b 100644 --- a/custom_components/tuya_local/devices/sd123_hpr01_presence.yaml +++ b/custom_components/tuya_local/devices/sd123_hpr01_presence.yaml @@ -1,23 +1,22 @@ name: SD123 human presence radar -primary_entity: - entity: binary_sensor - class: occupancy - dps: - - id: 1 - type: string - name: sensor - mapping: - - dps_val: none - value: false - - dps_val: presence - value: true - - id: 105 - type: string - name: unknown_105 - - id: 111 - type: integer - name: unknown_111 -secondary_entities: +entities: + - entity: binary_sensor + class: occupancy + dps: + - id: 1 + type: string + name: sensor + mapping: + - dps_val: none + value: false + - dps_val: presence + value: true + - id: 105 + type: string + name: unknown_105 + - id: 111 + type: integer + name: unknown_111 - entity: select name: Safe range category: config diff --git a/custom_components/tuya_local/devices/semptec_zx7007_heater.yaml b/custom_components/tuya_local/devices/semptec_zx7007_heater.yaml index ef78f9a1a5..a63e76466b 100644 --- a/custom_components/tuya_local/devices/semptec_zx7007_heater.yaml +++ b/custom_components/tuya_local/devices/semptec_zx7007_heater.yaml @@ -2,37 +2,36 @@ name: IR heater products: - id: 34fyo4xuj16fzaqq name: Semptec ZX7007 -primary_entity: - entity: climate - translation_key: heater - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: heat - - id: 5 - type: string - name: preset_mode - mapping: - - dps_val: "1" - value: eco - - dps_val: "2" - value: comfort - - dps_val: "3" - value: boost - - id: 14 - type: string - name: hvac_action - mapping: - - dps_val: stop - value: idle - - dps_val: heating - value: heating -secondary_entities: +entities: + - entity: climate + translation_key: heater + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: heat + - id: 5 + type: string + name: preset_mode + mapping: + - dps_val: "1" + value: eco + - dps_val: "2" + value: comfort + - dps_val: "3" + value: boost + - id: 14 + type: string + name: hvac_action + mapping: + - dps_val: stop + value: idle + - dps_val: heating + value: heating - entity: select translation_key: timer category: config diff --git a/custom_components/tuya_local/devices/sencor_air_conditioner.yaml b/custom_components/tuya_local/devices/sencor_air_conditioner.yaml index 2b92eda38e..a8656982ad 100644 --- a/custom_components/tuya_local/devices/sencor_air_conditioner.yaml +++ b/custom_components/tuya_local/devices/sencor_air_conditioner.yaml @@ -2,63 +2,62 @@ name: Air conditioner products: - id: ypgwqvhjrl5chq6h name: Sencor SAC MT7048C -primary_entity: - entity: climate - translation_only_key: aircon_extra - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: "0" - value: cool - - dps_val: "3" - value: fan_only - - dps_val: "2" - value: dry - - id: 2 - name: temperature - type: integer - range: - min: 17 - max: 30 - unit: C - - id: 3 - name: current_temperature - type: integer - - id: 4 - name: mode - type: string - hidden: true - - id: 5 - name: fan_mode - type: string - mapping: - - dps_val: low - value: low - - dps_val: high - value: high - constraint: preset_mode - conditions: - - dps_val: true - invalid: true - - id: 25 - name: preset_mode - type: boolean - mapping: - - dps_val: true - value: sleep - - dps_val: false - value: comfort - - id: 103 - name: type - type: string -secondary_entities: +entities: + - entity: climate + translation_only_key: aircon_extra + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: "0" + value: cool + - dps_val: "3" + value: fan_only + - dps_val: "2" + value: dry + - id: 2 + name: temperature + type: integer + range: + min: 17 + max: 30 + unit: C + - id: 3 + name: current_temperature + type: integer + - id: 4 + name: mode + type: string + hidden: true + - id: 5 + name: fan_mode + type: string + mapping: + - dps_val: low + value: low + - dps_val: high + value: high + constraint: preset_mode + conditions: + - dps_val: true + invalid: true + - id: 25 + name: preset_mode + type: boolean + mapping: + - dps_val: true + value: sleep + - dps_val: false + value: comfort + - id: 103 + name: type + type: string - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/sendo_airconditioner_c.yaml b/custom_components/tuya_local/devices/sendo_airconditioner_c.yaml index 5d08548d2c..4148438b3e 100644 --- a/custom_components/tuya_local/devices/sendo_airconditioner_c.yaml +++ b/custom_components/tuya_local/devices/sendo_airconditioner_c.yaml @@ -1,63 +1,62 @@ name: Sendo air conditioner C -primary_entity: - entity: climate - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: cold - value: cool - - dps_val: hot - value: heat - - dps_val: wet - value: dry - - dps_val: wind - value: fan_only - - dps_val: auto - value: heat_cool - - id: 2 - name: temperature - type: integer - mapping: - - scale: 10 - step: 10 - range: - min: 160 - max: 320 - # for F, 600 to 900 - unit: C - - id: 3 - name: current_temperature - type: integer - mapping: - - scale: 10 - - id: 4 - name: mode - type: string - hidden: true - - id: 8 - name: preset_mode - type: boolean - mapping: - - dps_val: true - value: eco - - dps_val: false - value: comfort - - id: 33 - name: swing_mode - type: boolean - mapping: - - dps_val: true - value: horizontal - - dps_val: false - value: "off" -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: cold + value: cool + - dps_val: hot + value: heat + - dps_val: wet + value: dry + - dps_val: wind + value: fan_only + - dps_val: auto + value: heat_cool + - id: 2 + name: temperature + type: integer + mapping: + - scale: 10 + step: 10 + range: + min: 160 + max: 320 + # for F, 600 to 900 + unit: C + - id: 3 + name: current_temperature + type: integer + mapping: + - scale: 10 + - id: 4 + name: mode + type: string + hidden: true + - id: 8 + name: preset_mode + type: boolean + mapping: + - dps_val: true + value: eco + - dps_val: false + value: comfort + - id: 33 + name: swing_mode + type: boolean + mapping: + - dps_val: true + value: horizontal + - dps_val: false + value: "off" - entity: switch name: Emergency heat icon: "mdi:fire" diff --git a/custom_components/tuya_local/devices/sensei_airconditioner.yaml b/custom_components/tuya_local/devices/sensei_airconditioner.yaml index 315fe4a2bd..2c74dd9a41 100644 --- a/custom_components/tuya_local/devices/sensei_airconditioner.yaml +++ b/custom_components/tuya_local/devices/sensei_airconditioner.yaml @@ -2,118 +2,117 @@ name: Air conditioner products: - id: f3goccgfj6qino4c name: Sensei Air Conditioner -primary_entity: - entity: climate - translation_key: aircon_extra - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: auto - value: heat_cool - - dps_val: cold - value: cool - - dps_val: wet - value: dry - - dps_val: heat - value: heat - - dps_val: fan - value: fan_only - - dps_val: null - value: "off" - hidden: true - - id: 2 - type: integer - name: temperature - range: - min: 160 - max: 320 - mapping: - - scale: 10 - step: 10 - constraint: temperature_unit - conditions: - - dps_val: f - range: - min: 600 - max: 900 - - id: 3 - type: integer - name: current_temperature - mapping: - - scale: 10 - constraint: temperature_unit - conditions: - - dps_val: f - - id: 4 - type: string - name: mode - hidden: true - optional: true - - id: 5 - type: string - name: fan_mode - mapping: - - dps_val: auto - value: auto - - dps_val: mute - value: quiet - - dps_val: low - value: low - - dps_val: low_mid - value: medlow - - dps_val: mid - value: medium - - dps_val: mid_high - value: medhigh - - dps_val: high - value: high - - dps_val: turbo - value: strong - - id: 8 - type: boolean - optional: true - name: preset_mode - mapping: - - dps_val: true - value: eco - - dps_val: false - value: comfort - - id: 15 - name: swing_mode - type: string - mapping: - - dps_val: un_down - value: vertical - - dps_val: left_right - value: horizontal - - dps_val: all - value: both - - dps_val: "off" - value: "off" - - id: 105 - name: temperature_unit - type: string - optional: true - mapping: - - dps_val: c - value: C - - dps_val: f - value: F - - id: 112 - name: model - type: string - - id: 114 - name: current_mode - type: string - optional: true -secondary_entities: +entities: + - entity: climate + translation_key: aircon_extra + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: auto + value: heat_cool + - dps_val: cold + value: cool + - dps_val: wet + value: dry + - dps_val: heat + value: heat + - dps_val: fan + value: fan_only + - dps_val: null + value: "off" + hidden: true + - id: 2 + type: integer + name: temperature + range: + min: 160 + max: 320 + mapping: + - scale: 10 + step: 10 + constraint: temperature_unit + conditions: + - dps_val: f + range: + min: 600 + max: 900 + - id: 3 + type: integer + name: current_temperature + mapping: + - scale: 10 + constraint: temperature_unit + conditions: + - dps_val: f + - id: 4 + type: string + name: mode + hidden: true + optional: true + - id: 5 + type: string + name: fan_mode + mapping: + - dps_val: auto + value: auto + - dps_val: mute + value: quiet + - dps_val: low + value: low + - dps_val: low_mid + value: medlow + - dps_val: mid + value: medium + - dps_val: mid_high + value: medhigh + - dps_val: high + value: high + - dps_val: turbo + value: strong + - id: 8 + type: boolean + optional: true + name: preset_mode + mapping: + - dps_val: true + value: eco + - dps_val: false + value: comfort + - id: 15 + name: swing_mode + type: string + mapping: + - dps_val: un_down + value: vertical + - dps_val: left_right + value: horizontal + - dps_val: all + value: both + - dps_val: "off" + value: "off" + - id: 105 + name: temperature_unit + type: string + optional: true + mapping: + - dps_val: c + value: C + - dps_val: f + value: F + - id: 112 + name: model + type: string + - id: 114 + name: current_mode + type: string + optional: true - entity: switch name: Wet icon: "mdi:hvac" diff --git a/custom_components/tuya_local/devices/setti_czajnik_kettle.yaml b/custom_components/tuya_local/devices/setti_czajnik_kettle.yaml index 91540d3996..6069998071 100644 --- a/custom_components/tuya_local/devices/setti_czajnik_kettle.yaml +++ b/custom_components/tuya_local/devices/setti_czajnik_kettle.yaml @@ -1,74 +1,73 @@ -name: Setti kettle +name: Kettle products: - id: rsygyyeiyarl4urt name: Czajnik Setti+ KT950W -primary_entity: - entity: water_heater - icon: "mdi:kettle" - dps: - - id: 1 - type: boolean - name: operation_mode - mapping: - - dps_val: false - value: "Off" - - dps_val: true - constraint: work_type - conditions: - - dps_val: setting_quick - value: Quick Set - - dps_val: boiling_quick - value: Quick Boil - - dps_val: temp_setting - value: Set - - dps_val: temp_boiling - value: Boil - - id: 2 - type: integer - name: current_temperature - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: current_temp_f - - id: 3 - type: integer - name: current_temp_f - hidden: true - - id: 8 - type: integer - name: temperature - range: - min: 0 - max: 100 - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: temp_set_f - range: - min: 32 - max: 212 - - id: 9 - type: integer - name: temp_set_f - range: - min: 32 - max: 212 - hidden: true - - id: 12 - type: string - name: temperature_unit - mapping: - - dps_val: c - value: C - - dps_val: f - value: F - - id: 16 - type: string - name: work_type - hidden: true -secondary_entities: +entities: + - entity: water_heater + icon: "mdi:kettle" + dps: + - id: 1 + type: boolean + name: operation_mode + mapping: + - dps_val: false + value: "Off" + - dps_val: true + constraint: work_type + conditions: + - dps_val: setting_quick + value: Quick Set + - dps_val: boiling_quick + value: Quick Boil + - dps_val: temp_setting + value: Set + - dps_val: temp_boiling + value: Boil + - id: 2 + type: integer + name: current_temperature + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: current_temp_f + - id: 3 + type: integer + name: current_temp_f + hidden: true + - id: 8 + type: integer + name: temperature + range: + min: 0 + max: 100 + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: temp_set_f + range: + min: 32 + max: 212 + - id: 9 + type: integer + name: temp_set_f + range: + min: 32 + max: 212 + hidden: true + - id: 12 + type: string + name: temperature_unit + mapping: + - dps_val: c + value: C + - dps_val: f + value: F + - id: 16 + type: string + name: work_type + hidden: true - entity: select name: Quick set temperature C icon: "mdi:water-thermometer-outline" diff --git a/custom_components/tuya_local/devices/seven_channel_switch.yaml b/custom_components/tuya_local/devices/seven_channel_switch.yaml index 859a93fe22..6e8cb115cb 100644 --- a/custom_components/tuya_local/devices/seven_channel_switch.yaml +++ b/custom_components/tuya_local/devices/seven_channel_switch.yaml @@ -2,16 +2,15 @@ name: Seven channel switch products: - id: 7w1gnppunpyev9tj name: Inna AUT000014 underefloor heating controller -primary_entity: - entity: switch - translation_key: switch_x - translation_placeholders: - x: "1" - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + translation_key: switch_x + translation_placeholders: + x: "1" + dps: + - id: 1 + type: boolean + name: switch - entity: switch translation_key: switch_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/sh07_sprinkler_controller.yaml b/custom_components/tuya_local/devices/sh07_sprinkler_controller.yaml index c5a5f93e2c..6f3ed8c6e3 100644 --- a/custom_components/tuya_local/devices/sh07_sprinkler_controller.yaml +++ b/custom_components/tuya_local/devices/sh07_sprinkler_controller.yaml @@ -6,15 +6,14 @@ products: name: Aquarobo SH07S-TY - id: figmzixtki7bourh name: Leictory LK06 -primary_entity: - entity: valve - name: Valve 1 - class: water - dps: - - id: 101 - name: valve - type: boolean -secondary_entities: +entities: + - entity: valve + name: Valve 1 + class: water + dps: + - id: 101 + name: valve + type: boolean - entity: valve name: Valve 2 class: water diff --git a/custom_components/tuya_local/devices/sherko_curtain.yaml b/custom_components/tuya_local/devices/sherko_curtain.yaml index ad4358759a..941619e911 100644 --- a/custom_components/tuya_local/devices/sherko_curtain.yaml +++ b/custom_components/tuya_local/devices/sherko_curtain.yaml @@ -2,55 +2,54 @@ name: Curtain motor products: - id: h2wipnagcunsar5r name: SHerko curtain motor -primary_entity: - entity: cover - class: curtain - dps: - - id: 1 - type: string - name: control - mapping: - - dps_val: open - value: open - - dps_val: close - value: close - - dps_val: stop - value: stop - # - dps_val: continue - # value: continue - - id: 2 - type: integer - name: position - unit: "%" - range: - min: 0 - max: 100 - - id: 3 - type: integer - name: current_position - unit: "%" - optional: true - - id: 7 - type: string - name: action - mapping: - - dps_val: opening - value: opening - constraint: current_position - conditions: - - dps_val: 100 - value: opened - - dps_val: null - value: opened - - dps_val: closing - value: closing - constraint: current_position - conditions: - - dps_val: 0 - value: closed - - dps_val: null - value: closed -secondary_entities: +entities: + - entity: cover + class: curtain + dps: + - id: 1 + type: string + name: control + mapping: + - dps_val: open + value: open + - dps_val: close + value: close + - dps_val: stop + value: stop + # - dps_val: continue + # value: continue + - id: 2 + type: integer + name: position + unit: "%" + range: + min: 0 + max: 100 + - id: 3 + type: integer + name: current_position + unit: "%" + optional: true + - id: 7 + type: string + name: action + mapping: + - dps_val: opening + value: opening + constraint: current_position + conditions: + - dps_val: 100 + value: opened + - dps_val: null + value: opened + - dps_val: closing + value: closing + constraint: current_position + conditions: + - dps_val: 0 + value: closed + - dps_val: null + value: closed - entity: switch category: config name: Reverse Motor Direction diff --git a/custom_components/tuya_local/devices/shinco_30d_dehumidifier.yaml b/custom_components/tuya_local/devices/shinco_30d_dehumidifier.yaml index b0fc6c13d5..4d5d25ed4b 100644 --- a/custom_components/tuya_local/devices/shinco_30d_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/shinco_30d_dehumidifier.yaml @@ -7,31 +7,30 @@ products: name: Klarstein DryFy Connect - id: fvxjwu2oggajswbx name: Shinco SDZ/YDZ-series -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - type: string - name: mode - mapping: - - dps_val: "0" - value: auto - - dps_val: "1" - value: boost - - id: 3 - type: integer - name: current_humidity - - id: 4 - type: integer - name: humidity - range: - min: 25 - max: 80 -secondary_entities: +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + type: string + name: mode + mapping: + - dps_val: "0" + value: auto + - dps_val: "1" + value: boost + - id: 3 + type: integer + name: current_humidity + - id: 4 + type: integer + name: humidity + range: + min: 25 + max: 80 - entity: fan dps: - id: 1 diff --git a/custom_components/tuya_local/devices/siguro_sgrhdf300w_dehumidifier.yaml b/custom_components/tuya_local/devices/siguro_sgrhdf300w_dehumidifier.yaml index a379f8d7b8..5b2d9d2f88 100644 --- a/custom_components/tuya_local/devices/siguro_sgrhdf300w_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/siguro_sgrhdf300w_dehumidifier.yaml @@ -2,49 +2,48 @@ name: Dehumidifier products: - id: p3fnrnlcjm2yxeks name: Siguro DH-F300W -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - type: integer - name: humidity - range: - min: 30 - max: 80 - mapping: - - step: 5 - - id: 5 - name: mode - type: string - mapping: - - dps_val: Continuities - value: boost - - dps_val: Auto - value: auto - - dps_val: Sleep - value: sleep - - id: 6 - type: integer - name: current_humidity - # This doesn't actually have an ionizer, but having the dp - # will aid in detection - - id: 10 - type: boolean - name: ionizer - # Missing from log: - # 20 = filter_reset (bool), 23 = filter_life (ro int 0-100 %) - # 24 = temp unit (c/f), 28 = runtime_total_reset (bool) - - id: 102 - type: integer - name: client_id - - id: 104 - type: integer - name: equipment_type -secondary_entities: +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + type: integer + name: humidity + range: + min: 30 + max: 80 + mapping: + - step: 5 + - id: 5 + name: mode + type: string + mapping: + - dps_val: Continuities + value: boost + - dps_val: Auto + value: auto + - dps_val: Sleep + value: sleep + - id: 6 + type: integer + name: current_humidity + # This doesn't actually have an ionizer, but having the dp + # will aid in detection + - id: 10 + type: boolean + name: ionizer + # Missing from log: + # 20 = filter_reset (bool), 23 = filter_life (ro int 0-100 %) + # 24 = temp unit (c/f), 28 = runtime_total_reset (bool) + - id: 102 + type: integer + name: client_id + - id: 104 + type: integer + name: equipment_type - entity: fan dps: - id: 1 diff --git a/custom_components/tuya_local/devices/silvercrest_coffee_maker.yaml b/custom_components/tuya_local/devices/silvercrest_coffee_maker.yaml index ecb6280c85..3151a89b02 100644 --- a/custom_components/tuya_local/devices/silvercrest_coffee_maker.yaml +++ b/custom_components/tuya_local/devices/silvercrest_coffee_maker.yaml @@ -2,14 +2,13 @@ name: Coffee maker products: - id: iegq4tjqeuiew5cl name: Silvercrest SKMS 900 A1 -primary_entity: - entity: switch - icon: "mdi:coffee-maker" - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + icon: "mdi:coffee-maker" + dps: + - id: 1 + type: boolean + name: switch - entity: select name: Aroma icon: "mdi:coffee" diff --git a/custom_components/tuya_local/devices/silvercrest_hf6602t_airfryer.yaml b/custom_components/tuya_local/devices/silvercrest_hf6602t_airfryer.yaml index 0392660dc9..e3ee5b021e 100644 --- a/custom_components/tuya_local/devices/silvercrest_hf6602t_airfryer.yaml +++ b/custom_components/tuya_local/devices/silvercrest_hf6602t_airfryer.yaml @@ -2,22 +2,21 @@ name: Air fryer products: - id: rmywxak3angdgh0d name: SilverCrest HF-6602T -primary_entity: - entity: switch - icon: "mdi:toaster-oven" - category: config - dps: - - id: 1 - type: boolean - name: switch - - id: 11 - type: string - optional: true - name: multistep - - id: 17 - type: integer - name: cooking_history -secondary_entities: +entities: + - entity: switch + icon: "mdi:toaster-oven" + category: config + dps: + - id: 1 + type: boolean + name: switch + - id: 11 + type: string + optional: true + name: multistep + - id: 17 + type: integer + name: cooking_history - entity: button name: Start icon: "mdi:play" diff --git a/custom_components/tuya_local/devices/silvercrest_kettle.yaml b/custom_components/tuya_local/devices/silvercrest_kettle.yaml index 2dc4870ebc..cc90be91b3 100644 --- a/custom_components/tuya_local/devices/silvercrest_kettle.yaml +++ b/custom_components/tuya_local/devices/silvercrest_kettle.yaml @@ -1,56 +1,55 @@ -name: Silvercrest kettle +name: Kettle products: - id: il4ofqon04yai1xe - name: WK0828RT -primary_entity: - entity: water_heater - icon: "mdi:kettle" - dps: - - id: 1 - type: boolean - name: operation_mode - mapping: - - dps_val: false - value: "Off" - - dps_val: true - constraint: warm - conditions: - - dps_val: false - value: Keep warm - - dps_val: true - value: Boil - - id: 2 - type: integer - name: current_temperature - - id: 8 - type: integer - name: temperature - unit: C - range: - min: 40 - max: 100 - mapping: - - step: 5 - - id: 13 - type: boolean - name: warm - optional: true - hidden: true - # One of these unknowns should be the "16 preset programs". - # Both are numeric strings (so probably enums) - - id: 15 - type: string - name: unknown_15 - - id: 16 - type: string - name: unknown_16 - - id: 103 - type: boolean - name: unknown_103 - - id: 104 - type: integer - name: unknown_104 -secondary_entities: + name: Silvercrest WK0828RT +entities: + - entity: water_heater + icon: "mdi:kettle" + dps: + - id: 1 + type: boolean + name: operation_mode + mapping: + - dps_val: false + value: "Off" + - dps_val: true + constraint: warm + conditions: + - dps_val: false + value: Keep warm + - dps_val: true + value: Boil + - id: 2 + type: integer + name: current_temperature + - id: 8 + type: integer + name: temperature + unit: C + range: + min: 40 + max: 100 + mapping: + - step: 5 + - id: 13 + type: boolean + name: warm + optional: true + hidden: true + # One of these unknowns should be the "16 preset programs". + # Both are numeric strings (so probably enums) + - id: 15 + type: string + name: unknown_15 + - id: 16 + type: string + name: unknown_16 + - id: 103 + type: boolean + name: unknown_103 + - id: 104 + type: integer + name: unknown_104 # Portal docs say there is a number to set, and also a countdown remaining. # This might be the remaining (log was 5, which is not a 30 minute step) # with the other unknown string above a 0/30/60/90/120 selection diff --git a/custom_components/tuya_local/devices/simple_blinds.yaml b/custom_components/tuya_local/devices/simple_blinds.yaml index 9d23de76d5..7cecbf1e76 100644 --- a/custom_components/tuya_local/devices/simple_blinds.yaml +++ b/custom_components/tuya_local/devices/simple_blinds.yaml @@ -1,30 +1,30 @@ -name: Blind controller with set position -primary_entity: - entity: cover - class: blind - 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 - range: - min: 0 - max: 100 - mapping: - - invert: true - - id: 5 - name: control_back_mode - type: boolean - - id: 7 - # seems intended to match action, but doesn't change in observation - name: work_state - type: string +name: Blind controller +entities: + - entity: cover + class: blind + 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 + range: + min: 0 + max: 100 + mapping: + - invert: true + - id: 5 + name: control_back_mode + type: boolean + - id: 7 + # seems intended to match action, but doesn't change in observation + name: work_state + type: string diff --git a/custom_components/tuya_local/devices/simple_contact_sensor.yaml b/custom_components/tuya_local/devices/simple_contact_sensor.yaml index 094f04e59b..12803ca139 100644 --- a/custom_components/tuya_local/devices/simple_contact_sensor.yaml +++ b/custom_components/tuya_local/devices/simple_contact_sensor.yaml @@ -2,10 +2,10 @@ name: Window sensor products: - id: 0mjj67aaztcfmc3i name: AW201_XR3 -primary_entity: - entity: binary_sensor - class: window - dps: - - id: 1 - name: sensor - type: boolean +entities: + - entity: binary_sensor + class: window + dps: + - id: 1 + name: sensor + type: boolean diff --git a/custom_components/tuya_local/devices/simple_dual_switch.yaml b/custom_components/tuya_local/devices/simple_dual_switch.yaml index 70be626c90..200c075f9c 100644 --- a/custom_components/tuya_local/devices/simple_dual_switch.yaml +++ b/custom_components/tuya_local/devices/simple_dual_switch.yaml @@ -2,16 +2,15 @@ name: Dual switch products: - id: jupECyrdMrUifHd8 name: eMylo WiFi/RF 2 Gang -primary_entity: - entity: switch - translation_key: switch_x - translation_placeholders: - x: "1" - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + translation_key: switch_x + translation_placeholders: + x: "1" + dps: + - id: 1 + type: boolean + name: switch - entity: switch translation_key: switch_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/simple_dual_switch_timer.yaml b/custom_components/tuya_local/devices/simple_dual_switch_timer.yaml index a74150d3b7..ce44ca1cc9 100644 --- a/custom_components/tuya_local/devices/simple_dual_switch_timer.yaml +++ b/custom_components/tuya_local/devices/simple_dual_switch_timer.yaml @@ -1,16 +1,15 @@ name: Dual switch with timers products: - id: key9nfnyp89j4esc -primary_entity: - entity: switch - translation_key: switch_x - translation_placeholders: - x: "1" - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + translation_key: switch_x + translation_placeholders: + x: "1" + dps: + - id: 1 + type: boolean + name: switch - entity: switch translation_key: switch_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/simple_dual_switch_timer_v2.yaml b/custom_components/tuya_local/devices/simple_dual_switch_timer_v2.yaml index 8306bca2f5..54e2ce5f61 100644 --- a/custom_components/tuya_local/devices/simple_dual_switch_timer_v2.yaml +++ b/custom_components/tuya_local/devices/simple_dual_switch_timer_v2.yaml @@ -2,16 +2,15 @@ name: Dual switch with timers products: - id: 7c35xxu0foeqpdka name: BlitzWolf BW-SS5 -primary_entity: - entity: switch - translation_key: switch_x - translation_placeholders: - x: "1" - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + translation_key: switch_x + translation_placeholders: + x: "1" + dps: + - id: 1 + type: boolean + name: switch - entity: switch translation_key: switch_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/simple_eight_switch.yaml b/custom_components/tuya_local/devices/simple_eight_switch.yaml index ddd775b36d..20c75f65a8 100644 --- a/custom_components/tuya_local/devices/simple_eight_switch.yaml +++ b/custom_components/tuya_local/devices/simple_eight_switch.yaml @@ -1,14 +1,13 @@ name: Simple Eight Switch -primary_entity: - entity: switch - translation_key: switch_x - translation_placeholders: - x: "1" - dps: - - id: 1 - name: switch - type: boolean -secondary_entities: +entities: + - entity: switch + translation_key: switch_x + translation_placeholders: + x: "1" + dps: + - id: 1 + name: switch + type: boolean - entity: switch translation_key: switch_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/simple_gate_opener.yaml b/custom_components/tuya_local/devices/simple_gate_opener.yaml index f3b8e989fb..fab5a7c5d3 100644 --- a/custom_components/tuya_local/devices/simple_gate_opener.yaml +++ b/custom_components/tuya_local/devices/simple_gate_opener.yaml @@ -3,23 +3,22 @@ name: Simple garage-door-gate opener products: - id: b1uk4ftduaqopxv1 name: Garage-door-gate opener -primary_entity: - entity: cover - class: gate - dps: - - id: 1 - name: control - type: boolean - force: true - mapping: - - dps_val: true - value: "open" - - dps_val: false - value: "close" - - id: 101 - name: open - type: boolean -secondary_entities: +entities: + - entity: cover + class: gate + dps: + - id: 1 + name: control + type: boolean + force: true + mapping: + - dps_val: true + value: "open" + - dps_val: false + value: "close" + - id: 101 + name: open + type: boolean - entity: number category: config class: duration diff --git a/custom_components/tuya_local/devices/simple_lightbulb.yaml b/custom_components/tuya_local/devices/simple_lightbulb.yaml index 4ab0f6b421..d586e4d163 100644 --- a/custom_components/tuya_local/devices/simple_lightbulb.yaml +++ b/custom_components/tuya_local/devices/simple_lightbulb.yaml @@ -1,13 +1,13 @@ name: Simple lightbulb -primary_entity: - entity: light - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - name: brightness - type: integer - range: - min: 10 - max: 255 +entities: + - entity: light + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + name: brightness + type: integer + range: + min: 10 + max: 255 diff --git a/custom_components/tuya_local/devices/simple_quad_switch.yaml b/custom_components/tuya_local/devices/simple_quad_switch.yaml index c486d856e6..136b897fb8 100644 --- a/custom_components/tuya_local/devices/simple_quad_switch.yaml +++ b/custom_components/tuya_local/devices/simple_quad_switch.yaml @@ -1,14 +1,13 @@ name: Simple switch -primary_entity: - entity: switch - translation_key: switch_x - translation_placeholders: - x: "1" - dps: - - id: 1 - name: switch - type: boolean -secondary_entities: +entities: + - entity: switch + translation_key: switch_x + translation_placeholders: + x: "1" + dps: + - id: 1 + name: switch + type: boolean - entity: switch translation_key: switch_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/simple_rgbcw_lightbulb.yaml b/custom_components/tuya_local/devices/simple_rgbcw_lightbulb.yaml index 8139e6b092..ce8fcdb055 100644 --- a/custom_components/tuya_local/devices/simple_rgbcw_lightbulb.yaml +++ b/custom_components/tuya_local/devices/simple_rgbcw_lightbulb.yaml @@ -1,52 +1,52 @@ name: Simple RGBCW lightbulb -primary_entity: - entity: light - dps: - - id: 20 - type: boolean - name: switch - - id: 21 - type: string - name: color_mode - mapping: - - dps_val: white - value: color_temp - - dps_val: colour - value: hs - - id: 22 - name: brightness - type: integer - range: - min: 10 - max: 1000 - - id: 23 - name: color_temp - type: integer - optional: true - range: - min: 0 - max: 1000 - mapping: - - target_range: - min: 2700 - max: 6500 - - id: 24 - name: rgbhsv - type: hex - optional: true - format: - - name: h - bytes: 2 - range: - min: 0 - max: 360 - - name: s - bytes: 2 - range: - min: 0 - max: 1000 - - name: v - bytes: 2 - range: - min: 0 - max: 1000 +entities: + - entity: light + dps: + - id: 20 + type: boolean + name: switch + - id: 21 + type: string + name: color_mode + mapping: + - dps_val: white + value: color_temp + - dps_val: colour + value: hs + - id: 22 + name: brightness + type: integer + range: + min: 10 + max: 1000 + - id: 23 + name: color_temp + type: integer + optional: true + range: + min: 0 + max: 1000 + mapping: + - target_range: + min: 2700 + max: 6500 + - id: 24 + name: rgbhsv + type: hex + optional: true + format: + - name: h + bytes: 2 + range: + min: 0 + max: 360 + - name: s + bytes: 2 + range: + min: 0 + max: 1000 + - name: v + bytes: 2 + range: + min: 0 + max: 1000 diff --git a/custom_components/tuya_local/devices/simple_six_switch.yaml b/custom_components/tuya_local/devices/simple_six_switch.yaml index 1fdaceaef2..af026ea12e 100644 --- a/custom_components/tuya_local/devices/simple_six_switch.yaml +++ b/custom_components/tuya_local/devices/simple_six_switch.yaml @@ -1,14 +1,13 @@ name: Simple Six Switch -primary_entity: - entity: switch - translation_key: switch_x - translation_placeholders: - x: "1" - dps: - - id: 1 - name: switch - type: boolean -secondary_entities: +entities: + - entity: switch + translation_key: switch_x + translation_placeholders: + x: "1" + dps: + - id: 1 + name: switch + type: boolean - entity: switch translation_key: switch_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/simple_switch.yaml b/custom_components/tuya_local/devices/simple_switch.yaml index 6a6ae2c466..5b0d7d0747 100644 --- a/custom_components/tuya_local/devices/simple_switch.yaml +++ b/custom_components/tuya_local/devices/simple_switch.yaml @@ -1,7 +1,7 @@ name: Simple switch -primary_entity: - entity: switch - dps: - - id: 1 - name: switch - type: boolean +entities: + - entity: switch + dps: + - id: 1 + name: switch + type: boolean diff --git a/custom_components/tuya_local/devices/simple_switch_timer.yaml b/custom_components/tuya_local/devices/simple_switch_timer.yaml index f56bb1a1f7..4e71c983ca 100644 --- a/custom_components/tuya_local/devices/simple_switch_timer.yaml +++ b/custom_components/tuya_local/devices/simple_switch_timer.yaml @@ -4,13 +4,12 @@ products: name: Teckin SP21 - id: 5bvnmoqjth5nd4de name: Teckin SP21/SP22/SP27 -primary_entity: - entity: switch - dps: - - id: 1 - name: switch - type: boolean -secondary_entities: +entities: + - entity: switch + dps: + - id: 1 + name: switch + type: boolean - entity: number category: config class: duration diff --git a/custom_components/tuya_local/devices/simple_switch_timerv2.yaml b/custom_components/tuya_local/devices/simple_switch_timerv2.yaml index 8417393938..0d12b4d6bd 100644 --- a/custom_components/tuya_local/devices/simple_switch_timerv2.yaml +++ b/custom_components/tuya_local/devices/simple_switch_timerv2.yaml @@ -10,13 +10,12 @@ products: name: GIRIER USB adaptor - id: lbqau5negh2zizit name: Kruidvat outdoor smartplug -primary_entity: - entity: switch - dps: - - id: 1 - name: switch - type: boolean -secondary_entities: +entities: + - entity: switch + dps: + - id: 1 + name: switch + type: boolean - entity: number category: config class: duration diff --git a/custom_components/tuya_local/devices/simple_triple_switch.yaml b/custom_components/tuya_local/devices/simple_triple_switch.yaml index 8f96004d07..16557b4159 100644 --- a/custom_components/tuya_local/devices/simple_triple_switch.yaml +++ b/custom_components/tuya_local/devices/simple_triple_switch.yaml @@ -1,14 +1,13 @@ name: Triple switch -primary_entity: - entity: switch - translation_key: switch_x - translation_placeholders: - x: "1" - dps: - - id: 1 - name: switch - type: boolean -secondary_entities: +entities: + - entity: switch + translation_key: switch_x + translation_placeholders: + x: "1" + dps: + - id: 1 + name: switch + type: boolean - entity: switch translation_key: switch_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/simple_triple_switch_timer.yaml b/custom_components/tuya_local/devices/simple_triple_switch_timer.yaml index 01d27203d3..4950b18c7c 100644 --- a/custom_components/tuya_local/devices/simple_triple_switch_timer.yaml +++ b/custom_components/tuya_local/devices/simple_triple_switch_timer.yaml @@ -2,16 +2,15 @@ name: Triple switch products: - id: 16621606d8bfc0d93558 name: KS-811-3 -primary_entity: - entity: switch - translation_key: switch_x - translation_placeholders: - x: "1" - dps: - - id: 1 - name: switch - type: boolean -secondary_entities: +entities: + - entity: switch + translation_key: switch_x + translation_placeholders: + x: "1" + dps: + - id: 1 + name: switch + type: boolean - entity: switch translation_key: switch_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/single_phase_clamp_meter.yaml b/custom_components/tuya_local/devices/single_phase_clamp_meter.yaml index d3f3e5078f..e87bf1b972 100644 --- a/custom_components/tuya_local/devices/single_phase_clamp_meter.yaml +++ b/custom_components/tuya_local/devices/single_phase_clamp_meter.yaml @@ -2,33 +2,32 @@ name: Clamp meter products: - id: gk3jvsduy5ixzff3 name: Meterk QS-WIFI-CT01 -primary_entity: - entity: sensor - class: energy - dps: - - id: 108 - type: integer - name: sensor - unit: kWh - class: total_increasing - mapping: - - scale: 1000 - - id: 109 - type: integer - name: today - mapping: - - scale: 1000 - - id: 104 - type: integer - name: add_ele - mapping: - - scale: 100 - - id: 112 - type: integer - name: add_today - mapping: - - scale: 100 -secondary_entities: +entities: + - entity: sensor + class: energy + dps: + - id: 108 + type: integer + name: sensor + unit: kWh + class: total_increasing + mapping: + - scale: 1000 + - id: 109 + type: integer + name: today + mapping: + - scale: 1000 + - id: 104 + type: integer + name: add_ele + mapping: + - scale: 100 + - id: 112 + type: integer + name: add_today + mapping: + - scale: 100 - entity: event name: Real time dps: diff --git a/custom_components/tuya_local/devices/single_switch_with_backlight.yaml b/custom_components/tuya_local/devices/single_switch_with_backlight.yaml index 995cd90d6d..434d3549ec 100644 --- a/custom_components/tuya_local/devices/single_switch_with_backlight.yaml +++ b/custom_components/tuya_local/devices/single_switch_with_backlight.yaml @@ -1,13 +1,12 @@ name: Single Switch With Backlight products: - id: gbdzignerqxddcuj -primary_entity: - entity: switch - dps: - - id: 1 - name: switch - type: boolean -secondary_entities: +entities: + - entity: switch + dps: + - id: 1 + name: switch + type: boolean - entity: number class: duration translation_key: timer diff --git a/custom_components/tuya_local/devices/sirena_ws902plus_siren.yaml b/custom_components/tuya_local/devices/sirena_ws902plus_siren.yaml index 1c0e9509bb..02d184f7c4 100644 --- a/custom_components/tuya_local/devices/sirena_ws902plus_siren.yaml +++ b/custom_components/tuya_local/devices/sirena_ws902plus_siren.yaml @@ -1,42 +1,41 @@ name: Outdoor siren # products: # name: Sirena Outdoor Strobe Siren WS-902 Plus -primary_entity: - entity: siren - dps: - - id: 1 - name: tone - type: string - mapping: - - dps_val: alarm_sound - value: sound - - dps_val: alarm_light - value: light - - dps_val: alarm_sound_light - value: sound+light - default: true - - dps_val: normal - value: "off" - - id: 5 - name: volume_level - type: string - mapping: - - dps_val: mute - value: 0.0 - - dps_val: low - value: 0.33 - - dps_val: middle - value: 0.67 - - dps_val: high - value: 1.0 - - id: 7 - name: duration - type: integer - range: - min: 1 - max: 59 - unit: min -secondary_entities: +entities: + - entity: siren + dps: + - id: 1 + name: tone + type: string + mapping: + - dps_val: alarm_sound + value: sound + - dps_val: alarm_light + value: light + - dps_val: alarm_sound_light + value: sound+light + default: true + - dps_val: normal + value: "off" + - id: 5 + name: volume_level + type: string + mapping: + - dps_val: mute + value: 0.0 + - dps_val: low + value: 0.33 + - dps_val: middle + value: 0.67 + - dps_val: high + value: 1.0 + - id: 7 + name: duration + type: integer + range: + min: 1 + max: 59 + unit: min - entity: binary_sensor category: diagnostic class: battery_charging diff --git a/custom_components/tuya_local/devices/skyfan_dc_fan.yaml b/custom_components/tuya_local/devices/skyfan_dc_fan.yaml index 26acc6f6a9..606031ab9a 100644 --- a/custom_components/tuya_local/devices/skyfan_dc_fan.yaml +++ b/custom_components/tuya_local/devices/skyfan_dc_fan.yaml @@ -1,35 +1,35 @@ -name: Skyfan DC fan +name: Fan products: - id: vzj97d3m05yjhchn -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - type: string - name: preset_mode - optional: true - mapping: - - dps_val: smart - value: smart - - dps_val: nature - value: nature - - dps_val: sleep - value: sleep - - id: 3 - type: integer - name: speed - optional: true - range: - min: 1 - max: 5 - - id: 8 - type: string - name: direction -secondary_entities: + name: Skyfan DC +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + type: string + name: preset_mode + optional: true + mapping: + - dps_val: smart + value: smart + - dps_val: nature + value: nature + - dps_val: sleep + value: sleep + - id: 3 + type: integer + name: speed + optional: true + range: + min: 1 + max: 5 + - id: 8 + type: string + name: direction - entity: select translation_key: timer category: config diff --git a/custom_components/tuya_local/devices/skyfan_fan_light.yaml b/custom_components/tuya_local/devices/skyfan_fan_light.yaml index 4b719d877f..99aa60381c 100644 --- a/custom_components/tuya_local/devices/skyfan_fan_light.yaml +++ b/custom_components/tuya_local/devices/skyfan_fan_light.yaml @@ -1,34 +1,33 @@ -name: Skyfan DC fan +name: Fan with light products: - id: pktxz1vynowmavuc - name: Skyfan DC fan with light -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - type: string - name: preset_mode - mapping: - - dps_val: Normal - value: normal - - dps_val: Nature - value: nature - - dps_val: Sleep - value: sleep - - id: 3 - type: integer - name: speed - range: - min: 1 - max: 5 - - id: 8 - type: string - name: direction -secondary_entities: + name: Skyfan DC +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + type: string + name: preset_mode + mapping: + - dps_val: Normal + value: normal + - dps_val: Nature + value: nature + - dps_val: Sleep + value: sleep + - id: 3 + type: integer + name: speed + range: + min: 1 + max: 5 + - id: 8 + type: string + name: direction - entity: light dps: - id: 15 diff --git a/custom_components/tuya_local/devices/smardeer_lock33.yaml b/custom_components/tuya_local/devices/smardeer_lock33.yaml index c7d8a555b9..7f85e357c3 100644 --- a/custom_components/tuya_local/devices/smardeer_lock33.yaml +++ b/custom_components/tuya_local/devices/smardeer_lock33.yaml @@ -2,47 +2,46 @@ name: Door lock products: - id: oufbykkic2alxcjw name: SmarDeer Lock33 -primary_entity: - entity: lock - dps: - - id: 1 - type: integer - name: unlock_fingerprint - optional: true - persist: false - - id: 2 - type: integer - name: unlock_password - optional: true - persist: false - - id: 3 - type: integer - name: unlock_temp_pwd - optional: true - persist: false - - id: 5 - type: integer - name: unlock_card - optional: true - persist: false - - id: 9 - type: integer - name: unlock_request - - id: 15 - name: unlock_app - type: integer - optional: true - persist: false - - id: 44 - name: unlock_multi - type: string - optional: true - persist: false - - id: 212 - name: push_message - type: string - optional: true -secondary_entities: +entities: + - entity: lock + dps: + - id: 1 + type: integer + name: unlock_fingerprint + optional: true + persist: false + - id: 2 + type: integer + name: unlock_password + optional: true + persist: false + - id: 3 + type: integer + name: unlock_temp_pwd + optional: true + persist: false + - id: 5 + type: integer + name: unlock_card + optional: true + persist: false + - id: 9 + type: integer + name: unlock_request + - id: 15 + name: unlock_app + type: integer + optional: true + persist: false + - id: 44 + name: unlock_multi + type: string + optional: true + persist: false + - id: 212 + name: push_message + type: string + optional: true - entity: sensor name: Error category: diagnostic diff --git a/custom_components/tuya_local/devices/smart_led_strip.yaml b/custom_components/tuya_local/devices/smart_led_strip.yaml index 8a90d38110..ad61d30a70 100644 --- a/custom_components/tuya_local/devices/smart_led_strip.yaml +++ b/custom_components/tuya_local/devices/smart_led_strip.yaml @@ -2,67 +2,66 @@ name: Smart LED Strip products: - id: oblx20mxzsclpahi name: Nedis Smart LED Strip -primary_entity: - entity: light - dps: - - id: 20 - type: boolean - name: switch - - id: 21 - type: string - name: color_mode - mapping: - - dps_val: white - value: color_temp - - dps_val: colour - value: hs - - dps_val: scene - value: Scene - - dps_val: music - value: Music - - id: 22 - name: brightness - type: integer - optional: true - range: - min: 10 - max: 1000 - mapping: - - dps_val: null - value: 0 - - id: 23 - name: color_temp - type: integer - optional: true - range: - min: 0 - max: 1000 - mapping: - - target_range: - min: 2700 - max: 6500 - invert: true - - id: 24 - name: rgbhsv - type: hex - optional: true - format: - - name: h - bytes: 2 - range: - min: 0 - max: 360 - - name: s - bytes: 2 - range: - min: 0 - max: 1000 - - name: v - bytes: 2 - range: - min: 0 - max: 1000 -secondary_entities: +entities: + - entity: light + dps: + - id: 20 + type: boolean + name: switch + - id: 21 + type: string + name: color_mode + mapping: + - dps_val: white + value: color_temp + - dps_val: colour + value: hs + - dps_val: scene + value: Scene + - dps_val: music + value: Music + - id: 22 + name: brightness + type: integer + optional: true + range: + min: 10 + max: 1000 + mapping: + - dps_val: null + value: 0 + - id: 23 + name: color_temp + type: integer + optional: true + range: + min: 0 + max: 1000 + mapping: + - target_range: + min: 2700 + max: 6500 + invert: true + - id: 24 + name: rgbhsv + type: hex + optional: true + format: + - name: h + bytes: 2 + range: + min: 0 + max: 360 + - name: s + bytes: 2 + range: + min: 0 + max: 1000 + - name: v + bytes: 2 + range: + min: 0 + max: 1000 - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/smart_mist3_fan.yaml b/custom_components/tuya_local/devices/smart_mist3_fan.yaml index d27bb6c9b3..b59e8c711b 100644 --- a/custom_components/tuya_local/devices/smart_mist3_fan.yaml +++ b/custom_components/tuya_local/devices/smart_mist3_fan.yaml @@ -2,38 +2,37 @@ name: Mist Fan products: - id: xlnzyrme4ddyzqhw name: Smart Mist3 TX-1602MF -primary_entity: - entity: fan - translation_key: fan_with_presets - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - name: preset_mode - type: string - mapping: - - dps_val: normal - value: normal - - dps_val: natural - value: natural - - dps_val: sleep - value: sleep - - id: 3 - name: speed - type: integer - range: - min: 1 - max: 3 - - id: 7 - name: oscillate - type: string - mapping: - - dps_val: "off" - value: false - - dps_val: "on" - value: true -secondary_entities: +entities: + - entity: fan + translation_key: fan_with_presets + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + name: preset_mode + type: string + mapping: + - dps_val: normal + value: normal + - dps_val: natural + value: natural + - dps_val: sleep + value: sleep + - id: 3 + name: speed + type: integer + range: + min: 1 + max: 3 + - id: 7 + name: oscillate + type: string + mapping: + - dps_val: "off" + value: false + - dps_val: "on" + value: true - entity: fan name: Mist icon: "mdi:air-humidifier" diff --git a/custom_components/tuya_local/devices/smart_multi_plug_4t_4usb.yaml b/custom_components/tuya_local/devices/smart_multi_plug_4t_4usb.yaml index 97207ba781..088dca0539 100644 --- a/custom_components/tuya_local/devices/smart_multi_plug_4t_4usb.yaml +++ b/custom_components/tuya_local/devices/smart_multi_plug_4t_4usb.yaml @@ -2,25 +2,24 @@ name: Quad power strip + 4USB products: - id: rpnp3rtjjzbktign name: Smart multi-plug 4T+4USB -primary_entity: - entity: switch - translation_key: outlet_x - translation_placeholders: - x: "1" - class: outlet - dps: - - id: 1 - type: boolean - name: switch - - id: 17 - type: integer - name: add_ele - optional: true - - id: 25 - type: integer - name: ele_calibration - optional: true -secondary_entities: +entities: + - entity: switch + translation_key: outlet_x + translation_placeholders: + x: "1" + class: outlet + dps: + - id: 1 + type: boolean + name: switch + - id: 17 + type: integer + name: add_ele + optional: true + - id: 25 + type: integer + name: ele_calibration + optional: true - entity: switch translation_key: outlet_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/smart_powerstrip.yaml b/custom_components/tuya_local/devices/smart_powerstrip.yaml index e8f0eaa854..f03254687c 100644 --- a/custom_components/tuya_local/devices/smart_powerstrip.yaml +++ b/custom_components/tuya_local/devices/smart_powerstrip.yaml @@ -2,17 +2,16 @@ name: 4 outlet + USB powerstrip products: - id: y7CxWXKi0EVL3cgB name: smart Power Strip -primary_entity: - entity: switch - translation_key: outlet_x - translation_placeholders: - x: "1" - class: outlet - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + translation_key: outlet_x + translation_placeholders: + x: "1" + class: outlet + dps: + - id: 1 + type: boolean + name: switch - entity: switch translation_key: outlet_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/smart_powerstrip_3_outlet_energy.yaml b/custom_components/tuya_local/devices/smart_powerstrip_3_outlet_energy.yaml index 4f99281a8b..ad6efae165 100644 --- a/custom_components/tuya_local/devices/smart_powerstrip_3_outlet_energy.yaml +++ b/custom_components/tuya_local/devices/smart_powerstrip_3_outlet_energy.yaml @@ -2,25 +2,24 @@ name: Triple monitoring powerstrip products: - id: y3vaekzobpkbcj0j name: Eightree ET43 powerstrip -primary_entity: - entity: switch - class: outlet - translation_key: outlet_x - translation_placeholders: - x: "1" - dps: - - id: 1 - type: boolean - name: switch - - id: 41 - type: string - name: cycle_timer - optional: true - - id: 42 - type: string - name: random_timer - optional: true -secondary_entities: +entities: + - entity: switch + class: outlet + translation_key: outlet_x + translation_placeholders: + x: "1" + dps: + - id: 1 + type: boolean + name: switch + - id: 41 + type: string + name: cycle_timer + optional: true + - id: 42 + type: string + name: random_timer + optional: true - entity: switch class: outlet translation_key: outlet_x diff --git a/custom_components/tuya_local/devices/smart_siren_alarm.yaml b/custom_components/tuya_local/devices/smart_siren_alarm.yaml index 437a752fd3..5da6a4debb 100644 --- a/custom_components/tuya_local/devices/smart_siren_alarm.yaml +++ b/custom_components/tuya_local/devices/smart_siren_alarm.yaml @@ -2,29 +2,28 @@ name: Smart Alarm Siren products: - id: rtbaqdh2io1pmn19 name: Smart Siren -primary_entity: - entity: alarm_control_panel - name: Status - icon: "mdi:shield-off-outline" - dps: - - id: 116 - type: string - name: alarm_state - force: true - mapping: - - dps_val: "Disarm_" - value: disarmed - icon: "mdi:shield-off-outline" - - dps_val: "Arm_" - value: armed_away - icon: "mdi:shield-lock-outline" - - dps_val: "HomeArm_" - value: armed_home - icon: "mdi:shield-home-outline" - - dps_val: "SOS" - value: triggered - icon: "mdi:lifebuoy" -secondary_entities: +entities: + - entity: alarm_control_panel + name: Status + icon: "mdi:shield-off-outline" + dps: + - id: 116 + type: string + name: alarm_state + force: true + mapping: + - dps_val: "Disarm_" + value: disarmed + icon: "mdi:shield-off-outline" + - dps_val: "Arm_" + value: armed_away + icon: "mdi:shield-lock-outline" + - dps_val: "HomeArm_" + value: armed_home + icon: "mdi:shield-home-outline" + - dps_val: "SOS" + value: triggered + icon: "mdi:lifebuoy" - entity: number name: Alarm Time category: config diff --git a/custom_components/tuya_local/devices/smart_surge_protector_plug_2x2.yaml b/custom_components/tuya_local/devices/smart_surge_protector_plug_2x2.yaml index 2e3e8281df..8ec9b03cca 100644 --- a/custom_components/tuya_local/devices/smart_surge_protector_plug_2x2.yaml +++ b/custom_components/tuya_local/devices/smart_surge_protector_plug_2x2.yaml @@ -2,17 +2,16 @@ name: Two outlet two USB smartplug products: - id: cianx1tz1ifyvyqm name: Surge protector plug 2x2 -primary_entity: - entity: switch - class: outlet - translation_key: outlet_x - translation_placeholders: - x: "1" - dps: - - id: 1 - name: switch - type: boolean -secondary_entities: +entities: + - entity: switch + class: outlet + translation_key: outlet_x + translation_placeholders: + x: "1" + dps: + - id: 1 + name: switch + type: boolean - entity: switch class: outlet translation_key: outlet_x diff --git a/custom_components/tuya_local/devices/smart_watering_device.yaml b/custom_components/tuya_local/devices/smart_watering_device.yaml index 3d47de943c..6453f94d12 100644 --- a/custom_components/tuya_local/devices/smart_watering_device.yaml +++ b/custom_components/tuya_local/devices/smart_watering_device.yaml @@ -2,18 +2,17 @@ name: Smart watering device products: - id: abzzvtulukkwzynv name: Becasmart BAF-908 -primary_entity: - entity: valve - class: water - dps: - - id: 1 - name: valve - type: boolean - - id: 48 - type: string - optional: true - name: schedule -secondary_entities: +entities: + - entity: valve + class: water + dps: + - id: 1 + name: valve + type: boolean + - id: 48 + type: string + optional: true + name: schedule - entity: switch category: config deprecated: valve diff --git a/custom_components/tuya_local/devices/smartmcb_smt006_energymeter.yaml b/custom_components/tuya_local/devices/smartmcb_smt006_energymeter.yaml index dabc730900..862b6692e3 100644 --- a/custom_components/tuya_local/devices/smartmcb_smt006_energymeter.yaml +++ b/custom_components/tuya_local/devices/smartmcb_smt006_energymeter.yaml @@ -1,19 +1,19 @@ -name: SmartMCB SMT006-10 energy meter +name: Energy meter products: - id: ntwmuj82anq1l92i -primary_entity: - entity: switch - icon: "mdi:fuse" - name: Breaker - dps: - - id: 16 - type: boolean - name: switch - - id: 19 - type: string - name: breaker_number - optional: true -secondary_entities: + name: SmartMCB SMT006-10 +entities: + - entity: switch + icon: "mdi:fuse" + name: Breaker + dps: + - id: 16 + type: boolean + name: switch + - id: 19 + type: string + name: breaker_number + optional: true - entity: sensor class: energy dps: diff --git a/custom_components/tuya_local/devices/smartmcb_smt006_energymeterv2.yaml b/custom_components/tuya_local/devices/smartmcb_smt006_energymeterv2.yaml index 3551c67ea2..6cdc1eae59 100644 --- a/custom_components/tuya_local/devices/smartmcb_smt006_energymeterv2.yaml +++ b/custom_components/tuya_local/devices/smartmcb_smt006_energymeterv2.yaml @@ -4,19 +4,18 @@ products: name: SmartMCB SMT006-8 - id: i5mqmxkho1vahdt2 name: SmartMCB SMT006-8 -primary_entity: - entity: switch - icon: "mdi:fuse" - name: Breaker - dps: - - id: 16 - type: boolean - name: switch - - id: 19 - type: string - name: breaker_number - optional: true -secondary_entities: +entities: + - entity: switch + icon: "mdi:fuse" + name: Breaker + dps: + - id: 16 + type: boolean + name: switch + - id: 19 + type: string + name: breaker_number + optional: true - entity: sensor class: energy dps: diff --git a/custom_components/tuya_local/devices/smartmi_e1_purifier.yaml b/custom_components/tuya_local/devices/smartmi_e1_purifier.yaml index cdb41719fc..ce9093f4e0 100644 --- a/custom_components/tuya_local/devices/smartmi_e1_purifier.yaml +++ b/custom_components/tuya_local/devices/smartmi_e1_purifier.yaml @@ -2,25 +2,24 @@ name: Air Purifier products: - id: pwrmggdhwkz1lnvh name: Smartmi E1 -primary_entity: - entity: fan - translation_only_key: fan_with_presets - icon: "mdi:air-purifier" - dps: - - id: 1 - name: switch - type: boolean - - id: 3 - name: preset_mode - type: string - mapping: - - dps_val: sleep - value: sleep - - dps_val: auto - value: normal - - dps_val: manual - value: strong -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + icon: "mdi:air-purifier" + dps: + - id: 1 + name: switch + type: boolean + - id: 3 + name: preset_mode + type: string + mapping: + - dps_val: sleep + value: sleep + - dps_val: auto + value: normal + - dps_val: manual + value: strong - entity: light translation_key: indicator category: config diff --git a/custom_components/tuya_local/devices/smartplug_encoded.yaml b/custom_components/tuya_local/devices/smartplug_encoded.yaml index c8b6df9d97..7acfb7ed46 100644 --- a/custom_components/tuya_local/devices/smartplug_encoded.yaml +++ b/custom_components/tuya_local/devices/smartplug_encoded.yaml @@ -2,23 +2,22 @@ name: Smartplug with encoded info products: - id: A6bBfm2fmKKRfIxU name: スマートプラグ -primary_entity: - entity: switch - class: outlet - dps: - - id: 1 - type: boolean - name: switch - - id: 101 - type: base64 - name: random - - id: 102 - type: base64 - name: circulate - - id: 103 - type: base64 - name: schedule -secondary_entities: +entities: + - entity: switch + class: outlet + dps: + - id: 1 + type: boolean + name: switch + - id: 101 + type: base64 + name: random + - id: 102 + type: base64 + name: circulate + - id: 103 + type: base64 + name: schedule - entity: number category: config class: duration diff --git a/custom_components/tuya_local/devices/smartplug_usb.yaml b/custom_components/tuya_local/devices/smartplug_usb.yaml index e1c7d28727..afd787a600 100644 --- a/custom_components/tuya_local/devices/smartplug_usb.yaml +++ b/custom_components/tuya_local/devices/smartplug_usb.yaml @@ -2,18 +2,17 @@ name: Smartplug with USB products: - id: zmql6aexy8ua5rox name: Gosund SP112 -primary_entity: - entity: switch - class: outlet - dps: - - id: 1 - type: boolean - name: switch - - id: 21 - type: bitfield - name: factory_test - optional: true -secondary_entities: +entities: + - entity: switch + class: outlet + dps: + - id: 1 + type: boolean + name: switch + - id: 21 + type: bitfield + name: factory_test + optional: true - entity: switch name: USB icon: "mdi:usb" diff --git a/custom_components/tuya_local/devices/smartplug_with_childlock.yaml b/custom_components/tuya_local/devices/smartplug_with_childlock.yaml index 5cdd1e7ed8..f2ca99afae 100644 --- a/custom_components/tuya_local/devices/smartplug_with_childlock.yaml +++ b/custom_components/tuya_local/devices/smartplug_with_childlock.yaml @@ -2,23 +2,22 @@ name: Smartplug products: - id: r9xep1xwyoubglpn name: SX1 reelay switch -primary_entity: - entity: switch - class: outlet - dps: - - id: 1 - type: boolean - name: switch - - id: 42 - type: string - name: cyclic_schedule - - id: 43 - type: string - name: random_schedule - - id: 44 - type: string - name: inching -secondary_entities: +entities: + - entity: switch + class: outlet + dps: + - id: 1 + type: boolean + name: switch + - id: 42 + type: string + name: cyclic_schedule + - id: 43 + type: string + name: random_schedule + - id: 44 + type: string + name: inching - entity: number category: config class: duration diff --git a/custom_components/tuya_local/devices/smartplugv1.yaml b/custom_components/tuya_local/devices/smartplugv1.yaml index 54c087389e..74569e161f 100644 --- a/custom_components/tuya_local/devices/smartplugv1.yaml +++ b/custom_components/tuya_local/devices/smartplugv1.yaml @@ -5,14 +5,13 @@ products: name: Gosund EP2 - id: 37mnhia3pojleqfh name: SP111-A -primary_entity: - entity: switch - class: outlet - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + class: outlet + dps: + - id: 1 + type: boolean + name: switch - entity: sensor category: diagnostic class: voltage diff --git a/custom_components/tuya_local/devices/smartplugv2.yaml b/custom_components/tuya_local/devices/smartplugv2.yaml index d9009e526f..b7b59ff10b 100644 --- a/custom_components/tuya_local/devices/smartplugv2.yaml +++ b/custom_components/tuya_local/devices/smartplugv2.yaml @@ -1,17 +1,16 @@ name: Energy monitoring smartplug legacy_type: kogan_switch2 -primary_entity: - entity: switch - class: outlet - dps: - - id: 1 - type: boolean - name: switch - - id: 21 - type: bitfield - name: factory_test - optional: true -secondary_entities: +entities: + - entity: switch + class: outlet + dps: + - id: 1 + type: boolean + name: switch + - id: 21 + type: bitfield + name: factory_test + optional: true - entity: sensor category: diagnostic class: voltage diff --git a/custom_components/tuya_local/devices/smartplugv2_childlock.yaml b/custom_components/tuya_local/devices/smartplugv2_childlock.yaml index ae8b4b3e76..faa343dbf1 100644 --- a/custom_components/tuya_local/devices/smartplugv2_childlock.yaml +++ b/custom_components/tuya_local/devices/smartplugv2_childlock.yaml @@ -1,22 +1,21 @@ name: Smartplug -primary_entity: - entity: switch - dps: - - id: 1 - type: boolean - name: switch - - id: 41 - type: string - name: cycle_timer - optional: true - - id: 42 - type: string - name: random_timer - optional: true - - id: 43 - type: string - name: inching -secondary_entities: +entities: + - entity: switch + dps: + - id: 1 + type: boolean + name: switch + - id: 41 + type: string + name: cycle_timer + optional: true + - id: 42 + type: string + name: random_timer + optional: true + - id: 43 + type: string + name: inching - entity: number class: duration translation_key: timer diff --git a/custom_components/tuya_local/devices/smartplugv2_energy.yaml b/custom_components/tuya_local/devices/smartplugv2_energy.yaml index 95e2346254..d045833a07 100644 --- a/custom_components/tuya_local/devices/smartplugv2_energy.yaml +++ b/custom_components/tuya_local/devices/smartplugv2_energy.yaml @@ -10,26 +10,25 @@ products: name: SWE SAGEWE F2s501-GB - id: uqehhcrmk5depvtl name: Smatrul 16A/20A -primary_entity: - entity: switch - class: outlet - dps: - - id: 1 - type: boolean - name: switch - - id: 21 - type: integer - name: test_bit - optional: true - - id: 41 - type: string - name: cycle_timer - optional: true - - id: 42 - type: string - name: random_timer - optional: true -secondary_entities: +entities: + - entity: switch + class: outlet + dps: + - id: 1 + type: boolean + name: switch + - id: 21 + type: integer + name: test_bit + optional: true + - id: 41 + type: string + name: cycle_timer + optional: true + - id: 42 + type: string + name: random_timer + optional: true - entity: number category: config class: duration diff --git a/custom_components/tuya_local/devices/smartplugv2_energyv2.yaml b/custom_components/tuya_local/devices/smartplugv2_energyv2.yaml index a03703c5fa..2d514b33cd 100644 --- a/custom_components/tuya_local/devices/smartplugv2_energyv2.yaml +++ b/custom_components/tuya_local/devices/smartplugv2_energyv2.yaml @@ -6,30 +6,29 @@ products: name: Moes ME322 - id: ncwuazeo5y1pujun name: STY-63TM -primary_entity: - entity: switch - class: outlet - dps: - - id: 1 - type: boolean - name: switch - - id: 21 - type: integer - name: test_bit - optional: true - - id: 42 - type: string - name: cycle_timer - optional: true - - id: 43 - type: string - name: random_timer - optional: true - - id: 44 - type: string - name: inching - optional: true -secondary_entities: +entities: + - entity: switch + class: outlet + dps: + - id: 1 + type: boolean + name: switch + - id: 21 + type: integer + name: test_bit + optional: true + - id: 42 + type: string + name: cycle_timer + optional: true + - id: 43 + type: string + name: random_timer + optional: true + - id: 44 + type: string + name: inching + optional: true - entity: number category: config class: duration diff --git a/custom_components/tuya_local/devices/smartplugv2_energyv3.yaml b/custom_components/tuya_local/devices/smartplugv2_energyv3.yaml index bb7782708a..6078a64b29 100644 --- a/custom_components/tuya_local/devices/smartplugv2_energyv3.yaml +++ b/custom_components/tuya_local/devices/smartplugv2_energyv3.yaml @@ -10,29 +10,28 @@ products: name: UNSH SMKG-KNL - id: azpywu5zfg5wyzpn name: EARU 1P Breaker -primary_entity: - entity: switch - class: outlet - dps: - - id: 1 - type: boolean - name: switch - - id: 21 - type: integer - name: test_bit - - id: 42 - type: base64 - name: cycle_timer - optional: true - - id: 43 - type: base64 - name: random_timer - optional: true - - id: 44 - type: base64 - name: inching - optional: true -secondary_entities: +entities: + - entity: switch + class: outlet + dps: + - id: 1 + type: boolean + name: switch + - id: 21 + type: integer + name: test_bit + - id: 42 + type: base64 + name: cycle_timer + optional: true + - id: 43 + type: base64 + name: random_timer + optional: true + - id: 44 + type: base64 + name: inching + optional: true - entity: number category: config class: duration diff --git a/custom_components/tuya_local/devices/smartplugv2_polled_power.yaml b/custom_components/tuya_local/devices/smartplugv2_polled_power.yaml index f524df3287..69d9a536a8 100644 --- a/custom_components/tuya_local/devices/smartplugv2_polled_power.yaml +++ b/custom_components/tuya_local/devices/smartplugv2_polled_power.yaml @@ -1,16 +1,15 @@ name: Energy monitoring smartplug -primary_entity: - entity: switch - class: outlet - dps: - - id: 1 - type: boolean - name: switch - - id: 21 - type: bitfield - name: factory_test - optional: true -secondary_entities: +entities: + - entity: switch + class: outlet + dps: + - id: 1 + type: boolean + name: switch + - id: 21 + type: bitfield + name: factory_test + optional: true - entity: sensor category: diagnostic class: voltage diff --git a/custom_components/tuya_local/devices/smartplugv3.yaml b/custom_components/tuya_local/devices/smartplugv3.yaml index 628e771c5e..d4f618df66 100644 --- a/custom_components/tuya_local/devices/smartplugv3.yaml +++ b/custom_components/tuya_local/devices/smartplugv3.yaml @@ -1,21 +1,20 @@ name: Advanced energy monitoring smartplug -primary_entity: - entity: switch - class: outlet - dps: - - id: 1 - type: boolean - name: switch - - id: 21 - type: integer - name: test_bit - - id: 41 - type: string - name: cycle_timer - - id: 42 - type: string - name: random_timer -secondary_entities: +entities: + - entity: switch + class: outlet + dps: + - id: 1 + type: boolean + name: switch + - id: 21 + type: integer + name: test_bit + - id: 41 + type: string + name: cycle_timer + - id: 42 + type: string + name: random_timer - entity: number category: config class: duration diff --git a/custom_components/tuya_local/devices/smoke_detector.yaml b/custom_components/tuya_local/devices/smoke_detector.yaml index 23e211bbf9..7bf3ea20c5 100644 --- a/custom_components/tuya_local/devices/smoke_detector.yaml +++ b/custom_components/tuya_local/devices/smoke_detector.yaml @@ -2,18 +2,17 @@ name: Smoke detector products: - id: lsjnzox4skgduemo name: Unknown -primary_entity: - entity: binary_sensor - class: smoke - dps: - - id: 1 - type: integer - name: sensor - mapping: - - dps_val: "1" - value: true - - value: false -secondary_entities: +entities: + - entity: binary_sensor + class: smoke + dps: + - id: 1 + type: integer + name: sensor + mapping: + - dps_val: "1" + value: true + - value: false - entity: sensor name: Smoke level category: diagnostic diff --git a/custom_components/tuya_local/devices/snt957w_de_cbu_temp_humidity.yaml b/custom_components/tuya_local/devices/snt957w_de_cbu_temp_humidity.yaml index 55ffa88499..80a4a6ff3d 100644 --- a/custom_components/tuya_local/devices/snt957w_de_cbu_temp_humidity.yaml +++ b/custom_components/tuya_local/devices/snt957w_de_cbu_temp_humidity.yaml @@ -2,18 +2,17 @@ name: Temperature and humidity sensor products: - id: dnoq3j5m9nhxw9a1 name: SNT957W-DE CBU -primary_entity: - entity: sensor - class: temperature - dps: - - id: 1 - name: sensor - type: integer - unit: C - mapping: - - scale: 10 - class: measurement -secondary_entities: +entities: + - entity: sensor + class: temperature + dps: + - id: 1 + name: sensor + type: integer + unit: C + mapping: + - scale: 10 + class: measurement - entity: sensor class: humidity dps: diff --git a/custom_components/tuya_local/devices/snt957w_tde_temp.yaml b/custom_components/tuya_local/devices/snt957w_tde_temp.yaml index c8e0657b42..5cf2c1cf55 100644 --- a/custom_components/tuya_local/devices/snt957w_tde_temp.yaml +++ b/custom_components/tuya_local/devices/snt957w_tde_temp.yaml @@ -2,18 +2,17 @@ name: Temperature sensor products: - id: fqs8czlq3m0seqyp name: SNT957W-TDE -primary_entity: - entity: sensor - class: temperature - dps: - - id: 1 - name: sensor - type: integer - unit: C - mapping: - - scale: 10 - class: measurement -secondary_entities: +entities: + - entity: sensor + class: temperature + dps: + - id: 1 + name: sensor + type: integer + unit: C + mapping: + - scale: 10 + class: measurement - entity: select translation_key: temperature_unit category: config diff --git a/custom_components/tuya_local/devices/sobralik_water_fountain.yaml b/custom_components/tuya_local/devices/sobralik_water_fountain.yaml index 0813ca7160..6bca1d7303 100644 --- a/custom_components/tuya_local/devices/sobralik_water_fountain.yaml +++ b/custom_components/tuya_local/devices/sobralik_water_fountain.yaml @@ -2,14 +2,13 @@ name: Pet water fountain products: - id: hpa87ady0hndivqn name: Sobralik FW-W01 -primary_entity: - entity: switch - icon: "mdi:water-pump" - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + icon: "mdi:water-pump" + dps: + - id: 1 + type: boolean + name: switch - entity: binary_sensor translation_key: tank_empty dps: diff --git a/custom_components/tuya_local/devices/soho_air_purifier.yaml b/custom_components/tuya_local/devices/soho_air_purifier.yaml index 5ec775dc13..8224ee8ef3 100644 --- a/custom_components/tuya_local/devices/soho_air_purifier.yaml +++ b/custom_components/tuya_local/devices/soho_air_purifier.yaml @@ -1,32 +1,31 @@ name: Air Purifier -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 1 - name: switch - type: boolean - - id: 3 - name: preset_mode - type: string - mapping: - - dps_val: auto - value: smart - - dps_val: manual - value: normal - - dps_val: sleep - value: sleep - - id: 4 - name: speed - type: string - mapping: - - dps_val: low - value: 33 - - dps_val: mid - value: 66 - - dps_val: high - value: 100 -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 1 + name: switch + type: boolean + - id: 3 + name: preset_mode + type: string + mapping: + - dps_val: auto + value: smart + - dps_val: manual + value: normal + - dps_val: sleep + value: sleep + - id: 4 + name: speed + type: string + mapping: + - dps_val: low + value: 33 + - dps_val: mid + value: 66 + - dps_val: high + value: 100 - entity: switch translation_key: ionizer category: config diff --git a/custom_components/tuya_local/devices/solaire_vitra_smart_heater_s2.yaml b/custom_components/tuya_local/devices/solaire_vitra_smart_heater_s2.yaml index 9f55a2a43b..20ae5305c1 100644 --- a/custom_components/tuya_local/devices/solaire_vitra_smart_heater_s2.yaml +++ b/custom_components/tuya_local/devices/solaire_vitra_smart_heater_s2.yaml @@ -2,50 +2,49 @@ name: Panel heater products: - id: 8fczfuyd5dknvltq name: Solaire Vitra S2 -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: true - value: "heat" - - dps_val: false - value: "off" - - id: 2 - name: temperature - type: integer - unit: C - range: - min: 7 - max: 30 - mapping: - - constraint: preset_mode - conditions: - - dps_val: "antifreezen" - value: 7 - range: - min: 7 - max: 7 - - id: 3 - name: current_temperature - type: integer - range: - min: 0 - max: 50 - - id: 4 - name: preset_mode - type: string - mapping: - - dps_val: comfort - value: comfort - - dps_val: eco - value: eco - - dps_val: antifreezen - value: away -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: true + value: "heat" + - dps_val: false + value: "off" + - id: 2 + name: temperature + type: integer + unit: C + range: + min: 7 + max: 30 + mapping: + - constraint: preset_mode + conditions: + - dps_val: "antifreezen" + value: 7 + range: + min: 7 + max: 7 + - id: 3 + name: current_temperature + type: integer + range: + min: 0 + max: 50 + - id: 4 + name: preset_mode + type: string + mapping: + - dps_val: comfort + value: comfort + - dps_val: eco + value: eco + - dps_val: antifreezen + value: away - entity: number name: Temperature calibration category: config diff --git a/custom_components/tuya_local/devices/solar_inverter.yaml b/custom_components/tuya_local/devices/solar_inverter.yaml index 57642f55d3..870e7d43c9 100644 --- a/custom_components/tuya_local/devices/solar_inverter.yaml +++ b/custom_components/tuya_local/devices/solar_inverter.yaml @@ -2,24 +2,23 @@ name: Smart Inverter products: - id: xcgsq9ggffz7lqhh name: SG700MD -primary_entity: - entity: sensor - class: energy - dps: - - id: 2 - type: integer - name: sensor - unit: kWh - class: total_increasing - mapping: - - scale: 100 - - id: 15 - name: model - type: string - - id: 16 - name: inverter_id - type: string -secondary_entities: +entities: + - entity: sensor + class: energy + dps: + - id: 2 + type: integer + name: sensor + unit: kWh + class: total_increasing + mapping: + - scale: 100 + - id: 15 + name: model + type: string + - id: 16 + name: inverter_id + type: string - entity: sensor class: power category: diagnostic diff --git a/custom_components/tuya_local/devices/solar_inverter_gtb_series.yaml b/custom_components/tuya_local/devices/solar_inverter_gtb_series.yaml index f1d031a2c2..7008129d7b 100644 --- a/custom_components/tuya_local/devices/solar_inverter_gtb_series.yaml +++ b/custom_components/tuya_local/devices/solar_inverter_gtb_series.yaml @@ -2,24 +2,23 @@ name: Solar inverter products: - id: czu7ynosrkxgbnsb name: Solar Grid GTB Series -primary_entity: - entity: sensor - class: energy - dps: - - id: 2 - type: integer - name: sensor - unit: kWh - class: total_increasing - mapping: - - scale: 100 - - id: 15 - name: model - type: string - - id: 16 - name: inverter_id - type: string -secondary_entities: +entities: + - entity: sensor + class: energy + dps: + - id: 2 + type: integer + name: sensor + unit: kWh + class: total_increasing + mapping: + - scale: 100 + - id: 15 + name: model + type: string + - id: 16 + name: inverter_id + type: string - entity: sensor class: power category: diagnostic diff --git a/custom_components/tuya_local/devices/soleusair_air_purifier.yaml b/custom_components/tuya_local/devices/soleusair_air_purifier.yaml index cc3eb29a81..b112a1e398 100644 --- a/custom_components/tuya_local/devices/soleusair_air_purifier.yaml +++ b/custom_components/tuya_local/devices/soleusair_air_purifier.yaml @@ -4,33 +4,32 @@ products: name: Soleusair KJ1000F A10 - id: 5xrkvysk7z6xrjum name: Soleusair KJ760F A02 -primary_entity: - entity: fan - translation_only_key: fan_with_presets - icon: "mdi:air-purifier" - dps: - - id: 1 - name: switch - type: boolean - - id: 101 - type: integer - name: speed - range: - min: 1 - max: 5 - - id: 3 - name: preset_mode - type: string - mapping: - - dps_val: manual - value: normal - - dps_val: auto - value: smart - - dps_val: sleep - value: sleep - - dps_val: displayoff - value: displayoff -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + icon: "mdi:air-purifier" + dps: + - id: 1 + name: switch + type: boolean + - id: 101 + type: integer + name: speed + range: + min: 1 + max: 5 + - id: 3 + name: preset_mode + type: string + mapping: + - dps_val: manual + value: normal + - dps_val: auto + value: smart + - dps_val: sleep + value: sleep + - dps_val: displayoff + value: displayoff - entity: sensor name: Filter life category: diagnostic diff --git a/custom_components/tuya_local/devices/somgom_double_switch.yaml b/custom_components/tuya_local/devices/somgom_double_switch.yaml index bcc0022e1e..92177c4443 100644 --- a/custom_components/tuya_local/devices/somgom_double_switch.yaml +++ b/custom_components/tuya_local/devices/somgom_double_switch.yaml @@ -1,14 +1,13 @@ name: Somgoms double switch -primary_entity: - entity: switch - translation_key: switch_x - translation_placeholders: - x: "1" - dps: - - id: 1 - name: switch - type: boolean -secondary_entities: +entities: + - entity: switch + translation_key: switch_x + translation_placeholders: + x: "1" + dps: + - id: 1 + name: switch + type: boolean - entity: switch translation_key: switch_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/somgom_single_switch.yaml b/custom_components/tuya_local/devices/somgom_single_switch.yaml index e889e83531..cf7b2243cb 100644 --- a/custom_components/tuya_local/devices/somgom_single_switch.yaml +++ b/custom_components/tuya_local/devices/somgom_single_switch.yaml @@ -4,13 +4,12 @@ products: name: Novadigital switch - id: vxo9yezswiumvync name: PST WT-E1 -primary_entity: - entity: switch - dps: - - id: 1 - name: switch - type: boolean -secondary_entities: +entities: + - entity: switch + dps: + - id: 1 + name: switch + type: boolean - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/sonninkonig_eco_elegance_heater.yaml b/custom_components/tuya_local/devices/sonninkonig_eco_elegance_heater.yaml index 6e59dbdfb1..0092aabed2 100644 --- a/custom_components/tuya_local/devices/sonninkonig_eco_elegance_heater.yaml +++ b/custom_components/tuya_local/devices/sonninkonig_eco_elegance_heater.yaml @@ -2,29 +2,28 @@ name: IR panel heater products: - id: xev18n44cvrmicqd name: Sonnenkonig ECO 700 -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: heat - - id: 2 - name: temperature - type: integer - unit: C - range: - min: 0 - max: 37 - - id: 3 - name: current_temperature - type: integer -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: heat + - id: 2 + name: temperature + type: integer + unit: C + range: + min: 0 + max: 37 + - id: 3 + name: current_temperature + type: integer - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/sop10_sprinkler.yaml b/custom_components/tuya_local/devices/sop10_sprinkler.yaml index 49fd8b48c8..52871a7e59 100644 --- a/custom_components/tuya_local/devices/sop10_sprinkler.yaml +++ b/custom_components/tuya_local/devices/sop10_sprinkler.yaml @@ -2,17 +2,16 @@ name: Water sprinkler products: - id: nxquc5lb name: SOP10 -primary_entity: - entity: valve - class: water - dps: - - id: 1 - type: boolean - name: valve - - id: 12 - type: string - name: work_state -secondary_entities: +entities: + - entity: valve + class: water + dps: + - id: 1 + type: boolean + name: valve + - id: 12 + type: string + name: work_state - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/space_dog_music_lamp.yaml b/custom_components/tuya_local/devices/space_dog_music_lamp.yaml index 9f86813530..b68c69616a 100644 --- a/custom_components/tuya_local/devices/space_dog_music_lamp.yaml +++ b/custom_components/tuya_local/devices/space_dog_music_lamp.yaml @@ -1,81 +1,75 @@ name: Space Dog Music Lamp -primary_entity: - entity: light - icon: "mdi:dog-side" - dps: - - id: 20 - type: boolean - name: switch - # Mode - # values: White, Scene, Music, Color - - id: 21 - type: string - name: color_mode - mapping: - - dps_val: white - value: white - - dps_val: colour - value: hs - - dps_val: scene - value: Scene - - dps_val: music - value: Music - - # Brightness - # values: 1000, 400 - - id: 22 - name: brightness - type: integer - range: - min: 10 - max: 1000 - - # Color - # sample values: 00f003e803e8, 00b403e803e8, 000003e803e8, 00f003e803e8 - - id: 24 - name: rgbhsv - type: hex - format: - - name: h - bytes: 2 - range: - min: 0 - max: 360 - - name: s - bytes: 2 - range: - min: 0 - max: 1000 - - name: v - bytes: 2 - range: - min: 0 - max: 1000 - - # Moire speed - # values: horotelic, fast - # - id: 104 - # type: string - # name: moire - # mapping: - # - dps_val: horotelic - # value: Horotelic - # - dps_val: fast - # value: Fast - - # Local music control - # values: 010001 (minimum volume), 016401 (maximum volume), - # 001e00 (previous song), 011e00 (next song), 023900, - # 023500, 033500, 033900, 033c00, 034000, 034300, 034700, - # 034b00, 034e00 - # looks like two values are combined there - volume and song id (?) - # - id: 107 - - # adjust - # values: (no records found) - # - id: 117 +entities: + - entity: light + icon: "mdi:dog-side" + dps: + - id: 20 + type: boolean + name: switch + # Mode + # values: White, Scene, Music, Color + - id: 21 + type: string + name: color_mode + mapping: + - dps_val: white + value: white + - dps_val: colour + value: hs + - dps_val: scene + value: Scene + - dps_val: music + value: Music + # Brightness + # values: 1000, 400 + - id: 22 + name: brightness + type: integer + range: + min: 10 + max: 1000 + # Color + # sample values: 00f003e803e8, 00b403e803e8, 000003e803e8, 00f003e803e8 + - id: 24 + name: rgbhsv + type: hex + format: + - name: h + bytes: 2 + range: + min: 0 + max: 360 + - name: s + bytes: 2 + range: + min: 0 + max: 1000 + - name: v + bytes: 2 + range: + min: 0 + max: 1000 + # Moire speed + # values: horotelic, fast + # - id: 104 + # type: string + # name: moire + # mapping: + # - dps_val: horotelic + # value: Horotelic + # - dps_val: fast + # value: Fast + # Local music control + # values: 010001 (minimum volume), 016401 (maximum volume), + # 001e00 (previous song), 011e00 (next song), 023900, + # 023500, 033500, 033900, 033c00, 034000, 034300, 034700, + # 034b00, 034e00 + # looks like two values are combined there - volume and song id? + # - id: 107 + # adjust + # values: (no records found) + # - id: 117 -secondary_entities: - entity: select name: Scene category: config diff --git a/custom_components/tuya_local/devices/spaelectrics_light_controller.yaml b/custom_components/tuya_local/devices/spaelectrics_light_controller.yaml index f90504c406..7ac0bf5133 100644 --- a/custom_components/tuya_local/devices/spaelectrics_light_controller.yaml +++ b/custom_components/tuya_local/devices/spaelectrics_light_controller.yaml @@ -2,66 +2,65 @@ name: Light controller products: - id: nzmllynz7tligqp0 name: Spa Electrics RM-WF Iris -primary_entity: - entity: light - name: Zone 1 - dps: - - id: 106 - type: boolean - name: available - mapping: - - dps_val: false - value: true - - dps_val: true - value: false - - id: 108 - type: boolean - name: switch - - id: 112 - name: brightness - type: integer - range: - min: 1 - max: 3 - - id: 110 - type: string - name: named_color - mapping: - - dps_val: WHITE - value: white - - dps_val: AQUA - value: aqua - - dps_val: BLUE - value: blue - - dps_val: MAGENTA - value: magenta - - dps_val: RED - value: red - - dps_val: LIME - value: lime - - dps_val: GREEN - value: green - - dps_val: OCEANIC - value: black - - value: black - - id: 110 - type: string - name: effect - mapping: - - dps_val: WHITE - value: "off" - - dps_val: OCEANIC - value: Oceanic - - dps_val: TRANSCENDENCE - value: Transcendence - - dps_val: OUTBACK - value: Outback - - dps_val: SPRING - value: Spring - - id: 103 - type: string - name: zone_name -secondary_entities: +entities: + - entity: light + name: Zone 1 + dps: + - id: 106 + type: boolean + name: available + mapping: + - dps_val: false + value: true + - dps_val: true + value: false + - id: 108 + type: boolean + name: switch + - id: 112 + name: brightness + type: integer + range: + min: 1 + max: 3 + - id: 110 + type: string + name: named_color + mapping: + - dps_val: WHITE + value: white + - dps_val: AQUA + value: aqua + - dps_val: BLUE + value: blue + - dps_val: MAGENTA + value: magenta + - dps_val: RED + value: red + - dps_val: LIME + value: lime + - dps_val: GREEN + value: green + - dps_val: OCEANIC + value: black + - value: black + - id: 110 + type: string + name: effect + mapping: + - dps_val: WHITE + value: "off" + - dps_val: OCEANIC + value: Oceanic + - dps_val: TRANSCENDENCE + value: Transcendence + - dps_val: OUTBACK + value: Outback + - dps_val: SPRING + value: Spring + - id: 103 + type: string + name: zone_name - entity: light name: Zone 2 dps: diff --git a/custom_components/tuya_local/devices/speaka_sptvcm510_tvmount.yaml b/custom_components/tuya_local/devices/speaka_sptvcm510_tvmount.yaml index 3faeb09201..791684c95f 100644 --- a/custom_components/tuya_local/devices/speaka_sptvcm510_tvmount.yaml +++ b/custom_components/tuya_local/devices/speaka_sptvcm510_tvmount.yaml @@ -2,18 +2,17 @@ name: TV mount products: - id: etspz6new8zb1vdy name: Speaka SP-TVCM-510 -primary_entity: - entity: button - name: Stop - icon: "mdi:stop" - dps: - - id: 101 - type: string - name: button - mapping: - - dps_val: cancel - value: true -secondary_entities: +entities: + - entity: button + name: Stop + icon: "mdi:stop" + dps: + - id: 101 + type: string + name: button + mapping: + - dps_val: cancel + value: true - entity: button name: Up icon: "mdi:arrow-up-bold" diff --git a/custom_components/tuya_local/devices/stadlerform_eva_humidifier.yaml b/custom_components/tuya_local/devices/stadlerform_eva_humidifier.yaml index cc617ac8b3..f61d7167a6 100644 --- a/custom_components/tuya_local/devices/stadlerform_eva_humidifier.yaml +++ b/custom_components/tuya_local/devices/stadlerform_eva_humidifier.yaml @@ -1,32 +1,32 @@ -name: Stadler Form Eva +name: Humidifier products: - id: xe3mxn6danpswfh3 -primary_entity: - entity: humidifier - dps: - - id: 1 - name: switch - type: boolean - - id: 13 - name: humidity - type: integer - range: - min: 35 - max: 80 - mapping: - - step: 5 - - id: 14 - name: current_humidity - type: integer - - id: 102 - type: boolean - name: mode - mapping: - - dps_val: true - value: auto - - dps_val: false - value: boost -secondary_entities: + name: Stadler Form Eva +entities: + - entity: humidifier + dps: + - id: 1 + name: switch + type: boolean + - id: 13 + name: humidity + type: integer + range: + min: 35 + max: 80 + mapping: + - step: 5 + - id: 14 + name: current_humidity + type: integer + - id: 102 + type: boolean + name: mode + mapping: + - dps_val: true + value: auto + - dps_val: false + value: boost - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/stadlerform_karl_humidifier.yaml b/custom_components/tuya_local/devices/stadlerform_karl_humidifier.yaml index 0396d89fe3..6456ae4fe9 100644 --- a/custom_components/tuya_local/devices/stadlerform_karl_humidifier.yaml +++ b/custom_components/tuya_local/devices/stadlerform_karl_humidifier.yaml @@ -1,35 +1,34 @@ -name: Stadler Form Karl / Karl big +name: Humidifier products: - id: gi2d3je5upa9ngx4 name: Stadler Form Karl - id: qgv0pltei9nuuatv name: Stadler Form Karl big -primary_entity: - entity: humidifier - dps: - - id: 1 - name: switch - type: boolean - - id: 14 - name: current_humidity - type: integer - - id: 103 - name: humidity - type: integer - range: - min: 40 - max: 55 - mapping: - - step: 5 - - id: 102 - type: boolean - name: mode - mapping: - - dps_val: true - value: auto - - dps_val: false - value: boost -secondary_entities: +entities: + - entity: humidifier + dps: + - id: 1 + name: switch + type: boolean + - id: 14 + name: current_humidity + type: integer + - id: 103 + name: humidity + type: integer + range: + min: 40 + max: 55 + mapping: + - step: 5 + - id: 102 + type: boolean + name: mode + mapping: + - dps_val: true + value: auto + - dps_val: false + value: boost - entity: binary_sensor translation_key: tank_empty category: diagnostic diff --git a/custom_components/tuya_local/devices/stadlerform_roger_purifier.yaml b/custom_components/tuya_local/devices/stadlerform_roger_purifier.yaml index b2ebd16e59..9c42efc499 100644 --- a/custom_components/tuya_local/devices/stadlerform_roger_purifier.yaml +++ b/custom_components/tuya_local/devices/stadlerform_roger_purifier.yaml @@ -2,29 +2,28 @@ name: Air purifier products: - id: bff126249136f505 name: Stadler Form Roger -primary_entity: - entity: fan - dps: - - id: 1 - type: boolean - name: switch - - id: 4 - name: speed - type: string - mapping: - # According to original reporter these are all progressivly faster - # speeds, even though auto suggests something else. - - dps_val: sleep - value: 20 - - dps_val: low - value: 40 - - dps_val: mid - value: 60 - - dps_val: high - value: 80 - - dps_val: auto - value: 100 -secondary_entities: +entities: + - entity: fan + dps: + - id: 1 + type: boolean + name: switch + - id: 4 + name: speed + type: string + mapping: + # According to original reporter these are all progressivly faster + # speeds, even though auto suggests something else. + - dps_val: sleep + value: 20 + - dps_val: low + value: 40 + - dps_val: mid + value: 60 + - dps_val: high + value: 80 + - dps_val: auto + value: 100 - entity: lock translation_key: child_lock dps: diff --git a/custom_components/tuya_local/devices/starlight_heatpump.yaml b/custom_components/tuya_local/devices/starlight_heatpump.yaml index 4f2eab120c..db899f3f0a 100644 --- a/custom_components/tuya_local/devices/starlight_heatpump.yaml +++ b/custom_components/tuya_local/devices/starlight_heatpump.yaml @@ -1,130 +1,129 @@ name: StarLight heatpump -primary_entity: - entity: climate - translation_only_key: aircon_extra - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: auto - value: heat_cool - - dps_val: cold - value: cool - - dps_val: hot - value: heat - - dps_val: wind - value: fan_only - - dps_val: wet - value: dry - - id: 2 - name: temperature - type: integer - unit: C - range: - min: 160 - max: 310 - mapping: - - scale: 10 - step: 5 - constraint: mode - conditions: - - dps_val: wet - invalid: true - - dps_val: wind - invalid: true - - id: 3 - name: current_temperature - type: integer - - id: 4 - name: mode - type: string - hidden: true - - id: 5 - name: fan_mode - type: string - mapping: - - dps_val: auto - value: auto - - dps_val: mute - value: quiet - - dps_val: low - value: low - - dps_val: mid_low - value: medlow - - dps_val: mid - value: medium - - dps_val: mid_high - value: medhigh - - dps_val: high - value: high - - dps_val: strong - value: strong - - id: 105 - name: sleep_mode - type: string - - id: 110 - name: flags - type: bitfield - - id: 113 - name: swing_mode - type: string - mapping: - - dps_val: "0" - value: "off" - - dps_val: "1" - value: "on" - - value: "on" - hidden: true - - id: 114 - name: swing_horizontal_mode - type: string - mapping: - - dps_val: "0" - value: "off" - - dps_val: "1" - value: "on" - - value: "on" - hidden: true - - id: 119 - name: electricity_management - type: string - - id: 120 - name: gen_mode - type: string - - id: 123 - name: flags_2 - type: hex - - id: 126 - name: vertical_flow_position - type: string - - id: 127 - name: horizontal_flow_position - type: string - - id: 128 - name: model_code - type: string - - id: 129 - name: energy - type: string - - id: 130 - name: eco_temp - type: integer - - id: 132 - name: hot_cool - type: boolean - - id: 133 - name: swing_action - type: string - - id: 134 - name: statistics - type: json -secondary_entities: +entities: + - entity: climate + translation_only_key: aircon_extra + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: auto + value: heat_cool + - dps_val: cold + value: cool + - dps_val: hot + value: heat + - dps_val: wind + value: fan_only + - dps_val: wet + value: dry + - id: 2 + name: temperature + type: integer + unit: C + range: + min: 160 + max: 310 + mapping: + - scale: 10 + step: 5 + constraint: mode + conditions: + - dps_val: wet + invalid: true + - dps_val: wind + invalid: true + - id: 3 + name: current_temperature + type: integer + - id: 4 + name: mode + type: string + hidden: true + - id: 5 + name: fan_mode + type: string + mapping: + - dps_val: auto + value: auto + - dps_val: mute + value: quiet + - dps_val: low + value: low + - dps_val: mid_low + value: medlow + - dps_val: mid + value: medium + - dps_val: mid_high + value: medhigh + - dps_val: high + value: high + - dps_val: strong + value: strong + - id: 105 + name: sleep_mode + type: string + - id: 110 + name: flags + type: bitfield + - id: 113 + name: swing_mode + type: string + mapping: + - dps_val: "0" + value: "off" + - dps_val: "1" + value: "on" + - value: "on" + hidden: true + - id: 114 + name: swing_horizontal_mode + type: string + mapping: + - dps_val: "0" + value: "off" + - dps_val: "1" + value: "on" + - value: "on" + hidden: true + - id: 119 + name: electricity_management + type: string + - id: 120 + name: gen_mode + type: string + - id: 123 + name: flags_2 + type: hex + - id: 126 + name: vertical_flow_position + type: string + - id: 127 + name: horizontal_flow_position + type: string + - id: 128 + name: model_code + type: string + - id: 129 + name: energy + type: string + - id: 130 + name: eco_temp + type: integer + - id: 132 + name: hot_cool + type: boolean + - id: 133 + name: swing_action + type: string + - id: 134 + name: statistics + type: json - entity: sensor category: diagnostic class: humidity diff --git a/custom_components/tuya_local/devices/stepuptech_solar_inverter.yaml b/custom_components/tuya_local/devices/stepuptech_solar_inverter.yaml index 63800a4d7f..6dff1f0f4b 100644 --- a/custom_components/tuya_local/devices/stepuptech_solar_inverter.yaml +++ b/custom_components/tuya_local/devices/stepuptech_solar_inverter.yaml @@ -2,19 +2,18 @@ name: Solar inverter products: - id: r73jxzrtcda4uwwb name: Stepuptech SP800 -primary_entity: - entity: sensor - name: Daily energy out - class: energy - dps: - - id: 107 - type: integer - name: sensor - unit: kWh - class: total_increasing - mapping: - - scale: 100 -secondary_entities: +entities: + - entity: sensor + name: Daily energy out + class: energy + dps: + - id: 107 + type: integer + name: sensor + unit: kWh + class: total_increasing + mapping: + - scale: 100 - entity: sensor name: PV power class: power diff --git a/custom_components/tuya_local/devices/stepuptech_solar_inverter_v2.yaml b/custom_components/tuya_local/devices/stepuptech_solar_inverter_v2.yaml index 4a09cebcb4..6b1a48cdf7 100644 --- a/custom_components/tuya_local/devices/stepuptech_solar_inverter_v2.yaml +++ b/custom_components/tuya_local/devices/stepuptech_solar_inverter_v2.yaml @@ -2,20 +2,19 @@ name: Solar inverter products: - id: 2zkyfrpmfxmex896 name: Stepuptech SPD-800 -primary_entity: - entity: sensor - name: AC power - class: power - dps: - - id: 108 - type: integer - name: sensor - unit: W - force: true - class: measurement - mapping: - - scale: 100 -secondary_entities: +entities: + - entity: sensor + name: AC power + class: power + dps: + - id: 108 + type: integer + name: sensor + unit: W + force: true + class: measurement + mapping: + - scale: 100 - entity: sensor name: PV1 voltage class: voltage diff --git a/custom_components/tuya_local/devices/stirling_fs140dc_fan.yaml b/custom_components/tuya_local/devices/stirling_fs140dc_fan.yaml index e206eff830..748a696d61 100644 --- a/custom_components/tuya_local/devices/stirling_fs140dc_fan.yaml +++ b/custom_components/tuya_local/devices/stirling_fs140dc_fan.yaml @@ -1,31 +1,30 @@ name: Stirling FS1-40DC pedestal fan -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - name: preset_mode - type: string - mapping: - - dps_val: normal - value: normal - - dps_val: nature - value: nature - - dps_val: sleep - value: sleep - - id: 3 - name: speed - type: integer - range: - min: 1 - max: 15 - - id: 5 - name: oscillate - type: boolean -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + name: preset_mode + type: string + mapping: + - dps_val: normal + value: normal + - dps_val: nature + value: nature + - dps_val: sleep + value: sleep + - id: 3 + name: speed + type: integer + range: + min: 1 + max: 15 + - id: 5 + name: oscillate + type: boolean - entity: select translation_key: timer category: config diff --git a/custom_components/tuya_local/devices/stl_siren.yaml b/custom_components/tuya_local/devices/stl_siren.yaml index ac6bb2240d..b60a69c79d 100644 --- a/custom_components/tuya_local/devices/stl_siren.yaml +++ b/custom_components/tuya_local/devices/stl_siren.yaml @@ -2,44 +2,43 @@ name: Siren products: - id: DYgId0sz6zWlmmYu name: STL siren alarm -primary_entity: - entity: siren - dps: - - id: 102 - type: string - name: tone - mapping: - - dps_val: "1" - value: "Alarm 1" - - dps_val: "2" - value: "Alarm 2" - - dps_val: "3" - value: "Alarm 3" - - dps_val: "4" - value: "Alarm 4" - - dps_val: "5" - value: "Alarm 5" - - dps_val: "6" - value: "Alarm 6" - - dps_val: "7" - value: "Alarm 7" - - dps_val: "8" - value: "Alarm 8" - - dps_val: "9" - value: "Alarm 9" - - dps_val: "10" - value: "Alarm 10" - - id: 103 - type: integer - name: duration - range: - min: 0 - max: 60 - - id: 104 - type: boolean - optional: true - name: switch -secondary_entities: +entities: + - entity: siren + dps: + - id: 102 + type: string + name: tone + mapping: + - dps_val: "1" + value: "Alarm 1" + - dps_val: "2" + value: "Alarm 2" + - dps_val: "3" + value: "Alarm 3" + - dps_val: "4" + value: "Alarm 4" + - dps_val: "5" + value: "Alarm 5" + - dps_val: "6" + value: "Alarm 6" + - dps_val: "7" + value: "Alarm 7" + - dps_val: "8" + value: "Alarm 8" + - dps_val: "9" + value: "Alarm 9" + - dps_val: "10" + value: "Alarm 10" + - id: 103 + type: integer + name: duration + range: + min: 0 + max: 60 + - id: 104 + type: boolean + optional: true + name: switch - entity: sensor class: battery category: diagnostic diff --git a/custom_components/tuya_local/devices/sulion_ceiling_fan.yaml b/custom_components/tuya_local/devices/sulion_ceiling_fan.yaml index bb2ef9f714..481ef8d31d 100644 --- a/custom_components/tuya_local/devices/sulion_ceiling_fan.yaml +++ b/custom_components/tuya_local/devices/sulion_ceiling_fan.yaml @@ -2,31 +2,30 @@ name: Ceiling fan products: - id: 5baeoecnemrwonk6 name: Sulion Crixus L -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 53 - type: integer - name: speed - range: - min: 1 - max: 6 - - id: 54 - type: string - name: direction - - id: 101 - type: boolean - name: switch - - id: 102 - type: string - name: preset_mode - mapping: - - dps_val: normal - value: normal - - dps_val: nature - value: nature -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 53 + type: integer + name: speed + range: + min: 1 + max: 6 + - id: 54 + type: string + name: direction + - id: 101 + type: boolean + name: switch + - id: 102 + type: string + name: preset_mode + mapping: + - dps_val: normal + value: normal + - dps_val: nature + value: nature - entity: light category: config dps: diff --git a/custom_components/tuya_local/devices/sunbeam_dual_bedwarmer.yaml b/custom_components/tuya_local/devices/sunbeam_dual_bedwarmer.yaml index 6150529ffc..79e4e94d89 100644 --- a/custom_components/tuya_local/devices/sunbeam_dual_bedwarmer.yaml +++ b/custom_components/tuya_local/devices/sunbeam_dual_bedwarmer.yaml @@ -2,28 +2,27 @@ name: Bed warmer products: - id: pjvxl1wsyqxivsaf name: Sunbeam dual heated mattress pad -primary_entity: - entity: switch - name: Combined switch - icon: "mdi:bed" - dps: - - id: 1 - type: boolean - name: switch - optional: true - mapping: - - dps_val: null - value: false - hidden: true - - id: 101 - type: string - name: schedule - optional: true - - id: 104 - type: string - name: confirmation - optional: true -secondary_entities: +entities: + - entity: switch + name: Combined switch + icon: "mdi:bed" + dps: + - id: 1 + type: boolean + name: switch + optional: true + mapping: + - dps_val: null + value: false + hidden: true + - id: 101 + type: string + name: schedule + optional: true + - id: 104 + type: string + name: confirmation + optional: true - entity: select name: Combined level category: config diff --git a/custom_components/tuya_local/devices/suntec_coolfix_airconditioner.yaml b/custom_components/tuya_local/devices/suntec_coolfix_airconditioner.yaml index 6eb6bbb875..6e3566290e 100644 --- a/custom_components/tuya_local/devices/suntec_coolfix_airconditioner.yaml +++ b/custom_components/tuya_local/devices/suntec_coolfix_airconditioner.yaml @@ -2,106 +2,105 @@ name: Air conditioner products: - id: 0ithwpdwkgyqfx54 name: Suntec Wellness Coolfixx -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: Cool - value: cool - - dps_val: Dyr - value: dry - - dps_val: Fan - value: fan_only - - dps_val: Heat - value: heat - - id: 2 - type: integer - name: temperature - range: - min: 16 - max: 32 - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: temp_set_f - range: - min: 61 - max: 90 - - id: 3 - type: integer - name: current_temperature - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: temp_current_f - - id: 4 - type: string - name: mode - hidden: true - - id: 5 - type: string - name: fan_mode - mapping: - - dps_val: Low - value: low - - dps_val: Mid - value: medium - - dps_val: High - value: high - - id: 15 - type: string - name: swing_mode - mapping: - - dps_val: "OFF" - value: "off" - - dps_val: "ON" - value: "on" - - id: 19 - type: string - name: temperature_unit - mapping: - - dps_val: c - value: C - - dps_val: f - value: F - - id: 23 - type: integer - name: temp_set_f - optional: true - range: - min: 61 - max: 90 - - id: 24 - type: integer - name: temp_current_f - optional: true - - id: 101 - type: boolean - name: preset_mode - mapping: - - dps_val: true - value: sleep - - dps_val: false - value: comfort - - id: 103 - type: string - name: model_id - mapping: - - dps_val: C - value: Cooling - - dps_val: C_H - value: Cool+Heat -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: Cool + value: cool + - dps_val: Dyr + value: dry + - dps_val: Fan + value: fan_only + - dps_val: Heat + value: heat + - id: 2 + type: integer + name: temperature + range: + min: 16 + max: 32 + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: temp_set_f + range: + min: 61 + max: 90 + - id: 3 + type: integer + name: current_temperature + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: temp_current_f + - id: 4 + type: string + name: mode + hidden: true + - id: 5 + type: string + name: fan_mode + mapping: + - dps_val: Low + value: low + - dps_val: Mid + value: medium + - dps_val: High + value: high + - id: 15 + type: string + name: swing_mode + mapping: + - dps_val: "OFF" + value: "off" + - dps_val: "ON" + value: "on" + - id: 19 + type: string + name: temperature_unit + mapping: + - dps_val: c + value: C + - dps_val: f + value: F + - id: 23 + type: integer + name: temp_set_f + optional: true + range: + min: 61 + max: 90 + - id: 24 + type: integer + name: temp_current_f + optional: true + - id: 101 + type: boolean + name: preset_mode + mapping: + - dps_val: true + value: sleep + - dps_val: false + value: comfort + - id: 103 + type: string + name: model_id + mapping: + - dps_val: C + value: Cooling + - dps_val: C_H + value: Cool+Heat - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/sws01_weather_station.yaml b/custom_components/tuya_local/devices/sws01_weather_station.yaml index 25ebae74f7..a7e1a6cf51 100644 --- a/custom_components/tuya_local/devices/sws01_weather_station.yaml +++ b/custom_components/tuya_local/devices/sws01_weather_station.yaml @@ -2,19 +2,18 @@ name: Weather station products: - id: fpgistthfiweyaqr name: SWS-01 weather station -primary_entity: - entity: sensor - name: Internal temperature - class: temperature - dps: - - id: 131 - name: sensor - type: integer - unit: C - mapping: - - scale: 10 - class: measurement -secondary_entities: +entities: + - entity: sensor + name: Internal temperature + class: temperature + dps: + - id: 131 + name: sensor + type: integer + unit: C + mapping: + - scale: 10 + class: measurement - entity: sensor name: Internal humidity class: humidity diff --git a/custom_components/tuya_local/devices/sygonix_smarter_dehumidifier.yaml b/custom_components/tuya_local/devices/sygonix_smarter_dehumidifier.yaml index be8ae9925b..09af99eee5 100644 --- a/custom_components/tuya_local/devices/sygonix_smarter_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/sygonix_smarter_dehumidifier.yaml @@ -2,46 +2,45 @@ name: Dehumidifier products: - id: 4xcjyqplnfenhplh name: Sygonix Smarter -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - type: integer - name: humidity - range: - min: 30 - max: 80 - mapping: - - step: 5 - - id: 5 - name: mode - type: string - mapping: - - dps_val: Continuities - value: boost - - dps_val: Auto - value: auto - - dps_val: Sleep - value: sleep - - id: 6 - type: integer - name: current_humidity - # This doesn't actually have an ionizer, but having the dp - # will aid in detection - - id: 10 - type: boolean - name: ionizer - - id: 102 - type: integer - name: model_code - - id: 104 - type: integer - name: equipment_code -secondary_entities: +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + type: integer + name: humidity + range: + min: 30 + max: 80 + mapping: + - step: 5 + - id: 5 + name: mode + type: string + mapping: + - dps_val: Continuities + value: boost + - dps_val: Auto + value: auto + - dps_val: Sleep + value: sleep + - id: 6 + type: integer + name: current_humidity + # This doesn't actually have an ionizer, but having the dp + # will aid in detection + - id: 10 + type: boolean + name: ionizer + - id: 102 + type: integer + name: model_code + - id: 104 + type: integer + name: equipment_code - entity: fan dps: - id: 1 diff --git a/custom_components/tuya_local/devices/t5e_wf_thermostat.yaml b/custom_components/tuya_local/devices/t5e_wf_thermostat.yaml index ba3543d097..ecf11e03a8 100644 --- a/custom_components/tuya_local/devices/t5e_wf_thermostat.yaml +++ b/custom_components/tuya_local/devices/t5e_wf_thermostat.yaml @@ -1,181 +1,180 @@ name: T5E-WF thermostat -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: temp_mode - conditions: - - dps_val: cold - value: cool - - dps_val: hot - value: heat - - id: 2 - type: string - name: temp_mode - hidden: true - - id: 3 - type: string - name: hvac_action - mapping: - - dps_val: auto - constraint: temp_mode - conditions: - - dps_val: cold - value: cooling - - dps_val: hot - value: heating - - dps_val: auxiliary_heat - value: preheating - - dps_val: cold - value: cooling - - dps_val: comfortable - constraint: temp_mode - conditions: - - dps_val: cold - value: cooling - - dps_val: hot - value: heating - - dps_val: dry - value: drying - - dps_val: eco - constraint: temp_mode - conditions: - - dps_val: cold - value: cooling - - dps_val: hot - value: heating - - dps_val: energy - constraint: temp_mode - conditions: - - dps_val: cold - value: cooling - - dps_val: hot - value: heating - - dps_val: floor_heat - value: heating - - dps_val: holiday - value: idle - - dps_val: hot - value: heating - - dps_val: manual - constraint: temp_mode - conditions: - - dps_val: cold - value: cooling - - dps_val: hot - value: heating - - dps_val: program - constraint: temp_mode - conditions: - - dps_val: cold - value: cooling - - dps_val: hot - value: heating - - dps_val: sleep - constraint: temp_mode - conditions: - - dps_val: cold - value: cooling - - dps_val: hot - value: heating - - dps_val: wind - value: fan - - dps_val: wait - value: idle - - id: 4 - type: boolean - name: preset_mode - mapping: - - dps_val: true - value: eco - - dps_val: false - value: comfort - - id: 16 - type: integer - name: temperature - range: - min: 0 - max: 400 - mapping: - - scale: 10 - step: 5 - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: temp_set_f - step: 10 - - id: 17 - type: integer - name: temp_set_f - range: - min: 320 - max: 1040 - mapping: - - scale: 10 - step: 10 - hidden: true - - id: 18 - type: integer - name: upper_temp_f - mapping: - - scale: 10 - hidden: true - - id: 19 - type: integer - name: max_temperature - mapping: - - scale: 10 - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: upper_temp_f - - id: 20 - type: integer - name: lower_temp_f - mapping: - - scale: 10 - hidden: true - - id: 24 - type: integer - name: current_temperature - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: curr_temp_f - - id: 26 - type: integer - name: min_temperature - mapping: - - scale: 10 - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: lower_temp_f - - id: 29 - type: integer - name: curr_temp_f - - id: 43 - type: string - name: temperature_unit - mapping: - - dps_val: c - value: C - - dps_val: f - value: F - - id: 58 - type: string - name: unknown_58 - - id: 43 - type: boolean - name: unknown_43 -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: temp_mode + conditions: + - dps_val: cold + value: cool + - dps_val: hot + value: heat + - id: 2 + type: string + name: temp_mode + hidden: true + - id: 3 + type: string + name: hvac_action + mapping: + - dps_val: auto + constraint: temp_mode + conditions: + - dps_val: cold + value: cooling + - dps_val: hot + value: heating + - dps_val: auxiliary_heat + value: preheating + - dps_val: cold + value: cooling + - dps_val: comfortable + constraint: temp_mode + conditions: + - dps_val: cold + value: cooling + - dps_val: hot + value: heating + - dps_val: dry + value: drying + - dps_val: eco + constraint: temp_mode + conditions: + - dps_val: cold + value: cooling + - dps_val: hot + value: heating + - dps_val: energy + constraint: temp_mode + conditions: + - dps_val: cold + value: cooling + - dps_val: hot + value: heating + - dps_val: floor_heat + value: heating + - dps_val: holiday + value: idle + - dps_val: hot + value: heating + - dps_val: manual + constraint: temp_mode + conditions: + - dps_val: cold + value: cooling + - dps_val: hot + value: heating + - dps_val: program + constraint: temp_mode + conditions: + - dps_val: cold + value: cooling + - dps_val: hot + value: heating + - dps_val: sleep + constraint: temp_mode + conditions: + - dps_val: cold + value: cooling + - dps_val: hot + value: heating + - dps_val: wind + value: fan + - dps_val: wait + value: idle + - id: 4 + type: boolean + name: preset_mode + mapping: + - dps_val: true + value: eco + - dps_val: false + value: comfort + - id: 16 + type: integer + name: temperature + range: + min: 0 + max: 400 + mapping: + - scale: 10 + step: 5 + constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: temp_set_f + step: 10 + - id: 17 + type: integer + name: temp_set_f + range: + min: 320 + max: 1040 + mapping: + - scale: 10 + step: 10 + hidden: true + - id: 18 + type: integer + name: upper_temp_f + mapping: + - scale: 10 + hidden: true + - id: 19 + type: integer + name: max_temperature + mapping: + - scale: 10 + constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: upper_temp_f + - id: 20 + type: integer + name: lower_temp_f + mapping: + - scale: 10 + hidden: true + - id: 24 + type: integer + name: current_temperature + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: curr_temp_f + - id: 26 + type: integer + name: min_temperature + mapping: + - scale: 10 + constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: lower_temp_f + - id: 29 + type: integer + name: curr_temp_f + - id: 43 + type: string + name: temperature_unit + mapping: + - dps_val: c + value: C + - dps_val: f + value: F + - id: 58 + type: string + name: unknown_58 + - id: 43 + type: boolean + name: unknown_43 - entity: number name: Maximum temperature category: config diff --git a/custom_components/tuya_local/devices/tampa_led_system.yaml b/custom_components/tuya_local/devices/tampa_led_system.yaml index 8ed513e786..cd0bf28195 100644 --- a/custom_components/tuya_local/devices/tampa_led_system.yaml +++ b/custom_components/tuya_local/devices/tampa_led_system.yaml @@ -2,38 +2,37 @@ name: Lights products: - id: ge0bfvco name: Tampa CD-TY-WY05 -primary_entity: - entity: light - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - name: work_mode - type: string - - id: 3 - name: brightness - type: integer - range: - min: 0 - max: 1000 - - id: 4 - name: color_temp - type: integer - range: - min: 0 - max: 1000 - mapping: - - target_range: - min: 3000 - max: 6000 - - id: 6 - name: scene - type: hex - - id: 33 - type: string - name: power_off_memory -secondary_entities: +entities: + - entity: light + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + name: work_mode + type: string + - id: 3 + name: brightness + type: integer + range: + min: 0 + max: 1000 + - id: 4 + name: color_temp + type: integer + range: + min: 0 + max: 1000 + mapping: + - target_range: + min: 3000 + max: 6000 + - id: 6 + name: scene + type: hex + - id: 33 + type: string + name: power_off_memory - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/taurus_agadir_heater.yaml b/custom_components/tuya_local/devices/taurus_agadir_heater.yaml index ed0f40c8cc..9fe5f7cbf1 100644 --- a/custom_components/tuya_local/devices/taurus_agadir_heater.yaml +++ b/custom_components/tuya_local/devices/taurus_agadir_heater.yaml @@ -2,52 +2,51 @@ name: Radiator products: - id: rs1azmhtak4bo0o5 name: Taurus Agadir Connect 2000 -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: "heat" - - id: 2 - type: integer - name: temperature - unit: C - range: - min: 5 - max: 35 - - id: 4 - type: string - name: preset_mode - mapping: - - dps_val: CF - value: home - - dps_val: AF - value: away - - id: 11 - type: string - name: hvac_action - mapping: - - dps_val: working - value: heating - - dps_val: standby - value: idle - - id: 101 - type: string - name: fan_mode - mapping: - - dps_val: H1 - value: low - - dps_val: H2 - value: medium - - dps_val: H3 - value: high -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: "heat" + - id: 2 + type: integer + name: temperature + unit: C + range: + min: 5 + max: 35 + - id: 4 + type: string + name: preset_mode + mapping: + - dps_val: CF + value: home + - dps_val: AF + value: away + - id: 11 + type: string + name: hvac_action + mapping: + - dps_val: working + value: heating + - dps_val: standby + value: idle + - id: 101 + type: string + name: fan_mode + mapping: + - dps_val: H1 + value: low + - dps_val: H2 + value: medium + - dps_val: H3 + value: high - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/taxnele_energy_meter.yaml b/custom_components/tuya_local/devices/taxnele_energy_meter.yaml index 3b3f2b5016..52181782fb 100644 --- a/custom_components/tuya_local/devices/taxnele_energy_meter.yaml +++ b/custom_components/tuya_local/devices/taxnele_energy_meter.yaml @@ -1,18 +1,18 @@ -name: Taxnele meter +name: Energy meter products: - id: 3xhdofmeo6lgpvd5 -primary_entity: - entity: sensor - class: energy - dps: - - id: 1 - type: integer - name: sensor - unit: kWh - class: total_increasing - mapping: - - scale: 100 -secondary_entities: + name: Taxnele meter +entities: + - entity: sensor + class: energy + dps: + - id: 1 + type: integer + name: sensor + unit: kWh + class: total_increasing + mapping: + - scale: 100 - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/techinc_smart_3m_neon_strip.yaml b/custom_components/tuya_local/devices/techinc_smart_3m_neon_strip.yaml index 8ebe0fefb3..c0438619b1 100644 --- a/custom_components/tuya_local/devices/techinc_smart_3m_neon_strip.yaml +++ b/custom_components/tuya_local/devices/techinc_smart_3m_neon_strip.yaml @@ -2,53 +2,52 @@ name: Light strip products: - id: szzsfdqcrqkczzfi name: Tech Inc 3m neon -primary_entity: - entity: light - dps: - - id: 20 - type: boolean - name: switch - - id: 21 - type: string - name: effect - mapping: - - dps_val: colour - value: "off" - - dps_val: scene - value: Scene - - dps_val: music - value: Music - - id: 22 - name: brightness - type: integer - optional: true - range: - min: 10 - max: 1000 - mapping: - - dps_val: null - value: 0 - - id: 24 - name: rgbhsv - type: hex - optional: true - format: - - name: h - bytes: 2 - range: - min: 0 - max: 360 - - name: s - bytes: 2 - range: - min: 0 - max: 1000 - - name: v - bytes: 2 - range: - min: 0 - max: 1000 -secondary_entities: +entities: + - entity: light + dps: + - id: 20 + type: boolean + name: switch + - id: 21 + type: string + name: effect + mapping: + - dps_val: colour + value: "off" + - dps_val: scene + value: Scene + - dps_val: music + value: Music + - id: 22 + name: brightness + type: integer + optional: true + range: + min: 10 + max: 1000 + mapping: + - dps_val: null + value: 0 + - id: 24 + name: rgbhsv + type: hex + optional: true + format: + - name: h + bytes: 2 + range: + min: 0 + max: 360 + - name: s + bytes: 2 + range: + min: 0 + max: 1000 + - name: v + bytes: 2 + range: + min: 0 + max: 1000 - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/teckin_ss42_sockets.yaml b/custom_components/tuya_local/devices/teckin_ss42_sockets.yaml index 09df9c2761..54d48703f0 100644 --- a/custom_components/tuya_local/devices/teckin_ss42_sockets.yaml +++ b/custom_components/tuya_local/devices/teckin_ss42_sockets.yaml @@ -1,15 +1,14 @@ name: Outdoor double plug -primary_entity: - entity: switch - class: outlet - translation_key: outlet_x - translation_placeholders: - x: "1" - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + class: outlet + translation_key: outlet_x + translation_placeholders: + x: "1" + dps: + - id: 1 + type: boolean + name: switch - entity: switch class: outlet translation_key: outlet_x diff --git a/custom_components/tuya_local/devices/tediton_k7_doorlock.yaml b/custom_components/tuya_local/devices/tediton_k7_doorlock.yaml index 5f39619d70..8858af4a9e 100644 --- a/custom_components/tuya_local/devices/tediton_k7_doorlock.yaml +++ b/custom_components/tuya_local/devices/tediton_k7_doorlock.yaml @@ -2,115 +2,114 @@ name: Door lock products: - id: umca8uiv2203ua3k name: Tediton K7 WBR3 -primary_entity: - entity: lock - dps: - - id: 1 - type: integer - name: unlock_fingerprint - optional: true - persist: false - - id: 2 - type: integer - name: unlock_password - optional: true - persist: false - - id: 3 - type: integer - name: unlock_temp_pwd - optional: true - persist: false - - id: 5 - type: integer - name: unlock_card - optional: true - persist: false - - id: 6 - type: integer - name: unlock_face - optional: true - persist: false - - id: 7 - type: integer - name: unlock_key - optional: true - persist: false - - id: 8 - type: string - optional: true - persist: false - name: jammed - mapping: - - dps_val: tongue_bad - value: true - - dps_val: tongue_not_out - value: true - - value: false - - id: 9 - type: integer - name: unlock_request - - id: 15 - type: integer - name: unlock_app - optional: true - persist: false - - id: 25 - type: string - optional: true - sensitive: true - name: update_all_finger - - id: 26 - type: string - optional: true - sensitive: true - name: update_all_password - - id: 27 - type: string - optional: true - sensitive: true - name: update_all_card - - id: 28 - type: string - optional: true - sensitive: true - name: update_all_face - - id: 31 - type: string - optional: true - sensitive: true - name: update_all_fin_vein - - id: 32 - type: string - name: offline_pd - optional: true - sensitive: true - - id: 33 - type: string - name: offline_clear - optional: true - - id: 49 - type: string - name: remote_no_pd_setkey - optional: true - sensitive: true - - id: 50 - type: string - name: remote_no_pd_key - optional: true - sensitive: true - - id: 57 - type: string - name: lock_record - optional: true - - id: 60 - type: string - name: local_capacity_link - optional: true - - id: 70 - type: string - name: lock_local_record - optional: true -secondary_entities: +entities: + - entity: lock + dps: + - id: 1 + type: integer + name: unlock_fingerprint + optional: true + persist: false + - id: 2 + type: integer + name: unlock_password + optional: true + persist: false + - id: 3 + type: integer + name: unlock_temp_pwd + optional: true + persist: false + - id: 5 + type: integer + name: unlock_card + optional: true + persist: false + - id: 6 + type: integer + name: unlock_face + optional: true + persist: false + - id: 7 + type: integer + name: unlock_key + optional: true + persist: false + - id: 8 + type: string + optional: true + persist: false + name: jammed + mapping: + - dps_val: tongue_bad + value: true + - dps_val: tongue_not_out + value: true + - value: false + - id: 9 + type: integer + name: unlock_request + - id: 15 + type: integer + name: unlock_app + optional: true + persist: false + - id: 25 + type: string + optional: true + sensitive: true + name: update_all_finger + - id: 26 + type: string + optional: true + sensitive: true + name: update_all_password + - id: 27 + type: string + optional: true + sensitive: true + name: update_all_card + - id: 28 + type: string + optional: true + sensitive: true + name: update_all_face + - id: 31 + type: string + optional: true + sensitive: true + name: update_all_fin_vein + - id: 32 + type: string + name: offline_pd + optional: true + sensitive: true + - id: 33 + type: string + name: offline_clear + optional: true + - id: 49 + type: string + name: remote_no_pd_setkey + optional: true + sensitive: true + - id: 50 + type: string + name: remote_no_pd_key + optional: true + sensitive: true + - id: 57 + type: string + name: lock_record + optional: true + - id: 60 + type: string + name: local_capacity_link + optional: true + - id: 70 + type: string + name: lock_local_record + optional: true - entity: sensor name: Alert class: enum diff --git a/custom_components/tuya_local/devices/tefal_xplorer_vacuum.yaml b/custom_components/tuya_local/devices/tefal_xplorer_vacuum.yaml index e06084c7cd..ad44b86be4 100644 --- a/custom_components/tuya_local/devices/tefal_xplorer_vacuum.yaml +++ b/custom_components/tuya_local/devices/tefal_xplorer_vacuum.yaml @@ -4,157 +4,156 @@ products: name: Tefal X-plorer S75 Animal - id: tw2o6dntmqfpwsc7 name: Rowenta X-plorer S75 -primary_entity: - entity: vacuum - dps: - - id: 101 - name: activate - type: boolean - - id: 102 - name: pause - type: boolean - hidden: true - - id: 104 - name: command - type: string - optional: true - mapping: - - constraint: pause - conditions: - - dps_val: true - value: pause - - dps_val: false - mapping: - - dps_val: smart - value: smart - - dps_val: pose - value: clean_spot - - dps_val: zone - value: zone - - dps_val: backcharge - value: return_to_base - - dps_val: curpointing - value: curpointing - - dps_val: selectroom - value: selectroom - - dps_val: null - value: pause - hidden: true - - id: 105 - name: status - type: string - mapping: - - dps_val: idle - value: standby - - dps_val: pointing\areaing - value: pointing_areaing - - dps_val: totaling - value: cleaning - - dps_val: sweep - value: sweep - - dps_val: mop - value: mop - - dps_val: fault - value: error - - dps_val: pause - value: paused - - dps_val: chargring - value: charging - - dps_val: tocharge - value: returning - - dps_val: fullcharge - value: charged - - dps_val: remotectl - value: remotectl - - dps_val: dormant - value: dormant - - dps_val: curpointing - value: curpointing - - dps_val: selectroom - value: selectroom - - id: 109 - name: fan_speed - type: string - mapping: - - dps_val: quiet - value: quiet - - dps_val: strong - value: strong - - dps_val: auto - value: auto - - dps_val: max - value: max - - id: 111 - name: direction_control - optional: true - type: string - mapping: - - dps_val: forward - value: forward - - dps_val: backward - value: backward - - dps_val: left - value: left - - dps_val: right - value: right - - dps_val: stop - value: stop - - id: 112 - name: locate - optional: true - type: boolean - - id: 123 - name: path_comm - optional: true - type: string - - id: 124 - name: cmd_comm - optional: true - type: string - - id: 125 - name: request_data - optional: true - type: string - - id: 126 - name: comm_flag - optional: true - type: string - - id: 127 - name: comm_raw - optional: true - type: string - - id: 128 - name: message_report - optional: true - type: string - - id: 130 - name: sn - optional: true - type: string - - id: 131 - name: uuid - optional: true - type: string - - id: 132 - name: device_info - optional: true - type: string - - id: 137 - name: auto_boost - type: boolean - - id: 139 - name: room_mode_switch - type: boolean - optional: true - mapping: - - dps_val: null - value_redirect: room_mode_switch_alt - - id: 144 - name: room_mode_switch_alt - type: boolean - optional: true - hidden: true -secondary_entities: +entities: + - entity: vacuum + dps: + - id: 101 + name: activate + type: boolean + - id: 102 + name: pause + type: boolean + hidden: true + - id: 104 + name: command + type: string + optional: true + mapping: + - constraint: pause + conditions: + - dps_val: true + value: pause + - dps_val: false + mapping: + - dps_val: smart + value: smart + - dps_val: pose + value: clean_spot + - dps_val: zone + value: zone + - dps_val: backcharge + value: return_to_base + - dps_val: curpointing + value: curpointing + - dps_val: selectroom + value: selectroom + - dps_val: null + value: pause + hidden: true + - id: 105 + name: status + type: string + mapping: + - dps_val: idle + value: standby + - dps_val: pointing\areaing + value: pointing_areaing + - dps_val: totaling + value: cleaning + - dps_val: sweep + value: sweep + - dps_val: mop + value: mop + - dps_val: fault + value: error + - dps_val: pause + value: paused + - dps_val: chargring + value: charging + - dps_val: tocharge + value: returning + - dps_val: fullcharge + value: charged + - dps_val: remotectl + value: remotectl + - dps_val: dormant + value: dormant + - dps_val: curpointing + value: curpointing + - dps_val: selectroom + value: selectroom + - id: 109 + name: fan_speed + type: string + mapping: + - dps_val: quiet + value: quiet + - dps_val: strong + value: strong + - dps_val: auto + value: auto + - dps_val: max + value: max + - id: 111 + name: direction_control + optional: true + type: string + mapping: + - dps_val: forward + value: forward + - dps_val: backward + value: backward + - dps_val: left + value: left + - dps_val: right + value: right + - dps_val: stop + value: stop + - id: 112 + name: locate + optional: true + type: boolean + - id: 123 + name: path_comm + optional: true + type: string + - id: 124 + name: cmd_comm + optional: true + type: string + - id: 125 + name: request_data + optional: true + type: string + - id: 126 + name: comm_flag + optional: true + type: string + - id: 127 + name: comm_raw + optional: true + type: string + - id: 128 + name: message_report + optional: true + type: string + - id: 130 + name: sn + optional: true + type: string + - id: 131 + name: uuid + optional: true + type: string + - id: 132 + name: device_info + optional: true + type: string + - id: 137 + name: auto_boost + type: boolean + - id: 139 + name: room_mode_switch + type: boolean + optional: true + mapping: + - dps_val: null + value_redirect: room_mode_switch_alt + - id: 144 + name: room_mode_switch_alt + type: boolean + optional: true + hidden: true - entity: select name: Mode category: config diff --git a/custom_components/tuya_local/devices/tera_w01_evcharger.yaml b/custom_components/tuya_local/devices/tera_w01_evcharger.yaml index 16ac7d6462..9b55ed3efa 100644 --- a/custom_components/tuya_local/devices/tera_w01_evcharger.yaml +++ b/custom_components/tuya_local/devices/tera_w01_evcharger.yaml @@ -2,36 +2,35 @@ name: EV charger products: - id: o4zjlnwqwe0dzitl name: Tera 22kW EV charger (32A / 3 phase) -primary_entity: - entity: sensor - translation_key: status - icon: "mdi:ev-station" - class: enum - dps: - - id: 3 # work_state - type: string - name: sensor - mapping: - - dps_val: charger_charging - value: charging - - dps_val: charger_free - value: available - - dps_val: charger_insert - value: plugged_in - - dps_val: charger_free_fault - value: fault_unplugged - - dps_val: charger_wait - value: waiting - - dps_val: charger_pause - value: paused - - dps_val: charger_end - value: charged - - dps_val: charger_fault - value: fault - - id: 23 # system_version - type: string - name: system_version -secondary_entities: +entities: + - entity: sensor + translation_key: status + icon: "mdi:ev-station" + class: enum + dps: + - id: 3 # work_state + type: string + name: sensor + mapping: + - dps_val: charger_charging + value: charging + - dps_val: charger_free + value: available + - dps_val: charger_insert + value: plugged_in + - dps_val: charger_free_fault + value: fault_unplugged + - dps_val: charger_wait + value: waiting + - dps_val: charger_pause + value: paused + - dps_val: charger_end + value: charged + - dps_val: charger_fault + value: fault + - id: 23 # system_version + type: string + name: system_version - entity: sensor class: energy dps: diff --git a/custom_components/tuya_local/devices/tesla_air_purifier_mini.yaml b/custom_components/tuya_local/devices/tesla_air_purifier_mini.yaml index b3cf881d56..047a2e26c5 100644 --- a/custom_components/tuya_local/devices/tesla_air_purifier_mini.yaml +++ b/custom_components/tuya_local/devices/tesla_air_purifier_mini.yaml @@ -1,27 +1,26 @@ -name: Tesla smart air purifier mini +name: Air purifier products: - id: sgodozglgymucvq2 name: Tesla Air Mini -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 1 - type: boolean - name: switch - - id: 4 - name: preset_mode - type: string - mapping: - - dps_val: auto - value: smart - - dps_val: sleep - value: sleep - - dps_val: mid - value: fresh - - dps_val: high - value: strong -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 1 + type: boolean + name: switch + - id: 4 + name: preset_mode + type: string + mapping: + - dps_val: auto + value: smart + - dps_val: sleep + value: sleep + - dps_val: mid + value: fresh + - dps_val: high + value: strong - entity: light category: config dps: diff --git a/custom_components/tuya_local/devices/tesla_air_purifier_pro.yaml b/custom_components/tuya_local/devices/tesla_air_purifier_pro.yaml index d1ace3f357..e0c37b3a98 100644 --- a/custom_components/tuya_local/devices/tesla_air_purifier_pro.yaml +++ b/custom_components/tuya_local/devices/tesla_air_purifier_pro.yaml @@ -2,36 +2,35 @@ name: Air purifier products: - id: 3hjcrjktvkoim7zu name: Tesla Air Pro M -primary_entity: - entity: fan - translation_only_key: fan_with_presets - dps: - - id: 1 - type: boolean - name: switch - - id: 3 - name: preset_mode - type: string - mapping: - - dps_val: auto - value: smart - - dps_val: sleep - value: sleep - - dps_val: manual - value: normal - - id: 4 - name: speed - type: string - mapping: - - dps_val: "sleep" - value: 25 - - dps_val: "low" - value: 50 - - dps_val: "mid" - value: 75 - - dps_val: "high" - value: 100 -secondary_entities: +entities: + - entity: fan + translation_only_key: fan_with_presets + dps: + - id: 1 + type: boolean + name: switch + - id: 3 + name: preset_mode + type: string + mapping: + - dps_val: auto + value: smart + - dps_val: sleep + value: sleep + - dps_val: manual + value: normal + - id: 4 + name: speed + type: string + mapping: + - dps_val: "sleep" + value: 25 + - dps_val: "low" + value: 50 + - dps_val: "mid" + value: 75 + - dps_val: "high" + value: 100 - entity: light category: config dps: diff --git a/custom_components/tuya_local/devices/tesla_airconditioner.yaml b/custom_components/tuya_local/devices/tesla_airconditioner.yaml index bac257ac54..f083404ec9 100644 --- a/custom_components/tuya_local/devices/tesla_airconditioner.yaml +++ b/custom_components/tuya_local/devices/tesla_airconditioner.yaml @@ -2,97 +2,96 @@ name: Air conditioner products: - id: wxqdp6ecfkd78zzz name: Tesla TYAUX F/LM/J -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: cold - value: cool - - dps_val: hot - value: heat - - dps_val: wet - value: dry - - dps_val: wind - value: fan_only - - dps_val: auto - value: heat_cool - - id: 2 - type: integer - name: temperature - range: - min: 160 - max: 320 - mapping: - - scale: 10 - step: 5 - constraint: temperature_unit - conditions: - - dps_val: F - range: - min: 600 - max: 900 - - id: 3 - type: integer - name: current_temperature - mapping: - - scale: 10 - - id: 4 - name: mode - type: string - hidden: true - - id: 5 - type: string - name: fan_mode - mapping: - - dps_val: mute - value: "off" - - dps_val: low - value: low - - dps_val: mid - value: medium - - dps_val: high - value: high - - dps_val: auto - value: auto - - id: 8 - type: boolean - name: preset_mode - mapping: - - dps_val: true - value: eco - - dps_val: false - value: comfort - - id: 19 - type: string - name: temperature_unit - - id: 33 - type: boolean - name: swing_horizontal_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: "on" - - id: 105 - type: boolean - name: swing_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: "on" - - id: 108 - type: bitfield - name: model -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: cold + value: cool + - dps_val: hot + value: heat + - dps_val: wet + value: dry + - dps_val: wind + value: fan_only + - dps_val: auto + value: heat_cool + - id: 2 + type: integer + name: temperature + range: + min: 160 + max: 320 + mapping: + - scale: 10 + step: 5 + constraint: temperature_unit + conditions: + - dps_val: F + range: + min: 600 + max: 900 + - id: 3 + type: integer + name: current_temperature + mapping: + - scale: 10 + - id: 4 + name: mode + type: string + hidden: true + - id: 5 + type: string + name: fan_mode + mapping: + - dps_val: mute + value: "off" + - dps_val: low + value: low + - dps_val: mid + value: medium + - dps_val: high + value: high + - dps_val: auto + value: auto + - id: 8 + type: boolean + name: preset_mode + mapping: + - dps_val: true + value: eco + - dps_val: false + value: comfort + - id: 19 + type: string + name: temperature_unit + - id: 33 + type: boolean + name: swing_horizontal_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: "on" + - id: 105 + type: boolean + name: swing_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: "on" + - id: 108 + type: bitfield + name: model - entity: switch name: Emergency heat category: config diff --git a/custom_components/tuya_local/devices/tesla_aroma_diffuser.yaml b/custom_components/tuya_local/devices/tesla_aroma_diffuser.yaml index e252651acb..9bad0539c5 100644 --- a/custom_components/tuya_local/devices/tesla_aroma_diffuser.yaml +++ b/custom_components/tuya_local/devices/tesla_aroma_diffuser.yaml @@ -2,13 +2,12 @@ name: Aroma diffuser products: - id: izm17rnzcc2akjis name: Tesla TSL-AC-JS01W -primary_entity: - entity: switch - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + dps: + - id: 1 + type: boolean + name: switch - entity: fan translation_key: aroma_diffuser dps: diff --git a/custom_components/tuya_local/devices/tesla_aux_airconditioner.yaml b/custom_components/tuya_local/devices/tesla_aux_airconditioner.yaml index f163527116..f97fbe924e 100644 --- a/custom_components/tuya_local/devices/tesla_aux_airconditioner.yaml +++ b/custom_components/tuya_local/devices/tesla_aux_airconditioner.yaml @@ -2,84 +2,83 @@ name: Air conditioner # products: # - id: UNKNOWN # name: Tesla TA35LLIL-1232IAW -primary_entity: - entity: climate - translation_key: aircon_extra - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: cold - value: cool - - dps_val: hot - value: heat - - dps_val: wet - value: dry - - dps_val: wind - value: fan_only - - dps_val: auto - value: heat_cool - - id: 2 - type: integer - name: temperature - range: - min: 160 - max: 320 - mapping: - - scale: 10 - step: 5 - constraint: temperature_unit - conditions: - - dps_val: F - range: - min: 600 - max: 900 - - id: 3 - type: integer - name: current_temperature - mapping: - - scale: 10 - - id: 4 - name: mode - type: string - hidden: true - - id: 5 - type: string - name: fan_mode - mapping: - - dps_val: mute - value: "off" - - dps_val: low - value: low - - dps_val: mid - value: medium - - dps_val: high - value: high - - dps_val: auto - value: auto - - dps_val: strength - value: strong - - id: 19 - type: string - name: temperature_unit - - id: 105 - type: boolean - name: swing_mode - mapping: - - dps_val: true - value: vertical - - dps_val: false - value: "off" - - id: 108 - type: bitfield - name: model -secondary_entities: +entities: + - entity: climate + translation_key: aircon_extra + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: cold + value: cool + - dps_val: hot + value: heat + - dps_val: wet + value: dry + - dps_val: wind + value: fan_only + - dps_val: auto + value: heat_cool + - id: 2 + type: integer + name: temperature + range: + min: 160 + max: 320 + mapping: + - scale: 10 + step: 5 + constraint: temperature_unit + conditions: + - dps_val: F + range: + min: 600 + max: 900 + - id: 3 + type: integer + name: current_temperature + mapping: + - scale: 10 + - id: 4 + name: mode + type: string + hidden: true + - id: 5 + type: string + name: fan_mode + mapping: + - dps_val: mute + value: "off" + - dps_val: low + value: low + - dps_val: mid + value: medium + - dps_val: high + value: high + - dps_val: auto + value: auto + - dps_val: strength + value: strong + - id: 19 + type: string + name: temperature_unit + - id: 105 + type: boolean + name: swing_mode + mapping: + - dps_val: true + value: vertical + - dps_val: false + value: "off" + - id: 108 + type: bitfield + name: model - entity: light translation_key: backlight category: config diff --git a/custom_components/tuya_local/devices/tesla_humidifier.yaml b/custom_components/tuya_local/devices/tesla_humidifier.yaml index 9593eff615..da532d120f 100644 --- a/custom_components/tuya_local/devices/tesla_humidifier.yaml +++ b/custom_components/tuya_local/devices/tesla_humidifier.yaml @@ -2,25 +2,24 @@ name: Humidifier products: - id: noj5c7qq3znq8j6e name: Tesla Smart humidifier -primary_entity: - entity: fan - name: Humidifier - icon: "mdi:sprinkler-variant" - dps: - - id: 1 - type: boolean - name: switch - - id: 23 - type: string - name: speed - mapping: - - dps_val: L - value: 33 - - dps_val: M - value: 67 - - dps_val: H - value: 100 -secondary_entities: +entities: + - entity: fan + name: Humidifier + icon: "mdi:sprinkler-variant" + dps: + - id: 1 + type: boolean + name: switch + - id: 23 + type: string + name: speed + mapping: + - dps_val: L + value: 33 + - dps_val: M + value: 67 + - dps_val: H + value: 100 - entity: light dps: - id: 5 diff --git a/custom_components/tuya_local/devices/tesla_pet_feeder.yaml b/custom_components/tuya_local/devices/tesla_pet_feeder.yaml index 16f77f062b..09ca0c904c 100644 --- a/custom_components/tuya_local/devices/tesla_pet_feeder.yaml +++ b/custom_components/tuya_local/devices/tesla_pet_feeder.yaml @@ -2,13 +2,12 @@ name: Pet feeder products: - id: 8gdwxpoqdxdzefpe name: Tesla Smart TSL-PC-BL4 -primary_entity: - entity: switch - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + dps: + - id: 1 + type: boolean + name: switch - entity: number name: Serving size category: config diff --git a/custom_components/tuya_local/devices/tesla_s300_purifier.yaml b/custom_components/tuya_local/devices/tesla_s300_purifier.yaml index b4f88594eb..a0c7acefd6 100644 --- a/custom_components/tuya_local/devices/tesla_s300_purifier.yaml +++ b/custom_components/tuya_local/devices/tesla_s300_purifier.yaml @@ -2,31 +2,30 @@ name: Air purifier products: - id: 7v1gn9wmbqvtcqkc name: Tesla Air S300 -primary_entity: - entity: fan - dps: - - id: 1 - type: boolean - name: switch - - id: 4 - type: string - name: speed - mapping: - - dps_val: "1" - value: 14 - - dps_val: "2" - value: 28 - - dps_val: "3" - value: 42 - - dps_val: "4" - value: 57 - - dps_val: "5" - value: 71 - - dps_val: "6" - value: 85 - - dps_val: "7" - value: 100 -secondary_entities: +entities: + - entity: fan + dps: + - id: 1 + type: boolean + name: switch + - id: 4 + type: string + name: speed + mapping: + - dps_val: "1" + value: 14 + - dps_val: "2" + value: 28 + - dps_val: "3" + value: 42 + - dps_val: "4" + value: 57 + - dps_val: "5" + value: 71 + - dps_val: "6" + value: 85 + - dps_val: "7" + value: 100 - entity: sensor class: pm25 category: diagnostic diff --git a/custom_components/tuya_local/devices/tesla_xl_dehumidifier.yaml b/custom_components/tuya_local/devices/tesla_xl_dehumidifier.yaml index bf1cd16085..6c4d252676 100644 --- a/custom_components/tuya_local/devices/tesla_xl_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/tesla_xl_dehumidifier.yaml @@ -2,25 +2,24 @@ name: Dehumidifier products: - id: 4o6u7vjbiqm9byms name: Tesla Smart XL -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - type: integer - name: humidity - range: - min: 20 - max: 80 - mapping: - - step: 20 - - id: 6 - type: integer - name: current_humidity -secondary_entities: +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + type: integer + name: humidity + range: + min: 20 + max: 80 + mapping: + - step: 20 + - id: 6 + type: integer + name: current_humidity - entity: fan dps: - id: 1 diff --git a/custom_components/tuya_local/devices/tesvor_s6_vacuum.yaml b/custom_components/tuya_local/devices/tesvor_s6_vacuum.yaml index 9c30e68baa..77f751e0c4 100644 --- a/custom_components/tuya_local/devices/tesvor_s6_vacuum.yaml +++ b/custom_components/tuya_local/devices/tesvor_s6_vacuum.yaml @@ -2,171 +2,170 @@ name: Robot vacuum products: - id: seyplx9aqmrqjk9g name: Tesvor S6 -primary_entity: - entity: vacuum - dps: - - id: 1 - type: boolean - optional: true - name: power - mapping: - - dps_val: null - value: false - hidden: true - - id: 2 - type: boolean - optional: true - name: command - mapping: - - dps_val: true - value: pause - - dps_val: false - constraint: mode - conditions: - - dps_val: smart - value: smart - - dps_val: chargego - value: return_to_base - - dps_val: zone - value: zone - - dps_val: pose - value: pose - - dps_val: part - value: part - - dps_val: selectroom - value: select_room - - dps_val: null - constraint: mode - conditions: - - dps_val: smart - value: smart - hidden: true - - dps_val: chargego - value: return_to_base - hidden: true - - dps_val: zone - value: zone - hidden: true - - dps_val: pose - value: pose - hidden: true - - dps_val: part - value: part - hidden: true - - dps_val: selectroom - value: select_room - hidden: true - - id: 4 - type: string - name: mode - hidden: true - - id: 5 - type: string - name: status - mapping: - - dps_val: standby - value: standby - - dps_val: smart - value: cleaning - - dps_val: zone_clean - value: cleaning - - dps_val: part_clean - value: cleaning - - dps_val: cleaning - value: cleaning - - dps_val: paused - value: pause - - dps_val: goto_pos - value: going_to_location - - dps_val: pos_arrived - value: on_location - - dps_val: pos_unarrive - value: cannot_find_location - - dps_val: goto_charge - value: returning - - dps_val: charging - value: charging - - dps_val: charge_done - value: charged - - dps_val: sleep - value: sleep - - dps_val: select_room - value: select_room - - dps_val: mop_clean - value: mopping - - dps_val: manual_control - value: direction_control - - id: 9 - type: string - name: fan_speed - mapping: - - dps_val: closed - value: "Off" - - dps_val: gentle - value: Low - - dps_val: normal - value: Medium - - dps_val: strong - value: High - - id: 11 - type: boolean - name: locate - optional: true - - id: 12 - type: string - name: direction_control - optional: true - mapping: - - dps_val: forward - value: forward - - dps_val: backward - value: reverse - - dps_val: turn_left - value: left - - dps_val: turn_right - value: right - - dps_val: stop - value: stop - - id: 14 - name: path_data - type: string - optional: true - - id: 15 - name: command_trans - type: string - optional: true - - id: 16 - name: request - type: string - optional: true - mapping: - - dps_val: get_map - value: Get map - - dps_val: get_path - value: Get path - - dps_val: get_both - value: Get both - - id: 28 - type: bitfield - name: error - hidden: true - - id: 32 - type: string - name: schedule - optional: true - - id: 33 - type: string - name: do_not_disturb_schedule - optional: true - - id: 34 - type: string - name: device_info - optional: true - - id: 35 - type: string - name: voice_data - optional: true -secondary_entities: +entities: + - entity: vacuum + dps: + - id: 1 + type: boolean + optional: true + name: power + mapping: + - dps_val: null + value: false + hidden: true + - id: 2 + type: boolean + optional: true + name: command + mapping: + - dps_val: true + value: pause + - dps_val: false + constraint: mode + conditions: + - dps_val: smart + value: smart + - dps_val: chargego + value: return_to_base + - dps_val: zone + value: zone + - dps_val: pose + value: pose + - dps_val: part + value: part + - dps_val: selectroom + value: select_room + - dps_val: null + constraint: mode + conditions: + - dps_val: smart + value: smart + hidden: true + - dps_val: chargego + value: return_to_base + hidden: true + - dps_val: zone + value: zone + hidden: true + - dps_val: pose + value: pose + hidden: true + - dps_val: part + value: part + hidden: true + - dps_val: selectroom + value: select_room + hidden: true + - id: 4 + type: string + name: mode + hidden: true + - id: 5 + type: string + name: status + mapping: + - dps_val: standby + value: standby + - dps_val: smart + value: cleaning + - dps_val: zone_clean + value: cleaning + - dps_val: part_clean + value: cleaning + - dps_val: cleaning + value: cleaning + - dps_val: paused + value: pause + - dps_val: goto_pos + value: going_to_location + - dps_val: pos_arrived + value: on_location + - dps_val: pos_unarrive + value: cannot_find_location + - dps_val: goto_charge + value: returning + - dps_val: charging + value: charging + - dps_val: charge_done + value: charged + - dps_val: sleep + value: sleep + - dps_val: select_room + value: select_room + - dps_val: mop_clean + value: mopping + - dps_val: manual_control + value: direction_control + - id: 9 + type: string + name: fan_speed + mapping: + - dps_val: closed + value: "Off" + - dps_val: gentle + value: Low + - dps_val: normal + value: Medium + - dps_val: strong + value: High + - id: 11 + type: boolean + name: locate + optional: true + - id: 12 + type: string + name: direction_control + optional: true + mapping: + - dps_val: forward + value: forward + - dps_val: backward + value: reverse + - dps_val: turn_left + value: left + - dps_val: turn_right + value: right + - dps_val: stop + value: stop + - id: 14 + name: path_data + type: string + optional: true + - id: 15 + name: command_trans + type: string + optional: true + - id: 16 + name: request + type: string + optional: true + mapping: + - dps_val: get_map + value: Get map + - dps_val: get_path + value: Get path + - dps_val: get_both + value: Get both + - id: 28 + type: bitfield + name: error + hidden: true + - id: 32 + type: string + name: schedule + optional: true + - id: 33 + type: string + name: do_not_disturb_schedule + optional: true + - id: 34 + type: string + name: device_info + optional: true + - id: 35 + type: string + name: voice_data + optional: true - entity: switch name: Charge icon: "mdi:lightning-bolt" diff --git a/custom_components/tuya_local/devices/th05_temp_humidity_sensor.yaml b/custom_components/tuya_local/devices/th05_temp_humidity_sensor.yaml index af0e815107..8a47ce6d90 100644 --- a/custom_components/tuya_local/devices/th05_temp_humidity_sensor.yaml +++ b/custom_components/tuya_local/devices/th05_temp_humidity_sensor.yaml @@ -2,18 +2,17 @@ name: Temperature and humidity Sensor products: - id: vyfoip9h name: TH05-BLE -primary_entity: - entity: sensor - class: temperature - dps: - - id: 1 - name: sensor - type: integer - unit: C - mapping: - - scale: 10 - class: measurement -secondary_entities: +entities: + - entity: sensor + class: temperature + dps: + - id: 1 + name: sensor + type: integer + unit: C + mapping: + - scale: 10 + class: measurement - entity: sensor class: humidity dps: diff --git a/custom_components/tuya_local/devices/th08_temperature_and_humidity_sensor.yaml b/custom_components/tuya_local/devices/th08_temperature_and_humidity_sensor.yaml index 4a37cfd035..de64c0f9c1 100644 --- a/custom_components/tuya_local/devices/th08_temperature_and_humidity_sensor.yaml +++ b/custom_components/tuya_local/devices/th08_temperature_and_humidity_sensor.yaml @@ -2,18 +2,17 @@ name: Temperature and humidity sensor products: - id: xlk3mtpjo1zkmdvh name: TH08 -primary_entity: - entity: sensor - class: temperature - dps: - - id: 1 - name: sensor - type: integer - unit: C - mapping: - - scale: 10 - class: measurement -secondary_entities: +entities: + - entity: sensor + class: temperature + dps: + - id: 1 + name: sensor + type: integer + unit: C + mapping: + - scale: 10 + class: measurement - entity: sensor class: humidity dps: diff --git a/custom_components/tuya_local/devices/th16_temp_humidity_sensor.yaml b/custom_components/tuya_local/devices/th16_temp_humidity_sensor.yaml index 4792654ef7..40eac2e11d 100644 --- a/custom_components/tuya_local/devices/th16_temp_humidity_sensor.yaml +++ b/custom_components/tuya_local/devices/th16_temp_humidity_sensor.yaml @@ -1,18 +1,18 @@ -name: TH16 TH06WB3S Temperature and Humidity Sensor +name: Temperature and humidity sensor products: - id: 7akwzwfwhukkdsib -primary_entity: - entity: sensor - class: temperature - dps: - - id: 1 - name: sensor - type: integer - unit: C - mapping: - - scale: 10 - class: measurement -secondary_entities: + name: TH16 TH06WB3S +entities: + - entity: sensor + class: temperature + dps: + - id: 1 + name: sensor + type: integer + unit: C + mapping: + - scale: 10 + class: measurement - entity: sensor class: humidity dps: diff --git a/custom_components/tuya_local/devices/thermex_if50v_waterheater.yaml b/custom_components/tuya_local/devices/thermex_if50v_waterheater.yaml index 96fd1806bd..8cb68b588c 100644 --- a/custom_components/tuya_local/devices/thermex_if50v_waterheater.yaml +++ b/custom_components/tuya_local/devices/thermex_if50v_waterheater.yaml @@ -1,43 +1,42 @@ -name: Thermex water heater +name: Water heater products: - id: sz9gfbdn5my6GCfR name: Thermex IF 50 V pro -primary_entity: - entity: water_heater - dps: - - id: 101 - type: boolean - name: operation_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: work_mode - conditions: - - dps_val: "3" - value: eco - - dps_val: "2" - value: electric - default: true - - dps_val: "4" - value: away - - dps_val: "1" - value: performance - - id: 104 - type: integer - name: temperature - unit: C - range: - min: 15 - max: 75 - - id: 102 - type: integer - name: current_temperature - - id: 105 - type: string - name: work_mode - hidden: true -secondary_entities: +entities: + - entity: water_heater + dps: + - id: 101 + type: boolean + name: operation_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: work_mode + conditions: + - dps_val: "3" + value: eco + - dps_val: "2" + value: electric + default: true + - dps_val: "4" + value: away + - dps_val: "1" + value: performance + - id: 104 + type: integer + name: temperature + unit: C + range: + min: 15 + max: 75 + - id: 102 + type: integer + name: current_temperature + - id: 105 + type: string + name: work_mode + hidden: true - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/thermex_lima80v_waterheater.yaml b/custom_components/tuya_local/devices/thermex_lima80v_waterheater.yaml index 546bc465c6..52526a44f1 100644 --- a/custom_components/tuya_local/devices/thermex_lima80v_waterheater.yaml +++ b/custom_components/tuya_local/devices/thermex_lima80v_waterheater.yaml @@ -1,31 +1,31 @@ name: Water heater -primary_entity: - entity: water_heater - dps: - - id: 1 - type: boolean - name: operation_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: electric - - id: 9 - type: integer - name: temperature - unit: C - range: - min: 35 - max: 75 - - id: 13 - type: string - name: work_mode # to observe for potential expansion of operation_mode - - id: 20 - type: integer - name: attr1 # maybe fault_code? - - id: 101 - name: away_mode - type: boolean - - id: 102 - type: integer - name: current_temperature +entities: + - entity: water_heater + dps: + - id: 1 + type: boolean + name: operation_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: electric + - id: 9 + type: integer + name: temperature + unit: C + range: + min: 35 + max: 75 + - id: 13 + type: string + name: work_mode # to observe for potential expansion of operation_mode + - id: 20 + type: integer + name: attr1 # maybe fault_code? + - id: 101 + name: away_mode + type: boolean + - id: 102 + type: integer + name: current_temperature diff --git a/custom_components/tuya_local/devices/timeguard_wfpir.yaml b/custom_components/tuya_local/devices/timeguard_wfpir.yaml index 62014b840a..6815c01b36 100644 --- a/custom_components/tuya_local/devices/timeguard_wfpir.yaml +++ b/custom_components/tuya_local/devices/timeguard_wfpir.yaml @@ -2,18 +2,17 @@ name: PIR relay products: - id: i0lqhz9ejwtuykz5 name: Timeguard WFPIR -primary_entity: - entity: switch - name: Relay - class: switch - dps: - - id: 1 - type: boolean - name: switch - - id: 107 - type: integer - name: rd_test -secondary_entities: +entities: + - entity: switch + name: Relay + class: switch + dps: + - id: 1 + type: boolean + name: switch + - id: 107 + type: integer + name: rd_test - entity: binary_sensor class: motion dps: diff --git a/custom_components/tuya_local/devices/tmwf02_fan.yaml b/custom_components/tuya_local/devices/tmwf02_fan.yaml index 17b6e61856..808a9eaa96 100644 --- a/custom_components/tuya_local/devices/tmwf02_fan.yaml +++ b/custom_components/tuya_local/devices/tmwf02_fan.yaml @@ -1,20 +1,19 @@ name: TMWF02 fan controller -primary_entity: - entity: fan - dps: - - id: 1 - type: boolean - name: switch - - id: 3 - type: string - name: fan_level - - id: 4 - type: integer - name: speed - range: - min: 1 - max: 100 -secondary_entities: +entities: + - entity: fan + dps: + - id: 1 + type: boolean + name: switch + - id: 3 + type: string + name: fan_level + - id: 4 + type: integer + name: speed + range: + min: 1 + max: 100 - entity: number category: config class: duration diff --git a/custom_components/tuya_local/devices/tompd_63lw_breaker.yaml b/custom_components/tuya_local/devices/tompd_63lw_breaker.yaml index 02ba3d6088..80445836f4 100644 --- a/custom_components/tuya_local/devices/tompd_63lw_breaker.yaml +++ b/custom_components/tuya_local/devices/tompd_63lw_breaker.yaml @@ -6,30 +6,29 @@ products: name: TOMZN-63A - id: u0cxoxtfelys3ufx name: TOMPD-63LW -primary_entity: - entity: switch - icon: "mdi:fuse" - dps: - - id: 16 - name: switch - type: boolean - - id: 17 - name: alarm_set_1 - optional: true - type: string - - id: 18 - name: alarm_set_2 - optional: true - type: string - - id: 6 - name: phase_a - type: base64 - optional: true - force: true - - id: 19 - name: breaker_number - type: string -secondary_entities: +entities: + - entity: switch + icon: "mdi:fuse" + dps: + - id: 16 + name: switch + type: boolean + - id: 17 + name: alarm_set_1 + optional: true + type: string + - id: 18 + name: alarm_set_2 + optional: true + type: string + - id: 6 + name: phase_a + type: base64 + optional: true + force: true + - id: 19 + name: breaker_number + type: string - entity: switch name: Prepayment icon: "mdi:cash-multiple" diff --git a/custom_components/tuya_local/devices/tompd_63wifi_breaker.yaml b/custom_components/tuya_local/devices/tompd_63wifi_breaker.yaml index 630b5792af..aa14077eaa 100644 --- a/custom_components/tuya_local/devices/tompd_63wifi_breaker.yaml +++ b/custom_components/tuya_local/devices/tompd_63wifi_breaker.yaml @@ -2,30 +2,29 @@ name: Breaker energy meter products: - id: wcihaluccfsoayqa name: TOMPD-63WIFI -primary_entity: - entity: switch - icon: "mdi:fuse" - dps: - - id: 16 - name: switch - type: boolean - - id: 17 - name: alarm_set_1 - optional: true - type: string - - id: 18 - name: alarm_set_2 - optional: true - type: string - - id: 6 - name: phase_a - type: base64 - optional: true - force: true - - id: 19 - name: breaker_number - type: string -secondary_entities: +entities: + - entity: switch + icon: "mdi:fuse" + dps: + - id: 16 + name: switch + type: boolean + - id: 17 + name: alarm_set_1 + optional: true + type: string + - id: 18 + name: alarm_set_2 + optional: true + type: string + - id: 6 + name: phase_a + type: base64 + optional: true + force: true + - id: 19 + name: breaker_number + type: string - entity: switch name: Prepayment icon: "mdi:cash-multiple" diff --git a/custom_components/tuya_local/devices/tonepie_t1pro_catlitterbox.yaml b/custom_components/tuya_local/devices/tonepie_t1pro_catlitterbox.yaml index f464ce0855..dca959522f 100644 --- a/custom_components/tuya_local/devices/tonepie_t1pro_catlitterbox.yaml +++ b/custom_components/tuya_local/devices/tonepie_t1pro_catlitterbox.yaml @@ -2,24 +2,23 @@ name: Cat litter box products: - id: 5t7esmqqh92ssbe5 name: Tonepie T1Pro -primary_entity: - entity: sensor - name: Cat weight - icon: "mdi:cat" - class: weight - dps: - - id: 6 - type: integer - name: sensor - unit: kg - class: measurement - mapping: - - scale: 1000 - - id: 128 - type: integer - name: number - optional: true -secondary_entities: +entities: + - entity: sensor + name: Cat weight + icon: "mdi:cat" + class: weight + dps: + - id: 6 + type: integer + name: sensor + unit: kg + class: measurement + mapping: + - scale: 1000 + - id: 128 + type: integer + name: number + optional: true - entity: sensor name: Times per day icon: "mdi:emoticon-poop" diff --git a/custom_components/tuya_local/devices/tonepie_t1pro_catlitterbox_v2.yaml b/custom_components/tuya_local/devices/tonepie_t1pro_catlitterbox_v2.yaml index 0a3a8f37fd..9a1c43dbc8 100644 --- a/custom_components/tuya_local/devices/tonepie_t1pro_catlitterbox_v2.yaml +++ b/custom_components/tuya_local/devices/tonepie_t1pro_catlitterbox_v2.yaml @@ -2,20 +2,19 @@ name: Cat litter box products: - id: jslbvsdfhzvi4pu4 name: Tonepie T1 Pro -primary_entity: - entity: sensor - name: Cat weight - icon: "mdi:cat" - class: weight - dps: - - id: 6 - type: integer - name: sensor - unit: kg - class: measurement - mapping: - - scale: 1000 -secondary_entities: +entities: + - entity: sensor + name: Cat weight + icon: "mdi:cat" + class: weight + dps: + - id: 6 + type: integer + name: sensor + unit: kg + class: measurement + mapping: + - scale: 1000 - entity: sensor name: Times per day icon: "mdi:emoticon-poop" diff --git a/custom_components/tuya_local/devices/tongou_qcb2_circuitbreaker.yaml b/custom_components/tuya_local/devices/tongou_qcb2_circuitbreaker.yaml index 3804307090..01eec472d7 100644 --- a/custom_components/tuya_local/devices/tongou_qcb2_circuitbreaker.yaml +++ b/custom_components/tuya_local/devices/tongou_qcb2_circuitbreaker.yaml @@ -2,14 +2,13 @@ name: Circuit breaker products: - id: a0k7kwt5wkqdswnm name: Tongou QCB2-WB 63A -primary_entity: - entity: switch - icon: "mdi:fuse" - dps: - - id: 16 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + icon: "mdi:fuse" + dps: + - id: 16 + type: boolean + name: switch - entity: sensor class: energy dps: diff --git a/custom_components/tuya_local/devices/tongou_qcb2_singlephasebreaker.yaml b/custom_components/tuya_local/devices/tongou_qcb2_singlephasebreaker.yaml index a64854f8d4..1bd9cc837f 100644 --- a/custom_components/tuya_local/devices/tongou_qcb2_singlephasebreaker.yaml +++ b/custom_components/tuya_local/devices/tongou_qcb2_singlephasebreaker.yaml @@ -2,14 +2,13 @@ name: Circuit breaker products: - id: l1t5oophgyzpdrag name: Tongou QCB2-WB single-phase -primary_entity: - entity: switch - icon: "mdi:fuse" - dps: - - id: 16 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + icon: "mdi:fuse" + dps: + - id: 16 + type: boolean + name: switch - entity: sensor class: energy dps: diff --git a/custom_components/tuya_local/devices/tongou_qcb2wb_breaker.yaml b/custom_components/tuya_local/devices/tongou_qcb2wb_breaker.yaml index 27aacc8168..efc0f9daea 100644 --- a/custom_components/tuya_local/devices/tongou_qcb2wb_breaker.yaml +++ b/custom_components/tuya_local/devices/tongou_qcb2wb_breaker.yaml @@ -4,18 +4,17 @@ products: name: Tongou AT-QCB2-JWT - id: vhnq3ezhphqggwqt name: Tongou AT-Q-SMR1-40-JWT -primary_entity: - entity: sensor - class: energy - dps: - - id: 1 - type: integer - name: sensor - unit: kWh - class: total_increasing - mapping: - - scale: 100 -secondary_entities: +entities: + - entity: sensor + class: energy + dps: + - id: 1 + type: integer + name: sensor + unit: kWh + class: total_increasing + mapping: + - scale: 100 - entity: sensor name: Leakage current class: current diff --git a/custom_components/tuya_local/devices/tongou_st463jwt_breaker.yaml b/custom_components/tuya_local/devices/tongou_st463jwt_breaker.yaml index 810a84a3b2..1da2fb1024 100644 --- a/custom_components/tuya_local/devices/tongou_st463jwt_breaker.yaml +++ b/custom_components/tuya_local/devices/tongou_st463jwt_breaker.yaml @@ -2,39 +2,38 @@ name: Circuit breaker energy meter products: - id: jexpyxmyl0gubapl name: Tongou TO-Q-ST463JWT 4P -primary_entity: - entity: switch - dps: - - id: 16 - name: switch - type: boolean - - id: 17 - name: alarm_set_1 - optional: true - type: string - - id: 18 - name: alarm_set_2 - optional: true - type: string - - id: 6 - name: phase_a - type: base64 - optional: true - force: true - - id: 7 - name: phase_b - type: base64 - optional: true - force: true - - id: 8 - name: phase_c - type: base64 - optional: true - force: true - - id: 19 - name: breaker_number - type: string -secondary_entities: +entities: + - entity: switch + dps: + - id: 16 + name: switch + type: boolean + - id: 17 + name: alarm_set_1 + optional: true + type: string + - id: 18 + name: alarm_set_2 + optional: true + type: string + - id: 6 + name: phase_a + type: base64 + optional: true + force: true + - id: 7 + name: phase_b + type: base64 + optional: true + force: true + - id: 8 + name: phase_c + type: base64 + optional: true + force: true + - id: 19 + name: breaker_number + type: string - entity: switch name: Prepayment icon: "mdi:cash-multiple" diff --git a/custom_components/tuya_local/devices/tongou_toqsyswt_breaker.yaml b/custom_components/tuya_local/devices/tongou_toqsyswt_breaker.yaml index 06227e260f..8f8fa4284d 100644 --- a/custom_components/tuya_local/devices/tongou_toqsyswt_breaker.yaml +++ b/custom_components/tuya_local/devices/tongou_toqsyswt_breaker.yaml @@ -2,27 +2,26 @@ name: Energy meter products: - id: kmnzgh4yn8pa0lqh name: Tongou TO-Q-SYS-WT -primary_entity: - entity: sensor - class: energy - category: diagnostic - dps: - - id: 1 - type: integer - name: sensor - unit: kWh - class: total_increasing - mapping: - - scale: 100 - - id: 125 - type: integer - name: fap_a - mapping: - - scale: 100 - - id: 138 - type: string - name: cycle_time -secondary_entities: +entities: + - entity: sensor + class: energy + category: diagnostic + dps: + - id: 1 + type: integer + name: sensor + unit: kWh + class: total_increasing + mapping: + - scale: 100 + - id: 125 + type: integer + name: fap_a + mapping: + - scale: 100 + - id: 138 + type: string + name: cycle_time - entity: sensor class: voltage category: diagnostic diff --git a/custom_components/tuya_local/devices/tontine_039-WIFI_blanket.yaml b/custom_components/tuya_local/devices/tontine_039-WIFI_blanket.yaml index ca2cf8886b..15c3466391 100644 --- a/custom_components/tuya_local/devices/tontine_039-WIFI_blanket.yaml +++ b/custom_components/tuya_local/devices/tontine_039-WIFI_blanket.yaml @@ -2,17 +2,17 @@ # Model No:TEB2045QB # Controller Unit No: 039-WIFI -name: Tontine Electric Blanket +name: Electric blanket products: - id: m3kmcn9evognklsp -primary_entity: - entity: switch - icon: "mdi:bed" - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: + name: Tontine O39 +entities: + - entity: switch + icon: "mdi:bed" + dps: + - id: 1 + type: boolean + name: switch - entity: select name: Temperature icon: "mdi:thermometer" diff --git a/custom_components/tuya_local/devices/topens_wifi_remote_control.yaml b/custom_components/tuya_local/devices/topens_wifi_remote_control.yaml index a49902f96d..dd38a2b381 100644 --- a/custom_components/tuya_local/devices/topens_wifi_remote_control.yaml +++ b/custom_components/tuya_local/devices/topens_wifi_remote_control.yaml @@ -2,14 +2,13 @@ name: Remote control products: - id: plgiarn7jndeu6js name: TOPENS TC196 -primary_entity: - entity: button - name: A - dps: - - id: 101 - type: boolean - name: button -secondary_entities: +entities: + - entity: button + name: A + dps: + - id: 101 + type: boolean + name: button - entity: button name: B dps: diff --git a/custom_components/tuya_local/devices/touchstone_sideline_fireplace.yaml b/custom_components/tuya_local/devices/touchstone_sideline_fireplace.yaml index 5503abf5f6..2108b96e32 100644 --- a/custom_components/tuya_local/devices/touchstone_sideline_fireplace.yaml +++ b/custom_components/tuya_local/devices/touchstone_sideline_fireplace.yaml @@ -2,82 +2,81 @@ name: Electric fireplace products: - id: qhwld7e4eqvu5fbp name: Touchstone Sideline -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: heat_disable - conditions: - - dps_val: false - value: heat - - dps_val: true - value: fan_only - - id: 2 - name: temperature - type: integer - range: - min: 19 - max: 30 - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - range: - min: 67 - max: 86 - value_redirect: temp_set_f - - id: 3 - name: current_temperature - type: integer - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: temp_current_f - - id: 5 - name: preset_mode - type: string - mapping: - - dps_val: "0" - value: eco - - dps_val: "1" - value: comfort - - dps_val: "2" - value: boost - - id: 13 - name: temperature_unit - type: string - mapping: - - dps_val: c - value: C - - dps_val: f - value: F - - id: 14 - name: temp_set_f - type: integer - range: - min: 67 - max: 86 - hidden: true - - id: 15 - name: temp_current_f - type: integer - hidden: true - - id: 107 - type: boolean - name: heat_disable - hidden: true - - id: 106 - name: timer - type: string - optional: true -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: heat_disable + conditions: + - dps_val: false + value: heat + - dps_val: true + value: fan_only + - id: 2 + name: temperature + type: integer + range: + min: 19 + max: 30 + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + range: + min: 67 + max: 86 + value_redirect: temp_set_f + - id: 3 + name: current_temperature + type: integer + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: temp_current_f + - id: 5 + name: preset_mode + type: string + mapping: + - dps_val: "0" + value: eco + - dps_val: "1" + value: comfort + - dps_val: "2" + value: boost + - id: 13 + name: temperature_unit + type: string + mapping: + - dps_val: c + value: C + - dps_val: f + value: F + - id: 14 + name: temp_set_f + type: integer + range: + min: 67 + max: 86 + hidden: true + - id: 15 + name: temp_current_f + type: integer + hidden: true + - id: 107 + type: boolean + name: heat_disable + hidden: true + - id: 106 + name: timer + type: string + optional: true - entity: select translation_key: temperature_unit category: config diff --git a/custom_components/tuya_local/devices/treatlife_ds02_fan.yaml b/custom_components/tuya_local/devices/treatlife_ds02_fan.yaml index 29b0686bec..70412f10d3 100644 --- a/custom_components/tuya_local/devices/treatlife_ds02_fan.yaml +++ b/custom_components/tuya_local/devices/treatlife_ds02_fan.yaml @@ -1,29 +1,29 @@ -name: DS02-F fan switch +name: Fan switch products: - id: qmijt70hk4op6snl -primary_entity: - entity: fan - dps: - - id: 1 - type: boolean - name: switch - - id: 3 - type: string - name: speed - mapping: - - dps_val: level_1 - value: 25 - step: 25 - - dps_val: level_2 - value: 50 - step: 25 - - dps_val: level_3 - value: 75 - step: 25 - - dps_val: level_4 - value: 100 - step: 25 -secondary_entities: + name: Treatlife DS02-F +entities: + - entity: fan + dps: + - id: 1 + type: boolean + name: switch + - id: 3 + type: string + name: speed + mapping: + - dps_val: level_1 + value: 25 + step: 25 + - dps_val: level_2 + value: 50 + step: 25 + - dps_val: level_3 + value: 75 + step: 25 + - dps_val: level_4 + value: 100 + step: 25 - entity: number class: duration translation_key: timer diff --git a/custom_components/tuya_local/devices/treatlife_ds03_fan_light.yaml b/custom_components/tuya_local/devices/treatlife_ds03_fan_light.yaml index 9423a3e679..2d8a711b88 100644 --- a/custom_components/tuya_local/devices/treatlife_ds03_fan_light.yaml +++ b/custom_components/tuya_local/devices/treatlife_ds03_fan_light.yaml @@ -2,41 +2,40 @@ name: Ceiling fan products: - id: ipyqwvhvzzjezv35 name: Treatlife DS03 ceiling fan and light -primary_entity: - entity: fan - dps: - - id: 1 - type: boolean - name: switch - - id: 3 - type: string - name: speed - mapping: - - dps_val: "1" - value: 25 - - dps_val: "2" - value: 50 - - dps_val: "3" - value: 75 - - dps_val: "4" - value: 100 - - id: 101 - type: integer - name: unknown_101 - optional: true - - id: 103 - type: integer - name: unknown_103 - optional: true - - id: 105 - type: integer - name: unknown_105 - optional: true - - id: 106 - type: string - name: unknown_106 - optional: true -secondary_entities: +entities: + - entity: fan + dps: + - id: 1 + type: boolean + name: switch + - id: 3 + type: string + name: speed + mapping: + - dps_val: "1" + value: 25 + - dps_val: "2" + value: 50 + - dps_val: "3" + value: 75 + - dps_val: "4" + value: 100 + - id: 101 + type: integer + name: unknown_101 + optional: true + - id: 103 + type: integer + name: unknown_103 + optional: true + - id: 105 + type: integer + name: unknown_105 + optional: true + - id: 106 + type: string + name: unknown_106 + optional: true - entity: light dps: - id: 9 diff --git a/custom_components/tuya_local/devices/treatlife_dual_plugin_dimmer.yaml b/custom_components/tuya_local/devices/treatlife_dual_plugin_dimmer.yaml index 5fd47adf4b..6ea0955f71 100644 --- a/custom_components/tuya_local/devices/treatlife_dual_plugin_dimmer.yaml +++ b/custom_components/tuya_local/devices/treatlife_dual_plugin_dimmer.yaml @@ -2,36 +2,35 @@ name: Dual dimmer products: - id: qga0e955v5hmg21x name: Treatlife smart dimmer with two sockets -primary_entity: - entity: light - name: Light 1 - category: config - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - name: brightness - type: integer - range: - min: 10 - max: 1000 - - id: 3 - name: min_brightness - type: integer - - id: 101 - name: away_program - type: string - optional: true - - id: 102 - name: sleep_program - type: string - optional: true - - id: 103 - name: awake_program - type: string - optional: true -secondary_entities: +entities: + - entity: light + name: Light 1 + category: config + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + name: brightness + type: integer + range: + min: 10 + max: 1000 + - id: 3 + name: min_brightness + type: integer + - id: 101 + name: away_program + type: string + optional: true + - id: 102 + name: sleep_program + type: string + optional: true + - id: 103 + name: awake_program + type: string + optional: true - entity: light name: Light 2 dps: diff --git a/custom_components/tuya_local/devices/trotec_pac-w_heatpump.yaml b/custom_components/tuya_local/devices/trotec_pac-w_heatpump.yaml index 120f553d18..7230975e55 100644 --- a/custom_components/tuya_local/devices/trotec_pac-w_heatpump.yaml +++ b/custom_components/tuya_local/devices/trotec_pac-w_heatpump.yaml @@ -2,77 +2,76 @@ name: Air conditioner products: - id: 6r9as02gkiaaxelt name: Trotec PAC-W 2600 SH -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: COOL - value: cool - - dps_val: DRY - value: dry - - dps_val: FAN - value: fan_only - - dps_val: HEAT - value: heat - - id: 2 - type: integer - name: temperature - range: - min: 16 - max: 30 - unit: C - - id: 3 - type: integer - name: current_temperature - - id: 4 - type: string - name: mode - hidden: true - - id: 5 - name: fan_mode - type: string - mapping: - - dps_val: "1" - value: low - - dps_val: "2" - value: medium - - dps_val: "3" - value: high - - id: 19 - name: temperature_unit - type: string - - id: 101 - name: sleep - type: boolean - - id: 102 - name: defrost - type: boolean - - id: 103 - name: timer - type: integer - - id: 104 - name: swing_mode - type: boolean - mapping: - - dps_val: true - value: "vertical" - - dps_val: false - value: "off" - - id: 105 - name: countdown - type: integer - - id: 110 - name: model - type: string -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: COOL + value: cool + - dps_val: DRY + value: dry + - dps_val: FAN + value: fan_only + - dps_val: HEAT + value: heat + - id: 2 + type: integer + name: temperature + range: + min: 16 + max: 30 + unit: C + - id: 3 + type: integer + name: current_temperature + - id: 4 + type: string + name: mode + hidden: true + - id: 5 + name: fan_mode + type: string + mapping: + - dps_val: "1" + value: low + - dps_val: "2" + value: medium + - dps_val: "3" + value: high + - id: 19 + name: temperature_unit + type: string + - id: 101 + name: sleep + type: boolean + - id: 102 + name: defrost + type: boolean + - id: 103 + name: timer + type: integer + - id: 104 + name: swing_mode + type: boolean + mapping: + - dps_val: true + value: "vertical" + - dps_val: false + value: "off" + - id: 105 + name: countdown + type: integer + - id: 110 + name: model + type: string - entity: switch translation_key: sleep category: config diff --git a/custom_components/tuya_local/devices/ts106_alarm.yaml b/custom_components/tuya_local/devices/ts106_alarm.yaml index 4279454842..f8b47ce1f4 100644 --- a/custom_components/tuya_local/devices/ts106_alarm.yaml +++ b/custom_components/tuya_local/devices/ts106_alarm.yaml @@ -2,80 +2,79 @@ name: Alarm system products: - id: htpbvowq2gkxx3bx name: TS106 -primary_entity: - entity: alarm_control_panel - dps: - - id: 101 - type: string - name: alarm_state - mapping: - - dps_val: disarm - value: disarmed - - dps_val: arm - value: armed_away - - dps_val: stay - value: armed_home - - dps_val: sos - value: triggered - - id: 101 - type: string - name: trigger - mapping: - - dps_val: sos - value: true - - value_mirror: alarm_linkage - - id: 102 - type: string - optional: true - name: remote - - id: 103 - type: string - optional: true - name: detector - - id: 104 - type: string - optional: true - name: phone_number - - id: 105 - type: string - optional: true - name: sms_number - - id: 106 - type: string - optional: true - name: password - - id: 111 - type: string - optional: true - name: timing_arm_disarm - - id: 115 - type: string - optional: true - name: detector_1 - - id: 116 - type: string - optional: true - name: detector_2 - - id: 117 - type: string - optional: true - name: alarm - - id: 118 - type: string - optional: true - name: normal_push_info - - id: 119 - type: string - optional: true - name: urgent_push_info - - id: 120 - type: string - optional: true - name: intelligent_voice - - id: 121 - type: boolean - name: alarm_linkage -secondary_entities: +entities: + - entity: alarm_control_panel + dps: + - id: 101 + type: string + name: alarm_state + mapping: + - dps_val: disarm + value: disarmed + - dps_val: arm + value: armed_away + - dps_val: stay + value: armed_home + - dps_val: sos + value: triggered + - id: 101 + type: string + name: trigger + mapping: + - dps_val: sos + value: true + - value_mirror: alarm_linkage + - id: 102 + type: string + optional: true + name: remote + - id: 103 + type: string + optional: true + name: detector + - id: 104 + type: string + optional: true + name: phone_number + - id: 105 + type: string + optional: true + name: sms_number + - id: 106 + type: string + optional: true + name: password + - id: 111 + type: string + optional: true + name: timing_arm_disarm + - id: 115 + type: string + optional: true + name: detector_1 + - id: 116 + type: string + optional: true + name: detector_2 + - id: 117 + type: string + optional: true + name: alarm + - id: 118 + type: string + optional: true + name: normal_push_info + - id: 119 + type: string + optional: true + name: urgent_push_info + - id: 120 + type: string + optional: true + name: intelligent_voice + - id: 121 + type: boolean + name: alarm_linkage - entity: button translation_key: factory_reset category: config diff --git a/custom_components/tuya_local/devices/ttec_reobipro_vacuum.yaml b/custom_components/tuya_local/devices/ttec_reobipro_vacuum.yaml index 5f0bdf85b8..ab3cc6d68c 100644 --- a/custom_components/tuya_local/devices/ttec_reobipro_vacuum.yaml +++ b/custom_components/tuya_local/devices/ttec_reobipro_vacuum.yaml @@ -2,167 +2,166 @@ name: Robot vacuum products: - id: 1zksgdnha6ln65md name: TTEC Robi Pro -primary_entity: - entity: vacuum - dps: - - id: 1 - type: boolean - name: activate - optional: true - mapping: - - dps_val: false - constraint: pause - conditions: - - dps_val: true - value: false - - dps_val: false - value: false - hidden: true - - dps_val: null - value: false - hidden: true - - dps_val: true - constraint: pause - conditions: - - dps_val: false - value: true - - dps_val: true - value: true - hidden: true - - dps_val: null - value: true - hidden: true - - dps_val: null - value: false - hidden: true - - id: 2 - type: boolean - optional: true - name: pause - hidden: true - - id: 4 - type: string - name: command - mapping: - - dps_val: smart - value: smart - - dps_val: chargego - value: return_to_base - - dps_val: zone - value: zone - - dps_val: pose - value: clean_spot - - dps_val: part - value: partial - - dps_val: selectroom - value: room - - id: 5 - type: string - name: status - mapping: - - dps_val: standby - value: standby - - dps_val: smart - value: cleaning - - dps_val: zone_clean - value: cleaning - - dps_val: part_clean - value: cleaning - - dps_val: cleaning - value: cleaning - - dps_val: paused - value: paused - - dps_val: goto_pos - value: going_to_location - - dps_val: pos_arrived - value: on_location - - dps_val: pos_unarrive - value: cannot_find_location - - dps_val: goto_charge - value: returning - - dps_val: charging - value: charging - - dps_val: charge_done - value: charged - - dps_val: sleep - value: sleep - - dps_val: select_room - value: select_room - - dps_val: mop_clean - value: cleaning - - dps_val: manual_control - value: direction_control - - id: 9 - type: string - name: fan_speed - mapping: - - dps_val: closed - value: "Off" - - dps_val: gentle - value: Low - - dps_val: normal - value: Medium - - dps_val: strong - value: High - - id: 11 - type: boolean - optional: true - name: locate - - id: 12 - type: string - optional: true - name: direction_control - mapping: - - dps_val: forward - value: forward - - dps_val: backward - value: reverse - - dps_val: turn_left - value: left - - dps_val: turn_right - value: right - - dps_val: stop - value: stop - - id: 14 - type: string - optional: true - name: path_data - - id: 15 - type: string - optional: true - name: command_tran - - id: 16 - type: string - optional: true - name: request - mapping: - - dps_val: get_map - value: Get map - - dps_val: get_path - value: Get path - - dps_val: get_both - value: Get both - - id: 28 - type: bitfield - name: error - hidden: true - - id: 32 - type: string - optional: true - name: device_timer - - id: 33 - type: string - optional: true - name: disturb_time_set - - id: 34 - type: string - optional: true - name: device_info - - id: 35 - type: string - optional: true - name: voice_data -secondary_entities: +entities: + - entity: vacuum + dps: + - id: 1 + type: boolean + name: activate + optional: true + mapping: + - dps_val: false + constraint: pause + conditions: + - dps_val: true + value: false + - dps_val: false + value: false + hidden: true + - dps_val: null + value: false + hidden: true + - dps_val: true + constraint: pause + conditions: + - dps_val: false + value: true + - dps_val: true + value: true + hidden: true + - dps_val: null + value: true + hidden: true + - dps_val: null + value: false + hidden: true + - id: 2 + type: boolean + optional: true + name: pause + hidden: true + - id: 4 + type: string + name: command + mapping: + - dps_val: smart + value: smart + - dps_val: chargego + value: return_to_base + - dps_val: zone + value: zone + - dps_val: pose + value: clean_spot + - dps_val: part + value: partial + - dps_val: selectroom + value: room + - id: 5 + type: string + name: status + mapping: + - dps_val: standby + value: standby + - dps_val: smart + value: cleaning + - dps_val: zone_clean + value: cleaning + - dps_val: part_clean + value: cleaning + - dps_val: cleaning + value: cleaning + - dps_val: paused + value: paused + - dps_val: goto_pos + value: going_to_location + - dps_val: pos_arrived + value: on_location + - dps_val: pos_unarrive + value: cannot_find_location + - dps_val: goto_charge + value: returning + - dps_val: charging + value: charging + - dps_val: charge_done + value: charged + - dps_val: sleep + value: sleep + - dps_val: select_room + value: select_room + - dps_val: mop_clean + value: cleaning + - dps_val: manual_control + value: direction_control + - id: 9 + type: string + name: fan_speed + mapping: + - dps_val: closed + value: "Off" + - dps_val: gentle + value: Low + - dps_val: normal + value: Medium + - dps_val: strong + value: High + - id: 11 + type: boolean + optional: true + name: locate + - id: 12 + type: string + optional: true + name: direction_control + mapping: + - dps_val: forward + value: forward + - dps_val: backward + value: reverse + - dps_val: turn_left + value: left + - dps_val: turn_right + value: right + - dps_val: stop + value: stop + - id: 14 + type: string + optional: true + name: path_data + - id: 15 + type: string + optional: true + name: command_tran + - id: 16 + type: string + optional: true + name: request + mapping: + - dps_val: get_map + value: Get map + - dps_val: get_path + value: Get path + - dps_val: get_both + value: Get both + - id: 28 + type: bitfield + name: error + hidden: true + - id: 32 + type: string + optional: true + name: device_timer + - id: 33 + type: string + optional: true + name: disturb_time_set + - id: 34 + type: string + optional: true + name: device_info + - id: 35 + type: string + optional: true + name: voice_data - entity: button name: Start icon: "mdi:play" diff --git a/custom_components/tuya_local/devices/tuya_000004rime_weather_station.yaml b/custom_components/tuya_local/devices/tuya_000004rime_weather_station.yaml index 4acfeb1677..ca63e5ea72 100644 --- a/custom_components/tuya_local/devices/tuya_000004rime_weather_station.yaml +++ b/custom_components/tuya_local/devices/tuya_000004rime_weather_station.yaml @@ -2,18 +2,17 @@ name: Weather station products: - id: nghjvn2pcjllwska name: WeatherStation Pro™ -primary_entity: - entity: sensor - name: Local temperature - class: temperature - dps: - - id: 131 - type: integer - name: sensor - unit: C - mapping: - - scale: 10 -secondary_entities: +entities: + - entity: sensor + name: Local temperature + class: temperature + dps: + - id: 131 + type: integer + name: sensor + unit: C + mapping: + - scale: 10 - entity: sensor name: Weather icon class: enum diff --git a/custom_components/tuya_local/devices/tuya_energy_meter.yaml b/custom_components/tuya_local/devices/tuya_energy_meter.yaml index 0e07c45a38..00e4824bda 100644 --- a/custom_components/tuya_local/devices/tuya_energy_meter.yaml +++ b/custom_components/tuya_local/devices/tuya_energy_meter.yaml @@ -2,33 +2,32 @@ name: Dual energy meter products: - id: 79a7z01v3n35kytb name: V-WIFI-DL02-ES -primary_entity: - entity: sensor - category: diagnostic - name: Total energy - class: energy - dps: - - id: 123 - name: sensor - type: integer - unit: kWh - class: total_increasing - mapping: - - scale: 1000 - - id: 103 - name: Device state - type: string - mapping: - - dps_val: close - value: close - default: true - - dps_val: monitor - value: monitor - - dps_val: working - value: working - - dps_val: warning - value: warning -secondary_entities: +entities: + - entity: sensor + category: diagnostic + name: Total energy + class: energy + dps: + - id: 123 + name: sensor + type: integer + unit: kWh + class: total_increasing + mapping: + - scale: 1000 + - id: 103 + name: Device state + type: string + mapping: + - dps_val: close + value: close + default: true + - dps_val: monitor + value: monitor + - dps_val: working + value: working + - dps_val: warning + value: warning - entity: sensor translation_key: power_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/tuya_smart_zigbee_door_sensor.yaml b/custom_components/tuya_local/devices/tuya_smart_zigbee_door_sensor.yaml index c3966c1548..7d1054f8f1 100644 --- a/custom_components/tuya_local/devices/tuya_smart_zigbee_door_sensor.yaml +++ b/custom_components/tuya_local/devices/tuya_smart_zigbee_door_sensor.yaml @@ -4,14 +4,13 @@ products: name: Mirabella Genio door/window sensor - id: 7jIGJAymiH8OsFFb name: Zigbee door sensor -primary_entity: - entity: binary_sensor - class: door - dps: - - id: 101 - type: boolean - name: sensor -secondary_entities: +entities: + - entity: binary_sensor + class: door + dps: + - id: 101 + type: boolean + name: sensor - entity: sensor class: battery category: diagnostic diff --git a/custom_components/tuya_local/devices/tv_backlights.yaml b/custom_components/tuya_local/devices/tv_backlights.yaml index afeb251708..7ab40cb36c 100644 --- a/custom_components/tuya_local/devices/tv_backlights.yaml +++ b/custom_components/tuya_local/devices/tv_backlights.yaml @@ -2,69 +2,68 @@ name: TV Sync Backlights products: - id: gaobbrxqiblcng2p name: Loginovo Ambient TV Sync Light -primary_entity: - entity: light - translation_key: backlight - dps: - - id: 102 - type: boolean - name: switch - - id: 104 - name: brightness - type: integer - range: - min: 0 - max: 100 - mapping: - - constraint: video_mode - conditions: - - dps_val: ambi_mode - value_redirect: scene_brightness - - dps_val: color_mode - value_redirect: color_brightness - - id: 114 - hidden: true - name: scene_brightness - type: integer - range: - min: 0 - max: 100 - - id: 112 - hidden: true - name: color_brightness - type: integer - range: - min: 0 - max: 100 - - id: 111 - name: rgbhsv - type: hex - format: - - name: r - bytes: 1 - - name: g - bytes: 1 - - name: b - bytes: 1 - - id: 101 - name: video_mode - type: string - hidden: true - - id: 101 - name: effect - type: string - mapping: - - dps_val: video_mode - value: Video - - dps_val: music_mode - value: Music - - dps_val: film_mode - value: Wide film - - dps_val: color_mode - value: Static color - - dps_val: ambi_mode - value: Ambient scene -secondary_entities: +entities: + - entity: light + translation_key: backlight + dps: + - id: 102 + type: boolean + name: switch + - id: 104 + name: brightness + type: integer + range: + min: 0 + max: 100 + mapping: + - constraint: video_mode + conditions: + - dps_val: ambi_mode + value_redirect: scene_brightness + - dps_val: color_mode + value_redirect: color_brightness + - id: 114 + hidden: true + name: scene_brightness + type: integer + range: + min: 0 + max: 100 + - id: 112 + hidden: true + name: color_brightness + type: integer + range: + min: 0 + max: 100 + - id: 111 + name: rgbhsv + type: hex + format: + - name: r + bytes: 1 + - name: g + bytes: 1 + - name: b + bytes: 1 + - id: 101 + name: video_mode + type: string + hidden: true + - id: 101 + name: effect + type: string + mapping: + - dps_val: video_mode + value: Video + - dps_val: music_mode + value: Music + - dps_val: film_mode + value: Wide film + - dps_val: color_mode + value: Static color + - dps_val: ambi_mode + value: Ambient scene - entity: number name: Backlight intensity mode: slider diff --git a/custom_components/tuya_local/devices/tyte_d1_thermostat.yaml b/custom_components/tuya_local/devices/tyte_d1_thermostat.yaml index b42d9eb31e..6271e32a6a 100644 --- a/custom_components/tuya_local/devices/tyte_d1_thermostat.yaml +++ b/custom_components/tuya_local/devices/tyte_d1_thermostat.yaml @@ -1,87 +1,86 @@ name: RYRA TYTE-D1 thermostat -primary_entity: - entity: climate - dps: - - id: 2 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: work_mode - conditions: - - dps_val: hot - value: heat - - dps_val: colding - value: cool - - dps_val: dehumidify - value: dry - - dps_val: wet - value: dry - - id: 7 - type: string - name: cycle_time - - id: 8 - type: string - name: work_mode - hidden: true - - id: 9 - type: boolean - name: customize_mode_switch - - id: 19 - type: integer - name: test_bit - - id: 20 - type: string - name: temperature_unit - mapping: - - dps_val: c - value: C - - dps_val: f - value: F - - id: 21 - type: integer - name: temp_set_f - hidden: true - range: - min: -40 - max: 2210 - mapping: - - scale: 10 - step: 5 - - id: 22 - type: integer - name: temperature - range: - min: -200 - max: 1050 - mapping: - - scale: 10 - step: 5 - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: temp_set_f - range: - min: -40 - max: 2210 - - id: 27 - type: integer - name: current_temperature - mapping: - - scale: 10 - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: current_temp_f - - id: 28 - type: integer - name: current_temp_f - hidden: true - mapping: - - scale: 10 -secondary_entities: +entities: + - entity: climate + dps: + - id: 2 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: work_mode + conditions: + - dps_val: hot + value: heat + - dps_val: colding + value: cool + - dps_val: dehumidify + value: dry + - dps_val: wet + value: dry + - id: 7 + type: string + name: cycle_time + - id: 8 + type: string + name: work_mode + hidden: true + - id: 9 + type: boolean + name: customize_mode_switch + - id: 19 + type: integer + name: test_bit + - id: 20 + type: string + name: temperature_unit + mapping: + - dps_val: c + value: C + - dps_val: f + value: F + - id: 21 + type: integer + name: temp_set_f + hidden: true + range: + min: -40 + max: 2210 + mapping: + - scale: 10 + step: 5 + - id: 22 + type: integer + name: temperature + range: + min: -200 + max: 1050 + mapping: + - scale: 10 + step: 5 + constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: temp_set_f + range: + min: -40 + max: 2210 + - id: 27 + type: integer + name: current_temperature + mapping: + - scale: 10 + constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: current_temp_f + - id: 28 + type: integer + name: current_temp_f + hidden: true + mapping: + - scale: 10 - entity: number translation_key: timer class: duration diff --git a/custom_components/tuya_local/devices/ultenic_air_fryer.yaml b/custom_components/tuya_local/devices/ultenic_air_fryer.yaml index 60fbcd7cf5..bdee828a13 100644 --- a/custom_components/tuya_local/devices/ultenic_air_fryer.yaml +++ b/custom_components/tuya_local/devices/ultenic_air_fryer.yaml @@ -2,15 +2,14 @@ name: Air fryer products: - id: agpcmyexmpd49vpw name: Ultenic K10 -primary_entity: - entity: switch - name: Power - icon: "mdi:power" - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + name: Power + icon: "mdi:power" + dps: + - id: 1 + type: boolean + name: switch - entity: switch name: Cooking icon: "mdi:toaster-oven" diff --git a/custom_components/tuya_local/devices/ultenic_t10_vacuum.yaml b/custom_components/tuya_local/devices/ultenic_t10_vacuum.yaml index b99334ec18..48c165487a 100644 --- a/custom_components/tuya_local/devices/ultenic_t10_vacuum.yaml +++ b/custom_components/tuya_local/devices/ultenic_t10_vacuum.yaml @@ -2,104 +2,100 @@ name: Robot vacuum products: - id: skn6zhhv0uxrylrk name: Ultenic T10 -primary_entity: - entity: vacuum - dps: - - id: 1 - type: boolean - name: power - optional: true - - id: 2 - type: boolean - name: activate - optional: true - - id: 13 - type: boolean - name: locate - optional: true - - id: 3 - type: string - name: command - mapping: - - dps_val: standby - value: stop - - dps_val: random - value: random - - dps_val: smart - value: smart - - dps_val: wall_follow - value: wall_follow - - dps_val: mop - value: mop - - dps_val: spiral - value: clean_spot - - dps_val: left_spiral - value: left_spiral - - dps_val: right_spiral - value: right_spiral - - dps_val: left_bow - value: left_bow - - dps_val: right_bow - value: right_bow - - dps_val: partial_bow - value: partial_bow - - dps_val: chargego - value: return_to_base - - id: 5 - type: string - name: status - mapping: - - dps_val: standby - value: standby - - dps_val: smart_clean - value: cleaning - - dps_val: wall_clean - value: cleaning - - dps_val: spot_clean - value: cleaning - - dps_val: mop_clean - value: cleaning - - dps_val: goto_charge - value: returning - - dps_val: charging - value: charging - - dps_val: charge_done - value: charged - - dps_val: paused - value: pause - - dps_val: cleaning - value: cleaning - - dps_val: sleep - value: sleep - - id: 14 - type: string - name: fan_speed - # tuya constants are interpretted backwards by Ultenic - # Ultenic App has a 4th "Strong" suction speed but observing - # the DP always seems to call it gentle when selected - so dont - # know what custom logic they are doing - mapping: - - dps_val: strong - value: "Off" - - dps_val: normal - value: Gentle - - dps_val: gentle - value: Normal - - - id: 110 - type: bitfield - name: error - # have no idea what the fields are for this bit field. - # The Robot upside down reports as -2601 - optional: true - hidden: true - - - id: 111 - name: unknown_111 - optional: true - type: bitfield - -secondary_entities: +entities: + - entity: vacuum + dps: + - id: 1 + type: boolean + name: power + optional: true + - id: 2 + type: boolean + name: activate + optional: true + - id: 13 + type: boolean + name: locate + optional: true + - id: 3 + type: string + name: command + mapping: + - dps_val: standby + value: stop + - dps_val: random + value: random + - dps_val: smart + value: smart + - dps_val: wall_follow + value: wall_follow + - dps_val: mop + value: mop + - dps_val: spiral + value: clean_spot + - dps_val: left_spiral + value: left_spiral + - dps_val: right_spiral + value: right_spiral + - dps_val: left_bow + value: left_bow + - dps_val: right_bow + value: right_bow + - dps_val: partial_bow + value: partial_bow + - dps_val: chargego + value: return_to_base + - id: 5 + type: string + name: status + mapping: + - dps_val: standby + value: standby + - dps_val: smart_clean + value: cleaning + - dps_val: wall_clean + value: cleaning + - dps_val: spot_clean + value: cleaning + - dps_val: mop_clean + value: cleaning + - dps_val: goto_charge + value: returning + - dps_val: charging + value: charging + - dps_val: charge_done + value: charged + - dps_val: paused + value: pause + - dps_val: cleaning + value: cleaning + - dps_val: sleep + value: sleep + - id: 14 + type: string + name: fan_speed + # tuya constants are interpretted backwards by Ultenic + # Ultenic App has a 4th "Strong" suction speed but observing + # the DP always seems to call it gentle when selected - so dont + # know what custom logic they are doing + mapping: + - dps_val: strong + value: "Off" + - dps_val: normal + value: Gentle + - dps_val: gentle + value: Normal + - id: 110 + type: bitfield + name: error + # have no idea what the fields are for this bit field. + # The Robot upside down reports as -2601 + optional: true + hidden: true + - id: 111 + name: unknown_111 + optional: true + type: bitfield - entity: sensor class: battery dps: diff --git a/custom_components/tuya_local/devices/unknow_2way_energymeter.yaml b/custom_components/tuya_local/devices/unknow_2way_energymeter.yaml index dcc269cb82..064e12413f 100644 --- a/custom_components/tuya_local/devices/unknow_2way_energymeter.yaml +++ b/custom_components/tuya_local/devices/unknow_2way_energymeter.yaml @@ -3,25 +3,24 @@ name: Bidirectional energy meter products: - id: 8bjnabt4gh8tu4vr name: Unbranded dual channel -primary_entity: - entity: sensor - class: energy - dps: - - id: 1 - type: integer - optional: true - name: sensor - unit: kWh - class: total_increasing - mapping: - - scale: 100 - - id: 122 - type: integer - optional: true - name: hourly - mapping: - - scale: 100 -secondary_entities: +entities: + - entity: sensor + class: energy + dps: + - id: 1 + type: integer + optional: true + name: sensor + unit: kWh + class: total_increasing + mapping: + - scale: 100 + - id: 122 + type: integer + optional: true + name: hourly + mapping: + - scale: 100 - entity: sensor translation_key: energy_produced class: energy diff --git a/custom_components/tuya_local/devices/usb_4way_powerstrip.yaml b/custom_components/tuya_local/devices/usb_4way_powerstrip.yaml index a37153d2d8..3d964159a0 100644 --- a/custom_components/tuya_local/devices/usb_4way_powerstrip.yaml +++ b/custom_components/tuya_local/devices/usb_4way_powerstrip.yaml @@ -2,17 +2,16 @@ name: USB 4way powerstrip products: - id: D7Hl3AxFbHDS98iO name: AOFO ZLD-44EU-W -primary_entity: - entity: switch - translation_key: outlet_x - translation_placeholders: - x: "1" - class: outlet - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + translation_key: outlet_x + translation_placeholders: + x: "1" + class: outlet + dps: + - id: 1 + type: boolean + name: switch - entity: switch translation_key: outlet_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/ustellar_ut99911_rgb.yaml b/custom_components/tuya_local/devices/ustellar_ut99911_rgb.yaml index 3bb7e0ac34..8080a4ad0a 100644 --- a/custom_components/tuya_local/devices/ustellar_ut99911_rgb.yaml +++ b/custom_components/tuya_local/devices/ustellar_ut99911_rgb.yaml @@ -2,31 +2,30 @@ name: Monitor light bar products: - id: oqtk22eg6jxorl78 name: Ustellar UT99911-RGB -primary_entity: - entity: light - name: Front White LED - icon: "mdi:wall-sconce-flat-outline" - dps: - - id: 101 - type: boolean - name: switch - - id: 22 - name: brightness - type: integer - range: - min: 10 - max: 1000 - - id: 23 - type: integer - name: color_temp - mapping: - - target_range: - min: 2700 - max: 6500 - range: - min: 0 - max: 1000 -secondary_entities: +entities: + - entity: light + name: Front White LED + icon: "mdi:wall-sconce-flat-outline" + dps: + - id: 101 + type: boolean + name: switch + - id: 22 + name: brightness + type: integer + range: + min: 10 + max: 1000 + - id: 23 + type: integer + name: color_temp + mapping: + - target_range: + min: 2700 + max: 6500 + range: + min: 0 + max: 1000 - entity: light name: Rear RGB LED icon: "mdi:wall-sconce-flat-variant-outline" diff --git a/custom_components/tuya_local/devices/v330l_petfeeder.yaml b/custom_components/tuya_local/devices/v330l_petfeeder.yaml index 3498df4121..41d2b7953f 100644 --- a/custom_components/tuya_local/devices/v330l_petfeeder.yaml +++ b/custom_components/tuya_local/devices/v330l_petfeeder.yaml @@ -5,47 +5,46 @@ products: - id: cjrm04np59ut4pwb name: V330L-DU4L-VS Petfeeder # Needs to be added using the 3.2 protocol -primary_entity: - entity: number - name: Manual feed - icon: "mdi:food-drumstick" - dps: - - id: 201 - type: integer - name: value - unit: portions - optional: true - persist: false - range: - min: 0 - max: 10 - - id: 202 - type: integer - name: food_weight - optional: true - mapping: - - scale: 10 - - id: 203 - type: integer - name: control - optional: true - - id: 204 - type: integer - name: realtime_data - optional: true - - id: 205 - type: integer - name: weight - optional: true - - id: 207 - type: string - name: schedule - optional: true - - id: 208 - type: string - name: voice_record - optional: true -secondary_entities: +entities: + - entity: number + name: Manual feed + icon: "mdi:food-drumstick" + dps: + - id: 201 + type: integer + name: value + unit: portions + optional: true + persist: false + range: + min: 0 + max: 10 + - id: 202 + type: integer + name: food_weight + optional: true + mapping: + - scale: 10 + - id: 203 + type: integer + name: control + optional: true + - id: 204 + type: integer + name: realtime_data + optional: true + - id: 205 + type: integer + name: weight + optional: true + - id: 207 + type: string + name: schedule + optional: true + - id: 208 + type: string + name: voice_record + optional: true - entity: light translation_key: indicator category: config diff --git a/custom_components/tuya_local/devices/vaco_mobyblue_heatpump.yaml b/custom_components/tuya_local/devices/vaco_mobyblue_heatpump.yaml index 751a8888af..310ddc2cf9 100644 --- a/custom_components/tuya_local/devices/vaco_mobyblue_heatpump.yaml +++ b/custom_components/tuya_local/devices/vaco_mobyblue_heatpump.yaml @@ -2,110 +2,109 @@ name: Heatpump products: - id: asbtgrmtbjt5nubd name: Vaco AC-WBR3 Moby Blue 14 / Arrifana 16 -primary_entity: - entity: climate - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - value: "off" - dps_val: false - - dps_val: true - constraint: mode - conditions: - - value: cool - dps_val: "0" - - value: heat - dps_val: "1" - - value: dry - dps_val: "2" - - value: fan_only - dps_val: "3" - - value: heat_cool - dps_val: "4" # Listed as ECO - - id: 2 - type: integer - name: temperature - range: - min: 17 - max: 30 - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - range: - min: 62 - max: 86 - value_redirect: temp_set_f - - id: 3 - type: integer - name: current_temperature - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: temp_current_f - - id: 4 - type: string - name: mode - hidden: true - - id: 5 - type: string - name: fan_mode - mapping: - - dps_val: "low" - value: low - - dps_val: "mid" - value: medium - - dps_val: "high" - value: high - - id: 104 - name: swing_mode - type: boolean - mapping: - - dps_val: true - value: "on" - - dps_val: false - value: "off" - - id: 19 - type: string - name: temperature_unit - mapping: - - dps_val: c - value: C - - dps_val: f - value: F - - id: 23 - type: integer - optional: true - name: temp_current_f - hidden: true - - id: 24 - type: integer - optional: true - hidden: true - name: temp_set_f - range: - min: 62 - max: 86 - - id: 103 - type: string - name: model - mapping: - - dps_val: "0" - value: NPA - - dps_val: "1" - value: NPF - - dps_val: "2" - value: NPB cooling - - dps_val: "3" - value: NPB heating and cooling - - dps_val: "4" - value: NPE cooling - - dps_val: "5" - value: NPE heating and cooling -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - value: "off" + dps_val: false + - dps_val: true + constraint: mode + conditions: + - value: cool + dps_val: "0" + - value: heat + dps_val: "1" + - value: dry + dps_val: "2" + - value: fan_only + dps_val: "3" + - value: heat_cool + dps_val: "4" # Listed as ECO + - id: 2 + type: integer + name: temperature + range: + min: 17 + max: 30 + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + range: + min: 62 + max: 86 + value_redirect: temp_set_f + - id: 3 + type: integer + name: current_temperature + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: temp_current_f + - id: 4 + type: string + name: mode + hidden: true + - id: 5 + type: string + name: fan_mode + mapping: + - dps_val: "low" + value: low + - dps_val: "mid" + value: medium + - dps_val: "high" + value: high + - id: 104 + name: swing_mode + type: boolean + mapping: + - dps_val: true + value: "on" + - dps_val: false + value: "off" + - id: 19 + type: string + name: temperature_unit + mapping: + - dps_val: c + value: C + - dps_val: f + value: F + - id: 23 + type: integer + optional: true + name: temp_current_f + hidden: true + - id: 24 + type: integer + optional: true + hidden: true + name: temp_set_f + range: + min: 62 + max: 86 + - id: 103 + type: string + name: model + mapping: + - dps_val: "0" + value: NPA + - dps_val: "1" + value: NPF + - dps_val: "2" + value: NPB cooling + - dps_val: "3" + value: NPB heating and cooling + - dps_val: "4" + value: NPE cooling + - dps_val: "5" + value: NPE heating and cooling - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/vacplus_dehumidifier.yaml b/custom_components/tuya_local/devices/vacplus_dehumidifier.yaml index 3c4e977007..991e27093e 100644 --- a/custom_components/tuya_local/devices/vacplus_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/vacplus_dehumidifier.yaml @@ -2,37 +2,36 @@ name: Dehumidifier products: - id: yttlroi7nr18vqbo name: Vacplus Dehumidifier -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - name: humidity - type: integer - range: - min: 35 - max: 80 - mapping: - - step: 5 - - id: 6 - name: current_humidity - type: integer - - id: 5 - name: mode - type: string - mapping: - - dps_val: dehumidify - value: Dehumidify - - dps_val: rainy - value: Rainy - - dps_val: dry - value: Dry - - dps_val: sleep - value: Sleep -secondary_entities: +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + name: humidity + type: integer + range: + min: 35 + max: 80 + mapping: + - step: 5 + - id: 6 + name: current_humidity + type: integer + - id: 5 + name: mode + type: string + mapping: + - dps_val: dehumidify + value: Dehumidify + - dps_val: rainy + value: Rainy + - dps_val: dry + value: Dry + - dps_val: sleep + value: Sleep - entity: switch translation_key: ionizer dps: diff --git a/custom_components/tuya_local/devices/valehaus_syzn119_tow_w.yaml b/custom_components/tuya_local/devices/valehaus_syzn119_tow_w.yaml index 392b13e58d..5c9508b730 100644 --- a/custom_components/tuya_local/devices/valehaus_syzn119_tow_w.yaml +++ b/custom_components/tuya_local/devices/valehaus_syzn119_tow_w.yaml @@ -3,39 +3,38 @@ products: - id: 1dxb14emvqzxzc5q name: Valehaus SYZN119 -primary_entity: - entity: climate - icon: "mdi:heating-coil" - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: true - value: heat - - dps_val: false - value: "off" - - id: 2 - name: temperature - type: integer - range: - min: 35 - max: 60 - unit: C - mapping: - - step: 5 - - id: 3 - type: integer - name: current_temperature - - id: 14 - type: string - name: hvac_action - mapping: - - dps_val: heating - value: heating - - dps_val: standby - value: idle -secondary_entities: +entities: + - entity: climate + icon: "mdi:heating-coil" + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: true + value: heat + - dps_val: false + value: "off" + - id: 2 + name: temperature + type: integer + range: + min: 35 + max: 60 + unit: C + mapping: + - step: 5 + - id: 3 + type: integer + name: current_temperature + - id: 14 + type: string + name: hvac_action + mapping: + - dps_val: heating + value: heating + - dps_val: standby + value: idle - entity: select translation_key: timer category: config diff --git a/custom_components/tuya_local/devices/vevor_ev_charger.yaml b/custom_components/tuya_local/devices/vevor_ev_charger.yaml index 06eab83508..ee250032e4 100644 --- a/custom_components/tuya_local/devices/vevor_ev_charger.yaml +++ b/custom_components/tuya_local/devices/vevor_ev_charger.yaml @@ -6,40 +6,39 @@ products: name: Vevor SS US 7kW - id: ypdfdnwauasb8rje name: Vevor SS EU Mode2 3.7kW -primary_entity: - entity: sensor - translation_key: status - class: enum - icon: "mdi:ev-station" - dps: - - id: 3 - type: string - name: sensor - mapping: - - dps_val: charger_free - value: available - - dps_val: charger_insert - value: plugged_in - - dps_val: charger_free_fault - value: fault_unplugged - - dps_val: charger_wait - value: waiting - - dps_val: charger_charging - value: charging - - dps_val: charger_pause - value: paused - - dps_val: charger_end - value: charged - - dps_val: charger_fault - value: fault - - id: 23 - type: string - name: system_version - - id: 33 - type: string - optional: true - name: mode_set -secondary_entities: +entities: + - entity: sensor + translation_key: status + class: enum + icon: "mdi:ev-station" + dps: + - id: 3 + type: string + name: sensor + mapping: + - dps_val: charger_free + value: available + - dps_val: charger_insert + value: plugged_in + - dps_val: charger_free_fault + value: fault_unplugged + - dps_val: charger_wait + value: waiting + - dps_val: charger_charging + value: charging + - dps_val: charger_pause + value: paused + - dps_val: charger_end + value: charged + - dps_val: charger_fault + value: fault + - id: 23 + type: string + name: system_version + - id: 33 + type: string + optional: true + name: mode_set - entity: sensor class: energy dps: diff --git a/custom_components/tuya_local/devices/vevor_l2_ev_charger.yaml b/custom_components/tuya_local/devices/vevor_l2_ev_charger.yaml index c82779f29b..89aa48aae9 100644 --- a/custom_components/tuya_local/devices/vevor_l2_ev_charger.yaml +++ b/custom_components/tuya_local/devices/vevor_l2_ev_charger.yaml @@ -2,40 +2,39 @@ name: EV charger products: - id: onb9rrxfl9ywgzrg name: VEVOR L2 48A -primary_entity: - entity: sensor - translation_key: status - class: enum - icon: "mdi:ev-station" - dps: - - id: 3 - type: string - name: sensor - mapping: - - dps_val: charger_free - value: available - - dps_val: charger_insert - value: plugged_in - - dps_val: charger_free_fault - value: fault_unplugged - - dps_val: charger_wait - value: waiting - - dps_val: charger_charging - value: charging - - dps_val: charger_pause - value: paused - - dps_val: charger_end - value: charged - - dps_val: charger_fault - value: fault - - id: 23 - type: string - name: system_version - - id: 33 - type: string - optional: true - name: mode_set -secondary_entities: +entities: + - entity: sensor + translation_key: status + class: enum + icon: "mdi:ev-station" + dps: + - id: 3 + type: string + name: sensor + mapping: + - dps_val: charger_free + value: available + - dps_val: charger_insert + value: plugged_in + - dps_val: charger_free_fault + value: fault_unplugged + - dps_val: charger_wait + value: waiting + - dps_val: charger_charging + value: charging + - dps_val: charger_pause + value: paused + - dps_val: charger_end + value: charged + - dps_val: charger_fault + value: fault + - id: 23 + type: string + name: system_version + - id: 33 + type: string + optional: true + name: mode_set - entity: sensor class: energy dps: diff --git a/custom_components/tuya_local/devices/vine_tj550_thermostat.yaml b/custom_components/tuya_local/devices/vine_tj550_thermostat.yaml index cafb3431e3..ca0c32efce 100644 --- a/custom_components/tuya_local/devices/vine_tj550_thermostat.yaml +++ b/custom_components/tuya_local/devices/vine_tj550_thermostat.yaml @@ -2,162 +2,161 @@ name: Thermostat products: - id: 3glq4enbzoahd41t name: Vine TJ550 -primary_entity: - entity: climate - translation_key: thermostat - dps: - - id: 2 - type: string - name: hvac_mode - mapping: - - dps_val: "off" - value: "off" - - dps_val: cool - value: cool - - dps_val: heat - value: heat - - dps_val: auto - value: heat_cool - - dps_val: emheat - value: heat - hidden: true - - id: 3 - type: string - name: hvac_action - mapping: - - dps_val: aux_heating - value: preheating - - dps_val: em_heating - value: heating - - dps_val: dehumidifier - value: drying - - id: 16 - type: integer - optional: true - name: temperature - range: - min: 50 - max: 370 - mapping: - - scale: 10 - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: temp_set_f - range: - min: 420 - max: 1000 - - id: 17 - type: integer - optional: true - name: temp_set_f - range: - min: 420 - max: 1000 - mapping: - - scale: 10 - - id: 18 - type: integer - optional: true - name: max_temp_f - - id: 19 - type: integer - optional: true - name: max_temperature - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: max_temp_f - - id: 20 - type: integer - optional: true - name: min_temp_f - - id: 26 - type: integer - optional: true - name: min_temperature - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: min_temp_f - - id: 23 - type: string - name: temperature_unit - mapping: - - dps_val: c - value: C - - dps_val: f - value: F - - id: 24 - type: integer - optional: true - name: current_temperature - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: temp_current_f - - id: 29 - type: integer - optional: true - name: temp_current_f - - id: 28 - type: string - name: fan_mode - mapping: - - dps_val: low - value: low - - dps_val: middle - value: medium - - dps_val: high - value: high - - id: 34 - type: integer - name: current_humidity - - id: 67 - type: string - optional: true - name: week_program - - id: 102 - type: string - optional: true - name: circulation_set - - id: 103 - type: string - optional: true - name: change_week_program - - id: 104 - type: string - optional: true - name: vacation - - id: 105 - type: string - optional: true - name: run_time - - id: 106 - type: string - optional: true - name: energy_data - - id: 114 - type: string - optional: true - name: dehumidifier - - id: 115 - type: string - optional: true - name: datetime - - id: 116 - type: string - optional: true - name: auto_control - - id: 117 - type: string - optional: true - name: geo_location - sensitive: true -secondary_entities: +entities: + - entity: climate + translation_key: thermostat + dps: + - id: 2 + type: string + name: hvac_mode + mapping: + - dps_val: "off" + value: "off" + - dps_val: cool + value: cool + - dps_val: heat + value: heat + - dps_val: auto + value: heat_cool + - dps_val: emheat + value: heat + hidden: true + - id: 3 + type: string + name: hvac_action + mapping: + - dps_val: aux_heating + value: preheating + - dps_val: em_heating + value: heating + - dps_val: dehumidifier + value: drying + - id: 16 + type: integer + optional: true + name: temperature + range: + min: 50 + max: 370 + mapping: + - scale: 10 + constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: temp_set_f + range: + min: 420 + max: 1000 + - id: 17 + type: integer + optional: true + name: temp_set_f + range: + min: 420 + max: 1000 + mapping: + - scale: 10 + - id: 18 + type: integer + optional: true + name: max_temp_f + - id: 19 + type: integer + optional: true + name: max_temperature + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: max_temp_f + - id: 20 + type: integer + optional: true + name: min_temp_f + - id: 26 + type: integer + optional: true + name: min_temperature + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: min_temp_f + - id: 23 + type: string + name: temperature_unit + mapping: + - dps_val: c + value: C + - dps_val: f + value: F + - id: 24 + type: integer + optional: true + name: current_temperature + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: temp_current_f + - id: 29 + type: integer + optional: true + name: temp_current_f + - id: 28 + type: string + name: fan_mode + mapping: + - dps_val: low + value: low + - dps_val: middle + value: medium + - dps_val: high + value: high + - id: 34 + type: integer + name: current_humidity + - id: 67 + type: string + optional: true + name: week_program + - id: 102 + type: string + optional: true + name: circulation_set + - id: 103 + type: string + optional: true + name: change_week_program + - id: 104 + type: string + optional: true + name: vacation + - id: 105 + type: string + optional: true + name: run_time + - id: 106 + type: string + optional: true + name: energy_data + - id: 114 + type: string + optional: true + name: dehumidifier + - id: 115 + type: string + optional: true + name: datetime + - id: 116 + type: string + optional: true + name: auto_control + - id: 117 + type: string + optional: true + name: geo_location + sensitive: true - entity: switch dps: - id: 1 diff --git a/custom_components/tuya_local/devices/vivax_heatpump.yaml b/custom_components/tuya_local/devices/vivax_heatpump.yaml index 43bf4be1f1..41f72fb238 100644 --- a/custom_components/tuya_local/devices/vivax_heatpump.yaml +++ b/custom_components/tuya_local/devices/vivax_heatpump.yaml @@ -4,168 +4,167 @@ products: name: Vivax ACP-12CH35REWI / Tadiran Apollo - id: keycnvksyhjcrg8t name: Thermor Nagano HEWRQU1 -primary_entity: - entity: climate - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: auto - value: heat_cool - - dps_val: cold - value: cool - - dps_val: wet - value: dry - - dps_val: hot - value: heat - - dps_val: wind - value: fan_only - - id: 2 - type: integer - name: temperature - range: - min: 16 - max: 30 - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - range: - min: 64 - max: 86 - value_redirect: temp_set_f - - id: 3 - type: integer - name: current_temperature - mapping: - - scale: 2 - constraint: temperature_unit - conditions: - - dps_val: f - scale: 1 - value_redirect: temp_current_f - - id: 4 - type: string - name: mode - hidden: true - - id: 5 - type: string - name: fan_mode - mapping: - - dps_val: auto - value: auto - - dps_val: low - value: low - - dps_val: high - value: medium - - dps_val: strong - value: high - - id: 8 - type: boolean - name: preset_mode - mapping: - - dps_val: true - value: eco - - dps_val: false - value: comfort - - id: 18 - type: integer - name: current_humidity - - id: 19 - type: string - name: temperature_unit - mapping: - - dps_val: c - value: C - - dps_val: f - value: F - - id: 23 - type: integer - name: temp_current_f - optional: true - hidden: true - - id: 24 - type: integer - name: temp_set_f - range: - min: 64 - max: 86 - optional: true - hidden: true - # Undocumented but in log - - id: 102 - type: integer - name: pm25 - - id: 105 - type: string - name: air_quality - - id: 107 - type: boolean - name: strong - - id: 111 - type: boolean - name: new_style - - id: 113 - type: string - name: sense - - id: 114 - type: boolean - name: self_cleaning - # next two look obviously swing (logged values ud_00 and lr_00), - # but full mappings not available to map to swing mode - # from #1183, seems to be ud_00, ud_01, ud_02, ud_03, ud_04, ud_0c - # (last one is swing, others are pos) - - id: 117 - type: string - name: swing_mode - mapping: - - dps_val: ud_0c - value: "on" - - dps_val: ud_00 - value: "off" - - value: "off" - hidden: true - - id: 118 - type: string - name: swing_horizontal_mode - mapping: - - dps_val: lr_00 - value: "off" - - dps_val: lr_0c - value: "on" - - value: "off" - hidden: true - - id: 101 - type: boolean - name: mood_lighting - optional: true - - id: 103 - type: integer - name: co2 - optional: true - - id: 104 - type: integer - name: volatile_organic_compounds - optional: true - - id: 110 - type: boolean - name: heating_10c - optional: true - - id: 112 - type: integer - name: power - optional: true - - id: 119 - type: boolean - name: cleaning_56c - optional: true -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: auto + value: heat_cool + - dps_val: cold + value: cool + - dps_val: wet + value: dry + - dps_val: hot + value: heat + - dps_val: wind + value: fan_only + - id: 2 + type: integer + name: temperature + range: + min: 16 + max: 30 + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + range: + min: 64 + max: 86 + value_redirect: temp_set_f + - id: 3 + type: integer + name: current_temperature + mapping: + - scale: 2 + constraint: temperature_unit + conditions: + - dps_val: f + scale: 1 + value_redirect: temp_current_f + - id: 4 + type: string + name: mode + hidden: true + - id: 5 + type: string + name: fan_mode + mapping: + - dps_val: auto + value: auto + - dps_val: low + value: low + - dps_val: high + value: medium + - dps_val: strong + value: high + - id: 8 + type: boolean + name: preset_mode + mapping: + - dps_val: true + value: eco + - dps_val: false + value: comfort + - id: 18 + type: integer + name: current_humidity + - id: 19 + type: string + name: temperature_unit + mapping: + - dps_val: c + value: C + - dps_val: f + value: F + - id: 23 + type: integer + name: temp_current_f + optional: true + hidden: true + - id: 24 + type: integer + name: temp_set_f + range: + min: 64 + max: 86 + optional: true + hidden: true + # Undocumented but in log + - id: 102 + type: integer + name: pm25 + - id: 105 + type: string + name: air_quality + - id: 107 + type: boolean + name: strong + - id: 111 + type: boolean + name: new_style + - id: 113 + type: string + name: sense + - id: 114 + type: boolean + name: self_cleaning + # next two look obviously swing (logged values ud_00 and lr_00), + # but full mappings not available to map to swing mode + # from #1183, seems to be ud_00, ud_01, ud_02, ud_03, ud_04, ud_0c + # (last one is swing, others are pos) + - id: 117 + type: string + name: swing_mode + mapping: + - dps_val: ud_0c + value: "on" + - dps_val: ud_00 + value: "off" + - value: "off" + hidden: true + - id: 118 + type: string + name: swing_horizontal_mode + mapping: + - dps_val: lr_00 + value: "off" + - dps_val: lr_0c + value: "on" + - value: "off" + hidden: true + - id: 101 + type: boolean + name: mood_lighting + optional: true + - id: 103 + type: integer + name: co2 + optional: true + - id: 104 + type: integer + name: volatile_organic_compounds + optional: true + - id: 110 + type: boolean + name: heating_10c + optional: true + - id: 112 + type: integer + name: power + optional: true + - id: 119 + type: boolean + name: cleaning_56c + optional: true - entity: switch name: Emergency heat icon: "mdi:fire" diff --git a/custom_components/tuya_local/devices/vivion_airconditioner.yaml b/custom_components/tuya_local/devices/vivion_airconditioner.yaml index 58f8b19dd4..8b92d36b5e 100644 --- a/custom_components/tuya_local/devices/vivion_airconditioner.yaml +++ b/custom_components/tuya_local/devices/vivion_airconditioner.yaml @@ -2,104 +2,103 @@ name: Air conditioner products: - id: orgvakh0qub0hjx8 name: Vivion 30012x -primary_entity: - entity: climate - translation_only_key: aircon_extra - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: auto - value: heat_cool - - dps_val: cold - value: cool - - dps_val: hot - value: heat - - dps_val: wet - value: dry - - dps_val: wind - value: fan_only - - id: 2 - type: integer - name: temperature - range: - min: 16 - max: 32 - unit: C - - id: 3 - type: integer - name: current_temperature - - id: 4 - type: string - name: mode - hidden: true - - id: 5 - type: string - name: fan_mode - mapping: - - dps_val: strong - value: strong - - dps_val: auto - value: auto - - dps_val: low - value: low - - dps_val: middle - value: medium - - dps_val: high - value: high - - dps_val: mute - value: quiet - - id: 25 - name: preset_mode - type: boolean - mapping: - - dps_val: false - value: comfort - - dps_val: true - value: sleep - - id: 31 - type: string - name: swing_mode - mapping: - - dps_val: "off" - value: "off" - - dps_val: same - value: "on" - - value: "off" - hidden: true - - id: 33 - type: boolean - name: swing_horizontal_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: "on" - - id: 103 - type: string - name: unknown_103 - - id: 104 - type: string - name: unknown_104 - - id: 105 - type: boolean - name: unknown_105 - - id: 106 - type: boolean - name: unknown_106 - - id: 107 - type: boolean - name: unknown_107 - - id: 108 - type: integer - name: unknown_108 -secondary_entities: +entities: + - entity: climate + translation_only_key: aircon_extra + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: auto + value: heat_cool + - dps_val: cold + value: cool + - dps_val: hot + value: heat + - dps_val: wet + value: dry + - dps_val: wind + value: fan_only + - id: 2 + type: integer + name: temperature + range: + min: 16 + max: 32 + unit: C + - id: 3 + type: integer + name: current_temperature + - id: 4 + type: string + name: mode + hidden: true + - id: 5 + type: string + name: fan_mode + mapping: + - dps_val: strong + value: strong + - dps_val: auto + value: auto + - dps_val: low + value: low + - dps_val: middle + value: medium + - dps_val: high + value: high + - dps_val: mute + value: quiet + - id: 25 + name: preset_mode + type: boolean + mapping: + - dps_val: false + value: comfort + - dps_val: true + value: sleep + - id: 31 + type: string + name: swing_mode + mapping: + - dps_val: "off" + value: "off" + - dps_val: same + value: "on" + - value: "off" + hidden: true + - id: 33 + type: boolean + name: swing_horizontal_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: "on" + - id: 103 + type: string + name: unknown_103 + - id: 104 + type: string + name: unknown_104 + - id: 105 + type: boolean + name: unknown_105 + - id: 106 + type: boolean + name: unknown_106 + - id: 107 + type: boolean + name: unknown_107 + - id: 108 + type: integer + name: unknown_108 - entity: switch translation_key: ionizer category: config diff --git a/custom_components/tuya_local/devices/vivosun_de0003_dehumidifier.yaml b/custom_components/tuya_local/devices/vivosun_de0003_dehumidifier.yaml index b798ef9b13..f2e8c3fd8f 100644 --- a/custom_components/tuya_local/devices/vivosun_de0003_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/vivosun_de0003_dehumidifier.yaml @@ -2,40 +2,39 @@ name: Dehumidifier products: - id: qrjffdu2bjrd7v42 name: Vivosun DE0003 10L -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - type: integer - name: humidity - range: - min: 30 - max: 80 - mapping: - - step: 5 - - id: 5 - name: mode - type: string - mapping: - - dps_val: Continuities - value: boost - - dps_val: Auto - value: auto - - dps_val: Sleep - value: sleep - - id: 6 - type: integer - name: current_humidity - # This doesn't actually have an ionizer, but having the dp - # will aid in detection - - id: 10 - type: boolean - name: ionizer -secondary_entities: +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + type: integer + name: humidity + range: + min: 30 + max: 80 + mapping: + - step: 5 + - id: 5 + name: mode + type: string + mapping: + - dps_val: Continuities + value: boost + - dps_val: Auto + value: auto + - dps_val: Sleep + value: sleep + - id: 6 + type: integer + name: current_humidity + # This doesn't actually have an ionizer, but having the dp + # will aid in detection + - id: 10 + type: boolean + name: ionizer - entity: fan dps: - id: 1 diff --git a/custom_components/tuya_local/devices/vork_vk6067aw_purifier.yaml b/custom_components/tuya_local/devices/vork_vk6067aw_purifier.yaml index 1bd50a9634..8c0a3336a7 100644 --- a/custom_components/tuya_local/devices/vork_vk6067aw_purifier.yaml +++ b/custom_components/tuya_local/devices/vork_vk6067aw_purifier.yaml @@ -1,29 +1,29 @@ -name: Vork VK-6067AW air purifier +name: Air purifier products: - id: trpege6ebn8at1el -primary_entity: - entity: fan - icon: "mdi:air-purifier" - translation_only_key: fan_with_presets - dps: - - id: 1 - name: switch - type: boolean - - id: 4 - type: string - name: preset_mode - mapping: - - dps_val: low - value: nature - - dps_val: mid - value: fresh - - dps_val: high - value: strong - - dps_val: auto - value: smart - - dps_val: sleep - value: sleep -secondary_entities: + name: Vork VK-6067AW +entities: + - entity: fan + icon: "mdi:air-purifier" + translation_only_key: fan_with_presets + dps: + - id: 1 + name: switch + type: boolean + - id: 4 + type: string + name: preset_mode + mapping: + - dps_val: low + value: nature + - dps_val: mid + value: fresh + - dps_val: high + value: strong + - dps_val: auto + value: smart + - dps_val: sleep + value: sleep - entity: sensor name: Filter category: diagnostic diff --git a/custom_components/tuya_local/devices/vtaplus_axial_fanheater.yaml b/custom_components/tuya_local/devices/vtaplus_axial_fanheater.yaml index e55ecd5214..ae6da5758c 100644 --- a/custom_components/tuya_local/devices/vtaplus_axial_fanheater.yaml +++ b/custom_components/tuya_local/devices/vtaplus_axial_fanheater.yaml @@ -2,48 +2,47 @@ name: Fan heater # products: # - id: UNKNOWN # name: VTA+ AXIAL Fan Heater -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: preset_mode - conditions: - - dps_val: "null" - value: fan_only - hidden: true - - dps_val: "level_1" - value: fan_only - - dps_val: "level_2" - value: heat - - dps_val: "level_3" - value: heat - - id: 5 - name: preset_mode - type: string - mapping: - - dps_val: "level_1" - value: none - hidden: true - - dps_val: "level_2" - value: eco - - dps_val: "level_3" - value: boost - - id: 8 - type: boolean - name: swing_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: "on" -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: preset_mode + conditions: + - dps_val: "null" + value: fan_only + hidden: true + - dps_val: "level_1" + value: fan_only + - dps_val: "level_2" + value: heat + - dps_val: "level_3" + value: heat + - id: 5 + name: preset_mode + type: string + mapping: + - dps_val: "level_1" + value: none + hidden: true + - dps_val: "level_2" + value: eco + - dps_val: "level_3" + value: boost + - id: 8 + type: boolean + name: swing_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: "on" - entity: lock translation_key: child_lock category: config diff --git a/custom_components/tuya_local/devices/wadapower_q8_evcharger.yaml b/custom_components/tuya_local/devices/wadapower_q8_evcharger.yaml index ad769a8e63..cce0acde5b 100644 --- a/custom_components/tuya_local/devices/wadapower_q8_evcharger.yaml +++ b/custom_components/tuya_local/devices/wadapower_q8_evcharger.yaml @@ -2,36 +2,35 @@ name: EV charger products: - id: bktb3jskdic1ar2t name: Wada Power Q8 32A Wall Charger -primary_entity: - entity: sensor - translation_key: status - class: enum - icon: "mdi:ev-station" - dps: - - id: 3 - type: string - name: sensor - mapping: - - dps_val: charger_free - value: available - - dps_val: charger_insert - value: plugged_in - - dps_val: charger_free_fault - value: fault_unplugged - - dps_val: charger_wait - value: waiting - - dps_val: charger_charging - value: charging - - dps_val: charger_pause - value: paused - - dps_val: charger_end - value: charged - - dps_val: charger_fault - value: fault - - id: 23 - type: string - name: system_version -secondary_entities: +entities: + - entity: sensor + translation_key: status + class: enum + icon: "mdi:ev-station" + dps: + - id: 3 + type: string + name: sensor + mapping: + - dps_val: charger_free + value: available + - dps_val: charger_insert + value: plugged_in + - dps_val: charger_free_fault + value: fault_unplugged + - dps_val: charger_wait + value: waiting + - dps_val: charger_charging + value: charging + - dps_val: charger_pause + value: paused + - dps_val: charger_end + value: charged + - dps_val: charger_fault + value: fault + - id: 23 + type: string + name: system_version - entity: number name: Charge current category: config diff --git a/custom_components/tuya_local/devices/warme_gsh_heater.yaml b/custom_components/tuya_local/devices/warme_gsh_heater.yaml index 868628cf6e..efaf084e3b 100644 --- a/custom_components/tuya_local/devices/warme_gsh_heater.yaml +++ b/custom_components/tuya_local/devices/warme_gsh_heater.yaml @@ -2,41 +2,40 @@ name: Heater products: - id: 8UGflCDtNYJw1dZs name: Warme GSH heater -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: true - value: "heat" - - dps_val: false - value: "off" - - id: 2 - name: temperature - type: integer - precision: 0 - unit: "C" - range: - min: 12 - max: 50 - - id: 3 - name: current_temperature - type: integer - unit: "C" - - id: 102 - name: preset_mode - type: string - mapping: - - dps_val: Comfort - value: Comfort - - dps_val: ECO - value: ECO - - dps_val: Frost - value: Frost -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: true + value: "heat" + - dps_val: false + value: "off" + - id: 2 + name: temperature + type: integer + precision: 0 + unit: "C" + range: + min: 12 + max: 50 + - id: 3 + name: current_temperature + type: integer + unit: "C" + - id: 102 + name: preset_mode + type: string + mapping: + - dps_val: Comfort + value: Comfort + - dps_val: ECO + value: ECO + - dps_val: Frost + value: Frost - entity: light translation_key: display dps: diff --git a/custom_components/tuya_local/devices/wdyk_2p63a_energy_meter.yaml b/custom_components/tuya_local/devices/wdyk_2p63a_energy_meter.yaml index dad5741181..59dcf8f12f 100644 --- a/custom_components/tuya_local/devices/wdyk_2p63a_energy_meter.yaml +++ b/custom_components/tuya_local/devices/wdyk_2p63a_energy_meter.yaml @@ -2,41 +2,40 @@ name: Energy meter products: - id: r9kg2g1uhhyicycb name: WDYK 2P63A -primary_entity: - entity: sensor - class: energy - dps: - - id: 1 - type: integer - name: sensor - unit: kWh - class: total_increasing - optional: true - mapping: - - scale: 100 - - id: 6 - name: phase_a - type: base64 - optional: true - force: true - - id: 7 - name: phase_b - type: base64 - optional: true - force: true - - id: 8 - name: phase_c - type: base64 - optional: true - force: true - - id: 19 - type: string - name: breaker_number - - id: 116 - type: string - name: card_id - optional: true -secondary_entities: +entities: + - entity: sensor + class: energy + dps: + - id: 1 + type: integer + name: sensor + unit: kWh + class: total_increasing + optional: true + mapping: + - scale: 100 + - id: 6 + name: phase_a + type: base64 + optional: true + force: true + - id: 7 + name: phase_b + type: base64 + optional: true + force: true + - id: 8 + name: phase_c + type: base64 + optional: true + force: true + - id: 19 + type: string + name: breaker_number + - id: 116 + type: string + name: card_id + optional: true - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/wdyk_3phase_energymonitor.yaml b/custom_components/tuya_local/devices/wdyk_3phase_energymonitor.yaml index 2ab69c1ab6..121bb29b67 100644 --- a/custom_components/tuya_local/devices/wdyk_3phase_energymonitor.yaml +++ b/custom_components/tuya_local/devices/wdyk_3phase_energymonitor.yaml @@ -1,25 +1,24 @@ name: Energy monitoring circuit breaker -primary_entity: - entity: switch - dps: - - id: 1 - type: boolean - name: switch - - id: 115 - type: string - name: serial_number - - id: 118 - type: integer - name: RkWh - - id: 119 - type: base64 - name: historical_voltage - optional: true - - id: 120 - type: base64 - name: historical_current - optional: true -secondary_entities: +entities: + - entity: switch + dps: + - id: 1 + type: boolean + name: switch + - id: 115 + type: string + name: serial_number + - id: 118 + type: integer + name: RkWh + - id: 119 + type: base64 + name: historical_voltage + optional: true + - id: 120 + type: base64 + name: historical_current + optional: true - entity: number class: duration translation_key: timer diff --git a/custom_components/tuya_local/devices/wdyk_4p100a_energymeter.yaml b/custom_components/tuya_local/devices/wdyk_4p100a_energymeter.yaml index 42cd7f0ece..053241faac 100644 --- a/custom_components/tuya_local/devices/wdyk_4p100a_energymeter.yaml +++ b/custom_components/tuya_local/devices/wdyk_4p100a_energymeter.yaml @@ -2,41 +2,40 @@ name: Energy meter # products: # - id: UNKNOWN # name: WDYK 4P100A -primary_entity: - entity: sensor - class: energy - dps: - - id: 1 - type: integer - name: sensor - unit: kWh - class: total_increasing - optional: true - mapping: - - scale: 100 - - id: 6 - name: phase_a - type: base64 - optional: true - force: true - - id: 7 - name: phase_b - type: base64 - optional: true - force: true - - id: 8 - name: phase_c - type: base64 - optional: true - force: true - - id: 19 - type: string - name: breaker_number - - id: 116 - type: string - name: card_id - optional: true -secondary_entities: +entities: + - entity: sensor + class: energy + dps: + - id: 1 + type: integer + name: sensor + unit: kWh + class: total_increasing + optional: true + mapping: + - scale: 100 + - id: 6 + name: phase_a + type: base64 + optional: true + force: true + - id: 7 + name: phase_b + type: base64 + optional: true + force: true + - id: 8 + name: phase_c + type: base64 + optional: true + force: true + - id: 19 + type: string + name: breaker_number + - id: 116 + type: string + name: card_id + optional: true - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/weaja_s9_gasalarm.yaml b/custom_components/tuya_local/devices/weaja_s9_gasalarm.yaml index f8b309c38d..641d44c25c 100644 --- a/custom_components/tuya_local/devices/weaja_s9_gasalarm.yaml +++ b/custom_components/tuya_local/devices/weaja_s9_gasalarm.yaml @@ -2,18 +2,17 @@ name: Gas alarm # products: # - id: UNKNOWN # name: Weaja WJ-TUYA-S9 -primary_entity: - entity: binary_sensor - class: gas - dps: - - id: 2 - type: string - name: sensor - mapping: - - dps_val: alarm - value: true - - value: false -secondary_entities: +entities: + - entity: binary_sensor + class: gas + dps: + - id: 2 + type: string + name: sensor + mapping: + - dps_val: alarm + value: true + - value: false - entity: number name: Alarm time category: config diff --git a/custom_components/tuya_local/devices/weau_pool_heatpump.yaml b/custom_components/tuya_local/devices/weau_pool_heatpump.yaml index b02bdee2f6..b8ba78b639 100644 --- a/custom_components/tuya_local/devices/weau_pool_heatpump.yaml +++ b/custom_components/tuya_local/devices/weau_pool_heatpump.yaml @@ -1,50 +1,49 @@ name: W'Eau pool heatpump -primary_entity: - entity: climate - translation_only_key: pool_heatpump - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: preset_mode - conditions: - - dps_val: eco - value: heat - - dps_val: hot - value: heat - - dps_val: cold - value: cool - - dps_val: auto - value: heat_cool - - id: 2 - type: integer - name: temperature - unit: C - range: - min: 7 - max: 60 - - id: 3 - type: integer - name: current_temperature - mapping: - - scale: 10 - - id: 4 - type: string - name: preset_mode - mapping: - - dps_val: hot - value: quick_heat - - dps_val: eco - value: quiet_heat - - dps_val: cold - value: quiet_cool - - dps_val: auto - value: auto -secondary_entities: +entities: + - entity: climate + translation_only_key: pool_heatpump + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: preset_mode + conditions: + - dps_val: eco + value: heat + - dps_val: hot + value: heat + - dps_val: cold + value: cool + - dps_val: auto + value: heat_cool + - id: 2 + type: integer + name: temperature + unit: C + range: + min: 7 + max: 60 + - id: 3 + type: integer + name: current_temperature + mapping: + - scale: 10 + - id: 4 + type: string + name: preset_mode + mapping: + - dps_val: hot + value: quick_heat + - dps_val: eco + value: quiet_heat + - dps_val: cold + value: quiet_cool + - dps_val: auto + value: auto - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/weau_pool_heatpump13kW.yaml b/custom_components/tuya_local/devices/weau_pool_heatpump13kW.yaml index 1dfe5f7101..f7c8731fa3 100644 --- a/custom_components/tuya_local/devices/weau_pool_heatpump13kW.yaml +++ b/custom_components/tuya_local/devices/weau_pool_heatpump13kW.yaml @@ -1,75 +1,74 @@ name: W'Eau pool heatpump 13kW -primary_entity: - entity: climate - translation_only_key: pool_heatpump - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: preset_mode - conditions: - - dps_val: eco - value: heat - - dps_val: hot - value: heat - - dps_val: cold - value: cool - - dps_val: auto - value: heat_cool - - id: 2 - type: integer - name: temperature - unit: C - range: - min: 7 - max: 60 - - id: 3 - type: integer - name: current_temperature - - id: 4 - type: string - name: preset_mode - mapping: - - dps_val: hot - value: quick_heat - - dps_val: eco - value: quiet_heat - - dps_val: cold - value: quiet_cool - - dps_val: auto - value: auto - - id: 101 - name: unknown_101 - type: integer - - id: 103 - name: unknown_103 - type: integer - - id: 106 - name: unknown_106 - type: integer - - id: 110 - name: unknown_110 - type: integer - - id: 111 - name: unknown_111 - type: integer - - id: 113 - name: unknown_113 - type: boolean - - id: 114 - name: unknown_114 - type: boolean - - id: 117 - name: unknown_117 - type: boolean - - id: 118 - name: unknown_118 - type: boolean -secondary_entities: +entities: + - entity: climate + translation_only_key: pool_heatpump + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: preset_mode + conditions: + - dps_val: eco + value: heat + - dps_val: hot + value: heat + - dps_val: cold + value: cool + - dps_val: auto + value: heat_cool + - id: 2 + type: integer + name: temperature + unit: C + range: + min: 7 + max: 60 + - id: 3 + type: integer + name: current_temperature + - id: 4 + type: string + name: preset_mode + mapping: + - dps_val: hot + value: quick_heat + - dps_val: eco + value: quiet_heat + - dps_val: cold + value: quiet_cool + - dps_val: auto + value: auto + - id: 101 + name: unknown_101 + type: integer + - id: 103 + name: unknown_103 + type: integer + - id: 106 + name: unknown_106 + type: integer + - id: 110 + name: unknown_110 + type: integer + - id: 111 + name: unknown_111 + type: integer + - id: 113 + name: unknown_113 + type: boolean + - id: 114 + name: unknown_114 + type: boolean + - id: 117 + name: unknown_117 + type: boolean + - id: 118 + name: unknown_118 + type: boolean - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/weau_pool_heatpump_v2.yaml b/custom_components/tuya_local/devices/weau_pool_heatpump_v2.yaml index b1ab529f36..a5bfe06da8 100644 --- a/custom_components/tuya_local/devices/weau_pool_heatpump_v2.yaml +++ b/custom_components/tuya_local/devices/weau_pool_heatpump_v2.yaml @@ -1,72 +1,72 @@ -name: W'Eau pool heatpump +name: Pool heat pump products: - id: zqwet1zcvj2wcxzw -primary_entity: - entity: climate - translation_only_key: pool_heatpump - dps: - - id: 1 - type: boolean - name: hvac_mode - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: preset_mode - conditions: - - dps_val: eheat - value: heat - - dps_val: ecool - value: cool - - dps_val: auto - value: heat_cool - - dps_val: [bheat, sheat] - value: heat - - dps_val: [bcool, scool] - value: cool - - id: 9 - type: integer - name: temperature - unit: C - range: - min: 7 - max: 60 - - id: 10 - type: integer - name: current_temperature - mapping: - - scale: 10 - - id: 2 - type: string - name: preset_mode - mapping: - - dps_val: sheat - value: quiet_heat - - dps_val: bheat - value: quick_heat - - dps_val: eheat - value: smart_heat - - dps_val: scool - value: quiet_cool - - dps_val: bcool - value: quick_cool - - dps_val: ecool - value: smart_cool - - dps_val: auto - value: auto - - id: 101 - type: integer - name: unknown_101 - - id: 102 - type: integer - name: unknown_102 - - id: 103 - type: integer - name: unknown_103 - - id: 104 - type: boolean - name: unknown_104 -secondary_entities: + name: W'Eau +entities: + - entity: climate + translation_only_key: pool_heatpump + dps: + - id: 1 + type: boolean + name: hvac_mode + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: preset_mode + conditions: + - dps_val: eheat + value: heat + - dps_val: ecool + value: cool + - dps_val: auto + value: heat_cool + - dps_val: [bheat, sheat] + value: heat + - dps_val: [bcool, scool] + value: cool + - id: 9 + type: integer + name: temperature + unit: C + range: + min: 7 + max: 60 + - id: 10 + type: integer + name: current_temperature + mapping: + - scale: 10 + - id: 2 + type: string + name: preset_mode + mapping: + - dps_val: sheat + value: quiet_heat + - dps_val: bheat + value: quick_heat + - dps_val: eheat + value: smart_heat + - dps_val: scool + value: quiet_cool + - dps_val: bcool + value: quick_cool + - dps_val: ecool + value: smart_cool + - dps_val: auto + value: auto + - id: 101 + type: integer + name: unknown_101 + - id: 102 + type: integer + name: unknown_102 + - id: 103 + type: integer + name: unknown_103 + - id: 104 + type: boolean + name: unknown_104 - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/weeket_kettle.yaml b/custom_components/tuya_local/devices/weeket_kettle.yaml index cadf3434a9..2d7a05c6c3 100644 --- a/custom_components/tuya_local/devices/weeket_kettle.yaml +++ b/custom_components/tuya_local/devices/weeket_kettle.yaml @@ -2,65 +2,64 @@ name: Kettle products: - id: 01rtpfyd3amxdsps name: Weekett KE4071TF -primary_entity: - entity: water_heater - icon: "mdi:kettle" - dps: - - id: 2 - type: integer - name: current_temperature - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - value_redirect: temp_current_f - - id: 3 - type: integer - name: temp_current_f - hidden: true - - id: 8 - type: integer - name: temperature - range: - min: 40 - max: 100 - mapping: - - constraint: temperature_unit - conditions: - - dps_val: f - range: - min: 104 - max: 212 - value_redirect: temp_set_f - - id: 9 - type: integer - name: temp_set_f - range: - min: 104 - max: 212 - hidden: true - - id: 12 - type: string - name: temperature_unit - mapping: - - dps_val: f - value: F - - dps_val: c - value: C - - id: 16 - type: string - optional: true - name: operation_mode - mapping: - - dps_val: setting_quick - value: Quick heat - - dps_val: boiling_quick - value: Quick boil - - dps_val: temp_setting - value: Heat - - dps_val: temp_boiling - value: Boil -secondary_entities: +entities: + - entity: water_heater + icon: "mdi:kettle" + dps: + - id: 2 + type: integer + name: current_temperature + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + value_redirect: temp_current_f + - id: 3 + type: integer + name: temp_current_f + hidden: true + - id: 8 + type: integer + name: temperature + range: + min: 40 + max: 100 + mapping: + - constraint: temperature_unit + conditions: + - dps_val: f + range: + min: 104 + max: 212 + value_redirect: temp_set_f + - id: 9 + type: integer + name: temp_set_f + range: + min: 104 + max: 212 + hidden: true + - id: 12 + type: string + name: temperature_unit + mapping: + - dps_val: f + value: F + - dps_val: c + value: C + - id: 16 + type: string + optional: true + name: operation_mode + mapping: + - dps_val: setting_quick + value: Quick heat + - dps_val: boiling_quick + value: Quick boil + - dps_val: temp_setting + value: Heat + - dps_val: temp_boiling + value: Boil - entity: switch dps: - id: 1 diff --git a/custom_components/tuya_local/devices/welltobe_cat_feeder.yaml b/custom_components/tuya_local/devices/welltobe_cat_feeder.yaml index 7bb747ba77..5eceb1889d 100644 --- a/custom_components/tuya_local/devices/welltobe_cat_feeder.yaml +++ b/custom_components/tuya_local/devices/welltobe_cat_feeder.yaml @@ -2,20 +2,19 @@ name: Pet feeder products: - id: qqzpxhisd6zs8zyq name: WellToBe WB S36D -primary_entity: - entity: number - icon: "mdi:paw" - name: Manual feed - dps: - - id: 3 - name: value - optional: true - type: integer - unit: portions - range: - min: 1 - max: 6 -secondary_entities: +entities: + - entity: number + icon: "mdi:paw" + name: Manual feed + dps: + - id: 3 + name: value + optional: true + type: integer + unit: portions + range: + min: 1 + max: 6 - entity: switch name: Slow feed icon: "mdi:speedometer-slow" diff --git a/custom_components/tuya_local/devices/wenzhi_wz35_presencesensor.yaml b/custom_components/tuya_local/devices/wenzhi_wz35_presencesensor.yaml index 9c54fcb8da..f691622c08 100644 --- a/custom_components/tuya_local/devices/wenzhi_wz35_presencesensor.yaml +++ b/custom_components/tuya_local/devices/wenzhi_wz35_presencesensor.yaml @@ -2,24 +2,23 @@ name: Presence sensor products: - id: 19m3dfjwe46njety name: Wenzhi WZ35 MTG236-WF-RL 24GHz -primary_entity: - entity: binary_sensor - class: occupancy - category: diagnostic - dps: - - id: 1 - type: string - optional: true - name: sensor - mapping: - - dps_val: presence - value: true - - value: false - - id: 103 - type: string - optional: true - name: cline -secondary_entities: +entities: + - entity: binary_sensor + class: occupancy + category: diagnostic + dps: + - id: 1 + type: string + optional: true + name: sensor + mapping: + - dps_val: presence + value: true + - value: false + - id: 103 + type: string + optional: true + name: cline - entity: number name: Sensitivity category: config diff --git a/custom_components/tuya_local/devices/wetair_wawh1210lw_humidifier.yaml b/custom_components/tuya_local/devices/wetair_wawh1210lw_humidifier.yaml index 0e1f08a6d4..d563603acb 100644 --- a/custom_components/tuya_local/devices/wetair_wawh1210lw_humidifier.yaml +++ b/custom_components/tuya_local/devices/wetair_wawh1210lw_humidifier.yaml @@ -1,41 +1,40 @@ name: WetAir-1210 humidifier -primary_entity: - entity: humidifier - class: humidifier - dps: - - id: 1 - name: switch - type: boolean - mapping: - - dps_val: true - icon: "mdi:air-humidifier" - - dps_val: false - icon: "mdi:air-humidifier-off" - - id: 13 - name: humidity - type: integer - range: - min: 30 - max: 80 - - id: 14 - name: current_humidity - type: integer - - id: 24 - type: string - name: mode - mapping: - - dps_val: AUTO - value: auto - - dps_val: MIDDLE - value: normal - - dps_val: HIGH - value: boost - - dps_val: SLEEP - value: sleep - - id: 22 - type: integer - name: unknown_22 -secondary_entities: +entities: + - entity: humidifier + class: humidifier + dps: + - id: 1 + name: switch + type: boolean + mapping: + - dps_val: true + icon: "mdi:air-humidifier" + - dps_val: false + icon: "mdi:air-humidifier-off" + - id: 13 + name: humidity + type: integer + range: + min: 30 + max: 80 + - id: 14 + name: current_humidity + type: integer + - id: 24 + type: string + name: mode + mapping: + - dps_val: AUTO + value: auto + - dps_val: MIDDLE + value: normal + - dps_val: HIGH + value: boost + - dps_val: SLEEP + value: sleep + - id: 22 + type: integer + name: unknown_22 - entity: light translation_key: display category: config diff --git a/custom_components/tuya_local/devices/wetair_wch750_heater.yaml b/custom_components/tuya_local/devices/wetair_wch750_heater.yaml index 583ab02380..04cb4b481e 100644 --- a/custom_components/tuya_local/devices/wetair_wch750_heater.yaml +++ b/custom_components/tuya_local/devices/wetair_wch750_heater.yaml @@ -1,50 +1,49 @@ name: Wetair WCH-750 AL heater -primary_entity: - entity: climate - translation_only_key: heater - dps: - - id: 1 - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - value: heat - name: hvac_mode - - id: 2 - type: integer - range: - min: 10 - max: 35 - unit: C - mapping: - - constraint: preset_mode - conditions: - - dps_val: mod_antiforst - invalid: true - name: temperature - - id: 4 - type: string - name: preset_mode - mapping: - - dps_val: mod_free - value: comfort - - dps_val: mod_max12h - value: boost - - dps_val: mod_antiforst - value: away - - id: 11 - type: string - name: hvac_action - mapping: - - dps_val: heating - value: heating - - dps_val: warm - value: idle - - id: 21 - type: integer - name: unknown_21 -secondary_entities: +entities: + - entity: climate + translation_only_key: heater + dps: + - id: 1 + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + value: heat + name: hvac_mode + - id: 2 + type: integer + range: + min: 10 + max: 35 + unit: C + mapping: + - constraint: preset_mode + conditions: + - dps_val: mod_antiforst + invalid: true + name: temperature + - id: 4 + type: string + name: preset_mode + mapping: + - dps_val: mod_free + value: comfort + - dps_val: mod_max12h + value: boost + - dps_val: mod_antiforst + value: away + - id: 11 + type: string + name: hvac_action + mapping: + - dps_val: heating + value: heating + - dps_val: warm + value: idle + - id: 21 + type: integer + name: unknown_21 - entity: light category: config translation_key: display diff --git a/custom_components/tuya_local/devices/wf39m_dimmer_smartplug.yaml b/custom_components/tuya_local/devices/wf39m_dimmer_smartplug.yaml index a4f5661e29..a1188e27b6 100644 --- a/custom_components/tuya_local/devices/wf39m_dimmer_smartplug.yaml +++ b/custom_components/tuya_local/devices/wf39m_dimmer_smartplug.yaml @@ -2,19 +2,18 @@ name: Dimmer smartplug products: - id: zbisbtukzuiifmp6 name: Newone WF39M -primary_entity: - entity: light - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - type: integer - name: brightness - range: - min: 10 - max: 1000 -secondary_entities: +entities: + - entity: light + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + type: integer + name: brightness + range: + min: 10 + max: 1000 - entity: select name: Light type icon: "mdi:lightbulb" diff --git a/custom_components/tuya_local/devices/wf520d_wifi_dual_touch_dimmer.yaml b/custom_components/tuya_local/devices/wf520d_wifi_dual_touch_dimmer.yaml index 1b3dbc71fe..23059114f6 100644 --- a/custom_components/tuya_local/devices/wf520d_wifi_dual_touch_dimmer.yaml +++ b/custom_components/tuya_local/devices/wf520d_wifi_dual_touch_dimmer.yaml @@ -1,18 +1,17 @@ name: Dual dimmer -primary_entity: - entity: light - name: Dimmer 1 - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - name: brightness - type: integer - range: - min: 10 - max: 1000 -secondary_entities: +entities: + - entity: light + name: Dimmer 1 + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + name: brightness + type: integer + range: + min: 10 + max: 1000 - entity: light name: Dimmer 2 dps: diff --git a/custom_components/tuya_local/devices/wfws02rj_dual_switch.yaml b/custom_components/tuya_local/devices/wfws02rj_dual_switch.yaml index 8ff3069d72..14edf83a9e 100644 --- a/custom_components/tuya_local/devices/wfws02rj_dual_switch.yaml +++ b/custom_components/tuya_local/devices/wfws02rj_dual_switch.yaml @@ -2,21 +2,20 @@ name: Dual switch products: - id: LOeuvI6KCxzuZe0k name: WF-WS02 RJ -primary_entity: - entity: switch - name: Master - class: switch - category: config - dps: - - id: 5 - type: integer - name: switch - mapping: - - dps_val: 1 - value: true - - dps_val: 0 - value: false -secondary_entities: +entities: + - entity: switch + name: Master + class: switch + category: config + dps: + - id: 5 + type: integer + name: switch + mapping: + - dps_val: 1 + value: true + - dps_val: 0 + value: false - entity: switch translation_key: switch_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/whm04_doorbell.yaml b/custom_components/tuya_local/devices/whm04_doorbell.yaml index a17e85aecf..7c698f1494 100644 --- a/custom_components/tuya_local/devices/whm04_doorbell.yaml +++ b/custom_components/tuya_local/devices/whm04_doorbell.yaml @@ -2,116 +2,115 @@ name: Doorbell products: - id: 26xtgamy3tv1awhl name: WGH-ML-001 -primary_entity: - entity: siren - icon: "mdi:bell" - dps: - - id: 2 - type: integer - name: tone - optional: true - mapping: - - dps_val: 1 - value: dingdong - - dps_val: 2 - value: vacal - - dps_val: 3 - value: Polka Italienne - - dps_val: 4 - value: Carmen prelude - - dps_val: 5 - value: Old ringtones - - dps_val: 6 - value: Westminster Chimes - - dps_val: 7 - value: Radetzky Marsch - - dps_val: 8 - value: vocal 135i - - dps_val: 9 - value: vocal i531 - - dps_val: 10 - value: DO-RE-MI - - dps_val: 11 - value: Go home - - dps_val: 12 - value: Scarborough fair - - dps_val: 13 - value: Di spagna sono la Bella - - dps_val: 14 - value: Libiamo ne - - dps_val: 15 - value: Greensleeves - - dps_val: 16 - value: Rondo Alla Turca - - dps_val: 17 - value: Oh! Friends - - dps_val: 18 - value: the golden Jubilee - - dps_val: 19 - value: Merry Christmas - - dps_val: 20 - value: Minuet - - dps_val: 21 - value: Music box dancer - - dps_val: 22 - value: Lonely Goatherd - - dps_val: 23 - value: Russe Dance - - dps_val: 24 - value: For Alice - - dps_val: 25 - value: Memory - - dps_val: 26 - value: The William tell overture - - dps_val: 27 - value: happy birthday - - dps_val: 28 - value: Mozart - - dps_val: 29 - value: Edelweiss - - dps_val: 30 - value: Red River Valley - - dps_val: 31 - value: Jingle Bells - - dps_val: 32 - value: Su San Na - - dps_val: 33 - value: Rhytm of the rain - - dps_val: 34 - value: Romance De Amour - - dps_val: 35 - value: Moscow Nights - - dps_val: 36 - value: dingdong - - dps_val: 37 - value: Telephone ringing - - dps_val: 38 - value: Yesenia - - dps_val: 39 - value: Flute dance - - dps_val: 40 - value: Alarm - - id: 3 - type: integer - name: volume_level - range: - min: 0 - max: 100 - mapping: - - scale: 100 - - id: 1 - type: string - name: button_config - optional: true - - id: 7 - type: string - name: undisturb_schedule - optional: true - - id: 10 - type: integer - name: doorbell_call - optional: true -secondary_entities: +entities: + - entity: siren + icon: "mdi:bell" + dps: + - id: 2 + type: integer + name: tone + optional: true + mapping: + - dps_val: 1 + value: dingdong + - dps_val: 2 + value: vacal + - dps_val: 3 + value: Polka Italienne + - dps_val: 4 + value: Carmen prelude + - dps_val: 5 + value: Old ringtones + - dps_val: 6 + value: Westminster Chimes + - dps_val: 7 + value: Radetzky Marsch + - dps_val: 8 + value: vocal 135i + - dps_val: 9 + value: vocal i531 + - dps_val: 10 + value: DO-RE-MI + - dps_val: 11 + value: Go home + - dps_val: 12 + value: Scarborough fair + - dps_val: 13 + value: Di spagna sono la Bella + - dps_val: 14 + value: Libiamo ne + - dps_val: 15 + value: Greensleeves + - dps_val: 16 + value: Rondo Alla Turca + - dps_val: 17 + value: Oh! Friends + - dps_val: 18 + value: the golden Jubilee + - dps_val: 19 + value: Merry Christmas + - dps_val: 20 + value: Minuet + - dps_val: 21 + value: Music box dancer + - dps_val: 22 + value: Lonely Goatherd + - dps_val: 23 + value: Russe Dance + - dps_val: 24 + value: For Alice + - dps_val: 25 + value: Memory + - dps_val: 26 + value: The William tell overture + - dps_val: 27 + value: happy birthday + - dps_val: 28 + value: Mozart + - dps_val: 29 + value: Edelweiss + - dps_val: 30 + value: Red River Valley + - dps_val: 31 + value: Jingle Bells + - dps_val: 32 + value: Su San Na + - dps_val: 33 + value: Rhytm of the rain + - dps_val: 34 + value: Romance De Amour + - dps_val: 35 + value: Moscow Nights + - dps_val: 36 + value: dingdong + - dps_val: 37 + value: Telephone ringing + - dps_val: 38 + value: Yesenia + - dps_val: 39 + value: Flute dance + - dps_val: 40 + value: Alarm + - id: 3 + type: integer + name: volume_level + range: + min: 0 + max: 100 + mapping: + - scale: 100 + - id: 1 + type: string + name: button_config + optional: true + - id: 7 + type: string + name: undisturb_schedule + optional: true + - id: 10 + type: integer + name: doorbell_call + optional: true - entity: switch name: Mobile notifications category: config diff --git a/custom_components/tuya_local/devices/wilfa_haze_hu400bc_humidifier.yaml b/custom_components/tuya_local/devices/wilfa_haze_hu400bc_humidifier.yaml index 80f2d146e7..49f8faf09e 100644 --- a/custom_components/tuya_local/devices/wilfa_haze_hu400bc_humidifier.yaml +++ b/custom_components/tuya_local/devices/wilfa_haze_hu400bc_humidifier.yaml @@ -1,45 +1,45 @@ -name: Wilfa Haze +name: Humidifier products: - id: 7naqdm8whbezn28v -primary_entity: - entity: humidifier - class: humidifier - dps: - - id: 1 - name: switch - type: boolean - mapping: - - dps_val: true - icon: "mdi:air-humidifier" - - dps_val: false - icon: "mdi:air-humidifier-off" - - id: 13 - name: humidity - type: integer - range: - min: 30 - max: 90 - mapping: - - step: 5 - constraint: mode - conditions: - - dps_val: auto - invalid: true - - id: 14 - type: integer - name: current_humidity - - id: 24 - type: string - name: mode - mapping: - - dps_val: auto - value: auto - - dps_val: humidity - value: normal - - id: 20 - type: integer - name: unknown_20 -secondary_entities: + name: Wilfa Haze +entities: + - entity: humidifier + class: humidifier + dps: + - id: 1 + name: switch + type: boolean + mapping: + - dps_val: true + icon: "mdi:air-humidifier" + - dps_val: false + icon: "mdi:air-humidifier-off" + - id: 13 + name: humidity + type: integer + range: + min: 30 + max: 90 + mapping: + - step: 5 + constraint: mode + conditions: + - dps_val: auto + invalid: true + - id: 14 + type: integer + name: current_humidity + - id: 24 + type: string + name: mode + mapping: + - dps_val: auto + value: auto + - dps_val: humidity + value: normal + - id: 20 + type: integer + name: unknown_20 - entity: fan dps: - id: 1 diff --git a/custom_components/tuya_local/devices/windcalm_fan.yaml b/custom_components/tuya_local/devices/windcalm_fan.yaml index 916f4392c0..7cc335ad6a 100644 --- a/custom_components/tuya_local/devices/windcalm_fan.yaml +++ b/custom_components/tuya_local/devices/windcalm_fan.yaml @@ -1,20 +1,19 @@ name: Windcalm Ceiling Fan -primary_entity: - entity: fan - dps: - - id: 60 - type: boolean - name: switch - - id: 62 - type: integer - name: speed - range: - min: 1 - max: 6 - - id: 63 - type: string - name: direction -secondary_entities: +entities: + - entity: fan + dps: + - id: 60 + type: boolean + name: switch + - id: 62 + type: integer + name: speed + range: + min: 1 + max: 6 + - id: 63 + type: string + name: direction - entity: number class: duration translation_key: timer diff --git a/custom_components/tuya_local/devices/windcalm_fan_with_light.yaml b/custom_components/tuya_local/devices/windcalm_fan_with_light.yaml index 9fec59046d..f234c58569 100644 --- a/custom_components/tuya_local/devices/windcalm_fan_with_light.yaml +++ b/custom_components/tuya_local/devices/windcalm_fan_with_light.yaml @@ -1,20 +1,19 @@ name: Windcalm Ceiling Fan with Light -primary_entity: - entity: fan - dps: - - id: 60 - type: boolean - name: switch - - id: 62 - type: integer - name: speed - range: - min: 1 - max: 6 - - id: 63 - type: string - name: direction -secondary_entities: +entities: + - entity: fan + dps: + - id: 60 + type: boolean + name: switch + - id: 62 + type: integer + name: speed + range: + min: 1 + max: 6 + - id: 63 + type: string + name: direction - entity: light dps: - id: 20 diff --git a/custom_components/tuya_local/devices/windmill_airconditioner.yaml b/custom_components/tuya_local/devices/windmill_airconditioner.yaml index 5a0a0e61cb..cceac52bab 100644 --- a/custom_components/tuya_local/devices/windmill_airconditioner.yaml +++ b/custom_components/tuya_local/devices/windmill_airconditioner.yaml @@ -2,53 +2,53 @@ name: Air Conditioner products: - id: u8iolvwcrnginqzr name: Windmill Air Conditioner -primary_entity: - entity: climate - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: wind - value: fan_only - - dps_val: cool - value: cool - - dps_val: eco - value: auto - - id: 4 - name: mode - type: string - hidden: true - - id: 5 - name: fan_mode - type: string - mapping: - - dps_val: low - value: low - - dps_val: mid - value: medium - - dps_val: high - value: high - - dps_val: auto - value: auto - - id: 22 - name: unknown_22 - type: integer - - id: 23 - name: current_temperature - type: integer - - id: 24 - name: temperature - type: integer - range: - min: 60 - max: 86 - unit: F - - id: 102 - name: unknown_102 - type: integer +entities: + - entity: climate + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: wind + value: fan_only + - dps_val: cool + value: cool + - dps_val: eco + value: auto + - id: 4 + name: mode + type: string + hidden: true + - id: 5 + name: fan_mode + type: string + mapping: + - dps_val: low + value: low + - dps_val: mid + value: medium + - dps_val: high + value: high + - dps_val: auto + value: auto + - id: 22 + name: unknown_22 + type: integer + - id: 23 + name: current_temperature + type: integer + - id: 24 + name: temperature + type: integer + range: + min: 60 + max: 86 + unit: F + - id: 102 + name: unknown_102 + type: integer diff --git a/custom_components/tuya_local/devices/wistar_roller_blind.yaml b/custom_components/tuya_local/devices/wistar_roller_blind.yaml index 033078dfca..3d570315c8 100644 --- a/custom_components/tuya_local/devices/wistar_roller_blind.yaml +++ b/custom_components/tuya_local/devices/wistar_roller_blind.yaml @@ -1,83 +1,83 @@ -name: Wistar roller blinds +name: Roller blinds products: - id: c4hBLohzUgxULw5a -primary_entity: - entity: cover - class: blind - dps: - - id: 101 - type: string - name: control - mapping: - - dps_val: "0" - value: open - - dps_val: "1" - value: close - - dps_val: "2" - value: stop - - id: 102 - type: integer - name: position - range: - min: 0 - max: 100 - - id: 105 - type: boolean - name: curtain_hand - - id: 106 - type: string - name: curtain_state - mapping: - - dps_val: "0" - value: status_0 - - dps_val: "1" - value: status_1 - - dps_val: "2" - value: status_2 - - dps_val: "3" - value: status_3 - - id: 107 - type: string - name: ac_control - mapping: - - dps_val: "1" - value: control_1 - - dps_val: "2" - value: control_2 - - dps_val: "3" - value: control_3 - - dps_val: "4" - value: control_4 - - id: 108 - type: string - name: dc_control - mapping: - - dps_val: "1" - value: control_1 - - dps_val: "2" - value: control_2 - - dps_val: "3" - value: control_3 - - dps_val: "4" - value: control_4 - - id: 109 - type: string - name: curtain_type - optional: true - - id: 110 - type: string - name: report - optional: true - - id: 111 - type: boolean - name: border_state - - id: 112 - type: integer - name: current_position - range: - min: 0 - max: 100 -secondary_entities: + name: Wistar +entities: + - entity: cover + class: blind + dps: + - id: 101 + type: string + name: control + mapping: + - dps_val: "0" + value: open + - dps_val: "1" + value: close + - dps_val: "2" + value: stop + - id: 102 + type: integer + name: position + range: + min: 0 + max: 100 + - id: 105 + type: boolean + name: curtain_hand + - id: 106 + type: string + name: curtain_state + mapping: + - dps_val: "0" + value: status_0 + - dps_val: "1" + value: status_1 + - dps_val: "2" + value: status_2 + - dps_val: "3" + value: status_3 + - id: 107 + type: string + name: ac_control + mapping: + - dps_val: "1" + value: control_1 + - dps_val: "2" + value: control_2 + - dps_val: "3" + value: control_3 + - dps_val: "4" + value: control_4 + - id: 108 + type: string + name: dc_control + mapping: + - dps_val: "1" + value: control_1 + - dps_val: "2" + value: control_2 + - dps_val: "3" + value: control_3 + - dps_val: "4" + value: control_4 + - id: 109 + type: string + name: curtain_type + optional: true + - id: 110 + type: string + name: report + optional: true + - id: 111 + type: boolean + name: border_state + - id: 112 + type: integer + name: current_position + range: + min: 0 + max: 100 - entity: select name: Border setting category: config diff --git a/custom_components/tuya_local/devices/wistar_roller_blind_nopos.yaml b/custom_components/tuya_local/devices/wistar_roller_blind_nopos.yaml index bcf176ce36..6e7ae0260e 100644 --- a/custom_components/tuya_local/devices/wistar_roller_blind_nopos.yaml +++ b/custom_components/tuya_local/devices/wistar_roller_blind_nopos.yaml @@ -1,86 +1,86 @@ -name: Wistar roller blinds no position sensor +name: Roller blinds products: - id: c4hBLohzUgxULw5a -primary_entity: - entity: cover - class: blind - dps: - - id: 101 - type: string - name: control - mapping: - - dps_val: "0" - value: open - - dps_val: "1" - value: close - - dps_val: "2" - value: stop - - id: 102 - type: integer - name: position - range: - min: 0 - max: 100 - - id: 102 - type: integer - name: current_position - range: - min: 0 - max: 100 - - id: 105 - type: boolean - name: curtain_hand - - id: 106 - type: string - name: curtain_state - mapping: - - dps_val: "0" - value: status_0 - - dps_val: "1" - value: status_1 - - dps_val: "2" - value: status_2 - - dps_val: "3" - value: status_3 - - id: 107 - type: string - name: ac_control - mapping: - - dps_val: "1" - value: control_1 - - dps_val: "2" - value: control_2 - - dps_val: "3" - value: control_3 - - dps_val: "4" - value: control_4 - - id: 108 - type: string - name: dc_control - mapping: - - dps_val: "1" - value: control_1 - - dps_val: "2" - value: control_2 - - dps_val: "3" - value: control_3 - - dps_val: "4" - value: control_4 - - id: 109 - type: string - name: curtain_type - optional: true - - id: 110 - type: string - name: report - optional: true - - id: 111 - type: boolean - name: border_state - - id: 112 - type: integer - name: broken_position -secondary_entities: + name: Wistar +entities: + - entity: cover + class: blind + dps: + - id: 101 + type: string + name: control + mapping: + - dps_val: "0" + value: open + - dps_val: "1" + value: close + - dps_val: "2" + value: stop + - id: 102 + type: integer + name: position + range: + min: 0 + max: 100 + - id: 102 + type: integer + name: current_position + range: + min: 0 + max: 100 + - id: 105 + type: boolean + name: curtain_hand + - id: 106 + type: string + name: curtain_state + mapping: + - dps_val: "0" + value: status_0 + - dps_val: "1" + value: status_1 + - dps_val: "2" + value: status_2 + - dps_val: "3" + value: status_3 + - id: 107 + type: string + name: ac_control + mapping: + - dps_val: "1" + value: control_1 + - dps_val: "2" + value: control_2 + - dps_val: "3" + value: control_3 + - dps_val: "4" + value: control_4 + - id: 108 + type: string + name: dc_control + mapping: + - dps_val: "1" + value: control_1 + - dps_val: "2" + value: control_2 + - dps_val: "3" + value: control_3 + - dps_val: "4" + value: control_4 + - id: 109 + type: string + name: curtain_type + optional: true + - id: 110 + type: string + name: report + optional: true + - id: 111 + type: boolean + name: border_state + - id: 112 + type: integer + name: broken_position - entity: select name: Border setting category: config diff --git a/custom_components/tuya_local/devices/wlrtcz05z_presencesensor.yaml b/custom_components/tuya_local/devices/wlrtcz05z_presencesensor.yaml index 7a388838d5..5aab5f91ba 100644 --- a/custom_components/tuya_local/devices/wlrtcz05z_presencesensor.yaml +++ b/custom_components/tuya_local/devices/wlrtcz05z_presencesensor.yaml @@ -2,25 +2,24 @@ name: Human presence # products: # - id: UNKNOWN # name: WL-RTCZ-05Z -primary_entity: - entity: binary_sensor - class: occupancy - dps: - - id: 1 - type: string - name: sensor - mapping: - - dps_val: none - value: false - - value: true - - id: 1 - type: string - name: status - - id: 120 - type: string - optional: true - name: debug -secondary_entities: +entities: + - entity: binary_sensor + class: occupancy + dps: + - id: 1 + type: string + name: sensor + mapping: + - dps_val: none + value: false + - value: true + - id: 1 + type: string + name: status + - id: 120 + type: string + optional: true + name: debug - entity: binary_sensor class: movement dps: diff --git a/custom_components/tuya_local/devices/wolfguard_wt2r_alarm.yaml b/custom_components/tuya_local/devices/wolfguard_wt2r_alarm.yaml index d285517196..e51e50aa51 100644 --- a/custom_components/tuya_local/devices/wolfguard_wt2r_alarm.yaml +++ b/custom_components/tuya_local/devices/wolfguard_wt2r_alarm.yaml @@ -2,65 +2,63 @@ name: Alarm system products: - id: dscqpiq1gdfltjt3 name: Wolf Guard WT2R -primary_entity: - entity: alarm_control_panel - dps: - - id: 1 - type: string - name: alarm_state - mapping: - - dps_val: disarmed - value: disarmed - - dps_val: arm - value: armed_away - - dps_val: home - value: armed_home - - id: 44 - type: boolean - optional: true - name: trigger - mapping: - - dps_val: null - constraint: master_state - conditions: - - dps_val: normal - value: false - hidden: true - - dps_val: alarm - value: true - hidden: true - - id: 32 - type: string - name: master_state - - id: 24 - type: string - optional: true - name: zone_attribute - - id: 33 - type: string - name: master_information - - id: 36 - type: string - optional: true - name: sub_class - - id: 37 - type: string - optional: true - name: sub_type - - id: 38 - type: string - optional: true - name: sub_admin - - id: 39 - type: string - optional: true - name: sub_state - - id: 101 - type: string - optional: true - name: child_device_action - -secondary_entities: +entities: + - entity: alarm_control_panel + dps: + - id: 1 + type: string + name: alarm_state + mapping: + - dps_val: disarmed + value: disarmed + - dps_val: arm + value: armed_away + - dps_val: home + value: armed_home + - id: 44 + type: boolean + optional: true + name: trigger + mapping: + - dps_val: null + constraint: master_state + conditions: + - dps_val: normal + value: false + hidden: true + - dps_val: alarm + value: true + hidden: true + - id: 32 + type: string + name: master_state + - id: 24 + type: string + optional: true + name: zone_attribute + - id: 33 + type: string + name: master_information + - id: 36 + type: string + optional: true + name: sub_class + - id: 37 + type: string + optional: true + name: sub_type + - id: 38 + type: string + optional: true + name: sub_admin + - id: 39 + type: string + optional: true + name: sub_state + - id: 101 + type: string + optional: true + name: child_device_action - entity: number name: Arm delay category: config diff --git a/custom_components/tuya_local/devices/wood_wdd90_dehumidifier.yaml b/custom_components/tuya_local/devices/wood_wdd90_dehumidifier.yaml index 87567c3cbe..5de4f5fefd 100644 --- a/custom_components/tuya_local/devices/wood_wdd90_dehumidifier.yaml +++ b/custom_components/tuya_local/devices/wood_wdd90_dehumidifier.yaml @@ -2,54 +2,53 @@ name: Dehumidifier products: - id: kiiuovcdvvgxnj0n name: Woods WDD90 -primary_entity: - entity: humidifier - class: dehumidifier - dps: - - id: 1 - type: boolean - name: switch - - id: 3 - type: string - name: humidity - range: - min: 35 - max: 80 - mapping: - - dps_val: "35" - value: 35 - step: 5 - - dps_val: "40" - value: 40 - step: 5 - - dps_val: "45" - value: 45 - step: 5 - - dps_val: "50" - value: 50 - step: 5 - - dps_val: "55" - value: 55 - step: 5 - - dps_val: "60" - value: 60 - step: 5 - - dps_val: "65" - value: 65 - step: 5 - - dps_val: "70" - value: 70 - step: 5 - - dps_val: "75" - value: 75 - step: 5 - - dps_val: "80" - value: 80 - step: 5 - - id: 6 - type: integer - name: current_humidity -secondary_entities: +entities: + - entity: humidifier + class: dehumidifier + dps: + - id: 1 + type: boolean + name: switch + - id: 3 + type: string + name: humidity + range: + min: 35 + max: 80 + mapping: + - dps_val: "35" + value: 35 + step: 5 + - dps_val: "40" + value: 40 + step: 5 + - dps_val: "45" + value: 45 + step: 5 + - dps_val: "50" + value: 50 + step: 5 + - dps_val: "55" + value: 55 + step: 5 + - dps_val: "60" + value: 60 + step: 5 + - dps_val: "65" + value: 65 + step: 5 + - dps_val: "70" + value: 70 + step: 5 + - dps_val: "75" + value: 75 + step: 5 + - dps_val: "80" + value: 80 + step: 5 + - id: 6 + type: integer + name: current_humidity - entity: fan translation_key: fan_with_presets dps: diff --git a/custom_components/tuya_local/devices/woods_cortina_airconditioner.yaml b/custom_components/tuya_local/devices/woods_cortina_airconditioner.yaml index 2d53094958..5d9376ed7a 100644 --- a/custom_components/tuya_local/devices/woods_cortina_airconditioner.yaml +++ b/custom_components/tuya_local/devices/woods_cortina_airconditioner.yaml @@ -2,59 +2,58 @@ name: Air Conditioner products: - id: bfc0e42617f4fdfef7t6ra name: Wood's Cortina Silent 12k -primary_entity: - entity: climate - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - value: "off" - dps_val: false - - dps_val: true - constraint: mode - conditions: - - value: cool - dps_val: "0" - - value: dry - dps_val: "2" - - value: fan_only - dps_val: "3" - - value: heat_cool - dps_val: "4" # This is Woods ECO mode - - id: 2 - type: integer - name: temperature - unit: C - range: - min: 17 - max: 30 - - id: 3 - type: integer - name: current_temperature - - id: 4 - type: string - name: mode - hidden: true - - id: 5 - type: string - name: fan_mode - mapping: - - dps_val: "low" - value: low - - dps_val: "mid" - value: medium - - dps_val: "high" - value: high - - id: 104 - name: swing_mode - type: boolean - mapping: - - dps_val: true - value: "on" - - dps_val: false - value: "off" -secondary_entities: +entities: + - entity: climate + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - value: "off" + dps_val: false + - dps_val: true + constraint: mode + conditions: + - value: cool + dps_val: "0" + - value: dry + dps_val: "2" + - value: fan_only + dps_val: "3" + - value: heat_cool + dps_val: "4" # This is Woods ECO mode + - id: 2 + type: integer + name: temperature + unit: C + range: + min: 17 + max: 30 + - id: 3 + type: integer + name: current_temperature + - id: 4 + type: string + name: mode + hidden: true + - id: 5 + type: string + name: fan_mode + mapping: + - dps_val: "low" + value: low + - dps_val: "mid" + value: medium + - dps_val: "high" + value: high + - id: 104 + name: swing_mode + type: boolean + mapping: + - dps_val: true + value: "on" + - dps_val: false + value: "off" - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/woods_milan_airconditioner.yaml b/custom_components/tuya_local/devices/woods_milan_airconditioner.yaml index 15cd04b8dc..08ec43864b 100644 --- a/custom_components/tuya_local/devices/woods_milan_airconditioner.yaml +++ b/custom_components/tuya_local/devices/woods_milan_airconditioner.yaml @@ -1,56 +1,56 @@ -name: Woods Milan Air Conditioner +name: Air conditioner products: - id: i5rv3ykmtfcagw1t name: Wood's Milan 7K -primary_entity: - entity: climate - dps: - - id: 1 - name: hvac_mode - type: boolean - mapping: - - dps_val: false - value: "off" - - dps_val: true - constraint: mode - conditions: - - dps_val: auto - value: heat_cool - - dps_val: cold - value: cool - - dps_val: wind - value: fan_only - - dps_val: wet - value: dry - - dps_val: hot - value: heat - - id: 2 - name: temperature - type: integer - range: - min: 15 - max: 31 - unit: C - - id: 3 - name: current_temperature - type: integer - - id: 4 - name: mode - type: string - hidden: true - - id: 5 - name: fan_mode - type: string - mapping: - - dps_val: "0" - value: low - - dps_val: "1" - value: high - - id: 104 - name: swing_mode - type: boolean - mapping: - - dps_val: true - value: "on" - - dps_val: false - value: "off" +entities: + - entity: climate + dps: + - id: 1 + name: hvac_mode + type: boolean + mapping: + - dps_val: false + value: "off" + - dps_val: true + constraint: mode + conditions: + - dps_val: auto + value: heat_cool + - dps_val: cold + value: cool + - dps_val: wind + value: fan_only + - dps_val: wet + value: dry + - dps_val: hot + value: heat + - id: 2 + name: temperature + type: integer + range: + min: 15 + max: 31 + unit: C + - id: 3 + name: current_temperature + type: integer + - id: 4 + name: mode + type: string + hidden: true + - id: 5 + name: fan_mode + type: string + mapping: + - dps_val: "0" + value: low + - dps_val: "1" + value: high + - id: 104 + name: swing_mode + type: boolean + mapping: + - dps_val: true + value: "on" + - dps_val: false + value: "off" diff --git a/custom_components/tuya_local/devices/woox_r4028_powerstrip.yaml b/custom_components/tuya_local/devices/woox_r4028_powerstrip.yaml index 81927e45cf..c4b49eb6c2 100644 --- a/custom_components/tuya_local/devices/woox_r4028_powerstrip.yaml +++ b/custom_components/tuya_local/devices/woox_r4028_powerstrip.yaml @@ -1,16 +1,15 @@ name: 3 outlet + USB powerstrip legacy_type: tellur_usb_power_strip -primary_entity: - entity: switch - translation_key: outlet_x - translation_placeholders: - x: "1" - class: outlet - dps: - - id: 1 - type: boolean - name: switch -secondary_entities: +entities: + - entity: switch + translation_key: outlet_x + translation_placeholders: + x: "1" + class: outlet + dps: + - id: 1 + type: boolean + name: switch - entity: switch translation_key: outlet_x translation_placeholders: diff --git a/custom_components/tuya_local/devices/wouej_evcharger.yaml b/custom_components/tuya_local/devices/wouej_evcharger.yaml index 8eec0b38d8..5369f55164 100644 --- a/custom_components/tuya_local/devices/wouej_evcharger.yaml +++ b/custom_components/tuya_local/devices/wouej_evcharger.yaml @@ -2,51 +2,50 @@ name: EV charger # products: # - id: UNKNOWN # name: WOUEJ 22kW wallbox -primary_entity: - entity: sensor - name: State - icon: "mdi:ev-station" - class: enum - dps: - - id: 3 - type: string - name: sensor - mapping: - - dps_val: charger_free - value: Available - - dps_val: charger_insert - value: Plugged in - - dps_val: charger_free_fault - value: Fault (unplugged) - - dps_val: charger_wait - value: Waiting - - dps_val: charger_charging - value: Charging - - dps_val: charger_pause - value: Paused - - dps_val: charger_end - value: Finished - - dps_val: charger_fault - value: Fault - - id: 22 - type: string - name: charger_id - - id: 23 - type: string - name: firmware_version - - id: 101 - type: string - name: available_options - - id: 119 - type: string - name: charger_status - # A slightly different list than above: - # available, charging, reserved, unavailable, faulted, preparing, - # finishing - - id: 127 - type: boolean - name: schedule_tx -secondary_entities: +entities: + - entity: sensor + name: State + icon: "mdi:ev-station" + class: enum + dps: + - id: 3 + type: string + name: sensor + mapping: + - dps_val: charger_free + value: Available + - dps_val: charger_insert + value: Plugged in + - dps_val: charger_free_fault + value: Fault (unplugged) + - dps_val: charger_wait + value: Waiting + - dps_val: charger_charging + value: Charging + - dps_val: charger_pause + value: Paused + - dps_val: charger_end + value: Finished + - dps_val: charger_fault + value: Fault + - id: 22 + type: string + name: charger_id + - id: 23 + type: string + name: firmware_version + - id: 101 + type: string + name: available_options + - id: 119 + type: string + name: charger_status + # A slightly different list than above: + # available, charging, reserved, unavailable, faulted, preparing, + # finishing + - id: 127 + type: boolean + name: schedule_tx - entity: sensor class: energy dps: diff --git a/custom_components/tuya_local/devices/xcase_nx4964_lockbox.yaml b/custom_components/tuya_local/devices/xcase_nx4964_lockbox.yaml index 90c4e31a99..7a3a0ff284 100644 --- a/custom_components/tuya_local/devices/xcase_nx4964_lockbox.yaml +++ b/custom_components/tuya_local/devices/xcase_nx4964_lockbox.yaml @@ -2,117 +2,116 @@ name: Lockbox products: - id: qicggi0m name: XCase NX-4964 BLE -primary_entity: - entity: lock - dps: - - id: 1 - type: string - optional: true - sensitive: true - name: unlock_method_create - - id: 2 - type: string - optional: true - name: unlock_method_delete - - id: 3 - type: string - optional: true - sensitive: true - name: unlock_method_modify - - id: 13 - type: integer - optional: true - persist: false - name: unlock_password - - id: 14 - type: integer - optional: true - persist: false - name: unlock_dynamic_pwd - - id: 19 - type: integer - optional: true - persist: false - name: unlock_ble - - id: 51 - type: string - optional: true - sensitive: true - name: temp_pwd_create - - id: 52 - type: string - optional: true - name: temp_pwd_delete - - id: 53 - type: string - optional: true - sensitive: true - name: temp_pwd_modify - - id: 54 - type: string - optional: true - sensitive: true - name: sync_method - - id: 55 - type: integer - optional: true - persist: false - name: unlock_temp_pwd - - id: 61 - type: string - optional: true - sensitive: true - name: remote_no_dp_key - - id: 62 - type: integer - optional: true - persist: false - name: unlock_app - - id: 63 - type: integer - optional: true - persist: false - name: unlock_voice - - id: 64 - type: string - name: password_offline_time - - id: 65 - type: string - optional: true - name: offline_clear_single - - id: 66 - type: string - optional: true - name: offline_clear - - id: 67 - type: string - optional: true - name: offline_pd - - id: 69 - type: string - optional: true - name: record - - id: 70 - type: string - optional: true - sensitive: true - name: check_code_set - - id: 71 - type: string - optional: true - sensitive: true - name: ble_unlock_check - - id: 72 - type: string - optional: true - sensitive: true - name: general_unlock_check - - id: 73 - type: string - optional: true - sensitive: true - name: remote_pd_setkey_check -secondary_entities: +entities: + - entity: lock + dps: + - id: 1 + type: string + optional: true + sensitive: true + name: unlock_method_create + - id: 2 + type: string + optional: true + name: unlock_method_delete + - id: 3 + type: string + optional: true + sensitive: true + name: unlock_method_modify + - id: 13 + type: integer + optional: true + persist: false + name: unlock_password + - id: 14 + type: integer + optional: true + persist: false + name: unlock_dynamic_pwd + - id: 19 + type: integer + optional: true + persist: false + name: unlock_ble + - id: 51 + type: string + optional: true + sensitive: true + name: temp_pwd_create + - id: 52 + type: string + optional: true + name: temp_pwd_delete + - id: 53 + type: string + optional: true + sensitive: true + name: temp_pwd_modify + - id: 54 + type: string + optional: true + sensitive: true + name: sync_method + - id: 55 + type: integer + optional: true + persist: false + name: unlock_temp_pwd + - id: 61 + type: string + optional: true + sensitive: true + name: remote_no_dp_key + - id: 62 + type: integer + optional: true + persist: false + name: unlock_app + - id: 63 + type: integer + optional: true + persist: false + name: unlock_voice + - id: 64 + type: string + name: password_offline_time + - id: 65 + type: string + optional: true + name: offline_clear_single + - id: 66 + type: string + optional: true + name: offline_clear + - id: 67 + type: string + optional: true + name: offline_pd + - id: 69 + type: string + optional: true + name: record + - id: 70 + type: string + optional: true + sensitive: true + name: check_code_set + - id: 71 + type: string + optional: true + sensitive: true + name: ble_unlock_check + - id: 72 + type: string + optional: true + sensitive: true + name: general_unlock_check + - id: 73 + type: string + optional: true + sensitive: true + name: remote_pd_setkey_check - entity: sensor class: battery dps: diff --git a/custom_components/tuya_local/devices/xiumii_smart_human_presence_sensor.yaml b/custom_components/tuya_local/devices/xiumii_smart_human_presence_sensor.yaml index 4349da5638..f02ae9cc7d 100644 --- a/custom_components/tuya_local/devices/xiumii_smart_human_presence_sensor.yaml +++ b/custom_components/tuya_local/devices/xiumii_smart_human_presence_sensor.yaml @@ -3,20 +3,19 @@ products: - id: 4ops1avp7zdwhyqu name: Xiumii Smart Human Presence Sensor -primary_entity: - entity: binary_sensor - class: occupancy - dps: - - id: 1 - type: string - name: sensor - mapping: - - dps_val: peaceful - value: true - - dps_val: none - value: false +entities: + - entity: binary_sensor + class: occupancy + dps: + - id: 1 + type: string + name: sensor + mapping: + - dps_val: peaceful + value: true + - dps_val: none + value: false -secondary_entities: - entity: number name: Range class: distance diff --git a/custom_components/tuya_local/devices/xoca_dac2121c_energy_meter.yaml b/custom_components/tuya_local/devices/xoca_dac2121c_energy_meter.yaml index ea60236aac..ad5ee8db1c 100644 --- a/custom_components/tuya_local/devices/xoca_dac2121c_energy_meter.yaml +++ b/custom_components/tuya_local/devices/xoca_dac2121c_energy_meter.yaml @@ -2,27 +2,26 @@ name: Multi-tariff energy meter products: - id: opdhepy0p7eyeurz name: DAC-2121C BI -primary_entity: - entity: switch - icon: "mdi:fuse" - dps: - - id: 16 - name: switch - type: boolean - - id: 6 - name: phase_a - type: base64 - optional: true - force: true - - id: 17 - name: alarm_set_2 - type: string - optional: true - - id: 18 - type: string - name: meter_id - optional: true -secondary_entities: +entities: + - entity: switch + icon: "mdi:fuse" + dps: + - id: 16 + name: switch + type: boolean + - id: 6 + name: phase_a + type: base64 + optional: true + force: true + - id: 17 + name: alarm_set_2 + type: string + optional: true + - id: 18 + type: string + name: meter_id + optional: true - entity: sensor translation_key: energy_consumed class: energy diff --git a/custom_components/tuya_local/devices/yagusmart_3pn_energymeter.yaml b/custom_components/tuya_local/devices/yagusmart_3pn_energymeter.yaml index dfd304f3c8..a4692e91c1 100644 --- a/custom_components/tuya_local/devices/yagusmart_3pn_energymeter.yaml +++ b/custom_components/tuya_local/devices/yagusmart_3pn_energymeter.yaml @@ -2,30 +2,29 @@ name: Energy meter products: - id: fygozcnralhwbauo name: Yagusmart/Zemismart 3PN 63A -primary_entity: - entity: sensor - class: energy - dps: - - id: 1 - type: integer - name: sensor - unit: kWh - class: total_increasing - mapping: - - scale: 100 - - id: 17 - type: string - name: alarm_set_1 - optional: true - - id: 18 - type: string - name: alarm_set_2 - optional: true - - id: 19 - type: string - name: breaker_id - optional: true -secondary_entities: +entities: + - entity: sensor + class: energy + dps: + - id: 1 + type: integer + name: sensor + unit: kWh + class: total_increasing + mapping: + - scale: 100 + - id: 17 + type: string + name: alarm_set_1 + optional: true + - id: 18 + type: string + name: alarm_set_2 + optional: true + - id: 19 + type: string + name: breaker_id + optional: true - entity: sensor translation_key: energy_produced class: energy diff --git a/custom_components/tuya_local/devices/yidi_fan_light_switch.yaml b/custom_components/tuya_local/devices/yidi_fan_light_switch.yaml index 361fc00d6c..414db2c4c5 100644 --- a/custom_components/tuya_local/devices/yidi_fan_light_switch.yaml +++ b/custom_components/tuya_local/devices/yidi_fan_light_switch.yaml @@ -2,19 +2,18 @@ name: Wall switch products: - id: 66urzkokqdufersv name: NHZS Fan and light switch -primary_entity: - entity: fan - dps: - - id: 1 - type: boolean - name: switch - - id: 4 - type: integer - name: speed - range: - min: 1 - max: 100 -secondary_entities: +entities: + - entity: fan + dps: + - id: 1 + type: boolean + name: switch + - id: 4 + type: integer + name: speed + range: + min: 1 + max: 100 - entity: light dps: - id: 5 diff --git a/custom_components/tuya_local/devices/yieryi_ph_meter.yaml b/custom_components/tuya_local/devices/yieryi_ph_meter.yaml index 7cf3237a00..03a73cd132 100644 --- a/custom_components/tuya_local/devices/yieryi_ph_meter.yaml +++ b/custom_components/tuya_local/devices/yieryi_ph_meter.yaml @@ -2,21 +2,20 @@ name: pH meter products: - id: 5ok0wq7drlqyo2hb name: Yieryi YY-9909 -primary_entity: - entity: sensor - name: pH - icon: "mdi:ph" - dps: - - id: 102 - type: integer - name: sensor - unit: pH - class: measurement - mapping: - - scale: 100 - - dps_val: 1500 - value: null -secondary_entities: +entities: + - entity: sensor + name: pH + icon: "mdi:ph" + dps: + - id: 102 + type: integer + name: sensor + unit: pH + class: measurement + mapping: + - scale: 100 + - dps_val: 1500 + value: null - entity: sensor class: temperature dps: diff --git a/custom_components/tuya_local/devices/yinmik_waterquality_tester.yaml b/custom_components/tuya_local/devices/yinmik_waterquality_tester.yaml index f296b841ae..efe6a5165b 100644 --- a/custom_components/tuya_local/devices/yinmik_waterquality_tester.yaml +++ b/custom_components/tuya_local/devices/yinmik_waterquality_tester.yaml @@ -2,19 +2,18 @@ name: Water quality monitor products: - id: u5xgcpcngk3pfxb4 name: Yinmik WF-3188 -primary_entity: - entity: sensor - icon: "mdi:pool-thermometer" - class: temperature - dps: - - id: 2 - type: integer - name: sensor - unit: C - class: measurement - mapping: - - scale: 10 -secondary_entities: +entities: + - entity: sensor + icon: "mdi:pool-thermometer" + class: temperature + dps: + - id: 2 + type: integer + name: sensor + unit: C + class: measurement + mapping: + - scale: 10 - entity: sensor name: Total dissolved solids icon: "mdi:water-opacity" diff --git a/custom_components/tuya_local/devices/yp_petfeeeder.yaml b/custom_components/tuya_local/devices/yp_petfeeeder.yaml index f888c76a62..1710180797 100644 --- a/custom_components/tuya_local/devices/yp_petfeeeder.yaml +++ b/custom_components/tuya_local/devices/yp_petfeeeder.yaml @@ -2,21 +2,20 @@ name: Pet feeder products: - id: wfnmgiqqch80sg1w name: YP PAF-40PCS-WBR3 -primary_entity: - entity: number - icon: "mdi:paw" - name: Manual feed - dps: - - id: 3 - name: value - type: integer - range: - min: 1 - max: 40 - - id: 1 - name: meal_plan - type: string -secondary_entities: +entities: + - entity: number + icon: "mdi:paw" + name: Manual feed + dps: + - id: 3 + name: value + type: integer + range: + min: 1 + max: 40 + - id: 1 + name: meal_plan + type: string - entity: sensor icon: "mdi:paw" name: Feed report diff --git a/custom_components/tuya_local/devices/yx025wb_aromadiffuser.yaml b/custom_components/tuya_local/devices/yx025wb_aromadiffuser.yaml index e2969c1522..3442d91410 100644 --- a/custom_components/tuya_local/devices/yx025wb_aromadiffuser.yaml +++ b/custom_components/tuya_local/devices/yx025wb_aromadiffuser.yaml @@ -2,24 +2,23 @@ name: Aroma diffuser products: - id: yishet3p12fvohmd name: Liplasting YX-025WB -primary_entity: - entity: fan - translation_key: aroma_diffuser - dps: - - id: 2 - name: switch - type: boolean - - id: 3 - type: string - name: preset_mode - mapping: - - dps_val: small - value: low - - dps_val: large - value: high - - dps_val: interval - value: intermittent -secondary_entities: +entities: + - entity: fan + translation_key: aroma_diffuser + dps: + - id: 2 + name: switch + type: boolean + - id: 3 + type: string + name: preset_mode + mapping: + - dps_val: small + value: low + - dps_val: large + value: high + - dps_val: interval + value: intermittent - entity: light icon: "mdi:light-recessed" dps: diff --git a/custom_components/tuya_local/devices/yx316wifi_aroma_diffuser.yaml b/custom_components/tuya_local/devices/yx316wifi_aroma_diffuser.yaml index 5a9ad31b26..8ed5e2c134 100644 --- a/custom_components/tuya_local/devices/yx316wifi_aroma_diffuser.yaml +++ b/custom_components/tuya_local/devices/yx316wifi_aroma_diffuser.yaml @@ -4,26 +4,25 @@ name: Aroma diffuser with lamp products: - id: arkdxfhlkpdyof9x name: YX316WIFI -primary_entity: - entity: fan - translation_key: aroma_diffuser - dps: - - id: 2 - name: switch - type: boolean - - id: 3 - type: string - name: preset_mode - mapping: - - dps_val: "MID" - value: "medium" - - dps_val: "2H" - value: "low" - - dps_val: "4H" - value: "high" - - dps_val: "10SEC" - value: "intermittent" -secondary_entities: +entities: + - entity: fan + translation_key: aroma_diffuser + dps: + - id: 2 + name: switch + type: boolean + - id: 3 + type: string + name: preset_mode + mapping: + - dps_val: "MID" + value: "medium" + - dps_val: "2H" + value: "low" + - dps_val: "4H" + value: "high" + - dps_val: "10SEC" + value: "intermittent" # "master" switch - turns on and off both light and diffuser - entity: switch name: Power diff --git a/custom_components/tuya_local/devices/yym_805SW_aroma_nightlight.yaml b/custom_components/tuya_local/devices/yym_805SW_aroma_nightlight.yaml index 39003b548f..83162e11f1 100644 --- a/custom_components/tuya_local/devices/yym_805SW_aroma_nightlight.yaml +++ b/custom_components/tuya_local/devices/yym_805SW_aroma_nightlight.yaml @@ -8,35 +8,34 @@ products: name: GX - id: kgczidn0awas0prr name: Tellur -primary_entity: - entity: fan - translation_key: aroma_diffuser - dps: - - id: 1 - name: switch - type: boolean - - id: 2 - name: speed - type: string - mapping: - - conditions: - - dps_val: - - large - - small - mapping: - - dps_val: large - value: 100 - - dps_val: small - value: 50 - - dps_val: - - high - - low - mapping: - - dps_val: high - value: 100 - - dps_val: low - value: 50 -secondary_entities: +entities: + - entity: fan + translation_key: aroma_diffuser + dps: + - id: 1 + name: switch + type: boolean + - id: 2 + name: speed + type: string + mapping: + - conditions: + - dps_val: + - large + - small + mapping: + - dps_val: large + value: 100 + - dps_val: small + value: 50 + - dps_val: + - high + - low + mapping: + - dps_val: high + value: 100 + - dps_val: low + value: 50 - entity: light translation_key: nightlight dps: diff --git a/custom_components/tuya_local/devices/zemismart_am25_rollerblind.yaml b/custom_components/tuya_local/devices/zemismart_am25_rollerblind.yaml index 8f4837a641..1d91941259 100644 --- a/custom_components/tuya_local/devices/zemismart_am25_rollerblind.yaml +++ b/custom_components/tuya_local/devices/zemismart_am25_rollerblind.yaml @@ -2,50 +2,49 @@ name: Roller blind products: - id: 7qcsglvoqkrdduk6 name: AM25WIFI -primary_entity: - entity: cover - class: blind - dps: - - id: 1 - name: control - type: string - mapping: - - dps_val: open - value: open - - dps_val: stop - value: stop - - dps_val: close - value: close - - dps_val: continue - value: continue - - id: 2 - name: position - type: integer - range: - min: 0 - max: 100 - mapping: - - invert: true - - id: 3 - name: missing_current_position - type: integer - optional: true - range: - min: 0 - max: 100 - mapping: - - invert: true - - id: 7 - name: work_state - type: string - optional: true - - id: 109 - type: integer - name: tilt_position - range: - min: 1 - max: 10 -secondary_entities: +entities: + - entity: cover + class: blind + dps: + - id: 1 + name: control + type: string + mapping: + - dps_val: open + value: open + - dps_val: stop + value: stop + - dps_val: close + value: close + - dps_val: continue + value: continue + - id: 2 + name: position + type: integer + range: + min: 0 + max: 100 + mapping: + - invert: true + - id: 3 + name: missing_current_position + type: integer + optional: true + range: + min: 0 + max: 100 + mapping: + - invert: true + - id: 7 + name: work_state + type: string + optional: true + - id: 109 + type: integer + name: tilt_position + range: + min: 1 + max: 10 - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/zemismart_curtain.yaml b/custom_components/tuya_local/devices/zemismart_curtain.yaml index d174ec39c2..c2b593997b 100644 --- a/custom_components/tuya_local/devices/zemismart_curtain.yaml +++ b/custom_components/tuya_local/devices/zemismart_curtain.yaml @@ -1,40 +1,39 @@ name: Zemismart curtain -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 - range: - min: 0 - max: 100 - mapping: - - invert: true - - id: 3 - name: current_position - type: integer - range: - min: 0 - max: 100 - mapping: - - invert: true - - id: 7 - name: work_state - type: string - optional: true - # seems intended to match action, but doesn't change in observation -secondary_entities: +entities: + - 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 + range: + min: 0 + max: 100 + mapping: + - invert: true + - id: 3 + name: current_position + type: integer + range: + min: 0 + max: 100 + mapping: + - invert: true + - id: 7 + name: work_state + type: string + optional: true + # seems intended to match action, but doesn't change in observation - entity: switch name: Reverse category: config diff --git a/custom_components/tuya_local/devices/zemismart_dpwbs01_sprinklercontroller.yaml b/custom_components/tuya_local/devices/zemismart_dpwbs01_sprinklercontroller.yaml index a9a8eb66a6..ea4452f0e3 100644 --- a/custom_components/tuya_local/devices/zemismart_dpwbs01_sprinklercontroller.yaml +++ b/custom_components/tuya_local/devices/zemismart_dpwbs01_sprinklercontroller.yaml @@ -2,26 +2,25 @@ name: Sprinkler controller products: - id: e1epsoiywcirul2u name: Zemismart DP-WBS01 -primary_entity: - entity: valve - class: water - name: Main - dps: - - id: 40 - type: string - name: valve - optional: true - mapping: - - dps_val: "on" - value: true - - dps_val: "off" - value: false - - dps_val: null - value: false - - id: 38 - type: string - name: schedule -secondary_entities: +entities: + - entity: valve + class: water + name: Main + dps: + - id: 40 + type: string + name: valve + optional: true + mapping: + - dps_val: "on" + value: true + - dps_val: "off" + value: false + - dps_val: null + value: false + - id: 38 + type: string + name: schedule - entity: valve class: water name: Sprinkler 1 diff --git a/custom_components/tuya_local/devices/zemismart_roller_shade.yaml b/custom_components/tuya_local/devices/zemismart_roller_shade.yaml index 6e49b407aa..ddb96e7805 100644 --- a/custom_components/tuya_local/devices/zemismart_roller_shade.yaml +++ b/custom_components/tuya_local/devices/zemismart_roller_shade.yaml @@ -2,51 +2,50 @@ name: Roller shade products: - id: jzmy5ut0vishwscm name: Zemismart ZM25TQ -primary_entity: - entity: cover - class: shade - dps: - - id: 1 - name: control - type: string - mapping: - - dps_val: open - value: open - - dps_val: close - value: close - - dps_val: stop - value: stop - - dps_val: continue - value: continue - - id: 2 - name: position - type: integer - range: - min: 0 - max: 100 - - id: 3 - name: current_position - type: integer - range: - min: 0 - max: 100 - - id: 7 - name: unreliable_action - type: string - mapping: - - dps_val: opening - value: opening - constraint: current_position - conditions: - - dps_val: 0 - value: opened - - dps_val: closing - value: closing - constraint: current_position - conditions: - - dps_val: 100 - value: closed -secondary_entities: +entities: + - entity: cover + class: shade + dps: + - id: 1 + name: control + type: string + mapping: + - dps_val: open + value: open + - dps_val: close + value: close + - dps_val: stop + value: stop + - dps_val: continue + value: continue + - id: 2 + name: position + type: integer + range: + min: 0 + max: 100 + - id: 3 + name: current_position + type: integer + range: + min: 0 + max: 100 + - id: 7 + name: unreliable_action + type: string + mapping: + - dps_val: opening + value: opening + constraint: current_position + conditions: + - dps_val: 0 + value: opened + - dps_val: closing + value: closing + constraint: current_position + conditions: + - dps_val: 100 + value: closed - entity: select name: Direction icon: "mdi:swap-horizontal" diff --git a/custom_components/tuya_local/devices/zemismart_roller_shade_zm25r2.yaml b/custom_components/tuya_local/devices/zemismart_roller_shade_zm25r2.yaml index 54b44c1ec3..ec1f62a526 100644 --- a/custom_components/tuya_local/devices/zemismart_roller_shade_zm25r2.yaml +++ b/custom_components/tuya_local/devices/zemismart_roller_shade_zm25r2.yaml @@ -2,64 +2,63 @@ name: Roller shade products: - id: 8nuvcigdwbth6dj7 name: Zemismart ZM25R2 -primary_entity: - entity: cover - class: shade - dps: - - id: 1 - name: control - type: string - mapping: - - dps_val: open - value: open - - dps_val: close - value: close - - dps_val: stop - value: stop - - dps_val: continue - value: continue - - id: 2 - name: position - type: integer - optional: true - range: - min: 0 - max: 100 - mapping: - - invert: true - - id: 3 - name: current_position - type: integer - range: - min: 0 - max: 100 - mapping: - - invert: true - - id: 5 - name: control_back - type: string - mapping: - - dps_val: forward - value: forward - - dps_val: back - value: back - - id: 7 - name: unreliable_action - type: string - mapping: - - dps_val: opening - value: opening - constraint: current_position - conditions: - - dps_val: 0 - value: opened - - dps_val: closing - value: closing - constraint: current_position - conditions: - - dps_val: 100 - value: closed -secondary_entities: +entities: + - entity: cover + class: shade + dps: + - id: 1 + name: control + type: string + mapping: + - dps_val: open + value: open + - dps_val: close + value: close + - dps_val: stop + value: stop + - dps_val: continue + value: continue + - id: 2 + name: position + type: integer + optional: true + range: + min: 0 + max: 100 + mapping: + - invert: true + - id: 3 + name: current_position + type: integer + range: + min: 0 + max: 100 + mapping: + - invert: true + - id: 5 + name: control_back + type: string + mapping: + - dps_val: forward + value: forward + - dps_val: back + value: back + - id: 7 + name: unreliable_action + type: string + mapping: + - dps_val: opening + value: opening + constraint: current_position + conditions: + - dps_val: 0 + value: opened + - dps_val: closing + value: closing + constraint: current_position + conditions: + - dps_val: 100 + value: closed - entity: select name: Mode icon: "mdi:theme-light-dark" diff --git a/custom_components/tuya_local/devices/zemismart_sdm01_energymeter.yaml b/custom_components/tuya_local/devices/zemismart_sdm01_energymeter.yaml index 8247f01e89..ed7622d4ea 100644 --- a/custom_components/tuya_local/devices/zemismart_sdm01_energymeter.yaml +++ b/custom_components/tuya_local/devices/zemismart_sdm01_energymeter.yaml @@ -2,54 +2,53 @@ name: Energy meter products: - id: fzxonzodwjiugioz name: Zemismart SDM01-TW0/TZ0-12 -primary_entity: - entity: sensor - class: energy - translation_key: energy_consumed - dps: - - id: 1 - type: integer - name: sensor - unit: kWh - class: total_increasing - mapping: - - scale: 100 - # Standard phase dps do not appear in log, and data appears to be covered - # as X/Y/Z below, so not decoded - - id: 6 - type: string - optional: true - name: phase_a - - id: 7 - type: string - optional: true - name: phase_b - - id: 8 - type: string - optional: true - name: phase_c - # Alarms are binary encoded and do not appear in logs, so not decoded - - id: 17 - type: string - optional: true - name: alarm_set_1 - - id: 18 - type: string - optional: true - name: alarm_set_2 - - id: 19 - type: string - name: breaker_id - - id: 131 - type: integer - name: r485_address - - id: 132 - type: string - name: r485_baud_rate - - id: 133 - type: string - name: r485_data_format -secondary_entities: +entities: + - entity: sensor + class: energy + translation_key: energy_consumed + dps: + - id: 1 + type: integer + name: sensor + unit: kWh + class: total_increasing + mapping: + - scale: 100 + # Standard phase dps do not appear in log, and data appears to be covered + # as X/Y/Z below, so not decoded + - id: 6 + type: string + optional: true + name: phase_a + - id: 7 + type: string + optional: true + name: phase_b + - id: 8 + type: string + optional: true + name: phase_c + # Alarms are binary encoded and do not appear in logs, so not decoded + - id: 17 + type: string + optional: true + name: alarm_set_1 + - id: 18 + type: string + optional: true + name: alarm_set_2 + - id: 19 + type: string + name: breaker_id + - id: 131 + type: integer + name: r485_address + - id: 132 + type: string + name: r485_baud_rate + - id: 133 + type: string + name: r485_data_format - entity: binary_sensor class: problem category: diagnostic diff --git a/custom_components/tuya_local/devices/zemismart_spm01_energymeter.yaml b/custom_components/tuya_local/devices/zemismart_spm01_energymeter.yaml index e496a2a6f2..f645cc8f73 100644 --- a/custom_components/tuya_local/devices/zemismart_spm01_energymeter.yaml +++ b/custom_components/tuya_local/devices/zemismart_spm01_energymeter.yaml @@ -2,33 +2,32 @@ name: Energy meter products: - id: qhlxve78 name: Zemismart SPM01 Zigbee -primary_entity: - entity: sensor - class: energy - translation_key: energy_consumed - dps: - - id: 1 - type: integer - name: sensor - unit: kWh - class: total_increasing - mapping: - - scale: 100 - # there are separate sensors for everything phase_a normally encodes, - # and it does not appear by default, so is not decoded here. - - id: 6 - type: base64 - optional: true - name: phase_a - - id: 17 - type: string - optional: true - name: alarm_set_1 - - id: 18 - type: string - optional: true - name: alarm_set_2 -secondary_entities: +entities: + - entity: sensor + class: energy + translation_key: energy_consumed + dps: + - id: 1 + type: integer + name: sensor + unit: kWh + class: total_increasing + mapping: + - scale: 100 + # there are separate sensors for everything phase_a normally encodes, + # and it does not appear by default, so is not decoded here. + - id: 6 + type: base64 + optional: true + name: phase_a + - id: 17 + type: string + optional: true + name: alarm_set_1 + - id: 18 + type: string + optional: true + name: alarm_set_2 - entity: sensor translation_key: energy_produced class: energy diff --git a/custom_components/tuya_local/devices/zg205w_mmWave_presence_sensor.yaml b/custom_components/tuya_local/devices/zg205w_mmWave_presence_sensor.yaml index fe68ef2ddc..003724490a 100644 --- a/custom_components/tuya_local/devices/zg205w_mmWave_presence_sensor.yaml +++ b/custom_components/tuya_local/devices/zg205w_mmWave_presence_sensor.yaml @@ -5,21 +5,20 @@ products: - id: uykwakpl6rbxvjdd name: ZG-205W/A -primary_entity: - entity: binary_sensor - class: occupancy - dps: - - id: 1 - type: string - name: sensor - mapping: - - dps_val: presence - value: true - - dps_val: none - value: false - # - id: 111 - # name: breathingselftest -secondary_entities: +entities: + - entity: binary_sensor + class: occupancy + dps: + - id: 1 + type: string + name: sensor + mapping: + - dps_val: presence + value: true + - dps_val: none + value: false + # - id: 111 + # name: breathingselftest - entity: number name: Motion sensitivity category: config diff --git a/custom_components/tuya_local/devices/zigbee_climate_alarm.yaml b/custom_components/tuya_local/devices/zigbee_climate_alarm.yaml index 563d97f592..7e3007f6a6 100644 --- a/custom_components/tuya_local/devices/zigbee_climate_alarm.yaml +++ b/custom_components/tuya_local/devices/zigbee_climate_alarm.yaml @@ -2,25 +2,24 @@ name: Climate alarm products: - id: qaaysllp name: Zigbee temperature humidity alarm sensor -primary_entity: - entity: sensor - class: temperature - dps: - - id: 1 - type: integer - name: sensor - class: measurement - mapping: - - scale: 10 - - id: 9 - type: string - name: unit - mapping: - - dps_val: c - value: C - - dps_val: f - value: F -secondary_entities: +entities: + - entity: sensor + class: temperature + dps: + - id: 1 + type: integer + name: sensor + class: measurement + mapping: + - scale: 10 + - id: 9 + type: string + name: unit + mapping: + - dps_val: c + value: C + - dps_val: f + value: F - entity: sensor class: humidity dps: diff --git a/custom_components/tuya_local/devices/zigbee_dv7vcs_human_presence_sensor.yaml b/custom_components/tuya_local/devices/zigbee_dv7vcs_human_presence_sensor.yaml index d6e99815ab..a653b16c90 100644 --- a/custom_components/tuya_local/devices/zigbee_dv7vcs_human_presence_sensor.yaml +++ b/custom_components/tuya_local/devices/zigbee_dv7vcs_human_presence_sensor.yaml @@ -2,19 +2,18 @@ name: Human presence sensor products: - id: sxm7l9xa name: Loginovo mmWave human presence sensor -primary_entity: - entity: binary_sensor - class: occupancy - dps: - - id: 105 - type: string - name: sensor - mapping: - - dps_val: presence - value: true - - dps_val: none - value: false -secondary_entities: +entities: + - entity: binary_sensor + class: occupancy + dps: + - id: 105 + type: string + name: sensor + mapping: + - dps_val: presence + value: true + - dps_val: none + value: false - entity: number name: Sensitivity category: config diff --git a/custom_components/tuya_local/devices/zigbee_mir_te100ty_climate_sensor.yaml b/custom_components/tuya_local/devices/zigbee_mir_te100ty_climate_sensor.yaml index 4a1d54d105..15892f6f10 100644 --- a/custom_components/tuya_local/devices/zigbee_mir_te100ty_climate_sensor.yaml +++ b/custom_components/tuya_local/devices/zigbee_mir_te100ty_climate_sensor.yaml @@ -2,18 +2,17 @@ name: Climate sensor products: - id: a476raq2 name: MultiIR Zigbee TE100-TY -primary_entity: - entity: sensor - class: humidity - dps: - - id: 101 - type: integer - name: sensor - unit: "%" - class: measurement - mapping: - - scale: 100 -secondary_entities: +entities: + - entity: sensor + class: humidity + dps: + - id: 101 + type: integer + name: sensor + unit: "%" + class: measurement + mapping: + - scale: 100 - entity: sensor class: temperature dps: diff --git a/custom_components/tuya_local/devices/zigbee_smart_bulb.yaml b/custom_components/tuya_local/devices/zigbee_smart_bulb.yaml index f193058310..3bb6017a88 100644 --- a/custom_components/tuya_local/devices/zigbee_smart_bulb.yaml +++ b/custom_components/tuya_local/devices/zigbee_smart_bulb.yaml @@ -9,67 +9,66 @@ products: name: MOES ZC-TD SW zigbee GU10 - id: sjaun9de name: Peteme SIG_DL_RGBCW recessed lighting -primary_entity: - entity: light - dps: - - id: 1 - type: boolean - name: switch - - id: 2 - name: color_mode - type: string - optional: true - mapping: - - dps_val: white - value: color_temp - - dps_val: colour - value: hs - - dps_val: scene - value: scene - - dps_val: music - value: music - - dps_val: null - value: color_temp - hidden: true - - id: 3 - name: brightness - type: integer - optional: true - range: - min: 10 - max: 1000 - - id: 4 - name: color_temp - optional: true - type: integer - range: - min: 0 - max: 1000 - mapping: - - target_range: - min: 2700 - max: 6500 - - id: 5 - name: rgbhsv - type: hex - optional: true - format: - - name: h - bytes: 2 - range: - min: 0 - max: 360 - - name: s - bytes: 2 - range: - min: 0 - max: 1000 - - name: v - bytes: 2 - range: - min: 0 - max: 1000 -secondary_entities: +entities: + - entity: light + dps: + - id: 1 + type: boolean + name: switch + - id: 2 + name: color_mode + type: string + optional: true + mapping: + - dps_val: white + value: color_temp + - dps_val: colour + value: hs + - dps_val: scene + value: scene + - dps_val: music + value: music + - dps_val: null + value: color_temp + hidden: true + - id: 3 + name: brightness + type: integer + optional: true + range: + min: 10 + max: 1000 + - id: 4 + name: color_temp + optional: true + type: integer + range: + min: 0 + max: 1000 + mapping: + - target_range: + min: 2700 + max: 6500 + - id: 5 + name: rgbhsv + type: hex + optional: true + format: + - name: h + bytes: 2 + range: + min: 0 + max: 360 + - name: s + bytes: 2 + range: + min: 0 + max: 1000 + - name: v + bytes: 2 + range: + min: 0 + max: 1000 - entity: select name: Scene icon: "mdi:palette" diff --git a/custom_components/tuya_local/devices/zigbee_ultrasonic_watermeter.yaml b/custom_components/tuya_local/devices/zigbee_ultrasonic_watermeter.yaml index 376c4f6f4e..1d7f2b9387 100644 --- a/custom_components/tuya_local/devices/zigbee_ultrasonic_watermeter.yaml +++ b/custom_components/tuya_local/devices/zigbee_ultrasonic_watermeter.yaml @@ -2,37 +2,36 @@ name: Water meter products: - id: vuwtqx0t name: ZPMeter 214C-Z -primary_entity: - entity: sensor - class: water - dps: - - id: 1 - type: integer - name: sensor - unit: m³ - class: total_increasing - mapping: - - scale: 1000 - - id: 2 - type: string - optional: true - name: monthly - - id: 3 - type: string - optional: true - name: daily - - id: 6 - type: string - optional: true - name: frozen_time_set - - id: 16 - type: string - name: meter_id - - id: 18 - type: hex - optional: true - name: reverse_use -secondary_entities: +entities: + - entity: sensor + class: water + dps: + - id: 1 + type: integer + name: sensor + unit: m³ + class: total_increasing + mapping: + - scale: 1000 + - id: 2 + type: string + optional: true + name: monthly + - id: 3 + type: string + optional: true + name: daily + - id: 6 + type: string + optional: true + name: frozen_time_set + - id: 16 + type: string + name: meter_id + - id: 18 + type: hex + optional: true + name: reverse_use - entity: select name: Reporting period icon: "mdi:update" diff --git a/custom_components/tuya_local/devices/zigbee_waterleak_sensor.yaml b/custom_components/tuya_local/devices/zigbee_waterleak_sensor.yaml index 69aff6a3bf..c3d723638d 100644 --- a/custom_components/tuya_local/devices/zigbee_waterleak_sensor.yaml +++ b/custom_components/tuya_local/devices/zigbee_waterleak_sensor.yaml @@ -2,16 +2,15 @@ name: Water leak sensor products: - id: upgcbody name: Zigbee WL-898WZ -primary_entity: - entity: binary_sensor - class: moisture - category: diagnostic - dps: - - id: 1 - type: boolean - name: sensor - optional: true -secondary_entities: +entities: + - entity: binary_sensor + class: moisture + category: diagnostic + dps: + - id: 1 + type: boolean + name: sensor + optional: true - entity: sensor class: battery category: diagnostic diff --git a/custom_components/tuya_local/devices/zigbee_zb10wt_temphumid_sensor.yaml b/custom_components/tuya_local/devices/zigbee_zb10wt_temphumid_sensor.yaml index e8ec3c544e..9cbcbf9e63 100644 --- a/custom_components/tuya_local/devices/zigbee_zb10wt_temphumid_sensor.yaml +++ b/custom_components/tuya_local/devices/zigbee_zb10wt_temphumid_sensor.yaml @@ -2,18 +2,17 @@ name: Climate sensor products: - id: fie1dpkm name: Nedis ZBSC10WT -primary_entity: - entity: sensor - class: temperature - dps: - - id: 1 - type: integer - name: sensor - unit: C - class: measurement - mapping: - - scale: 10 -secondary_entities: +entities: + - entity: sensor + class: temperature + dps: + - id: 1 + type: integer + name: sensor + unit: C + class: measurement + mapping: + - scale: 10 - entity: sensor class: humidity dps: diff --git a/custom_components/tuya_local/devices/zigbee_zn373186_temphumid_sensor.yaml b/custom_components/tuya_local/devices/zigbee_zn373186_temphumid_sensor.yaml index 8ab365e5bf..ff33dd1b84 100644 --- a/custom_components/tuya_local/devices/zigbee_zn373186_temphumid_sensor.yaml +++ b/custom_components/tuya_local/devices/zigbee_zn373186_temphumid_sensor.yaml @@ -2,18 +2,17 @@ name: Climate sensor products: - id: xr3htd96 name: Aubess temperature humidity sensor (zn373186_01) -primary_entity: - entity: sensor - class: temperature - dps: - - id: 1 - type: integer - name: sensor - unit: C - class: measurement - mapping: - - scale: 10 -secondary_entities: +entities: + - entity: sensor + class: temperature + dps: + - id: 1 + type: integer + name: sensor + unit: C + class: measurement + mapping: + - scale: 10 - entity: sensor class: humidity dps: diff --git a/custom_components/tuya_local/devices/zigbee_zth08ztu_temphumid_sensor.yaml b/custom_components/tuya_local/devices/zigbee_zth08ztu_temphumid_sensor.yaml index aab79128c6..cf5e3ca5c1 100644 --- a/custom_components/tuya_local/devices/zigbee_zth08ztu_temphumid_sensor.yaml +++ b/custom_components/tuya_local/devices/zigbee_zth08ztu_temphumid_sensor.yaml @@ -2,18 +2,17 @@ name: Temperature humidity sensor products: - id: cirvgep4 name: ZTH08ZTU -primary_entity: - entity: sensor - class: temperature - dps: - - id: 1 - type: integer - name: sensor - unit: C - class: measurement - mapping: - - scale: 10 -secondary_entities: +entities: + - entity: sensor + class: temperature + dps: + - id: 1 + type: integer + name: sensor + unit: C + class: measurement + mapping: + - scale: 10 - entity: sensor class: humidity dps: diff --git a/custom_components/tuya_local/devices/zm_wifi_smartmeter.yaml b/custom_components/tuya_local/devices/zm_wifi_smartmeter.yaml index b3f75bfd76..c4d8a95be2 100644 --- a/custom_components/tuya_local/devices/zm_wifi_smartmeter.yaml +++ b/custom_components/tuya_local/devices/zm_wifi_smartmeter.yaml @@ -2,24 +2,23 @@ name: Energy meter products: - id: nzexeqam9qulajbf name: ZM-wi-Fi -primary_entity: - entity: sensor - class: energy - dps: - - id: 1 - type: integer - name: sensor - unit: kWh - class: total_increasing - mapping: - - scale: 100 - - id: 17 - name: alarm_setting - type: string - - id: 18 - name: meter_id - type: string -secondary_entities: +entities: + - entity: sensor + class: energy + dps: + - id: 1 + type: integer + name: sensor + unit: kWh + class: total_increasing + mapping: + - scale: 100 + - id: 17 + name: alarm_setting + type: string + - id: 18 + name: meter_id + type: string - entity: sensor class: voltage category: diagnostic diff --git a/custom_components/tuya_local/devices/zpmeter_ultrasonic_watermeter.yaml b/custom_components/tuya_local/devices/zpmeter_ultrasonic_watermeter.yaml index 1380b9e8e5..ca795b12c3 100644 --- a/custom_components/tuya_local/devices/zpmeter_ultrasonic_watermeter.yaml +++ b/custom_components/tuya_local/devices/zpmeter_ultrasonic_watermeter.yaml @@ -2,22 +2,21 @@ name: Water meter products: - id: zlwr0raf name: ZPMeter 214C -primary_entity: - entity: sensor - class: water - dps: - - id: 1 - type: integer - name: sensor - unit: m³ - class: total_increasing - mapping: - - scale: 1000 - - id: 16 - type: string - optional: true - name: meter_id -secondary_entities: +entities: + - entity: sensor + class: water + dps: + - id: 1 + type: integer + name: sensor + unit: m³ + class: total_increasing + mapping: + - scale: 1000 + - id: 16 + type: string + optional: true + name: meter_id - entity: select name: Reporting period icon: "mdi:update" diff --git a/custom_components/tuya_local/devices/zx_db11_doorbell_alarm.yaml b/custom_components/tuya_local/devices/zx_db11_doorbell_alarm.yaml index aa77fef8c8..3213329a2b 100644 --- a/custom_components/tuya_local/devices/zx_db11_doorbell_alarm.yaml +++ b/custom_components/tuya_local/devices/zx_db11_doorbell_alarm.yaml @@ -2,42 +2,41 @@ name: Doorbell products: - id: oqn2dj8otuhqhulr name: ZX-DB11 -primary_entity: - entity: binary_sensor - name: Alarm - class: sound - category: diagnostic - dps: - - id: 32 - type: string - name: sensor - mapping: - - dps_val: normal - value: false - - dps_val: alarm - value: true - - id: 24 - type: string - name: mode_state - - id: 31 - type: string - name: tone_set - - id: 35 - type: boolean - name: button - - id: 36 - type: string - name: test4 - - id: 37 - type: string - name: test5 - - id: 39 - type: string - name: test6 - - id: 40 - type: string - name: test7 -secondary_entities: +entities: + - entity: binary_sensor + name: Alarm + class: sound + category: diagnostic + dps: + - id: 32 + type: string + name: sensor + mapping: + - dps_val: normal + value: false + - dps_val: alarm + value: true + - id: 24 + type: string + name: mode_state + - id: 31 + type: string + name: tone_set + - id: 35 + type: boolean + name: button + - id: 36 + type: string + name: test4 + - id: 37 + type: string + name: test5 + - id: 39 + type: string + name: test6 + - id: 40 + type: string + name: test7 - entity: alarm_control_panel name: Alarm dps: diff --git a/custom_components/tuya_local/devices/zx_db11b_doorbell_alarm.yaml b/custom_components/tuya_local/devices/zx_db11b_doorbell_alarm.yaml index 822e66f3c6..d9ca480eb3 100644 --- a/custom_components/tuya_local/devices/zx_db11b_doorbell_alarm.yaml +++ b/custom_components/tuya_local/devices/zx_db11b_doorbell_alarm.yaml @@ -2,36 +2,35 @@ name: Doorbell products: - id: 4kfqpaat5buefsv0 name: Alarm Hub with Melodies Pro -primary_entity: - entity: binary_sensor - name: Alarm - class: sound - category: diagnostic - dps: - - id: 32 - type: string - name: sensor - mapping: - - dps_val: normal - value: false - - dps_val: alarm - value: true - - id: 24 - type: string - name: mode_state - - id: 36 - type: string - name: sub_class - - id: 37 - type: string - name: sub_type - - id: 39 - type: string - name: sub_state - - id: 40 - type: string - name: master_language -secondary_entities: +entities: + - entity: binary_sensor + name: Alarm + class: sound + category: diagnostic + dps: + - id: 32 + type: string + name: sensor + mapping: + - dps_val: normal + value: false + - dps_val: alarm + value: true + - id: 24 + type: string + name: mode_state + - id: 36 + type: string + name: sub_class + - id: 37 + type: string + name: sub_type + - id: 39 + type: string + name: sub_state + - id: 40 + type: string + name: master_language - entity: alarm_control_panel name: Alarm dps: diff --git a/custom_components/tuya_local/devices/zx_g30_alarm.yaml b/custom_components/tuya_local/devices/zx_g30_alarm.yaml index 7861f4ab62..3e5c7915c4 100644 --- a/custom_components/tuya_local/devices/zx_g30_alarm.yaml +++ b/custom_components/tuya_local/devices/zx_g30_alarm.yaml @@ -1,45 +1,44 @@ -name: ZX-G30 alarm +name: Alarm system products: - id: mw27s3tus4bb7nz3 - name: Dual-network security system -primary_entity: - entity: alarm_control_panel - dps: - - id: 1 - type: string - name: alarm_state - mapping: - - dps_val: disarmed - value: disarmed - - dps_val: arm - value: armed_away - - dps_val: home - value: armed_home - - id: 22 - type: integer - name: call_looptimes - - id: 23 - type: string - name: telnet_state - - id: 24 - type: string - name: zone_attribute - - id: 35 - type: boolean - name: sub_add - - id: 36 - type: string - name: sub_class - - id: 37 - type: string - name: sub_type - - id: 39 - type: string - name: sub_state - - id: 40 - type: string - name: master_language -secondary_entities: + name: ZX-G30 Dual-network security system +entities: + - entity: alarm_control_panel + dps: + - id: 1 + type: string + name: alarm_state + mapping: + - dps_val: disarmed + value: disarmed + - dps_val: arm + value: armed_away + - dps_val: home + value: armed_home + - id: 22 + type: integer + name: call_looptimes + - id: 23 + type: string + name: telnet_state + - id: 24 + type: string + name: zone_attribute + - id: 35 + type: boolean + name: sub_add + - id: 36 + type: string + name: sub_class + - id: 37 + type: string + name: sub_type + - id: 39 + type: string + name: sub_state + - id: 40 + type: string + name: master_language - entity: binary_sensor name: Alarm class: sound diff --git a/custom_components/tuya_local/devices/zx_gs21_gasmonitor.yaml b/custom_components/tuya_local/devices/zx_gs21_gasmonitor.yaml index 6be9b43743..a6a450abfb 100644 --- a/custom_components/tuya_local/devices/zx_gs21_gasmonitor.yaml +++ b/custom_components/tuya_local/devices/zx_gs21_gasmonitor.yaml @@ -2,20 +2,19 @@ name: Gas leak detector products: - id: ozcdjaqrxauonq1f name: ZX-GS21 -primary_entity: - entity: sensor - name: Gas leak - category: diagnostic - dps: - - id: 2 - type: integer - name: sensor - unit: "% LEL" - class: measurement - - id: 1 - type: string - name: gas_state -secondary_entities: +entities: + - entity: sensor + name: Gas leak + category: diagnostic + dps: + - id: 2 + type: integer + name: sensor + unit: "% LEL" + class: measurement + - id: 1 + type: string + name: gas_state - entity: number name: Alarm duration category: config diff --git a/custom_components/tuya_local/devices/zyhps01_human_presence_sensor.yaml b/custom_components/tuya_local/devices/zyhps01_human_presence_sensor.yaml index 9c621c9cad..e7378fd48e 100644 --- a/custom_components/tuya_local/devices/zyhps01_human_presence_sensor.yaml +++ b/custom_components/tuya_local/devices/zyhps01_human_presence_sensor.yaml @@ -3,20 +3,19 @@ products: - id: wzp9yjsobanavsut name: ZY-HPS01-5.8G -primary_entity: - entity: binary_sensor - class: motion - dps: - - id: 101 - type: string - name: sensor - mapping: - - dps_val: presence - value: true - - dps_val: none - value: false +entities: + - entity: binary_sensor + class: motion + dps: + - id: 101 + type: string + name: sensor + mapping: + - dps_val: presence + value: true + - dps_val: none + value: false -secondary_entities: - entity: sensor class: illuminance dps: diff --git a/custom_components/tuya_local/devices/zym100_presence_sensor.yaml b/custom_components/tuya_local/devices/zym100_presence_sensor.yaml index 581ea2dc03..9d5212b329 100644 --- a/custom_components/tuya_local/devices/zym100_presence_sensor.yaml +++ b/custom_components/tuya_local/devices/zym100_presence_sensor.yaml @@ -4,19 +4,18 @@ products: name: ZY-M100-WIFI - id: yroelksjtb4ehda8 name: WZ-M100-W -primary_entity: - entity: binary_sensor - class: occupancy - dps: - - id: 1 - type: string - name: sensor - mapping: - - dps_val: presence - value: true - - dps_val: none - value: false -secondary_entities: +entities: + - entity: binary_sensor + class: occupancy + dps: + - id: 1 + type: string + name: sensor + mapping: + - dps_val: presence + value: true + - dps_val: none + value: false - entity: number name: Sensitivity category: config diff --git a/custom_components/tuya_local/devices/zym100w_presence_sensor.yaml b/custom_components/tuya_local/devices/zym100w_presence_sensor.yaml index e11a0fb1ea..ba74995989 100644 --- a/custom_components/tuya_local/devices/zym100w_presence_sensor.yaml +++ b/custom_components/tuya_local/devices/zym100w_presence_sensor.yaml @@ -2,18 +2,17 @@ name: mmWave presence sensor products: - id: 4cjzlliucdjaanvl name: ZY-M100-WIFI24G -primary_entity: - entity: binary_sensor - class: motion - dps: - - id: 1 - type: string - name: sensor - mapping: - - dps_val: move - value: true - - value: false -secondary_entities: +entities: + - entity: binary_sensor + class: motion + dps: + - id: 1 + type: string + name: sensor + mapping: + - dps_val: move + value: true + - value: false - entity: number name: Sensitivity category: config diff --git a/custom_components/tuya_local/devices/zym201_presence_sensor.yaml b/custom_components/tuya_local/devices/zym201_presence_sensor.yaml index 79af0495ff..50a40a779b 100644 --- a/custom_components/tuya_local/devices/zym201_presence_sensor.yaml +++ b/custom_components/tuya_local/devices/zym201_presence_sensor.yaml @@ -2,19 +2,18 @@ name: mmWave presence sensor products: - id: n3bow00a2vpwgtvx name: ZY-M201-WIFI24G -primary_entity: - entity: binary_sensor - class: occupancy - dps: - - id: 101 - type: string - name: sensor - mapping: - - dps_val: exist - value: true - - dps_val: nobody - value: false -secondary_entities: +entities: + - entity: binary_sensor + class: occupancy + dps: + - id: 101 + type: string + name: sensor + mapping: + - dps_val: exist + value: true + - dps_val: nobody + value: false - entity: sensor name: Presence state class: enum diff --git a/custom_components/tuya_local/helpers/device_config.py b/custom_components/tuya_local/helpers/device_config.py index cff4b2361b..f84cf63a9c 100644 --- a/custom_components/tuya_local/helpers/device_config.py +++ b/custom_components/tuya_local/helpers/device_config.py @@ -99,6 +99,7 @@ def __init__(self, fname): self._fname = fname filename = join(_CONFIG_DIR, fname) self._config = load_yaml(filename) + self._reported_deprecated_primary = False _LOGGER.debug("Loaded device config %s", fname) @property @@ -124,22 +125,25 @@ def legacy_type(self): @property def primary_entity(self): """Return the primary type of entity for this device.""" - return TuyaEntityConfig( - self, - self._config["primary_entity"], - primary=True, - ) + if not self._reported_deprecated_primary: + _LOGGER.warning( + f"{self.config_type}.yaml distinguishes between primary" + " and secondary_entities. This is deprecated, please" + " modify it to use a single list." + ) + self._reported_deprecated_primary = True - def secondary_entities(self): - """Iterate through entites for any secondary entites supported.""" - for conf in self._config.get("secondary_entities", {}): - yield TuyaEntityConfig(self, conf) + return TuyaEntityConfig(self, self._config["primary_entity"]) def all_entities(self): """Iterate through all entities for this device.""" - yield self.primary_entity - for e in self.secondary_entities(): - yield e + entities = self._config.get("entities") + if not entities: + yield self.primary_entity + entities = self._config.get("secondary_entities", {}) + + for e in entities: + yield TuyaEntityConfig(self, e) def matches(self, dps, product_ids): """Determine whether this config matches the provided dps map or @@ -239,10 +243,9 @@ def match_quality(self, dps, product_ids=None): class TuyaEntityConfig: """Representation of an entity config for a supported entity.""" - def __init__(self, device, config, primary=False): + def __init__(self, device, config): self._device = device self._config = config - self._is_primary = primary @property def name(self): diff --git a/tests/test_device_config.py b/tests/test_device_config.py index b861197975..b7a9c81d6e 100644 --- a/tests/test_device_config.py +++ b/tests/test_device_config.py @@ -162,8 +162,7 @@ vol.Required("name"): str, vol.Optional("legacy_type"): str, vol.Optional("products"): [PRODUCT_SCHEMA], - vol.Required("primary_entity"): ENTITY_SCHEMA, - vol.Optional("secondary_entities"): [ENTITY_SCHEMA], + vol.Required("entities"): [ENTITY_SCHEMA], } ) @@ -502,10 +501,6 @@ def test_config_files_parse(self): parsed._config.get("name"), f"name missing from {cfg}", ) - self.assertIsNotNone( - parsed._config.get("primary_entity"), - f"primary_entity missing from {cfg}", - ) count = 0 for entity in parsed.all_entities(): self.check_entity(entity, cfg) @@ -520,14 +515,6 @@ def test_config_files_parse(self): f"Duplicate entities in {cfg}", ) - # If there are no secondary entities, check that it is intended - if count == 1: - for key in parsed._config.keys(): - self.assertFalse( - key.startswith("sec"), - f"misspelled secondary_entities in {cfg}", - ) - def test_configs_can_be_matched(self): """Test that the config files can be matched to a device.""" for cfg in available_configs():