UNPKG

node-red-contrib-power-saver

Version:

A module for Node-RED that you can use to turn on and off a switch based on power prices

34 lines (27 loc) 963 B
const cloneDeep = require("lodash.clonedeep"); const { addTariffToPrices } = require("./general-add-tariff-functions"); const { getEffectiveConfig } = require("./utils"); module.exports = function (RED) { function PsGeneralAddTariffNode(config) { RED.nodes.createNode(this, config); const node = this; const originalConfig = { periods: config.periods, validFrom: config.validFrom, validTo: config.validTo, days: config.days, }; node.context().set("config", originalConfig); node.on("input", function (originalMessage) { const msg = cloneDeep(originalMessage); const effectiveConfig = getEffectiveConfig(node, msg); const prices = msg.payload.priceData; if (!prices || prices.length === 0) { return; } addTariffToPrices(node, effectiveConfig, prices); node.send(msg); }); } RED.nodes.registerType("ps-general-add-tariff", PsGeneralAddTariffNode); };