Shipping 0.7.0

master 0.7.0
Matthieu DUVAL 3 years ago
commit 57abb51b13

@ -10,6 +10,85 @@ Official GeoRide website: https://georide.fr/
## Description
This component add some sensor for GeoRide Tracker
### What's entity is available :
Get GeoRide position
Get GeoRide lock status
Change GeoRide lock status
Add GeoRide from configuration.yml
Add GeoRide from interface
Get stollen status
Get crashed status
Get is owner status
Get subsription status
### What's events are available:
you can filter by data.device_id == XX (XX is your tracker id)
you can display your tracker name by by data.device_name
event;
georide_position_event
georide_lock_event
georide_device_event
georide_alarm_event
you can filter with data.type == 'alarm_vibration' to filter by vibration
here is the alarm type available: (listen the georide_alarm_event)
alarm_vibration
alarm_exitZone
alarm_crash
alarm_crashParking
alarm_deviceOffline
alarm_deviceOnline
alarm_powerCut
alarm_powerUncut
alarm_batteryWarning
alarm_temperatureWarning
alarm_magnetOn
alarm_magnetOff
alarm_sonorAlarmOn
## Question:
### How to have the odometer in Km ?
Simply add a sensor like this in configuration.yaml
(Replace XX by your tracker id)
```yaml
sensor:
- platform: template # Conversion georide de m en km
sensors:
odometer_XX_km:
friendly_name: "Odometter - Km"
value_template: "{{ states.sensor.odometer_XX.state | multiply(0.001) | round(3, 'flour') }}"
unit_of_measurement: 'Km'
```
### How to use the event:
Simply made a automation like this:
```yaml
alias: '[TEST] Send notification'
description: ''
trigger:
- platform: event
event_type: georide_lock_event
condition: []
action:
- service: notify.mobile_app_oneplus_a3003
data:
message: 'The device {{ data.device_name }} have recieved a lock event'
mode: single
```
## Options

@ -290,9 +290,9 @@ class GeoRideContext:
event_data = {
"device_id": tracker.tracker_id,
"type": "on_lock",
"device_name": tracker.tracker_name
}
self._hass.bus.async_fire(f"{DOMAIN}_event", event_data)
self._hass.bus.async_fire(f"{DOMAIN}_lock_event", event_data)
asyncio.run_coroutine_threadsafe(
coordinator.async_request_refresh(), self._hass.loop
@ -312,9 +312,9 @@ class GeoRideContext:
event_data = {
"device_id": tracker.tracker_id,
"type": "on_device",
"device_name": tracker.tracker_name,
}
self._hass.bus.async_fire(f"{DOMAIN}_event", event_data)
self._hass.bus.async_fire(f"{DOMAIN}_device_event", event_data)
asyncio.run_coroutine_threadsafe(
coordinator.async_request_refresh(), self._hass.loop
@ -343,14 +343,27 @@ class GeoRideContext:
_LOGGER.info("Device online detected")
elif data.name == 'powerCut':
_LOGGER.info("powerCut detected")
elif data.name == 'powerUncut':
_LOGGER.info("powerUncut detected")
elif data.name == 'batteryWarning':
_LOGGER.info("batteryWarning detected")
elif data.name == 'temperatureWarning':
_LOGGER.info("temperatureWarning detected")
elif data.name == 'magnetOn':
_LOGGER.info("magnetOn detected")
elif data.name == 'magnetOff':
_LOGGER.info("magnetOff detected")
elif data.name == 'sonorAlarmOn':
_LOGGER.info("sonorAlarmOn detected")
else:
_LOGGER.warning("Unamanged alarm: %s", data.name)
_LOGGER.warning("Unmanaged alarm: %s", data.name)
event_data = {
"device_id": tracker.tracker_id,
"type": f"alarm_{data.name}",
"device_name": tracker.tracker_name,
"type": f"alarm_{data.name}"
}
self._hass.bus.async_fire(f"{DOMAIN}_event", event_data)
self._hass.bus.fire(f"{DOMAIN}_alarm_event", event_data)
asyncio.run_coroutine_threadsafe(
coordinator.async_request_refresh(), self._hass.loop
).result()
@ -372,9 +385,9 @@ class GeoRideContext:
event_data = {
"device_id": tracker.tracker_id,
"type": "position",
"device_name": tracker.tracker_name
}
self._hass.bus.async_fire(f"{DOMAIN}_event", event_data)
self._hass.bus.async_fire(f"{DOMAIN}_position_event", event_data)
asyncio.run_coroutine_threadsafe(
coordinator.async_request_refresh(), self._hass.loop
).result()

@ -9,5 +9,5 @@
],
"dependencies": [],
"codeowners": ["ptimatth"],
"version": "0.6.2"
"version": "0.7.0"
}

@ -4,5 +4,5 @@
"render_readme": true,
"domains": ["devices_tracker", "sensor"],
"country": ["FR"],
"homeassistant": "2021.4.0"
"homeassistant": "2021.6.0"
}
Loading…
Cancel
Save