A very simple API to the WIFI Kettle / iKettle.
Requires nodejs >=0.11
MIT
Like it?
Bitcoin: 17cc2cNc343Mg3RbYZmocxXDXmDLARipeM
ikettle.discover(function(error, success) {
console.log(error, success)
})
ikettle.boil(function() {
console.log('Kettle boiling')
})
Note: The callback is optional since the kettle will emit status events.
ikettle.stop(function() {
console.log('Kettle off')
})
Note: The callback is optional since the kettle will emit status events.
ikettle.getStatus(function() {
console.log('Retrieving kettle status')
})
Note: The callback is optional since the kettle will emit status events.
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
ikettle.setKeepWarm(function() {
console.log('Kettle set to keep warm')
})
Note: The callback is optional since the kettle will emit status events.
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
ikettle.on('temperature', function(temperature) {
console.log(
'Kettle temperature set to ' +
temperature +
'℃'
)
})
ikettle.on('boiling', function() {
console.log('Kettle is boiling')
})
ikettle.on('boiled', function() {
console.log('Kettle has boiled')
})
ikettle.on('off', function() {
console.log('Kettle is off')
})
ikettle.on('keep-warm', function(active) {
console.log('Keep warm is active?', active)
})
ikettle.on('keep-warm-time', function(time) {
console.log('Keep warm time ' + time + ' ms')
})
ikettle.on('keep-warm-expired', function() {
console.log('Keep warm time expired')
})
When the kettle body is removed from the base we are alerted as follows:
ikettle.on('removed', function() {
console.log('Kettle body removed')
})
ikettle.on('overheat', function() {
console.log('Kettle overheating')
})
ikettle.on('error', functon(error) {
console.log('ERROR', error)
})