Kyvol Epichef AF600 WiFi Airfryer - LocalTuya

Based heavily off (shamelessly stolen from) dipdipotat0chip’s “Rohnson R-2838 WIFI Air Fryer” guide.
Thank you dipdipotat0chip!

Config

I would recommend using “Smart Life”, rather than the recommended “Kyvol” app - both use Tuya services in any case.

First, you need to setup LocalTuya in HA: GitHub - rospogrigio/localtuya: local handling for Tuya devices

LocalTuya device configurations below:

LocalTuya Entity/DP entries:
DP 1 - Switch - “Power”
DP 2 - Switch - “Start/Stop”
DP 3 - Select - “Mode”

  • Entries: “default;vagetable;Chicken;beef;seafood;dessert;frech;defrost;Toast;reheat;dehydrate;recipe;Preheat”
  • Friendly names: “Default;Vegetable;Chicken;Beef;Seafood;Dessert;French Fries;Defrost;Toast;Reheat;Dehydrate;Recipe;Preheat”
  • Default value: “default”

DP 6 - Number - “Cooking Temperature”, Min value: 30, Max Value: 200, Default Value: 180
DP 9 - Number - “Cook Time”, default: 15
DP 10 - Number - “Time Remaining”, default: 15

Custom cards needed:
custom:button-card
custom:mushroom-chips-card
custom:numberbox-card
custom:card-mod

Lovelace YAML code:

type: vertical-stack
cards:
  - type: custom:button-card
    name: >-
      <b style="letter-spacing:-1.5px;font-size:36px;font-weight:bold">Kyvol
      Airfryer
    show_label: true
  - type: horizontal-stack
    cards:
      - show_name: true
        show_icon: true
        type: custom:button-card
        show_entity_picture: true
        name: Power
        state:
          - value: 'on'
            icon: mdi:power
            color: green
          - value: 'off'
            icon: mdi:power
            color: red
        entity: switch.power
      - show_name: true
        show_icon: true
        type: custom:button-card
        show_entity_picture: true
        name: Start/Stop
        state:
          - value: 'on'
            icon: mdi:fan
            color: green
            styles:
              icon:
                - animation:
                    - rotating 1s linear infinite
          - value: 'off'
            icon: mdi:fan
            color: gray
        entity: switch.start_stop
  - type: custom:mushroom-chips-card
    chips:
      - type: template
        entity: select.mode
        icon: mdi:food-fork-drink
        tap_action:
          action: call-service
          service: select.select_option
          data:
            option: Default
          target:
            entity_id: select.mode
        content_info: none
        icon_color: |-
          {% set state=states('select.mode') %}
          {% if state=='Default' %}
          green
          {% else %}
          gray
          {% endif %} 
      - type: template
        entity: select.mode
        icon: mdi:grass
        tap_action:
          action: call-service
          service: select.select_option
          data:
            option: Vegetable
          target:
            entity_id: select.mode
        content_info: none
        icon_color: |-
          {% set state=states('select.mode') %}
          {% if state=='Vegetable' %}
          green
          {% else %}
          gray
          {% endif %}  
      - type: template
        entity: select.mode
        content_info: none
        icon: mdi:food-drumstick
        tap_action:
          action: call-service
          service: select.select_option
          data:
            option: Chicken
          target:
            entity_id: select.mode
        icon_color: |-
          {% set state=states('select.mode') %}
          {% if state=='Chicken' %}
          green
          {% else %}
          gray
          {% endif %}  
      - type: template
        entity: select.mode
        content_info: none
        icon: mdi:food-steak
        tap_action:
          action: call-service
          service: select.select_option
          data:
            option: Beef
          target:
            entity_id: select.mode
        icon_color: |-
          {% set state=states('select.mode') %}
          {% if state=='Beef' %}
          green
          {% else %}
          gray
          {% endif %}  
      - type: template
        entity: select.mode
        content_info: none
        icon: mdi:fish
        tap_action:
          action: call-service
          service: select.select_option
          data:
            option: Seafood
          target:
            entity_id: select.mode
        icon_color: |-
          {% set state=states('select.mode') %}
          {% if state=='Seafood' %}
          green
          {% else %}
          gray
          {% endif %}  
      - type: template
        entity: select.mode
        content_info: none
        icon: mdi:cupcake
        tap_action:
          action: call-service
          service: select.select_option
          data:
            option: Dessert
          target:
            entity_id: select.mode
        icon_color: |-
          {% set state=states('select.mode') %}
          {% if state=='Dessert' %}
          green
          {% else %}
          gray
          {% endif %}  
      - type: template
        entity: select.mode
        content_info: none
        icon: mdi:french-fries
        tap_action:
          action: call-service
          service: select.select_option
          data:
            option: French Fries
          target:
            entity_id: select.mode
        icon_color: |-
          {% set state=states('select.mode') %}
          {% if state=='French Fries' %}
          green
          {% else %}
          gray
          {% endif %}  
      - type: template
        entity: select.mode
        content_info: none
        icon: mdi:bread-slice
        tap_action:
          action: call-service
          service: select.select_option
          data:
            option: Toast
          target:
            entity_id: select.mode
        icon_color: |-
          {% set state=states('select.mode') %}
          {% if state=='Toast' %}
          green
          {% else %}
          gray
          {% endif %}  
      - type: template
        entity: select.mode
        content_info: none
        icon: mdi:food-takeout-box
        tap_action:
          action: call-service
          service: select.select_option
          data:
            option: Reheat
          target:
            entity_id: select.mode
        icon_color: |-
          {% set state=states('select.mode') %}
          {% if state=='Reheat' %}
          green
          {% else %}
          gray
          {% endif %}
      - type: template
        entity: select.mode
        content_info: none
        icon: mdi:heat-wave
        tap_action:
          action: call-service
          service: select.select_option
          data:
            option: Preheat
          target:
            entity_id: select.mode
        icon_color: |-
          {% set state=states('select.mode') %}
          {% if state=='Preheat' %}
          green
          {% else %}
          gray
          {% endif %}
    alignment: justify
  - type: horizontal-stack
    cards:
      - type: vertical-stack
        cards:
          - type: custom:numberbox-card
            border: true
            entity: number.cook_time
            icon: mdi:clock
            name: Cooking Time
          - type: custom:numberbox-card
            border: true
            entity: number.cooking_temperature
            icon: mdi:thermometer
            unit: c
            name: Cooking Temperature
            step: 5
  - type: horizontal-stack
    cards:
      - type: entity
        unit: min
        entity: number.cook_time
        icon: mdi:clock-outline
        name: Time Remaing
        state_color: false
      - type: custom:button-card
        show_name: true
        show_icon: true
        show_entity_picture: true
        name: Food
        state:
          - value: Default
            icon: mdi:food-fork-drink
            name: Default Mode
          - value: Vegetable
            icon: mdi:grass
            name: Vegetable
          - value: Chicken
            icon: mdi:food-drumstick
            name: Chicken
          - value: Beef
            icon: mdi:food-steak
            name: Beef
          - value: Seafood
            icon: mdi:fish
            name: Seafood
          - value: Dessert
            icon: mdi:cupcake
            name: Dessert
          - value: French Fries
            icon: mdi:french-fries
            name: French Fries
          - value: Toast
            icon: mdi:bread-slice
            name: Toast
          - value: Reheat
            icon: mdi:food-takeout-box
            name: Reheat
          - value: Dehydrate
            icon: mdi:water-off
            name: Dehydrate
          - value: Recipe
            icon: mdi:receipt-text
            name: Recipe
          - value: Preheat
            icon: mdi:heat-wave
            name: Preheat
        entity: select.mode

1 Like