From c37d47a85bc9f08cba7f4c8aa36ae6c6232800bd Mon Sep 17 00:00:00 2001 From: Jan Scheiper Date: Thu, 6 Jun 2019 21:33:17 +0200 Subject: [PATCH] added support for fogmachines --- FogmachineBase.js | 18 ++++++++++++++++++ index.js | 1 + package-lock.json | 2 +- package.json | 2 +- states/FogmachineState.js | 27 +++++++++++++++++++++++++++ 5 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 FogmachineBase.js create mode 100644 states/FogmachineState.js 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