| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520 |
- name: Air Conditioner
- products:
- - id: jvnwkkvvshk3go8f
- # https://www.friedrich.com/professional/products/uni-fit
- # NB: Tuya calls this "Friedrich Window Unit" but these are through-the-wall units
- name: Friedrich Uni-Fit Through-the-Wall Air Conditioner (Model UCT08B10A)
- # Even though the latest firmware for UCT08B10A exposes tons of DPs (very similar to Fisher Summer Air Conditioner)
- # after testing vast majority of them are unsupported. This unit is much closer to the other Friedrich Air Conditioners
- # in terms of actual capabilities but it's still different enough to warrant a separate yaml.
- # Note: we are forced to add all the DPs in order for the YAML configuration to be identified even though most of them
- # need to be made invisible and are not used by the hardware of the actual 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: 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
- unit: C
- - id: 23
- name: current_temperature
- type: integer
- optional: true
- hidden: true
- range:
- min: -20
- max: 100
- - id: 24
- type: integer
- name: temperature
- optional: true
- unit: F
- range:
- min: 690
- max: 890
- mapping:
- - scale: 10
- step: 10
- - id: 2
- name: temperature_in_c
- type: integer
- optional: true
- range:
- min: 205
- max: 317
- mapping:
- - scale: 10
- step: 5
- unit: 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 and don't change air speed
- - dps_val: mute
- value: quiet
- optional: true
- hidden: true
- - dps_val: mid_low
- value: medlow
- optional: true
- hidden: true
- - dps_val: mid_high
- value: medhigh
- optional: true
- hidden: true
- - dps_val: strong
- value: strong
- optional: true
- hidden: true
- - id: 123
- name: preset_mode
- # Tuya IOT dev says this is "bool" but the values aren't boolean
- type: string
- mapping:
- - dps_val: "0018"
- value: comfort
- - dps_val: "0019"
- 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: "2"
- value: missing mapping
- - dps_val: "3"
- value: through-the-wall
- - id: 8
- name: legacy_preset_mode
- type: boolean
- # the unit's actual hardware doesn't support this functionality even though the firmware / DP is exposed
- # we are forced to add it so that Tuya Local gets to 100% DP match and allows us to pick this YAML for this unit
- hidden: true
- optional: true
- mapping:
- - dps_val: true
- value: eco
- - dps_val: false
- value: comfort
- - dps_val: null
- value: comfort
- hidden: true
- - id: 18
- name: unsupported_current_humidity
- type: integer
- # the unit's actual hardware doesn't support this functionality even though the firmware / DP is exposed
- # we are forced to add it so that Tuya Local gets to 100% DP match and allows us to pick this YAML for this unit
- hidden: true
- optional: true
- - id: 101
- name: sleep_legacy_unreported
- type: integer
- # the unit's actual hardware doesn't support this functionality even though the firmware / DP is exposed
- # we are forced to add it so that Tuya Local gets to 100% DP match and allows us to pick this YAML for this unit
- hidden: true
- optional: true
- - id: 102
- name: temp_conversion_unit_legacy
- type: boolean
- # the unit's actual hardware doesn't support this functionality even though the firmware / DP is exposed
- # we are forced to add it so that Tuya Local gets to 100% DP match and allows us to pick this YAML for this unit
- hidden: true
- optional: true
- mapping:
- - dps_val: true
- value: "°F"
- - dps_val: false
- value: "°C"
- - id: 110
- name: hswing_available
- type: bitfield
- # the unit's actual hardware doesn't support this functionality even though the firmware / DP is exposed
- # we are forced to add it so that Tuya Local gets to 100% DP match and allows us to pick this YAML for this unit
- hidden: true
- optional: true
- mapping:
- - dps_val: 32
- value: true
- - value: false
- - id: 113
- name: option
- type: string
- # the unit's actual hardware doesn't support this functionality even though the firmware / DP is exposed
- # we are forced to add it so that Tuya Local gets to 100% DP match and allows us to pick this YAML for this unit
- hidden: true
- optional: true
- 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
- - id: 114
- name: option
- type: string
- # the unit's actual hardware doesn't support this functionality even though the firmware / DP is exposed
- # we are forced to add it so that Tuya Local gets to 100% DP match and allows us to pick this YAML for this unit
- hidden: true
- optional: true
- 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
- - dps_val: "5"
- value: Partial Left
- - dps_val: "6"
- value: Partial Right
- - dps_val: "7"
- value: Wide Angle
- - id: 115
- type: integer
- name: total_n
- # the unit's actual hardware doesn't support this functionality even though the firmware / DP is exposed
- # we are forced to add it so that Tuya Local gets to 100% DP match and allows us to pick this YAML for this unit
- hidden: true
- optional: true
- - id: 119
- name: psaving
- type: string
- # the unit's actual hardware doesn't support this functionality even though the firmware / DP is exposed
- # we are forced to add it so that Tuya Local gets to 100% DP match and allows us to pick this YAML for this unit
- hidden: true
- optional: true
- mapping:
- - dps_val: "0"
- value: None
- default: true
- - dps_val: "1"
- value: Default Power Saving
- - dps_val: "2"
- value: Quota Power Saving
- - dps_val: "3"
- value: Fixed Temperature Power Saving
- - id: 120
- name: llevel
- type: string
- # the unit's actual hardware doesn't support this functionality even though the firmware / DP is exposed
- # we are forced to add it so that Tuya Local gets to 100% DP match and allows us to pick this YAML for this unit
- hidden: true
- optional: true
- mapping:
- - dps_val: "off"
- value: None
- default: true
- - dps_val: L1
- value: L1
- - dps_val: L2
- value: L2
- - dps_val: L3
- value: L3
- - id: 125
- name: air_quality
- type: string
- # the unit's actual hardware doesn't support this functionality even though the firmware / DP is exposed
- # we are forced to add it so that Tuya Local gets to 100% DP match and allows us to pick this YAML for this unit
- hidden: true
- optional: true
- - id: 126
- name: vertical_direction
- type: string
- # the unit's actual hardware doesn't support this functionality even though the firmware / DP is exposed
- # we are forced to add it so that Tuya Local gets to 100% DP match and allows us to pick this YAML for this unit
- hidden: true
- optional: true
- 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: 127
- name: fan_orientation
- type: string
- # the unit's actual hardware doesn't support this functionality even though the firmware / DP is exposed
- # we are forced to add it so that Tuya Local gets to 100% DP match and allows us to pick this YAML for this unit
- hidden: true
- optional: true
- 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
- - dps_val: "6"
- value: Wide angle left
- - dps_val: "7"
- value: Wide angle right
- - dps_val: "8"
- value: Wide angle
- - id: 129
- type: string
- name: power_picker
- read_only: true
- mapping:
- - dps_val: 1
- value: 1 kWh
- - dps_val: 2
- value: 2 kWh
- - dps_val: 3
- value: 3 kWh
- - dps_val: 4
- value: 4 kWh
- - dps_val: 5
- value: 5 kWh
- # the unit's actual hardware doesn't support this functionality even though the firmware / DP is exposed
- # we are forced to add it so that Tuya Local gets to 100% DP match and allows us to pick this YAML for this unit
- hidden: true
- optional: true
- - id: 130
- name: eco_mode_temperature_setting
- type: integer
- unit: C
- range:
- min: 26
- max: 31
- optional: true
- - id: 131
- type: boolean
- name: dirty_filter
- readonly: true
- # the unit's actual hardware doesn't support this functionality even though the firmware / DP is exposed
- # we are forced to add it so that Tuya Local gets to 100% DP match and allows us to pick this YAML for this unit
- hidden: true
- optional: true
- - id: 132
- name: is_fan_air_cold
- type: boolean
- # the unit's actual hardware doesn't support this functionality even though the firmware / DP is exposed
- # we are forced to add it so that Tuya Local gets to 100% DP match and allows us to pick this YAML for this unit
- hidden: true
- optional: true
- mapping:
- - dps_val: true
- value: Cold Wind
- - dps_val: false
- value: Hot wind
- - id: 133
- # the unit's actual hardware doesn't support this functionality even though the firmware / DP is exposed
- # we are forced to add it so that Tuya Local gets to 100% DP match and allows us to pick this YAML for this unit
- hidden: true
- optional: true
- name: swing_support
- 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: working_time
- type: string
- # the unit's actual hardware doesn't support this functionality even though the firmware / DP is exposed
- # we are forced to add it so that Tuya Local gets to 100% DP match and allows us to pick this YAML for this unit
- hidden: true
- optional: true
- - id: 135
- name: running_time
- type: integer
- # the unit's actual hardware doesn't support this functionality even though the firmware / DP is exposed
- # we are forced to add it so that Tuya Local gets to 100% DP match and allows us to pick this YAML for this unit
- hidden: true
- optional: true
- - id: 136
- name: dr_energy_function
- type: string
- # the unit's actual hardware doesn't support this functionality even though the firmware / DP is exposed
- # we are forced to add it so that Tuya Local gets to 100% DP match and allows us to pick this YAML for this unit
- hidden: true
- optional: true
- secondary_entities:
- - entity: switch
- name: "Sleep Mode"
- icon: "mdi:sleep"
- translation_key: sleep
- category: config
- dps:
- - id: 105
- type: string
- name: switch
- mapping:
- # IOT Tuya says these are the 4 values of the enum but only OFF and CHILD
- # are supported by the firmware
- # "off",
- # "normal",
- # "old",
- # "child"
- - dps_val: "normal"
- value: true
- - dps_val: "off"
- value: false
- - value: false
- - entity: sensor
- name: "Configured Temperature Unit"
- category: diagnostic
- class: enum
- dps:
- - id: 19
- name: sensor
- type: string
- optional: true
- mapping:
- - dps_val: "f"
- value: "°F"
- icon: "mdi:temperature-fahrenheit"
- icon_priority: 2
- - dps_val: "c"
- value: "°C"
- icon: "mdi:temperature-celsius"
- icon_priority: 2
- - entity: sensor
- translation_key: status
- class: enum
- category: diagnostic
- dps:
- - id: 20
- type: bitfield
- name: sensor
- mapping:
- - dps_val: 0
- value: Normal
- icon: "mdi:check-circle"
- icon_priority: 2
- - dps_val: E1
- value: Fault E1
- icon: "mdi:alert-circle"
- icon_priority: 2
- - dps_val: E2
- value: Fault E2
- icon: "mdi:alert-circle"
- icon_priority: 2
- - id: 122
- name: fault2
- type: bitfield
- optional: true
- - entity: binary_sensor
- class: problem
- category: diagnostic
- dps:
- - id: 20
- type: bitfield
- name: sensor
- mapping:
- - dps_val: 0
- value: false
- - dps_val: E1
- value: false
- - dps_val: E2
- value: false
- - value: true
- - id: 20
- type: bitfield
- name: fault_code
- - id: 122
- name: fault2
- type: bitfield
- optional: true
- - entity: sensor
- # unclear what this is, seems like intended to be total power but it's unitless per IOT and doesn't exactly track
- # what the unit is doing so leaving as a diagnostic-only sensor that should probably be disabled by the user
- name: totalp
- category: diagnostic
- #class: measurement
- dps:
- - id: 116
- name: sensor
- type: integer
- optional: true
- # from tuya iot dev
- range:
- min: 0
- max: 1000000
- - entity: number
- name: Eco Mode Temperature Setting
- category: config
- class: temperature
- dps:
- - id: 130
- name: value
- type: integer
- unit: C
- range:
- min: 26
- max: 31
- optional: true
|