33from __future__ import annotations
44
55import contextlib
6- from dataclasses import asdict , dataclass
6+ from dataclasses import asdict
77from datetime import datetime , timedelta
88from typing import Any
99
10- import psutil_home_assistant as ha_psutil
1110import voluptuous as vol
1211
1312from homeassistant .components import websocket_api
14- from homeassistant .core import CALLBACK_TYPE , HomeAssistant , callback
13+ from homeassistant .core import HomeAssistant , callback
1514from homeassistant .exceptions import HomeAssistantError
1615from homeassistant .helpers .event import async_track_time_interval
1716from homeassistant .util import dt as dt_util
1817
1918from .const import DATA_HARDWARE
20- from .hardware import async_process_hardware_platforms
21-
22-
23- @dataclass (slots = True )
24- class SystemStatus :
25- """System status."""
26-
27- ha_psutil : ha_psutil
28- remove_periodic_timer : CALLBACK_TYPE | None
29- subscribers : set [tuple [websocket_api .ActiveConnection , int ]]
3019
3120
3221async def async_setup (hass : HomeAssistant ) -> None :
3322 """Set up the hardware websocket API."""
3423 websocket_api .async_register_command (hass , ws_info )
3524 websocket_api .async_register_command (hass , ws_subscribe_system_status )
36- hass .data [DATA_HARDWARE ].system_status = SystemStatus (
37- ha_psutil = await hass .async_add_executor_job (ha_psutil .PsutilWrapper ),
38- remove_periodic_timer = None ,
39- subscribers = set (),
40- )
4125
4226
4327@websocket_api .websocket_command (
@@ -52,9 +36,6 @@ async def ws_info(
5236 """Return hardware info."""
5337 hardware_info = []
5438
55- if hass .data [DATA_HARDWARE ].hardware_platform is None :
56- await async_process_hardware_platforms (hass )
57-
5839 hardware_platform = hass .data [DATA_HARDWARE ].hardware_platform
5940 for platform in hardware_platform .values ():
6041 if hasattr (platform , "async_info" ):
0 commit comments