2023-06-26 09:25:46 +02:00
2023-06-26 08:17:51 +02:00
2023-06-26 08:55:23 +02:00
2023-06-23 13:56:30 +02:00
2023-06-23 13:56:30 +02:00
2023-06-20 13:06:17 +02:00
2023-06-18 14:22:26 +02:00
2023-06-26 09:25:46 +02:00
2023-06-20 11:23:20 +02:00

Volvo2Mqtt

This component establishes a connection between the newer AAOS Volvo cars and Home Assistant via MQTT.
Maybe this component works also with other Volvo cars. Please try out the native Volvo integration before using this component! If the native component doesn't work for your car, try this mqtt bridge.

Confirmed working with

  • XC40 BEV (2023)
  • XC40 BEV (2022)
  • XC40 PHEV (2021)
  • V60 T8 PHEV (2023)
  • C40 PHEV (2023)
  • C40 PHEV (2022)
  • XC90 T8 PHEV (2023)
  • XC60 PHEV (2023)
  • XC60 PHEV (2022)
  • V90 PHEV T8 (2019)*

*only partly working

Please let me know if your car works with this addon so I can expand the list!

Supported features

  • Lock/unlock car
  • Start/stop climate
  • Sensor "Battery Charge Level"
  • Sensor "Electric Range"
  • Sensor "Charging System Status"
  • Sensor "Charging Connection Status"
  • Sensor "Estimated Charging Finish Time"
  • Sensor "Door Lock Status"
  • Sensor "Engine Status"
  • Sensor "Window Lock Status"
  • Sensor "Odometer"
  • Sensor "Tire Status"
  • Sensor "Fuel Status"
  • Car Device Tracker
  • Multiple cars

NOTE: Energy status currently available only for cars in the Europe / Middle East / Africa regions. source

Setup

Docker:

Just install this addon with the following command. Please note to fill in your settings inside the environment variables.

docker run -d --pull=always -e CONF_updateInterval=300 -e CONF_babelLocale='de' -e CONF_mqtt='@json {"broker": "", "username": "", "password": "", "port": 1883}' -e CONF_volvoData='@json {"username": "", "password": "", "vin": "", "vccapikey": "", "odometerMultiplier": 1}' -e TZ='Europe/Berlin' --name volvo2mqtt ghcr.io/dielee/volvo2mqtt:latest

HA Add-On:

Open your Home Assistant instance and show the add add-on repository dialog with a specific repository URL pre-filled.

Here is what every option means:

Name Type Default Description
CONF_updateInterval int required Update intervall in seconds.
CONF_babelLocale string required Select your country from this list. "Locale name" is the column you need!
CONF_mqtt json required Broker = Mqtt Broker IP / Username and Passwort are optional! Broker port can be changed. If no value is given, port 1883 will be used.
CONF_volvoData json required Username and password are REQUIRED. Car vin can be a single vin or a list of multiple vins like ["vin1", "vin2"]. If no vin is provided, ALL of your vehicles will be used. Vccapi key is REQUIRED. Get your Vccapi key from here. Odometer Multiplier is sometimes 10, sometimes 1. Try what's right for your car. If you leave it empty, the multiplier will be 1.
CONF_debug string Debug option (true/false) - optional!
TZ string Container timezone eg "Europe/Berlin" from here

Lovelace sample card

Show me more!
Lovelace card sample
 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'
Languages
Python 98.2%
Dockerfile 1.5%
Shell 0.3%