Enable Allow2Automate the ability to control Wemo smart devices for IoT-based parental controls and home automation.
This plugin integrates Belkin Wemo smart devices with Allow2 parental controls, allowing parents to automate device control based on time quotas, schedules, and parental rules. Control smart plugs, switches, and other Wemo devices to manage access to TVs, gaming consoles, computers, and more.
- Automatic Wemo device discovery on local network
- Turn devices on/off remotely
- Real-time device state monitoring
- Event-driven triggers for device changes
- Support for multiple Wemo devices
- Integration with Allow2 quota system
- Seamless smart home automation
- Device offline detection
- Run allow2automate on your machine:
- [https://apps.apple.com/au/app/allow2automate/id1369546793?mt=12](Mac App Store)
- [](Windows App Store)
- [](Linux Snap Store)
-
Log in using your Allow2 Parent Account
- Install the plugin in your Allow2Automate application
- Ensure Wemo devices are on the same network
- Run device discovery to find Wemo devices
- Configure device mappings and rules
- Set up quota-based automation
This plugin requires the following permissions:
- network: To discover and communicate with Wemo devices on the local network
- configuration: To read and modify plugin settings, including device mappings and automation rules
These permissions are necessary for the plugin to:
- Discover Wemo devices using SSDP protocol on the local network
- Send control commands to turn devices on/off
- Monitor device state changes in real-time
- Store device configurations and automation rules
import WemoPlugin from '@allow2/allow2automate-wemo';
const plugin = new WemoPlugin();
const devices = await plugin.actions.discover({
timeout: 10000 // Discovery timeout in ms
});
console.log('Found devices:', devices);await plugin.actions.turnOn({
deviceId: 'wemo-switch-001',
deviceName: 'Gaming Console'
});await plugin.actions.turnOff({
deviceId: 'wemo-switch-001',
deviceName: 'Gaming Console'
});const state = await plugin.actions.getState({
deviceId: 'wemo-switch-001'
});
console.log('Device is:', state.isOn ? 'ON' : 'OFF');// Automatically turn off gaming console when quota exceeded
plugin.on('quotaExceeded', async (event) => {
await plugin.actions.turnOff({
deviceId: 'wemo-switch-gaming'
});
});
// Turn on device when quota renewed
plugin.on('quotaRenewed', async (event) => {
await plugin.actions.turnOn({
deviceId: 'wemo-switch-gaming'
});
});- Name: Discover Devices
- Description: Discover Wemo devices on the network
- Parameters:
timeout(number, optional): Discovery timeout in milliseconds (default: 10000)
- Returns: Array of discovered devices
- Name: Turn On
- Description: Turn on a Wemo device
- Parameters:
deviceId(string): Wemo device identifierdeviceName(string, optional): Device name for logging
- Name: Turn Off
- Description: Turn off a Wemo device
- Parameters:
deviceId(string): Wemo device identifierdeviceName(string, optional): Device name for logging
- Name: Get State
- Description: Get current state of Wemo device
- Parameters:
deviceId(string): Wemo device identifier
- Returns: Device state object with
isOnboolean
- Name: Device Discovered
- Description: Triggered when a new Wemo device is discovered
- Payload:
deviceId(string): Device identifierdeviceName(string): Device friendly namedeviceType(string): Type of Wemo deviceipAddress(string): Device IP address
- Name: Device State Changed
- Description: Triggered when Wemo device state changes
- Payload:
deviceId(string): Device identifierpreviousState(boolean): Previous on/off statecurrentState(boolean): Current on/off statetimestamp(date): Time of state change
- Name: Device Offline
- Description: Triggered when Wemo device goes offline
- Payload:
deviceId(string): Device identifierdeviceName(string): Device namelastSeen(date): Last communication timestamp
- Wemo Switch
- Wemo Insight Switch
- Wemo Light Switch
- Wemo Mini
- Wemo Dimmer
# Clone the repository
git clone https://github.com/Allow2/allow2automate-wemo.git
cd allow2automate-wemo
# Install dependencies
npm install
# Start development server
npm start
# Build for production
npm run build
# Run tests
npm test- Automatically control gaming consoles based on quotas
- Schedule TV access for specific times
- Control computer power based on homework completion
- Manage smart home devices as parental controls
- Monitor and restrict device usage patterns
- Create time-based automation rules
- Ensure Wemo devices are powered on
- Verify devices are on the same network
- Check firewall settings allow SSDP discovery
- Try increasing discovery timeout
- Verify device is online and responsive
- Check network connectivity
- Ensure device firmware is up to date
- Restart Wemo device if necessary
- Node.js 12.0 or higher
- Allow2Automate 2.0.0 or higher
- Belkin Wemo devices
- Local network connectivity
MIT - See LICENSE file for details
- Issues: GitHub Issues
- Documentation: Allow2 Documentation
- Community: Allow2 Community Forums
Contributions are welcome! Please read our contributing guidelines and submit pull requests to our repository.
Allow2
allow2automate, allow2, wemo, plugin, iot, parental-controls, smart-home