Korex AX-WF306N Smart Kettle – Works Perfectly with LocalTuya

Hey everyone,

Just wanted to share my working setup for the Korex AX-WF306N (also sold under Kogan) smart kettle using LocalTuya. It’s working perfectly—and this kettle has become one of my favorite devices.

I did everything through the GUI, so you don’t need to touch YAML to make it work. But in case it helps someone or you want to mirror my config, I’ve included an equivalent configuration.yaml and my full Lovelace card at the end. You can see the DPS mapping below.

This kettle has been rock solid since integrating it via localtuya, and it’s 100% local with no weird workarounds. Hope this helps someone get theirs working too.


:electric_plug: Integration: LocalTuya (HACS)

I added the kettle using the GUI:


:test_tube: What works

Everything you’d want:

  • Power on/off
  • Keep Warm mode toggle
  • Real-time temperature updates
  • Preset target boil temperature via select
  • There’s a function I’m not using to boil and then drop to a temp (like for baby formula)

:receipt: Example configuration.yaml (if you’re not using the GUI)

yaml

CopyEdit

localtuya:
  devices:
    - host: 192.168.1.xxx  # your kettle IP
      device_id: !secret kettle_device_id
      local_key: !secret kettle_local_key
      friendly_name: Korex Smart Kettle
      protocol_version: "3.3"
      entities:
        - platform: switch
          friendly_name: Pot Power
          id: 1
        - platform: sensor
          friendly_name: Pot Temperature
          id: 5
          unit_of_measurement: "°F"
          device_class: temperature
        - platform: switch
          friendly_name: Pot Keep Warm
          id: 103
        - platform: select
          friendly_name: Pot Boil To
          id: 106
        - platform: select
          friendly_name: Pot Boil and Cool To
          id: 107

Note: If you use the GUI like I did, you don’t need this. But this shows what’s going on behind the scenes.


:bulb: My Lovelace Card

Here’s what I use to control it from the dashboard—includes temperature display, power control, and quick-access buttons for custom scripts:

yaml

title: Water Kettle
type: vertical-stack
cards:
  - type: horizontal-stack
    cards:
      - type: custom:button-card
        name: Make Coffee
        icon: mdi:coffee
        tap_action:
          action: call-service
          service: script.make_coffee
        show_name: true
        show_icon: true
        styles:
          icon:
            - color: "#6f4e37"
            - width: 110px
            - height: 110px
      - type: custom:button-card
        name: Make Chai
        icon: mdi:tea
        tap_action:
          action: call-service
          service: script.make_chai
        show_name: true
        show_icon: true
        styles:
          icon:
            - color: "#D2B48C"
            - width: 110px
            - height: 110px
      - type: custom:button-card
        entity: switch.pot_power
        name: "[[[ return states[\"sensor.pot_temperature\"].state + \" °F\"; ]]]"
        show_state: true
        show_icon: true
        styles:
          icon:
            - width: 130px
            - height: 130px
          card:
            - height: 150px
  - type: entities
    state_color: true
    entities:
      - select.pot_boil_to
      - switch.pot_keep_warm

These are the scripts I run from my Lovelace dashboard to make either coffee or chai. Each one turns on the kettle, sets the target temperature via select.pot_boil_to, and enables Keep Warm mode:

yaml

make_coffee:
  alias: Make Coffee
  sequence:
  - service: switch.turn_on
    entity_id: switch.pot_power
  - service: select.select_option
    data:
      entity_id: select.pot_boil_to
      option: 203 coffee
  - service: switch.turn_on
    entity_id: switch.pot_keep_warm

make_chai:
  alias: Make Chai
  sequence:
  - service: switch.turn_on
    entity_id: switch.pot_power
  - service: select.select_option
    data:
      entity_id: select.pot_boil_to
      option: '158'
  - service: switch.turn_on
    entity_id: switch.pot_keep_warm