From 19b19157a04d50dd61fa4fdb68052fe1744787be Mon Sep 17 00:00:00 2001 From: vvzvlad Date: Thu, 5 Oct 2023 23:41:35 +0300 Subject: [PATCH] Bump version to 0.2.14 --- package.json | 2 +- thermostat.js | 18 +++++++++++------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 09501fd..95911db 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@vvzvlad/node-red-contrib-rn-combined-nodes", - "version": "0.2.13", + "version": "0.2.14", "description": "", "main": "index.js", "keywords": [ diff --git a/thermostat.js b/thermostat.js index 3387dd1..cb51c4d 100644 --- a/thermostat.js +++ b/thermostat.js @@ -11,7 +11,9 @@ module.exports = function(RED) { const HEAT_OFF_THRESHOLD = 0.2 let debug = "" + let pwm_timer = null; + let last_state = null; context.set("pwm_period", 10000); // 10 seconds context.set("pwm_tick", 1000); // 1 second @@ -20,6 +22,7 @@ module.exports = function(RED) { if (pwm_timer !== null) { clearInterval(pwm_timer); pwm_timer = null; + last_state = null; node.log("PWM stopped"); } return; @@ -35,7 +38,7 @@ module.exports = function(RED) { pwm_timer = setInterval(() => { const pwm_period = context.get("pwm_period"); - const pwm_duty_cycle = context.get("pwm_duty_cycle"); // Retrieve each time + const pwm_duty_cycle = context.get("pwm_duty_cycle"); const elapsed_time = Date.now() - cycle_start_time; const on_time = pwm_period * pwm_duty_cycle; @@ -45,12 +48,12 @@ module.exports = function(RED) { cycle_start_time = Date.now(); } - if (elapsed_time < on_time) { - node.send([null, { payload: 1 }]); - console.log("Sending 1"); - } else { - node.send([null, { payload: 0 }]); - console.log("Sending 0"); + let current_state = elapsed_time < on_time ? 1 : 0; + + if (current_state !== last_state) { + node.send([null, { payload: current_state }]); + node.log(`Sending ${current_state}`); + last_state = current_state; } }, pwm_tick); @@ -59,6 +62,7 @@ module.exports = function(RED) { + function debug_text(text) { if (text === "return_debug") { let debug_tmp = debug