Home Assistant Unofficial Reference 2024.12.1
hardware.py
Go to the documentation of this file.
1 """The Hardware integration."""
2 
3 from __future__ import annotations
4 
5 from homeassistant.core import HomeAssistant, callback
6 from homeassistant.exceptions import HomeAssistantError
8  async_process_integration_platforms,
9 )
10 
11 from .const import DOMAIN
12 from .models import HardwareProtocol
13 
14 
15 async def async_process_hardware_platforms(hass: HomeAssistant) -> None:
16  """Start processing hardware platforms."""
17  hass.data[DOMAIN]["hardware_platform"] = {}
18 
20  hass, DOMAIN, _register_hardware_platform, wait_for_platforms=True
21  )
22 
23 
24 @callback
26  hass: HomeAssistant, integration_domain: str, platform: HardwareProtocol
27 ) -> None:
28  """Register a hardware platform."""
29  if integration_domain == DOMAIN:
30  return
31  if not hasattr(platform, "async_info"):
32  raise HomeAssistantError(f"Invalid hardware platform {platform}")
33  hass.data[DOMAIN]["hardware_platform"][integration_domain] = platform
None _register_hardware_platform(HomeAssistant hass, str integration_domain, HardwareProtocol platform)
Definition: hardware.py:27
None async_process_hardware_platforms(HomeAssistant hass)
Definition: hardware.py:15
None async_process_integration_platforms(HomeAssistant hass, str platform_name, Callable[[HomeAssistant, str, Any], Awaitable[None]|None] process_platform, bool wait_for_platforms=False)