1 """The FiveM integration."""
3 from __future__
import annotations
7 from fivem
import FiveMServerOfflineError
14 from .const
import DOMAIN
15 from .coordinator
import FiveMDataUpdateCoordinator
17 PLATFORMS: list[Platform] = [Platform.BINARY_SENSOR, Platform.SENSOR]
19 _LOGGER = logging.getLogger(__name__)
23 """Set up FiveM from a config entry."""
25 "Create FiveM server instance for '%s:%s'",
26 entry.data[CONF_HOST],
27 entry.data[CONF_PORT],
33 await coordinator.initialize()
34 except FiveMServerOfflineError
as err:
35 raise ConfigEntryNotReady
from err
37 await coordinator.async_config_entry_first_refresh()
39 hass.data.setdefault(DOMAIN, {})[entry.entry_id] = coordinator
41 await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
47 """Unload a config entry."""
48 if unload_ok := await hass.config_entries.async_unload_platforms(entry, PLATFORMS):
49 hass.data[DOMAIN].pop(entry.entry_id)
bool async_setup_entry(HomeAssistant hass, ConfigEntry entry)
bool async_unload_entry(HomeAssistant hass, ConfigEntry entry)