diff --git a/custom_components/mikrotik_router/__init__.py b/custom_components/mikrotik_router/__init__.py index 981a14f..6067326 100644 --- a/custom_components/mikrotik_router/__init__.py +++ b/custom_components/mikrotik_router/__init__.py @@ -33,7 +33,6 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> b data_coordinator=coordinator, tracker_coordinator=coordinatorTracker, ) - # hass.data.setdefault(DOMAIN, {})[config_entry.entry_id]["coordinator"] = coordinator await hass.config_entries.async_forward_entry_setups(config_entry, PLATFORMS) diff --git a/custom_components/mikrotik_router/coordinator.py b/custom_components/mikrotik_router/coordinator.py index f77654b..f555d34 100644 --- a/custom_components/mikrotik_router/coordinator.py +++ b/custom_components/mikrotik_router/coordinator.py @@ -2,12 +2,10 @@ from __future__ import annotations -import asyncio import ipaddress import logging import re import pytz -from typing import Any from datetime import datetime, timedelta from dataclasses import dataclass @@ -15,10 +13,8 @@ from ipaddress import ip_address, IPv4Network from mac_vendor_lookup import AsyncMacLookup from homeassistant.config_entries import ConfigEntry -from homeassistant.core import HomeAssistant, callback +from homeassistant.core import HomeAssistant from homeassistant.helpers import entity_registry -from homeassistant.helpers.dispatcher import async_dispatcher_send -from homeassistant.helpers.event import async_track_time_interval from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed from homeassistant.util.dt import utcnow @@ -207,7 +203,6 @@ class MikrotikTrackerCoordinator(DataUpdateCoordinator[None]): "host": self.coordinator.ds["host"], "routerboard": self.coordinator.ds["routerboard"], } - # return self.coordinator.ds # --------------------------- @@ -267,10 +262,6 @@ class MikrotikCoordinator(DataUpdateCoordinator[None]): self.notified_flags = [] - # self.listeners = [] - # self.lock = asyncio.Lock() - # self.lock_ping = asyncio.Lock() - self.api = MikrotikAPI( config_entry.data[CONF_HOST], config_entry.data[CONF_USERNAME], @@ -279,14 +270,6 @@ class MikrotikCoordinator(DataUpdateCoordinator[None]): config_entry.data[CONF_SSL], ) - self.api_ping = MikrotikAPI( - config_entry.data[CONF_HOST], - config_entry.data[CONF_USERNAME], - config_entry.data[CONF_PASSWORD], - config_entry.data[CONF_PORT], - config_entry.data[CONF_SSL], - ) - self.debug = False if _LOGGER.getEffectiveLevel() == 10: self.debug = True @@ -310,24 +293,6 @@ class MikrotikCoordinator(DataUpdateCoordinator[None]): self.accessrights_reported = False self.last_hwinfo_update = datetime(1970, 1, 1) - # self.async_add_listener(self.async_ping_tracked_hosts) - # self.async_add_listener(self.ping_tracked_hosts) - - # self.listeners.append( - # async_track_time_interval( - # self.hass, self.async_ping_tracked_hosts, timedelta(seconds=15) - # ) - # ) - - # --------------------------- - # async_init - # --------------------------- - # async def async_init(self): - # self.listeners.append( - # async_track_time_interval( - # self.hass, self.async_ping_tracked_hosts, timedelta(seconds=15) - # ) - # ) # --------------------------- # option_track_iface_clients @@ -460,15 +425,6 @@ class MikrotikCoordinator(DataUpdateCoordinator[None]): ) return timedelta(seconds=scan_interval) - # - # # --------------------------- - # # option_zone - # # --------------------------- - # @property - # def option_zone(self): - # """Config entry option zones.""" - # return self.config_entry.options.get(CONF_ZONE, STATE_HOME) - # --------------------------- # connected # --------------------------- @@ -582,75 +538,6 @@ class MikrotikCoordinator(DataUpdateCoordinator[None]): self.ds["host_hass"][tmp[2].upper()] = entity.original_name - # - # # --------------------------- - # # async_ping_tracked_hosts - # # --------------------------- - # async def async_ping_tracked_hosts(self): - # """Trigger update by timer""" - # print( - # "1??????????????????????????????????????????????????????????????????????????????????" - # ) - # if not self.option_track_network_hosts: - # return - # - # if "test" not in self.ds["access"]: - # return - # - # # try: - # # await asyncio.wait_for(self.lock_ping.acquire(), timeout=3) - # # except Exception: - # # return - # - # for uid in list(self.ds["host"]): - # if not self.host_tracking_initialized: - # # Add missing default values - # for key, default in zip( - # [ - # "address", - # "mac-address", - # "interface", - # "host-name", - # "last-seen", - # "available", - # ], - # ["unknown", "unknown", "unknown", "unknown", False, False], - # ): - # if key not in self.ds["host"][uid]: - # self.ds["host"][uid][key] = default - # - # # Check host availability - # if ( - # self.ds["host"][uid]["source"] not in ["capsman", "wireless"] - # and self.ds["host"][uid]["address"] not in ["unknown", ""] - # and self.ds["host"][uid]["interface"] not in ["unknown", ""] - # ): - # tmp_interface = self.ds["host"][uid]["interface"] - # if uid in self.ds["arp"] and self.ds["arp"][uid]["bridge"] != "": - # tmp_interface = self.ds["arp"][uid]["bridge"] - # - # _LOGGER.debug("Ping host: %s", self.ds["host"][uid]["address"]) - # - # self.ds["host"][uid][ - # "available" - # ] = await self.hass.async_add_executor_job( - # self.api_ping.arp_ping, - # self.ds["host"][uid]["address"], - # tmp_interface, - # ) - # - # # Update last seen - # if self.ds["host"][uid]["available"]: - # self.ds["host"][uid]["last-seen"] = utcnow() - # - # self.host_tracking_initialized = True - # print( - # "1!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - # ) - # return self.ds - # - # # self.lock_ping.release() - # --------------------------- # _async_update_data # --------------------------- @@ -687,11 +574,6 @@ class MikrotikCoordinator(DataUpdateCoordinator[None]): if self.api.connected(): self.last_hwinfo_update = datetime.now().replace(microsecond=0) - # try: - # await asyncio.wait_for(self.lock.acquire(), timeout=10) - # except Exception as error: - # raise UpdateFailed(error) from error - await self.hass.async_add_executor_job(self.get_system_resource) # if self.api.connected() and "available" not in self.ds["fw-update"]: @@ -772,7 +654,6 @@ class MikrotikCoordinator(DataUpdateCoordinator[None]): if not self.api.connected(): raise UpdateFailed("Mikrotik Disconnected") - # self.lock.release() # async_dispatcher_send(self.hass, "update_sensors", self) return self.ds diff --git a/custom_components/mikrotik_router/device_tracker.py b/custom_components/mikrotik_router/device_tracker.py index e7f97c9..c6db1e2 100644 --- a/custom_components/mikrotik_router/device_tracker.py +++ b/custom_components/mikrotik_router/device_tracker.py @@ -22,7 +22,7 @@ from homeassistant.util.dt import utcnow from homeassistant.components.device_tracker.const import SourceType from .device_tracker_types import SENSOR_TYPES, SENSOR_SERVICES -from .entity import _skip_sensor, MikrotikEntity # , async_add_entities +from .entity import _skip_sensor, MikrotikEntity from .helper import format_attribute from .const import ( DOMAIN, @@ -39,7 +39,6 @@ async def async_add_entities( hass: HomeAssistant, config_entry: ConfigEntry, dispatcher: dict[str, Callable] ): """Add entities.""" - # coordinator = hass.data[DOMAIN][config_entry.entry_id].data_coordinator platform = ep.async_get_current_platform() services = platform.platform.SENSOR_SERVICES descriptions = platform.platform.SENSOR_TYPES diff --git a/custom_components/mikrotik_router/entity.py b/custom_components/mikrotik_router/entity.py index 24c7866..51da66f 100644 --- a/custom_components/mikrotik_router/entity.py +++ b/custom_components/mikrotik_router/entity.py @@ -88,7 +88,6 @@ async def async_add_entities( hass: HomeAssistant, config_entry: ConfigEntry, dispatcher: dict[str, Callable] ): """Add entities.""" - # coordinator = hass.data[DOMAIN][config_entry.entry_id].data_coordinator platform = ep.async_get_current_platform() services = platform.platform.SENSOR_SERVICES descriptions = platform.platform.SENSOR_TYPES @@ -166,7 +165,6 @@ class MikrotikEntity(CoordinatorEntity[_MikrotikCoordinatorT], Entity): ): """Initialize entity""" super().__init__(coordinator) - # self.coordinator = coordinator self.entity_description = entity_description self._inst = coordinator.config_entry.data[CONF_NAME] self._config_entry = self.coordinator.config_entry diff --git a/custom_components/mikrotik_router/update.py b/custom_components/mikrotik_router/update.py index d32df7b..8ed0005 100644 --- a/custom_components/mikrotik_router/update.py +++ b/custom_components/mikrotik_router/update.py @@ -2,7 +2,6 @@ from __future__ import annotations from logging import getLogger -from collections.abc import Mapping from requests import get as requests_get from typing import Any