forked from peter/volvo2mqtt
Add average fuel consumption and average speed #30
This commit is contained in:
+5
-1
@@ -18,6 +18,7 @@ TYRE_STATE_URL = "https://api.volvocars.com/connected-vehicle/v2/vehicles/{0}/ty
|
||||
ENGINE_STATE_URL = "https://api.volvocars.com/connected-vehicle/v2/vehicles/{0}/engine-status"
|
||||
BATTERY_CHARGE_STATE_URL = "https://api.volvocars.com/connected-vehicle/v2/vehicles/{0}/battery-charge-level"
|
||||
FUEL_STATE_URL = "https://api.volvocars.com/connected-vehicle/v2/vehicles/{0}/fuel"
|
||||
STATISTICS_URL = "https://api.volvocars.com/connected-vehicle/v2/vehicles/{0}/statistics"
|
||||
|
||||
availability_topic = "volvoAAOS2mqtt/availability"
|
||||
|
||||
@@ -48,6 +49,7 @@ supported_entities = [
|
||||
{"name": "Tailgate", "domain": "sensor", "id": "tailgate", "icon": "car-door-lock", "url": LOCK_STATE_URL},
|
||||
{"name": "Engine Hood", "domain": "sensor", "id": "engine_hood", "icon": "car-door-lock", "url": LOCK_STATE_URL},
|
||||
{"name": "Tank Lid", "domain": "sensor", "id": "tank_lid", "icon": "car-door-lock", "url": LOCK_STATE_URL},
|
||||
{"name": "Sunroof", "domain": "sensor", "id": "sunroof", "icon": "car-door-lock", "url": LOCK_STATE_URL},
|
||||
{"name": "Air Conditioning", "domain": "switch", "id": "climate_status", "icon": "air-conditioner"},
|
||||
{"name": "Lock state", "domain": "lock", "id": "lock_status", "icon": "lock", "url": LOCK_STATE_URL},
|
||||
{"name": "Force Update Data", "domain": "button", "id": "update_data", "icon": "update", "url": ""},
|
||||
@@ -57,5 +59,7 @@ supported_entities = [
|
||||
{"name": "Tire Rear Left", "domain": "sensor", "id": "tyre_rear_left", "icon": "car-tire-alert", "url": TYRE_STATE_URL},
|
||||
{"name": "Tire Rear Right", "domain": "sensor", "id": "tyre_rear_right", "icon": "car-tire-alert", "url": TYRE_STATE_URL},
|
||||
{"name": "Engine State", "domain": "sensor", "id": "engine_state", "icon": "engine", "url": ENGINE_STATE_URL},
|
||||
{"name": "Fuel Level", "domain": "sensor", "id": "fuel_level", "unit": "liters", "icon": "fuel", "url": FUEL_STATE_URL}
|
||||
{"name": "Fuel Level", "domain": "sensor", "id": "fuel_level", "unit": "liters", "icon": "fuel", "url": FUEL_STATE_URL},
|
||||
{"name": "Average Fuel Consumption", "domain": "sensor", "id": "average_fuel_consumption", "unit": "liters", "icon": "fuel", "url": STATISTICS_URL},
|
||||
{"name": "Average Speed", "domain": "sensor", "id": "average_speed", "unit": "km/h" if settings["babelLocale"] != "en_US" else "mp/h", "icon": "fuel", "url": STATISTICS_URL}
|
||||
]
|
||||
|
||||
@@ -319,6 +319,8 @@ def parse_api_data(data, sensor_id=None):
|
||||
return data["rearRightDoorOpen"]["value"] if util.keys_exists(data, "rearRightDoorOpen") else None
|
||||
elif sensor_id == "tailgate":
|
||||
return data["tailGateOpen"]["value"] if util.keys_exists(data, "tailGateOpen") else None
|
||||
elif sensor_id == "sunroof":
|
||||
return data["capOpen"]["value"] if util.keys_exists(data, "capOpen") else None
|
||||
elif sensor_id == "engine_hood":
|
||||
return data["hoodOpen"]["value"] if util.keys_exists(data, "hoodOpen") else None
|
||||
elif sensor_id == "tank_lid":
|
||||
@@ -335,6 +337,10 @@ def parse_api_data(data, sensor_id=None):
|
||||
return data["engineRunning"]["value"] if util.keys_exists(data, "engineRunning") else None
|
||||
elif sensor_id == "fuel_level":
|
||||
return data["fuelAmount"]["value"] if util.keys_exists(data, "fuelAmount") else None
|
||||
elif sensor_id == "average_fuel_consumption":
|
||||
return data["averageFuelConsumption"]["value"] if util.keys_exists(data, "averageFuelConsumption") else None
|
||||
elif sensor_id == "average_speed":
|
||||
return data["averageSpeed"]["value"] if util.keys_exists(data, "averageSpeed") else None
|
||||
elif sensor_id == "location":
|
||||
coordinates = {}
|
||||
if util.keys_exists(data, "geometry"):
|
||||
|
||||
Reference in New Issue
Block a user