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
    - id: 12
      type: bitfield
      name: error_code
secondary_entities:
  - entity: switch
    name: Cooking
    icon: "mdi:toaster-oven"
    dps:
      - id: 2
        type: boolean
        name: switch
  - entity: select
    name: Cooking mode
    translation_key: recipe
    dps:
      - id: 3
        type: string
        name: option
        mapping:
          - dps_val: fries
            value: fries
          - dps_val: wings
            value: chicken_wings
          - dps_val: steak
            value: steak
          - dps_val: shrimp
            value: shrimp
          - dps_val: fish
            value: fish
          - dps_val: onionrings
            value: onion_rings
          - dps_val: pizza
            value: pizza
          - dps_val: bacon
            value: bacon
          - dps_val: cake
            value: cake
          - dps_val: toast
            value: toast
          - dps_val: vegetable
            value: vegetables
          - dps_val: custom
            value: custom
          - dps_val: cloud
            value: cloud_recipe
          - dps_val: default
            value: default
          - dps_val: warm
            value: keep_warm
          - dps_val: preheat
            value: preheat
  - entity: sensor
    translation_key: status
    class: enum
    dps:
      - id: 5
        type: string
        name: sensor
        mapping:
          - dps_val: "0"
            value: standby
          - dps_val: "1"
            value: pre_heating
          - dps_val: "2"
            value: cooking
          - dps_val: "3"
            value: done
          - dps_val: "4"
            value: keeping_warm
          - dps_val: "5"
            value: "off"
          - dps_val: "8"
            value: scheduled
  - entity: number
    name: Cooking temperature
    class: temperature
    dps:
      - id: 6
        type: integer
        name: value
        range:
          min: 75
          max: 400
        mapping:
          - step: 5
      - id: 14
        type: string
        name: unit
        mapping:
          - dps_val: c
            value: C
          - dps_val: f
            value: F
  - entity: sensor
    name: Internal temperature
    class: temperature
    dps:
      - id: 7
        type: integer
        name: sensor
        unit: C
  - entity: number
    name: Cooking time
    icon: "mdi:timer"
    dps:
      - id: 9
        type: integer
        name: value
        unit: min
        range:
          min: 1
          max: 720
  - entity: sensor
    translation_key: time_remaining
    class: duration
    dps:
      - id: 10
        type: integer
        name: sensor
        unit: min
  - entity: binary_sensor
    class: problem
    category: diagnostic
    dps:
      - id: 12
        type: bitfield
        name: sensor
        mapping:
          - dps_val: 0
            value: false
          - value: true
  - entity: switch
    name: Pause cooking
    dps:
      - id: 13
        type: boolean
        name: switch
        mapping:
          - dps_val: true
            value: false
          - dps_val: false
            value: true
  - entity: select
    translation_key: temperature_unit
    category: config
    dps:
      - id: 14
        type: string
        name: option
        mapping:
          - dps_val: c
            value: celsius
          - dps_val: f
            value: fahrenheit
  - entity: switch
    name: Preheat
    icon: "mdi:fire"
    dps:
      - id: 15
        type: boolean
        name: switch
  - entity: switch
    name: Keep warm
    icon: "mdi:heat-wave"
    dps:
      - id: 101
        type: boolean
        name: switch
  - entity: binary_sensor
    name: Tray status
    class: opening
    icon: "mdi:tray"
    dps:
      - id: 103
        name: sensor
        type: boolean
  - entity: binary_sensor
    name: Shake
    icon: "mdi:car-brake-alert"
    dps:
      - id: 104
        name: sensor
        type: string
        mapping:
          - dps_val: "0"
            value: false
          - dps_val: "1"
            value: true
  - entity: sensor
    name: Current stage remaining time
    class: duration
    dps:
      - id: 105
        type: integer
        name: sensor
        unit: min
