def __init__(self, config, see): """Initialize FleetGoDeviceScanner.""" from ritassist import API self._include = config.get(CONF_INCLUDE) self._see = see self._api = API(config.get(CONF_CLIENT_ID), config.get(CONF_CLIENT_SECRET), config.get(CONF_USERNAME), config.get(CONF_PASSWORD))
def __init__(self, config, see: SeeCallback): """Initialize FleetGoDeviceScanner.""" self._include = config.get(CONF_INCLUDE) self._see = see self._api = API( config.get(CONF_CLIENT_ID), config.get(CONF_CLIENT_SECRET), config.get(CONF_USERNAME), config.get(CONF_PASSWORD), )
class FleetGoDeviceScanner: """Define a scanner for the FleetGO platform.""" def __init__(self, config, see): """Initialize FleetGoDeviceScanner.""" from ritassist import API self._include = config.get(CONF_INCLUDE) self._see = see self._api = API( config.get(CONF_CLIENT_ID), config.get(CONF_CLIENT_SECRET), config.get(CONF_USERNAME), config.get(CONF_PASSWORD), ) def setup(self, hass): """Set up a timer and start gathering devices.""" self._refresh() track_utc_time_change(hass, lambda now: self._refresh(), second=range(0, 60, 30)) def login(self, hass): """Perform a login on the FleetGO API.""" if self._api.login(): self.setup(hass) return True return False def _refresh(self) -> None: """Refresh device information from the platform.""" try: devices = self._api.get_devices() for device in devices: if not self._include or device.license_plate in self._include: if device.active or device.current_address is None: device.get_map_details() self._see( dev_id=device.plate_as_id, gps=(device.latitude, device.longitude), attributes=device.state_attributes, icon="mdi:car", ) except requests.exceptions.ConnectionError: _LOGGER.error("ConnectionError: Could not connect to FleetGO")
class RitAssistDeviceScanner: """Define a scanner for the RitAssist platform.""" def __init__(self, config, see): """Initialize RitAssistDeviceScanner.""" from ritassist import API self._include = config.get(CONF_INCLUDE) self._see = see self._api = API(config.get(CONF_CLIENT_ID), config.get(CONF_CLIENT_SECRET), config.get(CONF_USERNAME), config.get(CONF_PASSWORD)) def setup(self, hass): """Setup a timer and start gathering devices.""" self._refresh() track_utc_time_change(hass, lambda now: self._refresh(), second=range(0, 60, 30)) def login(self, hass): """Perform a login on the RitAssist API.""" if self._api.login(): self.setup(hass) return True return False def _refresh(self) -> None: """Refresh device information from the platform.""" try: devices = self._api.get_devices() for device in devices: if (not self._include or device.license_plate in self._include): self._see(dev_id=device.plate_as_id, gps=(device.latitude, device.longitude), attributes=device.state_attributes, icon='mdi:car') except requests.exceptions.ConnectionError: _LOGGER.error('ConnectionError: Could not connect to RitAssist')
def __init__(self, config, see): """Initialize RitAssistDeviceScanner.""" from ritassist import API self._include = config.get(CONF_INCLUDE) self._see = see self._api = API(config.get(CONF_CLIENT_ID), config.get(CONF_CLIENT_SECRET), config.get(CONF_USERNAME), config.get(CONF_PASSWORD))