1 """Data update coordinator for the Webmin integration."""
3 from __future__
import annotations
11 CONNECTION_NETWORK_MAC,
18 from .const
import DOMAIN, LOGGER
19 from .helpers
import get_instance_from_options, get_sorted_mac_addresses
23 """The Webmin data update coordinator."""
28 def __init__(self, hass: HomeAssistant, config_entry: ConfigEntry) ->
None:
29 """Initialize the Webmin data update coordinator."""
32 hass, logger=LOGGER, name=DOMAIN, update_interval=DEFAULT_SCAN_INTERVAL
38 configuration_url=base_url,
39 name=config_entry.options[CONF_HOST],
43 """Provide needed data to the device info."""
45 if len(mac_addresses) > 0:
49 (CONNECTION_NETWORK_MAC,
format_mac(mac_address))
50 for mac_address
in mac_addresses
53 (DOMAIN,
format_mac(mac_address))
for mac_address
in mac_addresses
60 data = await self.instance.
update()
61 data[
"disk_fs"] = {item[
"dir"]: item
for item
in data[
"disk_fs"]}
None __init__(self, HomeAssistant hass, ConfigEntry config_entry)
dict[str, Any] _async_update_data(self)
IssData update(pyiss.ISS iss)
tuple[WebminInstance, URL] get_instance_from_options(HomeAssistant hass, Mapping[str, Any] options)
list[str] get_sorted_mac_addresses(dict[str, Any] data)