From 33d8942e31be2e951a13d643f56afdfc9e387229 Mon Sep 17 00:00:00 2001 From: Sigri Date: Wed, 25 Oct 2023 20:39:23 +0200 Subject: [PATCH 1/4] Fix syntax --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index d5ed2c1..bc7549c 100644 --- a/README.md +++ b/README.md @@ -102,12 +102,12 @@ mode: single ## Installation ### Option 1 -- Just folow the integration config steps. +- Just follow the integration config steps. ### Option 2 -- Add the folowing line in your configuration.yml +- Add the following line in your configuration.yml ```yaml georide: email: @exmple.com password: -``` \ No newline at end of file +``` From cbf81d7438fa421196f5b24058016c67ca2d5d6b Mon Sep 17 00:00:00 2001 From: Sigri Date: Wed, 25 Oct 2023 21:19:05 +0200 Subject: [PATCH 2/4] Add manual installation --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index bc7549c..75ebd07 100644 --- a/README.md +++ b/README.md @@ -111,3 +111,12 @@ mode: single email: @exmple.com password: ``` + +### Option 3 (manual) +- Download .zip git repo +- Go to /config (with File Editor or SSH) +- Unzip GeorideHA.zip +- Restart Home Assistant +- Go to "Integrations" +- If GeoRide not display, choose "add integration" +- Configure GeoRide add-on From 38ceb3a2a16a798b769ac505a0494a93055790d3 Mon Sep 17 00:00:00 2001 From: djodjo02130 <11382082+djodjo02130@users.noreply.github.com> Date: Sat, 19 Apr 2025 22:35:52 +0000 Subject: [PATCH 3/4] Add Georide 3S --- custom_components/georide/device.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/custom_components/georide/device.py b/custom_components/georide/device.py index 65fe47a..08c71f4 100644 --- a/custom_components/georide/device.py +++ b/custom_components/georide/device.py @@ -52,6 +52,8 @@ class Device: elif self._tracker.version == 3: if self._tracker.model == 'georide-3': name = "GeoRide 3" + else if self._tracker.model == 'georide-3s': + name = "GeoRide 3S" else: name = "GeoRide Mini" else: From ab64760872ed5256a92ad2ab705b896c2140ca9c Mon Sep 17 00:00:00 2001 From: Matthieu Date: Thu, 5 Feb 2026 21:12:34 +0100 Subject: [PATCH 4/4] Fix entity_id wronformat since Home assitant 2026.02 --- custom_components/georide/binary_sensor.py | 20 ++++++++++---------- custom_components/georide/sensor.py | 18 +++++++++--------- custom_components/georide/siren.py | 2 +- custom_components/georide/switch.py | 4 ++-- 4 files changed, 22 insertions(+), 22 deletions(-) diff --git a/custom_components/georide/binary_sensor.py b/custom_components/georide/binary_sensor.py index 911d1e5..c7ac729 100644 --- a/custom_components/georide/binary_sensor.py +++ b/custom_components/georide/binary_sensor.py @@ -58,7 +58,7 @@ class GeoRideBinarySensorEntity(CoordinatorEntity, BinarySensorEntity): self._tracker_device = tracker_device self._name = tracker_device.tracker.tracker_name - self.entity_id = f"{ENTITY_ID_FORMAT.format('binary_sensor')}.{tracker_device.tracker.tracker_id}"# pylint: disable=C0301 + self.entity_id = f"{ENTITY_ID_FORMAT.format('binary_sensor')}_{tracker_device.tracker.tracker_id}"# pylint: disable=C0301 self._is_on = False @property @@ -74,7 +74,7 @@ class GeoRideBeaconBinarySensorEntity(CoordinatorEntity, BinarySensorEntity): super().__init__(coordinator) self._tracker_device_beacon = tracker_device_beacon self._name = tracker_device_beacon.beacon.name - self.entity_id = f"{ENTITY_ID_FORMAT.format('binary_sensor')}.{tracker_device_beacon.beacon.beacon_id}"# pylint: disable=C0301 + self.entity_id = f"{ENTITY_ID_FORMAT.format('binary_sensor')}_{tracker_device_beacon.beacon.beacon_id}"# pylint: disable=C0301 self._is_on = False @property @@ -92,7 +92,7 @@ class GeoRideStolenBinarySensorEntity(GeoRideBinarySensorEntity): tracker_device: Device): """Set up Georide entity.""" super().__init__(coordinator, tracker_device) - self.entity_id = f"{ENTITY_ID_FORMAT.format('is_stolen')}.{tracker_device.tracker.tracker_id}"# pylint: disable=C0301 + self.entity_id = f"{ENTITY_ID_FORMAT.format('is_stolen')}_{tracker_device.tracker.tracker_id}"# pylint: disable=C0301 @property def unique_id(self): @@ -122,7 +122,7 @@ class GeoRideCrashedBinarySensorEntity(GeoRideBinarySensorEntity): tracker_device: Device): """Set up Georide entity.""" super().__init__(coordinator, tracker_device) - self.entity_id = f"{ENTITY_ID_FORMAT.format('is_crashed')}.{tracker_device.tracker.tracker_id}"# pylint: disable=C0301 + self.entity_id = f"{ENTITY_ID_FORMAT.format('is_crashed')}_{tracker_device.tracker.tracker_id}"# pylint: disable=C0301 @property def unique_id(self): @@ -151,7 +151,7 @@ class GeoRideActiveSubscriptionBinarySensorEntity(GeoRideBinarySensorEntity): tracker_device: Device): """Set up Georide entity.""" super().__init__(coordinator, tracker_device) - self.entity_id = f"{ENTITY_ID_FORMAT.format('is_active_subscription_')}.{tracker_device.tracker.tracker_id}"# pylint: disable=C0301 + self.entity_id = f"{ENTITY_ID_FORMAT.format('is_active_subscription_')}_{tracker_device.tracker.tracker_id}"# pylint: disable=C0301 @property def entity_category(self): @@ -187,7 +187,7 @@ class GeoRideOwnerBinarySensorEntity(GeoRideBinarySensorEntity): tracker_device: Device): """Set up Georide entity.""" super().__init__(coordinator, tracker_device) - self.entity_id = f"{ENTITY_ID_FORMAT.format('is_owner')}.{tracker_device.tracker.tracker_id}"# pylint: disable=C0301 + self.entity_id = f"{ENTITY_ID_FORMAT.format('is_owner')}_{tracker_device.tracker.tracker_id}"# pylint: disable=C0301 @property def unique_id(self): @@ -213,7 +213,7 @@ class GeoRideNetworkBinarySensorEntity(GeoRideBinarySensorEntity): tracker_device: Device): """Set up Georide entity.""" super().__init__(coordinator, tracker_device) - self.entity_id = f"{ENTITY_ID_FORMAT.format('have_network')}.{tracker_device.tracker.tracker_id}"# pylint: disable=C0301 + self.entity_id = f"{ENTITY_ID_FORMAT.format('have_network')}_{tracker_device.tracker.tracker_id}"# pylint: disable=C0301 @property def entity_category(self): @@ -253,7 +253,7 @@ class GeoRideMovingBinarySensorEntity(GeoRideBinarySensorEntity): tracker_device: Device): """Set up Georide entity.""" super().__init__(coordinator, tracker_device) - self.entity_id = f"{ENTITY_ID_FORMAT.format('moving')}.{tracker_device.tracker.tracker_id}"# pylint: disable=C0301 + self.entity_id = f"{ENTITY_ID_FORMAT.format('moving')}_{tracker_device.tracker.tracker_id}"# pylint: disable=C0301 @property def entity_category(self): @@ -294,7 +294,7 @@ class GeoRideUpdatedBinarySensorEntity(GeoRideBinarySensorEntity): tracker_device: Device): """Set up Georide entity.""" super().__init__(coordinator, tracker_device) - self.entity_id = f"{ENTITY_ID_FORMAT.format('update')}.{tracker_device.tracker.tracker_id}"# pylint: disable=C0301 + self.entity_id = f"{ENTITY_ID_FORMAT.format('update')}_{tracker_device.tracker.tracker_id}"# pylint: disable=C0301 @property def unique_id(self): @@ -326,7 +326,7 @@ class GeoRideBeaconUpdatedBinarySensorEntity(GeoRideBeaconBinarySensorEntity): tracker_beacon_device: DeviceBeacon): """Set up Georide entity.""" super().__init__(coordinator, tracker_beacon_device) - self.entity_id = f"{ENTITY_ID_FORMAT.format('update')}.{tracker_beacon_device.beacon.beacon_id}"# pylint: disable=C0301 + self.entity_id = f"{ENTITY_ID_FORMAT.format('update')}_{tracker_beacon_device.beacon.beacon_id}"# pylint: disable=C0301 @property def unique_id(self): diff --git a/custom_components/georide/sensor.py b/custom_components/georide/sensor.py index 62423bb..8d45016 100644 --- a/custom_components/georide/sensor.py +++ b/custom_components/georide/sensor.py @@ -57,7 +57,7 @@ class GeoRideOdometerSensorEntity(CoordinatorEntity, SensorEntity): self._tracker_device = tracker_device self._name = tracker_device.tracker.tracker_name self._unit_of_measurement = "m" - self.entity_id = f"{ENTITY_ID_FORMAT.format('odometer')}.{tracker_device.tracker.tracker_id}"# pylint: disable=C0301 + self.entity_id = f"{ENTITY_ID_FORMAT.format('odometer')}_{tracker_device.tracker.tracker_id}"# pylint: disable=C0301 self._state = 0 self._hass = hass @@ -69,7 +69,7 @@ class GeoRideOdometerSensorEntity(CoordinatorEntity, SensorEntity): @property def unique_id(self): """Return the unique ID.""" - return f"odometer_{self._tracker_device.tracker.tracker_id}" + return f"odometer_{self._tracker_device.tracker.tracker_id}".lower() @property def state(self): @@ -107,14 +107,14 @@ class GeoRideOdometerKmSensorEntity(CoordinatorEntity, SensorEntity): self._tracker_device = tracker_device self._name = tracker_device.tracker.tracker_name self._unit_of_measurement = "km" - self.entity_id = f"{ENTITY_ID_FORMAT.format('odometer_km')}.{tracker_device.tracker.tracker_id}"# pylint: disable=C0301 + self.entity_id = f"{ENTITY_ID_FORMAT.format('odometer_km')}_{tracker_device.tracker.tracker_id}"# pylint: disable=C0301 self._state = 0 self._hass = hass @property def unique_id(self): """Return the unique ID.""" - return f"odometer_km_{self._tracker_device.tracker.tracker_id}" + return f"odometer_km_{self._tracker_device.tracker.tracker_id}".lower() @property def state(self): @@ -152,7 +152,7 @@ class GeoRideSpeedSensorEntity(CoordinatorEntity, SensorEntity): self._tracker_device = tracker_device self._name = tracker_device.tracker.tracker_name self._unit_of_measurement = "km/h" - self.entity_id = f"{ENTITY_ID_FORMAT.format('speed')}.{tracker_device.tracker.tracker_id}"# pylint: disable=C0301 + self.entity_id = f"{ENTITY_ID_FORMAT.format('speed')}_{tracker_device.tracker.tracker_id}"# pylint: disable=C0301 self._state = 0 self._hass = hass self._state_class = "measurement" @@ -202,7 +202,7 @@ class GeoRideInternalBatterySensorEntity(CoordinatorEntity, SensorEntity): self._tracker_device = tracker_device self._name = tracker_device.tracker.tracker_name self._unit_of_measurement = "V" - self.entity_id = f"{ENTITY_ID_FORMAT.format('internal_battery_voltage')}.{tracker_device.tracker.tracker_id}"# pylint: disable=C0301 + self.entity_id = f"{ENTITY_ID_FORMAT.format('internal_battery_voltage')}_{tracker_device.tracker.tracker_id}"# pylint: disable=C0301 self._state = 0 self._state_class = "measurement" self._device_class = "voltage" @@ -264,7 +264,7 @@ class GeoRideExternalBatterySensorEntity(CoordinatorEntity, SensorEntity): self._tracker_device = tracker_device self._name = tracker_device.tracker.tracker_name self._unit_of_measurement = "V" - self.entity_id = f"{ENTITY_ID_FORMAT.format('external_battery_voltage')}.{tracker_device.tracker.tracker_id}"# pylint: disable=C0301 + self.entity_id = f"{ENTITY_ID_FORMAT.format('external_battery_voltage')}_{tracker_device.tracker.tracker_id}"# pylint: disable=C0301 self._state = 0 self._state_class = "measurement" self._device_class = "voltage" @@ -325,7 +325,7 @@ class GeoRideFixtimeSensorEntity(CoordinatorEntity, SensorEntity): super().__init__(coordinator) self._tracker_device = tracker_device self._name = tracker_device.tracker.tracker_name - self.entity_id = f"{ENTITY_ID_FORMAT.format('fixtime')}.{tracker_device.tracker.tracker_id}"# pylint: disable=C0301 + self.entity_id = f"{ENTITY_ID_FORMAT.format('fixtime')}_{tracker_device.tracker.tracker_id}"# pylint: disable=C0301 self._state = 0 self._device_class = "timestamp" @@ -368,7 +368,7 @@ class GeoRideBeaconBatterySensorEntity(CoordinatorEntity, SensorEntity): self._tracker_device = tracker_beacon self._name = tracker_beacon.beacon.name self._unit_of_measurement = "%" - self.entity_id = f"{ENTITY_ID_FORMAT.format('battery_percent')}.{tracker_beacon.beacon.beacon_id}"# pylint: disable=C0301 + self.entity_id = f"{ENTITY_ID_FORMAT.format('battery_percent')}_{tracker_beacon.beacon.beacon_id}"# pylint: disable=C0301 self._state = 0 @property diff --git a/custom_components/georide/siren.py b/custom_components/georide/siren.py index 748f4fd..6ee8c0d 100644 --- a/custom_components/georide/siren.py +++ b/custom_components/georide/siren.py @@ -48,7 +48,7 @@ class GeoRideSirenEntity(CoordinatorEntity, SirenEntity): super().__init__(coordinator) self._tracker_device = tracker_device self._name = tracker_device.tracker.tracker_name - self.entity_id = f"{ENTITY_ID_FORMAT.format('eco_mode')}.{tracker_device.tracker.tracker_id}"# pylint: disable=C0301 + self.entity_id = f"{ENTITY_ID_FORMAT.format('eco_mode')}_{tracker_device.tracker.tracker_id}"# pylint: disable=C0301 self._hass = hass @property diff --git a/custom_components/georide/switch.py b/custom_components/georide/switch.py index 0559264..5d79d52 100644 --- a/custom_components/georide/switch.py +++ b/custom_components/georide/switch.py @@ -48,7 +48,7 @@ class GeoRideLockSwitchEntity(CoordinatorEntity, SwitchEntity): super().__init__(coordinator) self._tracker_device = tracker_device self._name = tracker_device.tracker.tracker_name - self.entity_id = f"{ENTITY_ID_FORMAT.format('lock')}.{tracker_device.tracker.tracker_id}"# pylint: disable=C0301 + self.entity_id = f"{ENTITY_ID_FORMAT.format('lock')}_{tracker_device.tracker.tracker_id}"# pylint: disable=C0301 self._hass = hass @property @@ -120,7 +120,7 @@ class GeoRideEcoModeSwitchEntity(CoordinatorEntity, SwitchEntity): super().__init__(coordinator) self._tracker_device = tracker_device self._name = tracker_device.tracker.tracker_name - self.entity_id = f"{ENTITY_ID_FORMAT.format('eco_mode')}.{tracker_device.tracker.tracker_id}"# pylint: disable=C0301 + self.entity_id = f"{ENTITY_ID_FORMAT.format('eco_mode')}_{tracker_device.tracker.tracker_id}"# pylint: disable=C0301 self._hass = hass @property