diff --git a/lib/led.js b/lib/led.js index 8064f63..c778597 100644 --- a/lib/led.js +++ b/lib/led.js @@ -254,9 +254,15 @@ class Display { showTime() { this._stopBlink(); - log.debug('display', '[vfd] #s1'); writeVfdPipeClock(); log.info('display', '显示屏 → 时间'); + // 每 30s 刷新一次,保持 vfdservice 持续从管道读取, + // 防止长时间无写入后管道"冷却",导致后续 showPin 写入阻塞 + const refresh = () => { + writeVfdPipeClock(); + this._blinkTimer = setTimeout(refresh, 30_000); + }; + this._blinkTimer = setTimeout(refresh, 30_000); } showPin(pin) { diff --git a/lib/openclaw-provider.js b/lib/openclaw-provider.js index 5824ba1..a507560 100644 --- a/lib/openclaw-provider.js +++ b/lib/openclaw-provider.js @@ -161,9 +161,7 @@ function removeProviderByName(providerId) { } log.info('openclaw-provider', `provider 已移除: ${providerId}`); - // 注意:此处不重启 gateway。inactive 期间 frp 隧道已断开,无人访问 gateway; - // 下次 active 时 applyFullProviderFromVps 会写完整 config 并重启。 - // 若在此处 kill gateway,会破坏 vfdservice 管道,导致 PIN 码无法在数码管上闪烁。 + restartGateway(); } function removeProviderFromConfig(config, providerId) {