core/homeassistant/components/syncthru/__init__.py

33 lines
1.1 KiB
Python

"""The syncthru component."""
from __future__ import annotations
from pysyncthru import SyncThruAPINotSupported
from homeassistant.const import Platform
from homeassistant.core import HomeAssistant
from .coordinator import SyncThruConfigEntry, SyncthruCoordinator
PLATFORMS = [Platform.BINARY_SENSOR, Platform.SENSOR]
async def async_setup_entry(hass: HomeAssistant, entry: SyncThruConfigEntry) -> bool:
"""Set up config entry."""
coordinator = SyncthruCoordinator(hass, entry)
await coordinator.async_config_entry_first_refresh()
entry.runtime_data = coordinator
if isinstance(coordinator.last_exception, SyncThruAPINotSupported):
# this means that the printer does not support the syncthru JSON API
# and the config should simply be discarded
return False
await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
return True
async def async_unload_entry(hass: HomeAssistant, entry: SyncThruConfigEntry) -> bool:
"""Unload the config entry."""
return await hass.config_entries.async_unload_platforms(entry, PLATFORMS)