forked from peter/volvo2mqtt
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cae32d7745 | ||
|
|
f1b265740b | ||
|
|
bb689c3ee2 | ||
|
|
75363b5c0f | ||
|
|
91eb8a9429 | ||
|
|
638cfcd730 | ||
|
|
983e84e6fe | ||
|
|
f8eb7cee41 |
@@ -1,4 +1,13 @@
|
|||||||
# Volvo2Mqtt
|
# Volvo2Mqtt
|
||||||
|
![Supports aarch64 Architecture][aarch64-shield]
|
||||||
|
![Supports amd64 Architecture][amd64-shield]
|
||||||
|
![Supports armhf Architecture][armhf-shield]
|
||||||
|
![Supports armv7 Architecture][armv7-shield]
|
||||||
|
![Supports i386 Architecture][i386-shield]
|
||||||
|
<br>
|
||||||
|
![Project Maintenance][maintenance-shield]
|
||||||
|
[![GitHub Release][releases-shield]][releases]
|
||||||
|
[![GitHub Activity][commits-shield]][commits]
|
||||||
|
|
||||||
This component establishes a connection between the newer AAOS Volvo cars and Home Assistant via MQTT.<br>
|
This component establishes a connection between the newer AAOS Volvo cars and Home Assistant via MQTT.<br>
|
||||||
Maybe this component works also with other Volvo cars. Please try out the native Volvo [integration](https://www.home-assistant.io/integrations/volvooncall/) before using this component! If the native component doesn't work for your car, try this mqtt bridge.
|
Maybe this component works also with other Volvo cars. Please try out the native Volvo [integration](https://www.home-assistant.io/integrations/volvooncall/) before using this component! If the native component doesn't work for your car, try this mqtt bridge.
|
||||||
@@ -13,6 +22,7 @@ Maybe this component works also with other Volvo cars. Please try out the native
|
|||||||
- XC90 T8 PHEV (2023)
|
- XC90 T8 PHEV (2023)
|
||||||
- XC60 PHEV (2023)
|
- XC60 PHEV (2023)
|
||||||
- XC60 PHEV (2022)
|
- XC60 PHEV (2022)
|
||||||
|
- XC90 PHEV T8 (2023)
|
||||||
- V90 PHEV T8 (2019)*
|
- V90 PHEV T8 (2019)*
|
||||||
|
|
||||||
*only partly working
|
*only partly working
|
||||||
@@ -28,12 +38,14 @@ Please let me know if your car works with this addon so I can expand the list!<b
|
|||||||
- Sensor "Charging System Status"
|
- Sensor "Charging System Status"
|
||||||
- Sensor "Charging Connection Status"
|
- Sensor "Charging Connection Status"
|
||||||
- Sensor "Estimated Charging Finish Time"
|
- Sensor "Estimated Charging Finish Time"
|
||||||
- Sensor "Door Lock Status"
|
- Sensor "Door Lock Status (All doors, tank lid, and engine hood)"
|
||||||
|
- Sensor "Window Lock Status (All windows and sunroof)"
|
||||||
- Sensor "Engine Status"
|
- Sensor "Engine Status"
|
||||||
- Sensor "Window Lock Status"
|
|
||||||
- Sensor "Odometer"
|
- Sensor "Odometer"
|
||||||
- Sensor "Tire Status"
|
- Sensor "Tire Status"
|
||||||
- Sensor "Fuel Status"
|
- Sensor "Fuel Status"
|
||||||
|
- Sensor "Average Fuel Consumption"
|
||||||
|
- Sensor "Average Speed"
|
||||||
- Car Device Tracker
|
- Car Device Tracker
|
||||||
- Multiple cars
|
- Multiple cars
|
||||||
|
|
||||||
@@ -62,6 +74,83 @@ Here is what every option means:
|
|||||||
| `CONF_debug` | `string` | | Debug option (true/false) - optional! |
|
| `CONF_debug` | `string` | | Debug option (true/false) - optional! |
|
||||||
| `TZ` | `string` | | Container timezone eg "Europe/Berlin" from [here](https://docs.diladele.com/docker/timezones.html)|
|
| `TZ` | `string` | | Container timezone eg "Europe/Berlin" from [here](https://docs.diladele.com/docker/timezones.html)|
|
||||||
|
|
||||||
If you like my work:
|
## Lovelace sample card
|
||||||
|
<details>
|
||||||
|
<summary>Show me more!</summary><blockquote>
|
||||||
|
<br>
|
||||||
|
|
||||||
[](https://ko-fi.com/U7U8MFXCF)
|
<br>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>Lovelace card sample</summary>
|
||||||
|
|
||||||
|
```
|
||||||
|
type: vertical-stack
|
||||||
|
title: Autostatus
|
||||||
|
cards:
|
||||||
|
- type: custom:vertical-stack-in-card
|
||||||
|
cards:
|
||||||
|
- type: custom:mushroom-lock-card
|
||||||
|
entity: lock.volvo_<your vin>_lock_status
|
||||||
|
name: Verrigelungsstatus
|
||||||
|
- type: horizontal-stack
|
||||||
|
cards:
|
||||||
|
- type: custom:mushroom-entity-card
|
||||||
|
entity: sensor.volvo_<your vin>_electric_range
|
||||||
|
name: Reichweite
|
||||||
|
layout: vertical
|
||||||
|
- type: custom:mushroom-entity-card
|
||||||
|
entity: sensor.volvo_<your vin>_battery_charge_level
|
||||||
|
name: Batteriestatus
|
||||||
|
layout: vertical
|
||||||
|
- type: custom:mushroom-entity-card
|
||||||
|
entity: sensor.volvo_<your vin>_estimated_charging_time
|
||||||
|
layout: vertical
|
||||||
|
name: Ladezeit
|
||||||
|
- type: horizontal-stack
|
||||||
|
cards:
|
||||||
|
- type: custom:mushroom-entity-card
|
||||||
|
entity: switch.volvo_<your vin>_climate_status
|
||||||
|
tap_action:
|
||||||
|
action: toggle
|
||||||
|
layout: vertical
|
||||||
|
name: Klimatisieren/Heizen
|
||||||
|
- type: custom:mushroom-template-card
|
||||||
|
primary: Daten aktualisieren
|
||||||
|
secondary: '{{ states(''sensor.volvo_<your vin>_last_data_update'')}}'
|
||||||
|
icon: mdi:update
|
||||||
|
layout: vertical
|
||||||
|
entity: button.volvo_<your vin>_update_data
|
||||||
|
- type: conditional
|
||||||
|
conditions:
|
||||||
|
- entity: sensor.volvo_<your vin>_estimated_charging_time
|
||||||
|
state_not: '0'
|
||||||
|
card:
|
||||||
|
type: custom:mushroom-entity-card
|
||||||
|
entity: sensor.volvo_<your vin>_estimated_charging_finish_time
|
||||||
|
name: Ladung vorraussichtlich abgeschlossen
|
||||||
|
show_name: true
|
||||||
|
- type: map
|
||||||
|
entities:
|
||||||
|
- entity: device_tracker.volvo_<your vin>_location
|
||||||
|
default_zoom: 16
|
||||||
|
dark_mode: false
|
||||||
|
hours_to_show: 0
|
||||||
|
auto_fit: true
|
||||||
|
aspect_ratio: '16:9'
|
||||||
|
```
|
||||||
|
|
||||||
|
</details>
|
||||||
|
</blockquote></details>
|
||||||
|
|
||||||
|
|
||||||
|
[aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg
|
||||||
|
[amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg
|
||||||
|
[armhf-shield]: https://img.shields.io/badge/armhf-yes-green.svg
|
||||||
|
[armv7-shield]: https://img.shields.io/badge/armv7-yes-green.svg
|
||||||
|
[i386-shield]: https://img.shields.io/badge/i386-yes-green.svg
|
||||||
|
[releases]: https://github.com/Dielee/volvo2mqtt/releases
|
||||||
|
[releases-shield]: https://img.shields.io/github/release/Dielee/volvo2mqtt.svg
|
||||||
|
[maintenance-shield]: https://img.shields.io/maintenance/yes/2023.svg
|
||||||
|
[commits-shield]: https://img.shields.io/github/commit-activity/y/Dielee/volvo2mqtt.svg
|
||||||
|
[commits]: https://github.com/Dielee/volvo2mqtt/commits/main
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 107 KiB |
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
name: "Volvo2Mqtt"
|
name: "Volvo2Mqtt"
|
||||||
description: "Volvo AAOS MQTT bridge"
|
description: "Volvo AAOS MQTT bridge"
|
||||||
version: "1.5.2"
|
version: "1.5.3"
|
||||||
slug: "volvo2mqtt"
|
slug: "volvo2mqtt"
|
||||||
init: false
|
init: false
|
||||||
url: "https://github.com/Dielee/volvo2mqtt"
|
url: "https://github.com/Dielee/volvo2mqtt"
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
from config import settings
|
from config import settings
|
||||||
|
|
||||||
VERSION = "v1.5.2"
|
VERSION = "v1.5.3"
|
||||||
|
|
||||||
OAUTH_URL = "https://volvoid.eu.volvocars.com/as/token.oauth2"
|
OAUTH_URL = "https://volvoid.eu.volvocars.com/as/token.oauth2"
|
||||||
VEHICLES_URL = "https://api.volvocars.com/connected-vehicle/v1/vehicles"
|
VEHICLES_URL = "https://api.volvocars.com/connected-vehicle/v1/vehicles"
|
||||||
|
|||||||
+1
-1
@@ -307,7 +307,7 @@ def parse_api_data(data, sensor_id=None):
|
|||||||
elif sensor_id == "tailgate":
|
elif sensor_id == "tailgate":
|
||||||
return door_states[data["tailGateOpen"]["value"]] if util.keys_exists(data, "tailGateOpen") else None
|
return door_states[data["tailGateOpen"]["value"]] if util.keys_exists(data, "tailGateOpen") else None
|
||||||
elif sensor_id == "sunroof":
|
elif sensor_id == "sunroof":
|
||||||
return door_states[data["capOpen"]["value"]] if util.keys_exists(data, "capOpen") else None
|
return door_states[data["sunRoofOpen"]["value"]] if util.keys_exists(data, "sunRoofOpen") else None
|
||||||
elif sensor_id == "engine_hood":
|
elif sensor_id == "engine_hood":
|
||||||
return door_states[data["hoodOpen"]["value"]] if util.keys_exists(data, "hoodOpen") else None
|
return door_states[data["hoodOpen"]["value"]] if util.keys_exists(data, "hoodOpen") else None
|
||||||
elif sensor_id == "tank_lid":
|
elif sensor_id == "tank_lid":
|
||||||
|
|||||||
Reference in New Issue
Block a user