node-shellies
Handles communication with the first generation Shelly devices, using both
CoAP and HTTP.
For the next generation devices, see node-shellies-ng.
Features
- Automatically detects Shelly devices (on the same network and subnet).
- Automatically detects when the status of a device changes, such as when a
relay is turned on or off.
- Keeps track of devices and if they go offline (because no status update has
been received in a given amount of time).
Supported devices
The following Shelly devices are supported:
Notes
1 Requires setting the Internet & Security -> CoIoT -> Remote address
option on the Shelly device to the IP address of your device running
node-shellies.
Basic usage example
const shellies = require('shellies')
shellies.on('discover', device => {
console.log('Discovered device with ID', device.id, 'and type', device.type)
device.on('change', (prop, newValue, oldValue) => {
console.log(prop, 'changed from', oldValue, 'to', newValue)
})
device.on('offline', () => {
console.log('Device with ID', device.id, 'went offline')
})
})
shellies.start()