UNPKG

node-red-contrib-nanoleaf-aurora

Version:

A node-red module, which provides nodes to manipulate a Nanoleaf Aurora installation.

31 lines (26 loc) 1.22 kB
module.exports = function (RED) { 'use strict' function Power(config) { RED.nodes.createNode(this, config) var node = this var installationObj = RED.nodes.getNode(config.installation) this.on('input', (msg) => { var payload = msg.payload var operation if ((typeof payload === 'boolean' && payload === true) || (typeof payload === 'number' && payload === 1) || (typeof payload === 'string' && payload.toLocaleUpperCase() === 'ON')) { operation = { 'value': true } } else if ((typeof payload === 'boolean' && payload === false) || (typeof payload === 'number' && payload === 0) || (typeof payload === 'string' && payload.toLocaleUpperCase() === 'OFF')) { operation = { 'value': false } } else { node.error(`Unrecognised payload type: ${typeof payload}. ${JSON.stringify(payload)}`) return } installationObj.setState('on', operation).catch((err) => node.error(err.message, err)) }) } RED.nodes.registerType('power', Power) }