From a822b88756dee120d354ab7e897cfc1c0a2784f5 Mon Sep 17 00:00:00 2001 From: Simon Smith Date: Sat, 13 Jan 2024 18:53:45 +0000 Subject: [PATCH] fix amt powerstate and timer (#5691) Signed-off-by: si458 --- amtmanager.js | 7 ++++--- meshcentral.js | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/amtmanager.js b/amtmanager.js index b01cb267..1d522962 100644 --- a/amtmanager.js +++ b/amtmanager.js @@ -750,7 +750,8 @@ module.exports.CreateAmtManager = function (parent) { // Start power polling if not connected to LMS var ppfunc = function powerPoleFunction() { fetchPowerState(powerPoleFunction.dev); } ppfunc.dev = dev; - dev.polltimer = new setTimeout(ppfunc, 290000); // Poll for power state every 4 minutes 50 seconds. + if(dev.polltimer){ clearInterval(dev.polltimer); delete dev.polltimer; } + dev.polltimer = new setInterval(ppfunc, 290000); // Poll for power state every 4 minutes 50 seconds. fetchPowerState(dev); } else { // For LMS connections, close now. @@ -931,7 +932,7 @@ module.exports.CreateAmtManager = function (parent) { else if (response.Body.OSPowerSavingState == 3) { meshPowerState = 2; } // Modern standby (We are going to call this S1); // Set OS power state - if (meshPowerState >= 0) { parent.SetConnectivityState(dev.meshid, dev.nodeid, Date.now(), 4, meshPowerState, null, { name: dev.name }); } + if (meshPowerState >= 0) { parent.SetConnectivityState(dev.meshid, dev.nodeid, Date.now(), 2, meshPowerState, null, { name: dev.name }); } }); } else { // Convert the power state @@ -941,7 +942,7 @@ module.exports.CreateAmtManager = function (parent) { if (powerstate < powerConversionTable.length) { meshPowerState = powerConversionTable[powerstate]; } else { powerstate = 6; } // Set power state - if (meshPowerState >= 0) { parent.SetConnectivityState(dev.meshid, dev.nodeid, Date.now(), 4, meshPowerState, null, { name: dev.name }); } + if (meshPowerState >= 0) { parent.SetConnectivityState(dev.meshid, dev.nodeid, Date.now(), 2, meshPowerState, null, { name: dev.name }); } } }); } diff --git a/meshcentral.js b/meshcentral.js index 5dfbc47a..89f2eb12 100644 --- a/meshcentral.js +++ b/meshcentral.js @@ -2477,7 +2477,7 @@ function CreateMeshCentralServer(config, args) { if (connectType == 1) { state.agentPower = powerState; } else if (connectType == 2) { state.ciraPower = powerState; } else if (connectType == 4) { state.amtPower = powerState; } var powerState = 0, oldPowerState = state.powerState; if ((state.connectivity & 1) != 0) { powerState = state.agentPower; } else if ((state.connectivity & 2) != 0) { powerState = state.ciraPower; } else if ((state.connectivity & 4) != 0) { powerState = state.amtPower; } - if ((state.powerState == null) || (state.powerState != powerState)) { + if ((state.powerState == null)|| (state.powerState == undefined) || (state.powerState != powerState)) { state.powerState = powerState; eventConnectChange = 1; @@ -2521,7 +2521,7 @@ function CreateMeshCentralServer(config, args) { if (connectType == 1) { state.agentPower = powerState; } else if (connectType == 2) { state.ciraPower = powerState; } else if (connectType == 4) { state.amtPower = powerState; } var powerState = 0, oldPowerState = state.powerState; if ((state.connectivity & 1) != 0) { powerState = state.agentPower; } else if ((state.connectivity & 2) != 0) { powerState = state.ciraPower; } else if ((state.connectivity & 4) != 0) { powerState = state.amtPower; } - if ((state.powerState == null) || (state.powerState != powerState)) { + if ((state.powerState == null)|| (state.powerState == undefined) || (state.powerState != powerState)) { state.powerState = powerState; eventConnectChange = 1;