tuya-local icon indicating copy to clipboard operation
tuya-local copied to clipboard

Request support for Tesla Air Conditioner TA36FFML-1232IAW

Open hrenki opened this issue 1 year ago • 5 comments

Log Message

Device matches della_airconditioner with quality of 71%. DPS: {"updated_at": 1706360223.7287369, "1": true, "2": 230, "3": 250, "4": "hot", "5": "auto", "8": false, "12": false, "13": true, "14": false, "19": "C", "28": 0, "33": false, "102": false, "103": false, "104": false, "105": false, "106": false, "107": 0, "108": 14, "109": false, "110": false, "111": 0, "112": 0, "114": false}

Information about DPS mappings

{"1":"Power","2":"Set Temp","3":"Temp Current","4":"Mode","5":"WindSpeed","8":"Eco","12":"Heat","13":"Screen","14":"Child Lock","19":"Temp Scale","28":"Consumption","33":"Swing Horizontal","102":"Sleep","103":"Clean","104":"Anti-mould","105":"Up-down","106":"Health","107":"Fault","108":"机型","109":"定时开机","110":"定时关机","111":"定时-小时","112":"定时-分钟","113":"Power limit","114":"用电限制开关"}
Power	Boolean	
"{true,false}"

temp_set	Integer	
{
  "unit": "℃/F",
  "min": 160,
  "max": 900,
  "scale": 1,
  "step": 10
}

temp_current	Integer	
{
  "unit": "℃/F",
  "min": -300,
  "max": 1760,
  "scale": 1,
  "step": 10
}

mode	Enum	
{
  "range": [
    "cold",
    "hot",
    "wet",
    "wind",
    "auto"
  ]
}

windspeed	Enum	
{
  "range": [
    "mute",
    "low",
    "mid",
    "high",
    "auto",
    "strength",
    "mid_low",
    "mid_high"
  ]
}

eco	Boolean	
"{true,false}"

heat	Boolean	
"{true,false}"

light	Boolean	
"{true,false}"

child_lock	Boolean	
"{true,false}"

C_F	Enum	
{
  "range": [
    "C",
    "F"
  ]
}

power_consumption	Integer	
{
  "unit": "kW·h",
  "min": 0,
  "max": 255,
  "scale": 0,
  "step": 1
}

switch_horizontal	Boolean	
"{true,false}"

sleep	Boolean	
"{true,false}"

clean	Boolean	
"{true,false}"

anti_mould	Boolean	
"{true,false}"

up_down_wind	Boolean	
"{true,false}"

health	Boolean	
"{true,false}"

fault_up	Integer	
{
  "unit": "",
  "min": 0,
  "max": 30,
  "scale": 0,
  "step": 1
}

model	Bitmap	
{
  "label": [
    "0",
    "1",
    "2",
    "3"
  ],
  "maxlen": 4
}

countdown_on	Boolean	
"{true,false}"

countdown_off	Boolean	
"{true,false}"

countdown_hour	Integer	
{
  "unit": "h",
  "min": 0,
  "max": 23,
  "scale": 0,
  "step": 1
}

countdown_min	Integer	
{
  "unit": "min",
  "min": 0,
  "max": 59,
  "scale": 0,
  "step": 1
}

power_limit	Integer	
{
  "unit": "%",
  "min": 30,
  "max": 100,
  "scale": 0,
  "step": 1
}

power_limit_switch	Boolean	
"{true,false}"

Product ID

"model": "TYAUX_F / AUX_LM / TYAUX_J",
"product_id": "wxqdp6ecfkd78zzz",
"product_name": "AUX系列空调-DP新增",

Information about how the device functions

hrenki avatar Jan 26 '24 16:01 hrenki

The logs needed are the local logs from when you try to add the device using this integration.

make-all avatar Jan 27 '24 01:01 make-all

logs are updated. i just edited "Della air conditioner" and change some names of entities, added fan off mode and added horizontal swing switch... It is now fully working

name: Tesla 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: mute
          value: "off"
        - 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"
    - id: 107
      type: bitfield
      name: fault_code
secondary_entities:
  - entity: switch
    name: Heat
    icon: "mdi:fire"
    dps:
      - id: 12
        name: switch
        type: boolean
  - entity: switch
    name: Swing horizontal
    icon: "mdi:swap-horizontal"
    dps:
      - id: 33
        name: switch
        type: boolean
  - entity: light
    name: Backlight
    category: config
    icon: "mdi:television-ambient-light"
    dps:
      - id: 13
        name: switch
        type: boolean
  - entity: lock
    name: Child lock
    category: config
    icon: "mdi:hand-right-back-off"
    dps:
      - id: 14
        name: lock
        type: boolean
  - entity: select
    name: Temperature unit
    icon: "mdi:temperature-celsius"
    category: config
    dps:
      - id: 19
        type: string
        name: option
        mapping:
          - dps_val: C
            value: Celsius
          - dps_val: F
            value: Fahrenheit
  - entity: sensor
    class: energy
    category: diagnostic
    dps:
      - id: 28
        name: sensor
        type: integer
        unit: kWh
        class: total_increasing
  - entity: switch
    name: Sleep
    category: config
    icon: "mdi:power-sleep"
    dps:
      - id: 102
        name: switch
        type: boolean
  - entity: switch
    name: Clean
    dps:
      - id: 103
        name: switch
        type: boolean
  - entity: switch
    name: Anti-mould
    category: config
    dps:
      - id: 104
        name: switch
        type: boolean
  - entity: switch
    name: iHealth
    icon: "mdi:creation"
    dps:
      - id: 106
        name: switch
        type: boolean
  - entity: binary_sensor
    name: Fault
    class: problem
    category: diagnostic
    dps:
      - id: 107
        name: sensor
        type: bitfield
        mapping:
          - dps_val: 0
            value: false
          - value: true

hrenki avatar Jan 27 '24 13:01 hrenki

Hi, i have a problem where device is not listed in device type selectbox when i go to add new device... is there any way to manualy set device yaml?

hrenki avatar May 13 '24 07:05 hrenki

No, because if the device isn't recognised as matching that config, then why would I want to handle all the additional bug reports from people who manually decide to use it anyway? Possibly there is just a small difference, which can be handled by setting one of the dps to be optional, but I can only judge that if you send the log message that is associated with this non-recognition.

make-all avatar May 13 '24 07:05 make-all

makes sense :)

found a log entry 2024-05-13 09:52:48.329 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Loaded device config tesla_airconditioner.yaml 2024-05-13 09:52:48.329 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Not match for Tesla Air conditioner, DPs have incorrect type: [{'103': 'int'}]

i think that there are duplicated dp's 103 and 104 on lines 234 and 251, there should be 113 and 114 for power limit

hrenki avatar May 13 '24 08:05 hrenki