
Available from:
Kmart.com.au
Flashed with:
Serial port
GPIO # | Component |
---|---|
GPIO00 | User |
GPIO01 | User |
GPIO02 | User |
GPIO03 | User |
GPIO04 | User |
GPIO05 | User |
GPIO09 | None |
GPIO10 | None |
GPIO12 | User |
GPIO13 | Tuya Rx |
GPIO14 | User |
GPIO15 | Tuya Tx |
GPIO16 | User |
ADC0 | None |
{"NAME":"Anko Kettle","GPIO":[1,1,1,1,1,1,0,0,1,2304,1,2272,1,0],"FLAG":0,"BASE":54}
Flashing
Flashing is fairly straightforward. Just open it up, and solder the IO0, TX, RX, GND and VCC wires for your FTDI flash. IO0 must be connected to ground for flash mode, and can be left connected during the entire procedure. Note that you must use 3.3v.
I didn’t need to isolate or disable the MCU but, if your experience differs, it’s easily accessible on the opposite side of the board.
Also of note: The flash worked perfectly, but I couldn’t power the chip from my FTDI adapter. So you will need to put it back together before seeing the Tasmota Access Point appear.
MCU Functions
My use of this kettle is pretty straightforward, so I haven’t explored the ‘keep warm’ settings. They do look fully exposed, so it will just take some more experimentation. I’ll try to get back to this.
dpid1
is the relay. You can toggle it, but it will only heat to the temperature set.
dpid2
reports current temperature in Celcius.
dpid4
sets the target boil temperature. fnid 0
= 80, 1
= 85, 2
= 90, 3
= 95, 4
= 100.
dpid15
seems to report current status. 1
is boiling, and 3
is maintaining temperature.
Home Assistant Integration
The ProfiCook profile has some great Home Assistant automation guidance. To get you started, SetOption66 1
and SetOption19 1
, then the temperature can be reported via:
- platform: mqtt
name: "Kettle Temperature"
state_topic: "tele/kettle/RESULT"
value_template: >
{% if value_json.TuyaReceived is defined and value_json['TuyaReceived'].DpType2Id2 is defined %}
{{ value_json['TuyaReceived'].DpType2Id2 }}
{% else %}
{{ states('sensor.kettle_temperature') }}
{% endif %}
unit_of_measurement: "°C"
availability_topic: "tele/kettle/LWT"
payload_available: "Online"
payload_not_available: "Offline"
device_class: temperature
You can call the kettle to boil via
switch:
- platform: mqtt
name: "Kettle"
state_topic: "tele/kettle/RESULT"
state_on: "ON"
state_off: "OFF"
command_topic: "cmnd/kettle/TuyaSend4"
payload_on: "4,4"
payload_off: "1,0"
availability_topic: "tele/kettle/LWT"
payload_available: "Online"
payload_not_available: "Offline"
retain: false
icon: mdi:kettle