Git Product home page Git Product logo

fiatchamp's Introduction

image FiatChamp ๐Ÿš—

Connect your FIAT, Jeep, Ram, Dodge, AlfaRomeo car ๐Ÿš— or truck ๐Ÿšš to Home Assistant. Needs a vehicle with enabled uconnect services and valid account.

  • Fiat: Works โœ…
  • Jeep: Works โœ…
  • Ram: Experimental โš ๏ธ
  • Dodge: Unknown โ›”
  • AlfaRomeo: Unknown โ›”

I have created this addon for my own car ๐Ÿš— (new Fiat Icon 500e) and its the only one i can test it with. Work in progress so expect some bugs ๐Ÿž. ๐Ÿ˜…

Example dashboard using sensors and entities provided by this addon:

image

Prerequisites ๐Ÿ“ƒ

  • Official Home Assistant MQTT Addon (recommended) running or external mqtt broker. Broker must be connected to Home Assistant MQTT integration.

image

It looks like there are different uconnect services. Make sure your car works with one of the following uconnect sites. Older vehicles that only uses mopar.com do not seem to work.

Features โœ”๏ธ

  • Imports values like battery level ๐Ÿ”‹, tyre pressure โ€๐Ÿ’จ, odometer โฒ etc. into Home Assistant.
  • Multiple Brands: Fiat, Jeep, Ram, Dodge, AlfraRomeo
  • Supports multiple cars on the same account. ๐Ÿš™๐Ÿš—๐Ÿš•
  • Location tracking.๐ŸŒ
  • Home Assistant zones (home ๐Ÿ , work ๐Ÿฆ etc.) support.
  • Uses the same data source as the official app ๐Ÿ“ฑ.
  • Remote commands (open doors ๐Ÿšช, switch air conditioner ๐ŸงŠ on , ...) are supported since version 2.0. Some commands may not work with all cars. Available commands are:
    • "UpdateLocation" (updates gps location of the car)
    • "RefreshBatteryStatus" (refresh battery level %)
    • "DeepRefresh" (same as "RefreshBatteryStatus")
    • "Blink" (blink lights)
    • "ChargeNOW" (starts charging)
    • "Trunk" (open/close trunk lock)
    • "DoorLock" (open/close doors. See: "EnableDangerousCommands" option.)
    • "HVAC" (turn on the temperature preconditioning in the car. the official app does not support turning preconditioning off ๐Ÿ˜… See: "EnableDangerousCommands" option.)
  • Convert km to miles option.

What doesn't work (yet)? โŒ

  • Eco Reports (statistics). I could not find any API yet. The official app shows it so in theory it should be accessible.

What will NEVER work? โŒ

  • Things the fiat api does not support. Like real time tracking or adjusting the music volume. Maybe they add some new features in the future.

How to install ๐Ÿ› ๏ธ

Home Assistant OS or Supervised

Follow the official docs:

https://www.home-assistant.io/addons/

Short version:

  • Switch on "Advanced Mode" in your users profile. (if you haven't already)
  • Go to Settings -> Add-ons -> ADD-ON STORE
  • Top right three dots. Add repo. https://github.com/wubbl0rz/FiatChamp
  • Top right three dots. Check for updates.
  • Refresh Page. (F5)
  • Store should show this repo now and you can install the addon.

Standalone ( NOT RECOMMENDED โš ๏ธ )

When using Home Assistant as self managed docker container (like in this issue #22) you can use FiatChamp in standalone mode. You need to update the container yourself and export all the needed environment variables. This is for advanced users only. The supervisor token can be generated on the the user profile page inside home assistant (Long-Lived Access Tokens).

docker compose example:

version: "3.9"                                                                                                                                     
services:
  FiatChamp:
    image: ghcr.io/wubbl0rz/image-amd64-fiat-champ:3.0.4
    environment:
      - 'STANDALONE=True'
      - '[email protected]'
      - 'FiatChamp_FiatPw=123456'
      - 'FiatChamp_FiatPin=9999'
      - 'FiatChamp_SupervisorToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiI5NGFmMGJhZTFjYTQ0ODk2YWEzYjgzMGI5YmE4NGQxNiIsImlhdCI6MTY3MDA3Mjc
      - 'FiatChamp_StartDelaySeconds=1'
      - 'FiatChamp_Region=Europe'
      - 'FiatChamp_Brand=Fiat'
      - 'FiatChamp_CarUnknownLocation=Unknown'
      - 'FiatChamp_ConvertKmToMiles=False'
      - 'FiatChamp_MqttUser=mqtt'
      - 'FiatChamp_MqttPw=123456'
      - 'FiatChamp_MqttServer=192.168.2.132'
      - 'FiatChamp_MqttPort=1883'

Options / Usage

You dont have to configure MQTT. At startup the Addon will automatically connect to your Home Assistant MQTT Broker.

  • PIN is only needed if you want to send commands to your car. Its the same PIN used by the official app or website.
  • Use DEBUG carefully. It will dump many informations to the log including session tokens and sensitive informations.
  • Automatic refresh of location and battery level may drain your battery a bit more. The car have to wakeup some parts, read new values and sent them back. This will get executed every "Refresh interval" and at every command even if your car is not at home. Recommendation: Better use a Home Assistant automation instead. I have setup an automation that is triggered by plugging in the charger cable and then updates the battery level (by calling DeepRefresh) every 15 minutes until its 100% or charger is disconnected. ( see here for screenshots of my automations #4 (comment) )
  • Only set "Dangerous commands" if you want to use unoffical commands that are not present in the the official app.
  • Mqtt override can be used if you want to utilize an external mqtt broker. You do not need this if you are using the official home assistant mqtt addon.

FAQ ๐Ÿ™‹

Where is the data ?

inside the mqtt integration (click on "devices"). after a successful run there should be a new entry named "car" or the nickname you gave the car on the website.

image

if not then check the error logs output of the addon.

Why is location not working.

it should work. have a look at the attributes. main status depends on the zones you configured in home assistant. when the car is within the radius of a predefined zone at will show the zone name as location. otherwise status "away" or a custom string.

What is DeepRefresh ? How to update my battery charging ๐Ÿ”‹ level % ?

DeepRefresh is the "fiat language" for battery status update. The car sents only relatively rarely battery charging level % updates. If thats too slow for you press the "RefreshBatteryStatus" or "DeepRefresh" button (or call it in an automation) and the car should immediately update and sent back its current battery charging level %.

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.