1 """Solar-Log integration."""
10 from .const
import CONF_HAS_PWD
11 from .coordinator
import SolarLogCoordinator
13 _LOGGER = logging.getLogger(__name__)
15 PLATFORMS = [Platform.SENSOR]
16 type SolarlogConfigEntry = ConfigEntry[SolarLogCoordinator]
20 """Set up a config entry for solarlog."""
22 await coordinator.async_config_entry_first_refresh()
23 entry.runtime_data = coordinator
24 await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
29 """Unload a config entry."""
30 return await hass.config_entries.async_unload_platforms(entry, PLATFORMS)
34 hass: HomeAssistant, config_entry: SolarlogConfigEntry
36 """Migrate old entry."""
37 _LOGGER.debug(
"Migrating from version %s", config_entry.version)
39 if config_entry.version > 1:
43 if config_entry.version == 1:
44 if config_entry.minor_version < 2:
46 entity_reg = er.async_get(hass)
47 entities: list[er.RegistryEntry] = er.async_entries_for_config_entry(
48 entity_reg, config_entry.entry_id
51 for entity
in entities:
52 if "time" in entity.unique_id:
53 new_uid = entity.unique_id.replace(
"time",
"last_updated")
55 "migrate unique id '%s' to '%s'", entity.unique_id, new_uid
57 entity_reg.async_update_entity(
58 entity.entity_id, new_unique_id=new_uid
61 if config_entry.minor_version < 3:
63 new = {**config_entry.data}
64 new[CONF_HAS_PWD] =
False
66 hass.config_entries.async_update_entry(
67 config_entry, data=new, minor_version=3, version=1
71 "Migration to version %s.%s successful",
73 config_entry.minor_version,
bool async_setup_entry(HomeAssistant hass, SolarlogConfigEntry entry)
bool async_migrate_entry(HomeAssistant hass, SolarlogConfigEntry config_entry)
bool async_unload_entry(HomeAssistant hass, SolarlogConfigEntry entry)