diff --git a/src/Controller/DeviceImageController.php b/src/Controller/DeviceImageController.php index e622c72..6d6c67e 100644 --- a/src/Controller/DeviceImageController.php +++ b/src/Controller/DeviceImageController.php @@ -90,6 +90,22 @@ class DeviceImageController extends AbstractController $currentImageId = (int) $request->headers->get('X-Current-Image-Id', '-1'); $device->markSeen(); + // TEMP: power-monitor — surface the firmware's previous-cycle + // telemetry (awake duration + panel-init time) so we can see + // whether the PIN_PWR rail cut affects either. Logged on every + // poll; greppable via `device.poll.power_telemetry`. Remove + // alongside the firmware's NVS_KEY_PREV_* writes once validated. + $prevAwakeMs = $request->headers->get('X-Prev-Awake-Ms'); + $prevPanelInitMs = $request->headers->get('X-Prev-Panel-Init-Ms'); + if ($prevAwakeMs !== null || $prevPanelInitMs !== null) { + $this->logger->info('device.poll.power_telemetry', [ + 'mac' => $mac, + 'prev_awake_ms' => $prevAwakeMs, + 'prev_panel_init_ms' => $prevPanelInitMs, + 'boot_reason' => $request->headers->get('X-Boot-Reason'), + ]); + } + // Auto-correct Device.model from the firmware's X-Panel-Id header. New // Devices are created with the default V1 model (see Device entity), so // a freshly-claimed 13.3" unit ends up wrongly flagged until its first