diff --git a/FogmachineBase.js b/FogmachineBase.js new file mode 100644 index 0000000..8e15cbe --- /dev/null +++ b/FogmachineBase.js @@ -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; \ No newline at end of file diff --git a/index.js b/index.js index 3c8b7ac..0ac3e31 100644 --- a/index.js +++ b/index.js @@ -1,5 +1,6 @@ module.exports = { HCColorLamp: require('./ColorlampBase'), HCSwitch: require('./SwitchBase'), + HCFogmachine: require('./FogmachineBase'), StateUpdateManager: require('./StateUpdateManager'), }; \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 0d4a531..c2f8bdb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "homecontrol-control-base", - "version": "1.0.0", + "version": "1.1.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 6593126..ad53446 100644 --- a/package.json +++ b/package.json @@ -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": { diff --git a/states/FogmachineState.js b/states/FogmachineState.js new file mode 100644 index 0000000..9fd6502 --- /dev/null +++ b/states/FogmachineState.js @@ -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; \ No newline at end of file