diff --git a/README.md b/README.md index ae04c23..1b17805 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -# Georide Home assistant -![Logo Georide](/georide-logo.png) +# GeoRide Home assistant +![Logo GeoRide](https://brands.home-assistant.io/georide/logo.png) ⚠️ This is not an official implementation [![hacs_badge](https://img.shields.io/badge/HACS-Default-orange.svg?style=for-the-badge)](https://github.com/custom-components/hacs) diff --git a/custom_components/georide/__init__.py b/custom_components/georide/__init__.py index 32a1313..1e6e968 100644 --- a/custom_components/georide/__init__.py +++ b/custom_components/georide/__init__.py @@ -11,11 +11,10 @@ import voluptuous as vol import jwt from aiohttp.web import json_response -from georideapilib.objects import GeorideAccount -import georideapilib.api as GeorideApi - -from georideapilib.socket import GeorideSocket +from georideapilib.objects import GeorideAccount as GeoRideAccount +import georideapilib.api as GeoRideApi +from georideapilib.socket import GeorideSocket as GeoRideSocket from homeassistant import config_entries from homeassistant.const import CONF_WEBHOOK_ID @@ -51,7 +50,7 @@ CONFIG_SCHEMA = vol.Schema( async def async_setup(hass, config): - """Setup Georide component.""" + """Setup GeoRide component.""" hass.data[DOMAIN] = {"config": config[DOMAIN], "devices": {}, "unsub": None} hass.async_create_task( hass.config_entries.flow.async_init( @@ -68,12 +67,12 @@ async def async_setup(hass, config): async def async_setup_entry(hass, entry): - """Set up Georide entry.""" + """Set up GeoRide entry.""" config = hass.data[DOMAIN]["config"] email = config.get(CONF_EMAIL) or entry.data[CONF_EMAIL] password = config.get(CONF_PASSWORD) or entry.data[CONF_PASSWORD] token = config.get(CONF_TOKEN) or entry.data[CONF_TOKEN] - context = GeorideContext( + context = GeoRideContext( hass, email, password, @@ -99,7 +98,7 @@ async def async_setup_entry(hass, entry): async def async_unload_entry(hass, entry): - """Unload an Georide config entry.""" + """Unload an GeoRide config entry.""" await hass.config_entries.async_forward_entry_unload(entry, "device_tracker") await hass.config_entries.async_forward_entry_unload(entry, "switch") @@ -113,9 +112,9 @@ async def async_unload_entry(hass, entry): return True def connect_socket(context): - """subscribe to georide socket""" - _LOGGER.info("Georide socket connexion") - socket = GeorideSocket() + """subscribe to GeoRide socket""" + _LOGGER.info("GeoRide socket connexion") + socket = GeoRideSocket() socket.subscribe_locked(context.on_lock_callback) socket.subscribe_device(context.on_device_callback) socket.subscribe_position(context.on_position_callback) @@ -126,11 +125,11 @@ def connect_socket(context): socket.connect(context.get_token()) -class GeorideContext: - """Hold the current Georide context.""" +class GeoRideContext: + """Hold the current GeoRide context.""" def __init__(self, hass, email, password, token): - """Initialize an Georide context.""" + """Initialize an GeoRide context.""" self._hass = hass self._email = email self._password = password @@ -161,12 +160,12 @@ class GeorideContext: @property def georide_trackers(self): - """ georide tracker list """ + """ GeoRide tracker list """ return self._georide_trackers @georide_trackers.setter def georide_trackers(self, trackers): - """ georide tracker list """ + """ GeoRide tracker list """ self._georide_trackers = trackers def get_token(self): @@ -177,7 +176,7 @@ class GeorideContext: epoch = math.ceil(time.time()) if (exp_timestamp - TOKEN_SAFE_DAY) < epoch: _LOGGER.info("Time reached, renew token") - account = GeorideApi.get_authorisation_token(self._email, self._password) + account = GeoRideApi.get_authorisation_token(self._email, self._password) config = self._hass.data[DOMAIN]["config"] config[CONF_TOKEN] = account.auth_token self._token = account.auth_token @@ -208,17 +207,17 @@ class GeorideContext: def refresh_trackers(self): """Used to refresh the tracker list""" _LOGGER.info("Tracker list refresh") - self._georide_trackers = GeorideApi.get_trackers(self.get_token()) + self._georide_trackers = GeoRideApi.get_trackers(self.get_token()) @property def socket(self): - """ hold the georide socket """ + """ hold the GeoRide socket """ return self._socket @socket.setter def socket(self, socket): - """set the georide socket""" + """set the GeoRide socket""" self._socket = socket @callback diff --git a/custom_components/georide/config_flow.py b/custom_components/georide/config_flow.py index 124d139..52361bc 100644 --- a/custom_components/georide/config_flow.py +++ b/custom_components/georide/config_flow.py @@ -3,8 +3,8 @@ import logging from homeassistant import config_entries import voluptuous as vol -import georideapilib.api as GeorideApi -import georideapilib.exception as GeorideException +import georideapilib.api as GeoRideApi +import georideapilib.exception as GeoRideException from .const import CONF_EMAIL, CONF_PASSWORD, CONF_TOKEN @@ -13,11 +13,11 @@ from .const import CONF_EMAIL, CONF_PASSWORD, CONF_TOKEN _LOGGER = logging.getLogger(__name__) @config_entries.HANDLERS.register("georide") -class GeorideConfigFlow(config_entries.ConfigFlow): - """Georide config flow """ +class GeoRideConfigFlow(config_entries.ConfigFlow): + """GeoRide config flow """ async def async_step_user(self, user_input=None): #pylint: disable=W0613 - """ handle info to help to configure georide """ + """ handle info to help to configure GeoRide """ if self._async_current_entries(): return self.async_abort(reason="one_instance_allowed") @@ -54,14 +54,14 @@ class GeorideConfigFlow(config_entries.ConfigFlow): password = user_input[CONF_PASSWORD] try: - account = GeorideApi.get_authorisation_token(email, password) + account = GeoRideApi.get_authorisation_token(email, password) data = { CONF_EMAIL: email, CONF_PASSWORD: password, CONF_TOKEN: account.auth_token } return self.async_create_entry(title=email, data=data) - except (GeorideException.SeverException, GeorideException.LoginException): + except (GeoRideException.SeverException, GeoRideException.LoginException): _LOGGER.error("Invalid credentials provided, config not created") errors = {"base": "faulty_credentials"} return self.async_show_form(step_id="georide_login", data_schema=schema, errors=errors) diff --git a/custom_components/georide/const.py b/custom_components/georide/const.py index 3e7fa23..abe697b 100644 --- a/custom_components/georide/const.py +++ b/custom_components/georide/const.py @@ -1,4 +1,4 @@ -""" Georide const file """ +""" GeoRide const file """ DOMAIN = "georide" CONF_EMAIL = "email" diff --git a/custom_components/georide/device_tracker.py b/custom_components/georide/device_tracker.py index 5c13918..f7e80a9 100644 --- a/custom_components/georide/device_tracker.py +++ b/custom_components/georide/device_tracker.py @@ -1,11 +1,11 @@ -""" device tracker for Georide object """ +""" device tracker for GeoRide object """ import logging from homeassistant.components.device_tracker.const import DOMAIN, SOURCE_TYPE_GPS from homeassistant.components.device_tracker.config_entry import TrackerEntity -import georideapilib.api as GeorideApi +import georideapilib.api as GeoRideApi from .const import DOMAIN as GEORIDE_DOMAIN @@ -20,15 +20,15 @@ async def async_setup_entry(hass, config_entry, async_add_entities): # pylint: d if georide_context.get_token() is None: return False - _LOGGER.info('Current georide token: %s', georide_context.get_token()) + _LOGGER.debug('Current GeoRide token: %s', georide_context.get_token()) - trackers = GeorideApi.get_trackers(georide_context.get_token()) + trackers = GeoRideApi.get_trackers(georide_context.get_token()) tracker_entities = [] for tracker in trackers: - entity = GeorideTrackerEntity(tracker.tracker_id, georide_context.get_token, + entity = GeoRideTrackerEntity(tracker.tracker_id, georide_context.get_token, georide_context.get_tracker, tracker) @@ -40,11 +40,11 @@ async def async_setup_entry(hass, config_entry, async_add_entities): # pylint: d return True -class GeorideTrackerEntity(TrackerEntity): +class GeoRideTrackerEntity(TrackerEntity): """Represent a tracked device.""" def __init__(self, tracker_id, get_token_callback, get_tracker_callback, tracker): - """Set up Georide entity.""" + """Set up GeoRide entity.""" self._tracker_id = tracker_id self._get_token_callback = get_token_callback self._get_tracker_callback = get_tracker_callback @@ -88,6 +88,7 @@ class GeorideTrackerEntity(TrackerEntity): @property def icon(self): + """return the entity icon""" return "mdi:map-marker" diff --git a/custom_components/georide/manifest.json b/custom_components/georide/manifest.json index 14aa2b5..0cad021 100644 --- a/custom_components/georide/manifest.json +++ b/custom_components/georide/manifest.json @@ -1,6 +1,6 @@ { "domain": "georide", - "name": "Georide", + "name": "GeoRide", "config_flow": true, "documentation": "https://github.com/ptimatth/GeorideHA", "requirements": [ diff --git a/custom_components/georide/sensor.py b/custom_components/georide/sensor.py index 7a8fd82..52c1a49 100644 --- a/custom_components/georide/sensor.py +++ b/custom_components/georide/sensor.py @@ -1,4 +1,4 @@ -""" odometter sensor for Georide object """ +""" odometter sensor for GeoRide object """ import logging @@ -6,7 +6,7 @@ from homeassistant.core import callback from homeassistant.components.switch import SwitchEntity from homeassistant.components.switch import ENTITY_ID_FORMAT -import georideapilib.api as GeorideApi +import georideapilib.api as GeoRideApi from .const import DOMAIN as GEORIDE_DOMAIN @@ -15,17 +15,17 @@ _LOGGER = logging.getLogger(__name__) async def async_setup_entry(hass, config_entry, async_add_entities): # pylint: disable=W0613 - """Set up Georide tracker based off an entry.""" + """Set up GeoRide tracker based off an entry.""" georide_context = hass.data[GEORIDE_DOMAIN]["context"] if georide_context.get_token() is None: return False - trackers = GeorideApi.get_trackers(georide_context.get_token()) + trackers = GeoRideApi.get_trackers(georide_context.get_token()) odometer_switch_entities = [] for tracker in trackers: - entity = GeorideOdometerSensorEntity(tracker.tracker_id, georide_context.get_token, + entity = GeoRideOdometerSensorEntity(tracker.tracker_id, georide_context.get_token, georide_context.get_tracker, data=tracker) hass.data[GEORIDE_DOMAIN]["devices"][tracker.tracker_id] = entity odometer_switch_entities.append(entity) @@ -34,7 +34,7 @@ async def async_setup_entry(hass, config_entry, async_add_entities): # pylint: d return True -class GeorideOdometerSensorEntity(SwitchEntity): +class GeoRideOdometerSensorEntity(SwitchEntity): """Represent a tracked device.""" def __init__(self, tracker_id, get_token_callback, get_tracker_callback, data): @@ -64,7 +64,7 @@ class GeorideOdometerSensorEntity(SwitchEntity): @property def name(self): - """ Georide switch name """ + """ GeoRide odometer name """ return self._name @property @@ -77,12 +77,12 @@ class GeorideOdometerSensorEntity(SwitchEntity): @property def get_token_callback(self): - """ Georide switch token callback method """ + """ GeoRide switch token callback method """ return self._get_token_callback @property def get_tracker_callback(self): - """ Georide switch token callback method """ + """ GeoRide switch token callback method """ return self._get_tracker_callback @property diff --git a/custom_components/georide/strings.json b/custom_components/georide/strings.json index ce32717..94947bd 100644 --- a/custom_components/georide/strings.json +++ b/custom_components/georide/strings.json @@ -4,7 +4,7 @@ "step": { "georide_login": { "title": "Set up GeoRide", - "description": "Sign-in to georide", + "description": "Sign-in to GeoRide", "data": { "email": "email", "password": "password" diff --git a/custom_components/georide/switch.py b/custom_components/georide/switch.py index 9c8880d..6997798 100644 --- a/custom_components/georide/switch.py +++ b/custom_components/georide/switch.py @@ -1,4 +1,4 @@ -""" device tracker for Georide object """ +""" device tracker for GeoRide object """ import logging @@ -6,7 +6,7 @@ from homeassistant.core import callback from homeassistant.components.switch import SwitchEntity from homeassistant.components.switch import ENTITY_ID_FORMAT -import georideapilib.api as GeorideApi +import georideapilib.api as GeoRideApi from .const import DOMAIN as GEORIDE_DOMAIN @@ -15,7 +15,7 @@ _LOGGER = logging.getLogger(__name__) async def async_setup_entry(hass, config_entry, async_add_entities): # pylint: disable=W0613 - """Set up Georide tracker based off an entry.""" + """Set up GeoRide tracker based off an entry.""" georide_context = hass.data[GEORIDE_DOMAIN]["context"] if georide_context.get_token() is None: @@ -23,11 +23,11 @@ async def async_setup_entry(hass, config_entry, async_add_entities): # pylint: d _LOGGER.info('Current georide token: %s', georide_context.get_token()) - trackers = GeorideApi.get_trackers(georide_context.get_token()) + trackers = GeoRideApi.get_trackers(georide_context.get_token()) lock_switch_entities = [] for tracker in trackers: - entity = GeorideLockSwitchEntity(tracker.tracker_id, georide_context.get_token, + entity = GeoRideLockSwitchEntity(tracker.tracker_id, georide_context.get_token, georide_context.get_tracker, data=tracker) hass.data[GEORIDE_DOMAIN]["devices"][tracker.tracker_id] = entity lock_switch_entities.append(entity) @@ -38,11 +38,11 @@ async def async_setup_entry(hass, config_entry, async_add_entities): # pylint: d -class GeorideLockSwitchEntity(SwitchEntity): +class GeoRideLockSwitchEntity(SwitchEntity): """Represent a tracked device.""" def __init__(self, tracker_id, get_token_callback, get_tracker_callback, data): - """Set up Georide entity.""" + """Set up GeoRide entity.""" self._tracker_id = tracker_id self._data = data or {} self._get_token_callback = get_token_callback @@ -54,17 +54,17 @@ class GeorideLockSwitchEntity(SwitchEntity): def turn_on(self, **kwargs): - """ lock the georide tracker """ + """ lock the GeoRide tracker """ _LOGGER.info('async_turn_on %s', kwargs) - success = GeorideApi.lock_tracker(self._get_token_callback(), self._tracker_id) + success = GeoRideApi.lock_tracker(self._get_token_callback(), self._tracker_id) if success: self._data.is_locked = True self._is_on = True def turn_off(self, **kwargs): - """ unlock the georide tracker """ + """ unlock the GeoRide tracker """ _LOGGER.info('async_turn_off %s', kwargs) - success = GeorideApi.unlock_tracker(self._get_token_callback(), self._tracker_id) + success = GeoRideApi.unlock_tracker(self._get_token_callback(), self._tracker_id) if success: self._data.is_locked = False self._is_on = False @@ -72,7 +72,7 @@ class GeorideLockSwitchEntity(SwitchEntity): async def async_toggle(self, **kwargs): """ toggle lock the georide tracker """ _LOGGER.info('async_toggle %s', kwargs) - result = GeorideApi.toogle_lock_tracker(self._get_token_callback(), + result = GeoRideApi.toogle_lock_tracker(self._get_token_callback(), self._tracker_id) self._data.is_locked = result self._is_on = result @@ -92,26 +92,27 @@ class GeorideLockSwitchEntity(SwitchEntity): @property def name(self): - """ Georide switch name """ + """ GeoRide switch name """ return self._name @property def is_on(self): - """ Georide switch status """ + """ GeoRide switch status """ return self._is_on @property def get_token_callback(self): - """ Georide switch token callback method """ + """ GeoRide switch token callback method """ return self._get_token_callback @property def get_tracker_callback(self): - """ Georide switch token callback method """ + """ GeoRide switch token callback method """ return self._get_tracker_callback @property def icon(self): + """return the entity icon""" if self._is_on: return "mdi:lock" return "mdi:lock-open" diff --git a/custom_components/georide/translations/en.json b/custom_components/georide/translations/en.json index a91fdf7..f0fce5e 100644 --- a/custom_components/georide/translations/en.json +++ b/custom_components/georide/translations/en.json @@ -4,7 +4,7 @@ "step": { "georide_login": { "title": "Set up GeoRide", - "description": "Sign-in to georide", + "description": "Sign-in to GeoRide", "data": { "email": "email", "password": "password" diff --git a/hacs.json b/hacs.json index 2bf156d..0c2b63c 100644 --- a/hacs.json +++ b/hacs.json @@ -1,5 +1,5 @@ { - "name": "Georide integration", + "name": "GeoRide integration", "content_in_root": false, "render_readme": true, "domains": ["devices_tracker", "sensor"],