Kogan Smart Kettle

I had no clue at first , trial and error got me to figure it out haha
Any time :smile:

That got me thinking

Why add a inputselect

    name: Set Kettle
      - 'Keepwarm off :102,0'
      - 'Keepwarm 40c :102,1'
      - 'Keepwarm 50c :102,2'
      - 'Keepwarm 60c :102,3'
      - 'Keepwarm 80c :102,4'
      - 'Keepwarm 90c :102,5'

now the automation

- id: set the kettle
  initial_state: true
  alias: Set the Kettle
  - entity_id: input_select.kettle_set
    platform: state
      service: mqtt.publish
        topic: 'Kogan/cmnd/TuyaSend4'
        payload: > 
          {% set dta = trigger.to_state.state %}

would love that Jinja on 1 line still getting head around it LOL


Does it work as desired? I don’t understand sorry :sweat_smile:

yes it does just trying to make it look nice ill work it out some day

how did you flash it? I noticed Tasmota says if the device uses the kuya app you may be able to flash it OTA… is that how you did it?


Plug it into powe run tuya-convert and it was done

1 Like

Hey guys,

I had issues with the temperature mqtt sensor provided on the blackadder template for the Kogan kettle. Not sure if it’s due to updates to hass or maybe with tasmota? To get this working I used the following code, I thought I’d share in case anyone else runs into this.

  - platform: mqtt
    name: "Kogan Temperature"
    state_topic: kogan/tele/RESULT
    value_template: >
      {% if value_json.TuyaReceived['5'].DpIdData %}
         {{ value_json.TuyaReceived['5'].DpIdData | int(base=16) }}
      {% else %}
        {{ states('sensor.kogan_temperature') }}
      {% endif %}
    unit_of_measurement: '°C'

here is mine

  - platform: mqtt
    name: "Kettle Temperature"
    state_topic: tele/Kettle/RESULT
    value_template: >
      {% if 5 == value_json.TuyaReceived.DpId %}
         {{ value_json.TuyaReceived.DpIdData | int(base=16) }}
      {% else %}
        {{ states('sensor.kettle_temperature') }}
      {% endif %}
    unit_of_measurement: '°C'

Im running tasmota

thanks @myle, that was the original code I had tried to use but it wouldn’t return any data for me it just showed “unknown”.

I’m running tasmota 8.3.1 on the kettle and Home Assistant 0.111.4 on HassOS 4.10.

@ruggj90 did you update

just to help out other user as they get the template from there not here.

mmmmm mite have look into what has change remember


Very new here but used the above code and had to change my state_topic to “tele/tasmota/RESULT” and now it shows the temperature :slight_smile: My first project so far is a minor success.

Hey, check out my post, I use 8.3.1 and i had the same issue. I was able to resolve it.


If you want to hide the payload in your dropdown options, you can have the mapping in Jinja2 like this:

{% set mapping = { "OFF": "102,0", "40": "102,1", ... } %}
{% set dta = trigger.to_state.state %}
{{ mapping[dta] }}
1 Like

Thanks bro like your thinking

dude you have no idea how long I have been trying to work on this stuff, your post made it so easy and wow helped me so much. I cannot express enough how helpful that all was!!!
I am only new to this stuff and this kettle was my first attempt at home automation and all the reading and videos didn’t really get me anywhere but this guide is a huge huge help!

It took me a while to figure everything out too, I just started using home assistant 1 month ago. The Tuya payload is definitely the more confusing part, and I cannot find much documentation about it. I’m glad it helped!


All working :slight_smile: perfect guide mate, now my next task is the Kogan pet feeder lol

(This is my first original contribution post, please be nice)

I accidentally uploaded tasmota-minimal and bricked my kettle so I poked around trying to figure out how to flash via serial. I figured it out. BUT, I would honestly recommend other methods before this, including: 1. Flash OTA using Tuya Convert; 2. Use Google Assistant relay to mimic “hey google, turn on the kettle”; 3. Flashing via serial (detailed below). This only gives enough detail for someone familiar with serial flashing already.

Inside the kettle & accessing the flashing points on the ESP8266
It was actually really easy to get into the kettle and see all the electronics including the ESP8266 chip running the smarts of the device. While I have flashed heaps of sonoff devices and d1 minis over serial I was completely lost. There’s no obvious markings for VCC, GND, RX and TX so I thought I’d point out to other novices (like me) how to do it.

The chip appears to be an ESP8266. The model is TYWE3S. If you get stuck on the steps below, check these two articles that helped me: about the TYWE3S (here) and the section on this page title Flashing - Preparation (here).


  1. Extract the computer board (unscrew base, remove handle cover, remove the computer board from the handle).
  2. Get ready to flash, part 1: attach cables from your serial adaptor to the ESP8266 board, like this.
  3. Get ready to flash, part 2: (as per Flashing - Preparation subheading) You need to GPIO-0 to the GND to enable flashing mode - i soldered a wire between.
  4. (also as per link in #3) Disable the MCU during flashing. (Warning: I have little expertise and fumbled my way through this. I think I was probably a few mins away from overheating the whole thing - there is probably a better way but I had no guides to follow and nothing to lose.) The article gives 3 options to disable the MCU sending data on TX and RX. I went with option 3. The way I did this was probably pretty dodgy, and definitely smelt a bit like burning, but I got away with it: link the GND of the ESP chip with either VDD on the underside. I knew this worked when the lights of the display did not light up. EDIT: the best way would be to de-solder the four pins holding the two boards together.
  5. Unlink GPIO-0 and GND from ESP chip) and power back up so that it is no longer in flashing mode. As per any other flashing process, it should produce its own Wifi network, join, configure as per many other guides, and then set up kettle as per the original post.

Good luck to anyone else doing this!

EDIT: 21/03/2021 made changes to Step 4


Thanks for the update and taking the time to right this


1 Like

You’re all awesome! Thanks so much for all the help with this.

One quick question: I’ve got mine flashed and got the tempers ture and other sensors working. But when I put the kettle on to boil manually - i.e. At the kettle rather than via MQTT or HASS - the power status is not reflecting back in my sensors? So it still shows as off, even though it isn’t.

Any ideas on that one?