BatteryAlertModule + BatteryAlertService wired into app.module like
the weather module. Every BATTERY_CHECK_INTERVAL_MS (default 60 s) the
service scans the node state backing GET /api/nodes and broadcasts a
single-packet '⚠️ @!<8-hex> battery low: <X>% (<name>)' alert for every
node at or below BATTERY_ALERT_THRESHOLD percent (default 20, <= on
purpose) not alerted within BATTERY_ALERT_COOLDOWN_MS (default 6 h,
in-memory map — resets on restart). Sends ride the pinned send channel
via MeshService.sendText like every other bot send.
12 lines
375 B
TypeScript
12 lines
375 B
TypeScript
import { Module } from '@nestjs/common';
|
|
import { ScheduleModule } from '@nestjs/schedule';
|
|
import { MeshModule } from '../mesh/mesh.module.js';
|
|
import { BatteryAlertService } from './battery.service.js';
|
|
|
|
@Module({
|
|
imports: [ScheduleModule.forRoot(), MeshModule],
|
|
providers: [BatteryAlertService],
|
|
exports: [BatteryAlertService],
|
|
})
|
|
export class BatteryAlertModule {}
|