async def METHOD_NAME(self) -> bool:
    """Return True if Home Assistant up and running."""
    # Skip check on landingpage
    if (
        self.sys_homeassistant.version is None
        or self.sys_homeassistant.version == LANDINGPAGE
    ):
        return False
    # Check if port is up
    if not await self.sys_run_in_executor(
        check_port,
        self.sys_homeassistant.ip_address,
        self.sys_homeassistant.api_port,
    ):
        return False
    # Check if API is up
    with suppress(HomeAssistantAPIError):
        # get_core_state is available since 2023.8.0 and preferred
        # since it is significantly faster than get_config because
        # it does not require serializing the entire config
        if self.sys_homeassistant.version >= GET_CORE_STATE_MIN_VERSION:
            data = await self.get_core_state()
        else:
            data = await self.get_config()
        # Older versions of home assistant does not expose the state
        if data and data.get("state", "RUNNING") == "RUNNING":
            return True
    return False