added support for fogmachines

This commit is contained in:
Jan Scheiper 2019-06-06 21:33:17 +02:00
parent b7ed807aff
commit c37d47a85b
5 changed files with 48 additions and 2 deletions

18
FogmachineBase.js Normal file
View File

@ -0,0 +1,18 @@
const HCControlBase = require('./ControlBase');
const FogmachineState = require('./states/FogmachineState');
class HCFogmachineBase extends HCControlBase {
constructor(config) {
super(config, new FogmachineState());
}
get type() {
return "fogmachine";
}
triggerFor(milliseconds) {
return Promise.reject("Not implemented");
}
}
module.exports = HCFogmachineBase;

View File

@ -1,5 +1,6 @@
module.exports = {
HCColorLamp: require('./ColorlampBase'),
HCSwitch: require('./SwitchBase'),
HCFogmachine: require('./FogmachineBase'),
StateUpdateManager: require('./StateUpdateManager'),
};

2
package-lock.json generated
View File

@ -1,6 +1,6 @@
{
"name": "homecontrol-control-base",
"version": "1.0.0",
"version": "1.1.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@ -1,6 +1,6 @@
{
"name": "homecontrol-control-base",
"version": "1.0.0",
"version": "1.1.0",
"description": "Base class which all hc-controls inherit from",
"main": "index.js",
"scripts": {

27
states/FogmachineState.js Normal file
View File

@ -0,0 +1,27 @@
const mergeOptions = require('merge-options');
const BaseState = require('./BaseState');
class FogmachineState extends BaseState {
constructor(cloneObj) {
super();
let cloneState = mergeOptions(FogmachineState.default, cloneObj);
this.ready = cloneState.ready;
}
static get default() {
return {
ready: false
};
}
get asObj() {
return {
ready: this.ready
};
}
}
module.exports = FogmachineState;