From c632bd54977292f319f0038e5b90d9349768f711 Mon Sep 17 00:00:00 2001 From: Mantrid42 Date: Sat, 1 Feb 2025 21:54:05 +1100 Subject: [PATCH 1/5] Add support for Kogan 2.6kW split aircon Based on fisher_summer Adds support for: - Anti-frost - Anti-mildew - Buzzer on/off - Display on/off - Eco mode on/off - Health (UV and Ioniser) - Self cleaning Fixes - Horizontal fixed position, not supported according to bitfield but it is and works - Removed "Power" setting (1kWh/2kWh etc.), which does nothing - Removed Running time, as it always reports 1s - Added appropriate icons - Removed "wide" swing modes (not supported) - Removed Hot cold wind - Removed Generator mode - Removed Energy saving Caveats - Customised for this specific model/id, so optional DPS removed (avoids unavailable entities, which aren't disabled by default) - Air quality & Dirty filter probably aren't supported (they just report Great and OK), so they're in diagnostic --- .../devices/kogan_air_conditioner_2k6w.yaml | 401 ++++++++++++++++++ 1 file changed, 401 insertions(+) create mode 100644 custom_components/tuya_local/devices/kogan_air_conditioner_2k6w.yaml diff --git a/custom_components/tuya_local/devices/kogan_air_conditioner_2k6w.yaml b/custom_components/tuya_local/devices/kogan_air_conditioner_2k6w.yaml new file mode 100644 index 0000000000..72b8685653 --- /dev/null +++ b/custom_components/tuya_local/devices/kogan_air_conditioner_2k6w.yaml @@ -0,0 +1,401 @@ +# Protocol 3.5 +name: Kogan Smart AC +products: + - id: 2mixrhxp38ehekxx + manufacturer: Kogan + model: "01" +entities: + - translation_only_key: aircon_extra + 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: 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: 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: boolCode + type: hex + - 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 + - translation_key: display + entity: light + category: config + dps: + - id: 123 + type: hex + name: switch + mask: "0008" + - name: Buzzer + entity: switch + category: config + icon: "mdi:volume-high" + dps: + - id: 123 + type: hex + name: switch + mask: "0010" + - name: Anti-mildew + entity: switch + category: config + icon: "mdi:water-off-outline" + dps: + - id: 123 + type: hex + name: switch + mask: "0100" + - name: Health + entity: switch + category: config + icon: "mdi:heart-outline" + dps: + - id: 123 + type: hex + name: switch + mask: "0020" + - translation_key: anti_frost + entity: switch + category: config + dps: + - id: 123 + type: hex + name: switch + mask: "1000" + - name: Eco mode + entity: switch + category: config + icon: "mdi:leaf" + dps: + - id: 123 + type: hex + name: switch + mask: "0001" + - name: Self cleaning + entity: switch + category: config + icon: "mdi:spray-bottle" + dps: + - id: 123 + type: hex + name: switch + mask: "0004" + mapping: + - dps_val: false + value: "Off" + - dps_val: true + constraint: power + conditions: + - dps_val: true + invalid: true + - dps_val: false + value: Cleaning + + - id: 1 + name: power + type: boolean + + - class: problem + entity: binary_sensor + category: diagnostic + icon: "mdi:wrench" + dps: + - id: 20 + type: bitfield + name: sensor + mapping: + - dps_val: 0 + value: false + - value: true + - id: 20 + name: fault_code + type: bitfield + - id: 122 + name: fault2 + type: bitfield + - name: Sleep + entity: select + category: config + icon: "mdi:weather-night" + dps: + - id: 105 + name: option + type: string + mapping: + - dps_val: "off" + value: "Off" + default: true + - dps_val: normal + value: Normal + - dps_val: old + value: Elderly + - dps_val: child + value: Child + - id: 110 + type: bitfield + name: available + mapping: + - dps_val: 4194394 + value: true + - value: false + - name: Vertical sweep + entity: select + category: config + icon: "mdi:arrow-up-down-bold" + dps: + - id: 113 + name: option + type: string + mapping: + - dps_val: "0" + value: None + default: true + - dps_val: "1" + value: Upper and lower + - dps_val: "2" + value: Upper + - dps_val: "3" + value: Lower + - name: Horizontal sweep + entity: select + category: config + icon: "mdi:arrow-left-right-bold" + dps: + - id: 114 + name: option + type: string + mapping: + - dps_val: "0" + value: "Off" + default: true + - dps_val: "1" + value: Left and Right + - dps_val: "2" + value: Left + - dps_val: "3" + value: Middle + - dps_val: "4" + value: Right + - id: 110 + type: bitfield + name: available + mapping: + - dps_val: 32 + value: true + - value: false + - translation_key: air_quality + entity: sensor + class: enum + category: diagnostic + dps: + - id: 125 + name: sensor + type: string + mapping: + - dps_val: great + value: Great (or lying) + - dps_val: good + value: Good + - dps_val: middle + value: Average + - dps_val: bad + value: Bad + - dps_val: verybad + value: Very bad + + # Data is returned, but the bitfield says it's not supported. + # Lets monitor it anyway + # - id: 110 + # name: available + # type: bitfield + # mapping: + # - dps_val: 16384 + # value: true + # - value: false + + - name: Vertical fixed + entity: select + category: config + icon: "mdi:unfold-more-horizontal" + dps: + - id: 126 + name: option + type: string + mapping: + - dps_val: "0" + value: Freeze Current Position + default: true + - dps_val: "1" + value: Top + - dps_val: "2" + value: Slightly Up + - dps_val: "3" + value: Middle + - dps_val: "4" + value: Slightly Down + - dps_val: "5" + value: Down + - id: 110 + type: bitfield + name: available + mapping: + - dps_val: 16 + value: true + - value: false + - name: Horizontal fixed + entity: select + category: config + icon: "mdi:unfold-more-vertical" + dps: + - id: 127 + name: option + type: string + mapping: + - dps_val: "0" + value: Freeze current position + default: true + - dps_val: "1" + value: Left + - dps_val: "2" + value: Slightly left + - dps_val: "3" + value: Middle + - dps_val: "4" + value: Slightly right + - dps_val: "5" + value: Right + + # Says not supported according to my bitfield, but it is + # - id: 110 + # type: bitfield + # name: available + # mapping: + # - dps_val: 8388608 + # value: true + # - value: false + + - name: Power saving temperature + entity: number + category: config + class: temperature + dps: + - id: 130 + name: value + type: integer + unit: C + range: + min: 26 + max: 31 + - name: Dirty filter + entity: binary_sensor + class: problem + category: diagnostic + icon: "mdi:air-filter" + dps: + - id: 131 + type: boolean + name: sensor + + # Mine says not available according to bitfield, but returns false... + # Monitor and see if it ever changes? + # - id: 110 + # type: bitfield + # name: available + # mapping: + # - dps_val: 262144 + # value: true + # - value: false From 7ba60e8afbee163be2b5ef3a8d05cec6f1b62e4e Mon Sep 17 00:00:00 2001 From: Mantrid42 Date: Sat, 1 Feb 2025 22:16:08 +1100 Subject: [PATCH 2/5] Add support for Kogan air purifier 5 pro Based on lifubide_x600_purifier (closest match) Added support for: - Air quality - Filter remaining - Filter time - Timer remaining - Fan speed - Filter reset - Off timer - Preset mode (Smart/Sleep/Manual) - UV sterilization --- .../devices/kogan_air_purifier_5_pro.yaml | 163 ++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100644 custom_components/tuya_local/devices/kogan_air_purifier_5_pro.yaml diff --git a/custom_components/tuya_local/devices/kogan_air_purifier_5_pro.yaml b/custom_components/tuya_local/devices/kogan_air_purifier_5_pro.yaml new file mode 100644 index 0000000000..feec839e78 --- /dev/null +++ b/custom_components/tuya_local/devices/kogan_air_purifier_5_pro.yaml @@ -0,0 +1,163 @@ +# Protocol 3.4 +name: Smart air purifier +products: + - id: bsgh7gwfmazrxsta + manufacturer: Kogan + model: AP-3029UAS +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: manual + - entity: sensor + class: pm25 + dps: + - id: 2 + type: integer + name: sensor + unit: ugm3 + class: measurement + - name: Preset mode + entity: select + category: config + dps: + - id: 3 + name: option + type: string + mapping: + - dps_val: auto + value: Smart + - dps_val: sleep + value: Sleep + - dps_val: manual + value: Manual + - name: Fan speed + entity: select + category: config + icon: "mdi:fan" + dps: + - id: 4 + name: option + type: string + mapping: + - dps_val: low + value: Low + - dps_val: mid + value: Medium + - dps_val: high + value: High + - dps_val: turbo + value: Turbo + - name: Filter remaining + entity: sensor + icon: "mdi:shield-bug" + dps: + - id: 5 + name: sensor + type: integer + unit: "%" + - name: Child lock + entity: switch + category: config + icon: "mdi:lock" + dps: + - id: 7 + type: boolean + name: switch + - entity: light + translation_key: indicator + category: config + dps: + - id: 8 + type: boolean + name: switch + - translation_key: uv_sterilization + entity: switch + category: config + dps: + - id: 9 + type: boolean + name: switch + - translation_key: filter_reset + entity: button + category: config + icon: "mdi:clock-outline" + dps: + - id: 11 + type: boolean + name: button + optional: true + - name: Timer remaining + entity: sensor + class: duration + unit: s + icon: "mdi:clock-outline" + dps: + - id: 20 + type: integer + name: sensor + unit: s + - translation_key: air_quality + entity: sensor + class: enum + dps: + - id: 21 + name: sensor + type: string + mapping: + - dps_val: great + value: Great + - dps_val: good + value: Good + - dps_val: Medium + value: Medium + - dps_val: severe + value: Severe + - class: problem + entity: binary_sensor + category: diagnostic + dps: + - id: 22 + type: bitfield + name: sensor + mapping: + - dps_val: 0 + value: false + - value: true + - id: 22 + type: bitfield + name: fault_code + - name: Filter time + entity: sensor + class: duration + dps: + - id: 101 + name: sensor + type: integer + unit: h + mapping: + - scale: 3600 + - name: Off timer + entity: number + category: config + icon: "mdi:clock-outline" + dps: + - id: 102 + type: integer + name: value + unit: m + range: + min: 0 + max: 12 From 923309641e1426136e26555ed0d2154bfe12e094 Mon Sep 17 00:00:00 2001 From: Mantrid42 Date: Sat, 1 Feb 2025 22:52:49 +1100 Subject: [PATCH 3/5] Update kogan_air_purifier_5_pro.yaml Fixed unit in wrong place --- .../tuya_local/devices/kogan_air_purifier_5_pro.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/custom_components/tuya_local/devices/kogan_air_purifier_5_pro.yaml b/custom_components/tuya_local/devices/kogan_air_purifier_5_pro.yaml index feec839e78..3db2c8c0b9 100644 --- a/custom_components/tuya_local/devices/kogan_air_purifier_5_pro.yaml +++ b/custom_components/tuya_local/devices/kogan_air_purifier_5_pro.yaml @@ -102,7 +102,6 @@ entities: - name: Timer remaining entity: sensor class: duration - unit: s icon: "mdi:clock-outline" dps: - id: 20 From 5709a5184b0b3a07fb3a30a631eb8ce7573fa3ab Mon Sep 17 00:00:00 2001 From: Mantrid42 Date: Sat, 1 Feb 2025 23:03:11 +1100 Subject: [PATCH 4/5] Delete custom_components/tuya_local/devices/kogan_air_conditioner_2k6w.yaml --- .../devices/kogan_air_conditioner_2k6w.yaml | 401 ------------------ 1 file changed, 401 deletions(-) delete mode 100644 custom_components/tuya_local/devices/kogan_air_conditioner_2k6w.yaml diff --git a/custom_components/tuya_local/devices/kogan_air_conditioner_2k6w.yaml b/custom_components/tuya_local/devices/kogan_air_conditioner_2k6w.yaml deleted file mode 100644 index 72b8685653..0000000000 --- a/custom_components/tuya_local/devices/kogan_air_conditioner_2k6w.yaml +++ /dev/null @@ -1,401 +0,0 @@ -# Protocol 3.5 -name: Kogan Smart AC -products: - - id: 2mixrhxp38ehekxx - manufacturer: Kogan - model: "01" -entities: - - translation_only_key: aircon_extra - 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: 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: 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: boolCode - type: hex - - 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 - - translation_key: display - entity: light - category: config - dps: - - id: 123 - type: hex - name: switch - mask: "0008" - - name: Buzzer - entity: switch - category: config - icon: "mdi:volume-high" - dps: - - id: 123 - type: hex - name: switch - mask: "0010" - - name: Anti-mildew - entity: switch - category: config - icon: "mdi:water-off-outline" - dps: - - id: 123 - type: hex - name: switch - mask: "0100" - - name: Health - entity: switch - category: config - icon: "mdi:heart-outline" - dps: - - id: 123 - type: hex - name: switch - mask: "0020" - - translation_key: anti_frost - entity: switch - category: config - dps: - - id: 123 - type: hex - name: switch - mask: "1000" - - name: Eco mode - entity: switch - category: config - icon: "mdi:leaf" - dps: - - id: 123 - type: hex - name: switch - mask: "0001" - - name: Self cleaning - entity: switch - category: config - icon: "mdi:spray-bottle" - dps: - - id: 123 - type: hex - name: switch - mask: "0004" - mapping: - - dps_val: false - value: "Off" - - dps_val: true - constraint: power - conditions: - - dps_val: true - invalid: true - - dps_val: false - value: Cleaning - - - id: 1 - name: power - type: boolean - - - class: problem - entity: binary_sensor - category: diagnostic - icon: "mdi:wrench" - dps: - - id: 20 - type: bitfield - name: sensor - mapping: - - dps_val: 0 - value: false - - value: true - - id: 20 - name: fault_code - type: bitfield - - id: 122 - name: fault2 - type: bitfield - - name: Sleep - entity: select - category: config - icon: "mdi:weather-night" - dps: - - id: 105 - name: option - type: string - mapping: - - dps_val: "off" - value: "Off" - default: true - - dps_val: normal - value: Normal - - dps_val: old - value: Elderly - - dps_val: child - value: Child - - id: 110 - type: bitfield - name: available - mapping: - - dps_val: 4194394 - value: true - - value: false - - name: Vertical sweep - entity: select - category: config - icon: "mdi:arrow-up-down-bold" - dps: - - id: 113 - name: option - type: string - mapping: - - dps_val: "0" - value: None - default: true - - dps_val: "1" - value: Upper and lower - - dps_val: "2" - value: Upper - - dps_val: "3" - value: Lower - - name: Horizontal sweep - entity: select - category: config - icon: "mdi:arrow-left-right-bold" - dps: - - id: 114 - name: option - type: string - mapping: - - dps_val: "0" - value: "Off" - default: true - - dps_val: "1" - value: Left and Right - - dps_val: "2" - value: Left - - dps_val: "3" - value: Middle - - dps_val: "4" - value: Right - - id: 110 - type: bitfield - name: available - mapping: - - dps_val: 32 - value: true - - value: false - - translation_key: air_quality - entity: sensor - class: enum - category: diagnostic - dps: - - id: 125 - name: sensor - type: string - mapping: - - dps_val: great - value: Great (or lying) - - dps_val: good - value: Good - - dps_val: middle - value: Average - - dps_val: bad - value: Bad - - dps_val: verybad - value: Very bad - - # Data is returned, but the bitfield says it's not supported. - # Lets monitor it anyway - # - id: 110 - # name: available - # type: bitfield - # mapping: - # - dps_val: 16384 - # value: true - # - value: false - - - name: Vertical fixed - entity: select - category: config - icon: "mdi:unfold-more-horizontal" - dps: - - id: 126 - name: option - type: string - mapping: - - dps_val: "0" - value: Freeze Current Position - default: true - - dps_val: "1" - value: Top - - dps_val: "2" - value: Slightly Up - - dps_val: "3" - value: Middle - - dps_val: "4" - value: Slightly Down - - dps_val: "5" - value: Down - - id: 110 - type: bitfield - name: available - mapping: - - dps_val: 16 - value: true - - value: false - - name: Horizontal fixed - entity: select - category: config - icon: "mdi:unfold-more-vertical" - dps: - - id: 127 - name: option - type: string - mapping: - - dps_val: "0" - value: Freeze current position - default: true - - dps_val: "1" - value: Left - - dps_val: "2" - value: Slightly left - - dps_val: "3" - value: Middle - - dps_val: "4" - value: Slightly right - - dps_val: "5" - value: Right - - # Says not supported according to my bitfield, but it is - # - id: 110 - # type: bitfield - # name: available - # mapping: - # - dps_val: 8388608 - # value: true - # - value: false - - - name: Power saving temperature - entity: number - category: config - class: temperature - dps: - - id: 130 - name: value - type: integer - unit: C - range: - min: 26 - max: 31 - - name: Dirty filter - entity: binary_sensor - class: problem - category: diagnostic - icon: "mdi:air-filter" - dps: - - id: 131 - type: boolean - name: sensor - - # Mine says not available according to bitfield, but returns false... - # Monitor and see if it ever changes? - # - id: 110 - # type: bitfield - # name: available - # mapping: - # - dps_val: 262144 - # value: true - # - value: false From 1d709113290b1281fb6b69af0353b59be8a5594e Mon Sep 17 00:00:00 2001 From: Jason Rumney Date: Tue, 11 Feb 2025 16:53:33 +0900 Subject: [PATCH 5/5] Kogan 5 pro air purifier: changes from review - changes proposed in PR #2889 - standardise filename as manufacturer_model_type.yaml - remove meaningless "Smart" from device name --- ...5_pro.yaml => kogan_5pro_airpurifier.yaml} | 75 +++++++------------ 1 file changed, 25 insertions(+), 50 deletions(-) rename custom_components/tuya_local/devices/{kogan_air_purifier_5_pro.yaml => kogan_5pro_airpurifier.yaml} (72%) diff --git a/custom_components/tuya_local/devices/kogan_air_purifier_5_pro.yaml b/custom_components/tuya_local/devices/kogan_5pro_airpurifier.yaml similarity index 72% rename from custom_components/tuya_local/devices/kogan_air_purifier_5_pro.yaml rename to custom_components/tuya_local/devices/kogan_5pro_airpurifier.yaml index 3db2c8c0b9..662b470333 100644 --- a/custom_components/tuya_local/devices/kogan_air_purifier_5_pro.yaml +++ b/custom_components/tuya_local/devices/kogan_5pro_airpurifier.yaml @@ -1,5 +1,4 @@ -# Protocol 3.4 -name: Smart air purifier +name: Air purifier products: - id: bsgh7gwfmazrxsta manufacturer: Kogan @@ -21,6 +20,18 @@ entities: value: sleep - dps_val: manual value: manual + - id: 4 + name: speed + type: string + mapping: + - dps_val: low + value: 25 + - dps_val: mid + value: 50 + - dps_val: high + value: 75 + - dps_val: turbo + value: 100 - entity: sensor class: pm25 dps: @@ -29,37 +40,6 @@ entities: name: sensor unit: ugm3 class: measurement - - name: Preset mode - entity: select - category: config - dps: - - id: 3 - name: option - type: string - mapping: - - dps_val: auto - value: Smart - - dps_val: sleep - value: Sleep - - dps_val: manual - value: Manual - - name: Fan speed - entity: select - category: config - icon: "mdi:fan" - dps: - - id: 4 - name: option - type: string - mapping: - - dps_val: low - value: Low - - dps_val: mid - value: Medium - - dps_val: high - value: High - - dps_val: turbo - value: Turbo - name: Filter remaining entity: sensor icon: "mdi:shield-bug" @@ -68,14 +48,13 @@ entities: name: sensor type: integer unit: "%" - - name: Child lock - entity: switch + - translation_key: child_lock + entity: lock category: config - icon: "mdi:lock" dps: - id: 7 type: boolean - name: switch + name: lock - entity: light translation_key: indicator category: config @@ -93,16 +72,14 @@ entities: - translation_key: filter_reset entity: button category: config - icon: "mdi:clock-outline" dps: - id: 11 type: boolean name: button optional: true - - name: Timer remaining + - translation_key: time_remaining entity: sensor class: duration - icon: "mdi:clock-outline" dps: - id: 20 type: integer @@ -117,13 +94,13 @@ entities: type: string mapping: - dps_val: great - value: Great + value: excellent - dps_val: good - value: Good + value: good - dps_val: Medium - value: Medium + value: moderate - dps_val: severe - value: Severe + value: severe - class: problem entity: binary_sensor category: diagnostic @@ -145,18 +122,16 @@ entities: - id: 101 name: sensor type: integer - unit: h - mapping: - - scale: 3600 - - name: Off timer + unit: s + - translation_key: timer entity: number + class: duration category: config - icon: "mdi:clock-outline" dps: - id: 102 type: integer name: value - unit: m + unit: h range: min: 0 max: 12