1 """The Elvia integration."""
3 from __future__
import annotations
5 from datetime
import datetime, timedelta
6 from typing
import TYPE_CHECKING
8 from elvia
import error
as ElviaError
14 from .const
import CONF_METERING_POINT_ID, LOGGER
15 from .importer
import ElviaImporter
22 """Set up Elvia from a config entry."""
25 api_token=entry.data[CONF_API_TOKEN],
26 metering_point_id=entry.data[CONF_METERING_POINT_ID],
29 async
def _import_meter_values(_: datetime |
None =
None) ->
None:
30 """Import meter values."""
32 await importer.import_meter_values()
33 except ElviaError.ElviaException
as exception:
34 LOGGER.exception(
"Unknown error %s", exception)
37 await importer.import_meter_values()
38 except ElviaError.ElviaException
as exception:
39 LOGGER.exception(
"Unknown error %s", exception)
42 entry.async_on_unload(
bool async_setup_entry(HomeAssistant hass, ConfigEntry entry)
CALLBACK_TYPE async_track_time_interval(HomeAssistant hass, Callable[[datetime], Coroutine[Any, Any, None]|None] action, timedelta interval, *str|None name=None, bool|None cancel_on_shutdown=None)