miio
Version:
Control Mi Home devices, such as Mi Robot Vacuums, Mi Air Purifiers, Mi Smart Home Gateway (Aqara) and more
70 lines (49 loc) • 1.84 kB
Markdown
into a [`power-plug`][power-plug] with support for [power switching][switchable-power].
```javascript
if(device.matches('type:power-strip')) {
/*
* This device is a power strip.
*/
}
```
```javascript
// Get if the outlets on the strip have power
device.power()
.then(isOn => console.log('Outlet power:', isOn))
.catch(...);
// Using async/await
console.log('Outlet power:', await device.power());
```
```javascript
// Switch the outlets on
device.setPower(true)
.then(...)
.catch(...)
// Switch on via async/await
await device.power(true);
```
* `device.power()` - get if the outlets currently have power
* `device.power(boolean)` - switch if outlets have power
* `device.setPower(boolean)` - switch if outlets have power
* `device.on(power, isOn => ...)` - listen for power changes
The V1 plug has a USB-outlet that can be controlled individually. It is made
available as a child that implements [power switching][switchable-power]:
```javascript
const usbOutlet = light.child('usb');
const isOn = await usbOutlet.power();
```
[ ]: http://abstract-things.readthedocs.io/en/latest/electrical/plugs.html
[ ]: http://abstract-things.readthedocs.io/en/latest/sensors/index.html
[ ]: http://abstract-things.readthedocs.io/en/latest/common/power.html
[ ]: http://abstract-things.readthedocs.io/en/latest/common/switchable-power.html
* **Devices**: Mi Smart Socket Plug, Aqara Plug
* **Model identifiers**: `chuangmi.plug.v1`, `chuangmi.plug.v2`, `chuangmi.plug.m1`, `lumi.plug`
The supported models of power plugs are mapped