|
|
@@ -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
|