I bought an iKettle in October and it got delivered today.  

Looks like they are using a wifi to serial interface, HLK-WIFI-M03 which you can configure via tcp port 23 (to set the wifi network to connect to etc).

More interesting/safer is tcp port 2000 where you can use a simple protocol get the status of the kettle and tell it to boil etc.

"HELLOKETTLE" gets you a "HELLOAPP" back

"get sys status" gets you a "sys status key=X" back where X is either blank (everything is off) or a bit field on the current status, you use this when you first start your app so you can get the current state.

(you see everyones responses, so when another client connects you'll get their helloapp and sys status key=X message)

"set sys output BLAH" tells the kettle to do things.  You can send it
    0x0 - button "OFF"
    0x2 - button "95C"
    0x4 - button "ON"
    0x8 - button "warm"
   (not sure about how to set 5/10/20 mins, probably 0x8005 etc untested)
    0x80 - button "100C"
    0x200 - button "65C"
    0x4000 - button "80C"

Meanwhile the kettle sends you async status messages like "sys status BLAH" where BLAH is
   0x100 - set to 100C mode  [key & 0x20]
   0x95 - set to 95C mode [key & 0x10]
   0x80 - set to 80C mode [key & 0x08]
   0x65 - set to 65C mode [key & 0x04]
   0x11 - warm mode is on [key & 0x02]
   0x10 - warm mode is ended
   0x5 - turned on [key & 0x01]
   0x0 - turned off
   0x80[xx] - keep warm for xx mins (05,10,20)
   0x3 - finished boiling
Shared publiclyView activity