diff --git a/server/src/services/batteryManager.js b/server/src/services/batteryManager.js index ae417397..d5ed2017 100644 --- a/server/src/services/batteryManager.js +++ b/server/src/services/batteryManager.js @@ -80,7 +80,10 @@ function handleSensorEvent({ roverId, sensors, batteryState }) { payload: { roverId, batteryState }, }); } - const isCharging = chargingState === 1 || chargingState === 2 || chargingState === 3; + const currentMa = sensors?.currentMa; + const chargingByCurrent = typeof currentMa === 'number' && currentMa > 50; + const chargingByState = chargingState === 1 || chargingState === 2 || chargingState === 3; + const isCharging = chargingByState || chargingByCurrent; if (isCharging && !state.charging) { state.charging = true; publishEvent({ diff --git a/server/src/services/discordBotService.js b/server/src/services/discordBotService.js index 0fe49806..7b3ae5a6 100644 --- a/server/src/services/discordBotService.js +++ b/server/src/services/discordBotService.js @@ -302,8 +302,8 @@ function handleBusEvent(event) { announce({ channelId: channels.adminAlerts, color: 0x2196f3, - title: 'Docked & Charging', - description: `${payload?.roverId} is docked and charging.`, + title: 'Docked', + description: `${payload?.roverId} docked.`, }); break; case 'battery.undocked':