| 135 | self.huginn_handshake_pushed: bool = False |
| 136 | # Per-connection scan state |
| 137 | self.current_esp_mode: str = 'wifi' |
| 138 | # True while the companion is in HuginnESP's wardrive loop. In that mode |
| 139 | # the device rotates through WiFi -> BLE -> Zigbee phases on one shared |
| 140 | # radio, so the per-line `current_esp_mode` (set from the last data line) |
| 141 | # is a misleading "current activity" — WiFi is de-duplicated on-device so |
| 142 | # it goes quiet after the first cycle while BLE keeps re-emitting, which |
| 143 | # pins the label to 'ble-all'. When wardriving we report 'wardrive' |
| 144 | # instead; the per-radio WiFi/BLE/Zigbee counts show what's captured. |
| 145 | self.in_wardrive: bool = False |
| 146 | self.esp_ble_count: int = 0 |
| 147 | self.esp_zigbee_count: int = 0 |