ikettle.js

A nodejs wrapper for the ikettle

Usage no npm install needed!

<script type="module">
  import ikettleJs from 'https://cdn.skypack.dev/ikettle.js';
</script>

README

iKettle API

A very simple API to the WIFI Kettle / iKettle.

Requires nodejs >=0.11

Build Status npm version Dependency Status devDependency Status

Licence

MIT

Donate

Like it?

Bitcoin: 17cc2cNc343Mg3RbYZmocxXDXmDLARipeM

Support via Gratipay

Usage

Methods

Discover the kettle

ikettle.discover(function(error, success) {
   console.log(error, success)
})

Boil the kettle

ikettle.boil(function() {
  console.log('Kettle boiling')
})

Note: The callback is optional since the kettle will emit status events.

Stop / switch off the kettle

ikettle.stop(function() {
  console.log('Kettle off')
})

Note: The callback is optional since the kettle will emit status events.

Get kettle status

ikettle.getStatus(function() {
  console.log('Retrieving kettle status')
})

Note: The callback is optional since the kettle will emit status events.

Set temperature

ikettle.setTemperature(temperature, function(error) {
  if (error) console.log(error)
})

If error is populated then an error has occurred. Valid values for temperature are:

  • 100
  • 95
  • 80
  • 65

Keep Warm

Activate / Deactivate

ikettle.setKeepWarm(function() {
    console.log('Kettle set to keep warm')
})

Note: The callback is optional since the kettle will emit status events.

Set keep warm time

ikettle.setKeepWarmTime(time, function(error) {
    if (error) console.log(error)
})

Set keep warm time, valid values of time are:

  • 5 * 60 * 1000 = 5 minutes
  • 10 * 60 * 1000 = 10 minutes
  • 20 * 60 * 1000 = 20 minutes

Events

Temperature

ikettle.on('temperature', function(temperature) {
  console.log(
    'Kettle temperature set to ' +
    temperature +
    '℃'
    )
 })

Boiling

ikettle.on('boiling', function() {
  console.log('Kettle is boiling')
})

Boiled

ikettle.on('boiled', function() {
  console.log('Kettle has boiled')
})

Off

ikettle.on('off', function() {
  console.log('Kettle is off')
})

Keep warm

ikettle.on('keep-warm', function(active) {
  console.log('Keep warm is active?', active)
})

Time

ikettle.on('keep-warm-time', function(time) {
  console.log('Keep warm time ' + time + ' ms')
})

Expired

ikettle.on('keep-warm-expired', function() {
  console.log('Keep warm time expired')
})

Kettle removed

When the kettle body is removed from the base we are alerted as follows:

ikettle.on('removed', function() {
  console.log('Kettle body removed')
})

Overheat / Boil dry

ikettle.on('overheat', function() {
  console.log('Kettle overheating')
})

Error

ikettle.on('error', functon(error) {
  console.log('ERROR', error)
})