type:wall-switch
- Wall switches¶
The wall-switch
type is used to mark things that represent a wall mounted
power switch. A wall switch is commonly used to control
lights or power channels.
if(thing.matches('type:wall-switch')) {
// This is a wall switch
if(thing.matches('cap:children')) {
// Lights or power channels available as children
const firstChild= thing.getChild('1'); // depends on the implementation
}
}
Implementing type¶
Without any children:
const { WallSwitch } = require('abstract-things/electrical');
class Example extends WallOutlet.with(...) {
}
With power channels as children:
const { Children } = require('abstract-things');
const { WallSwitch, PowerChannel } = require('abstract-things/electrical');
class Example extends WallSwitch.with(Children, ...) {
constructor() {
super();
this.addChild(new ExampleChild(this, 1));
this.addChild(new ExampleChild(this, 2));
}
}
class ExampleChild extends PowerChannel.with(...) {
constructor(parent, idx) {
this.parent = parent;
this.id = parent.id + ':' + idx;
}
}