Fiat 500 électrique - Uconnect

Bonjour,

J’ai passé commande pour une fiat 500 électrique. Elle utilise le système Uconnect.

Pensez vous que les éléments présents sur ce lien pourraient permettre la création d’un plugin ?

La fiat 500 est la voiture électrique la plus vendue en avril 2022. Du coup, il pourrait y avoir du monde d’interressé, moi le premier :grin:

Avis au développeurs :stuck_out_tongue_winking_eye:
Frédéric

1 « J'aime »

Bonjour,

Le problème c’est qu’il faudrait un modèle pour tester l’intégration, vous offrez ? :stuck_out_tongue_winking_eye:

1 « J'aime »

Finalement le côté waf est perdu :joy:

Fiat 500e reçue ce matin.

Si un jour un plugin voit le jour, je suis prêt pour les tests :slight_smile:

Il semblerait qu’il y ait l’avancement côté Home Assistant

Je viens de tester le plugin sous Home Assistant et cela semble bien fonctionner. Je récupère bien les informations de la voiture.

Si un développeur est intéressé pour l’intégrer dans jeedom :pray:

En attendant, je vais essayer de remonter les informations via le plugin Home Assistant Connect

1 « J'aime »

Voila une première mise en forme avec les premières informations récupérées. A suivre…

Edit : Mise à jour
image

1 « J'aime »

Hello
le plus simple est de passer depuis jeedom par MQTT Manager car l’intégration 500e <-> Home assistant utilise MQTT.
Il suffit de connecter Jeedom/MQTT manager au broker MQTT et de
créer dans Jeedom/MQTT manager un profil avec le topic racine :homeassistant
Puis les commandes qui vont bien ex:
sensor/(ID)_car_evInfo_battery_stateOfCharge/state pour le % de charge

ID est le VIN fiat de ta 500e disponible dans l’appli fiat… (sans les parenthèses)

sensor/(ID)_car_evInfo_battery_totalRange/state pour les klm de charge

sensor/ID_car_evInfo_battery_chargingStatus/state le status de la charge

sensor/(ID)_car_evInfo_battery_plugInStatus/state si la prise est branchée

chez moi tout fonctionne depuis 6 mois avec quelques scripts qui nous informe de l’état de la charge et de l’oubli de la brancher (tres waf)…

Merci pour l’info. Pour le moment je ne maîtrise pas MQTT (j’ai commencé à m’y mettre avec zigbee2mqtt) mais finalement avec le plugin home assistant connect cela a été très simple de récupérer les informations.

hello pour info, la batterie de service de la 500e ne supporte pas les mises à jour toutes les 1/2 heures,
Le concepteur du pluging HA propose de ne pas activer l’update auto, de la batterie et de la localisation:
(i would recommend not to use the reload and location update in the addon at all until you really have to)
La batterie de service (12V) se vide en 3 jours si la 500 n’est pas Utilisée…soit 100 update. Wait and see–

Bonjour Jojo2Trevi,

Merci pour l’info, c’est bon à savoir :sweat_smile:

Mais du coup, tu ne passes pas du tout par home assistant ? tu récupères les infos jeedom <> Uconnect ?

Je passe par Home assistant et jeedom MQTT Manager, mais dans la configuration Home Assistant du module FiatChamp, j’ai déactivé : (Force refresh battery status), et (Force refresh location). Je vais mettre en place la solution de (wubbl0rz) pour faire des demandes de refresh quand j’en ai besoin, ex: le soir pour savoir s’il faut brancher la 500e (message vocale sur Google Home)… j’utilise: car_evInfo_battery_stateOfCharge(%), sensor.car_evinfo_battery_pluginstatus(0/1), sensor.car_location (texte) pour savoir si la 500 doit être chargée…

Est ce que ton côté les boutons de mise en route de clim ou de feemeture/ouverture des portes fonctionnent ?
Chez moi l’appui sur ces boutons depuis home assistant ne fonctionnent pas.

Hello, Les commandes: Mise en marche Clim et Fermeture/Ouverture des Portes ne fonctionnent pas depuis home assistant, ces fonctions ne sont pas activées par défaut , il faut modifier le paramètre (Dangerous commands)… je ne l’ai pas fait, c’est off pour ma configuration, comme (automatic refresh status battery) et (refresh location) qui consomme la batterie de service.

Bonjour,

Je viens de tomber sur un script en PHP pour récupérer les infos.

https://github.com/schmidmuc/fiat_vehicle

Si qqn sait comment on pourrait interfacer ça dans Jeedom, je suis dispo pour tester. Cdlt

Bonjour @GiDom

Je viens enfin de réussir à intégrer les remontées de ma fiat 500e depuis jeedom (sans passer HA)

Je suis parti de ce github qui est basé sur celui que tu indiques

Voici en détail comment j’ai procédé en ligne de commande via putty

1- téléchargement du fichier :
wget https://github.com/mahil4711/fiat_vehicle_mqtt/archive/refs/tags/v1.0.0.zip

2- renommage du fichier :
mv v1.0.0.zip fiat_mqtt.zip

3- décompression du fichier :
unzip fiat_mqtt.zip -d /fiat_mqtt

4- Je rentre dans le dossier :
cd /fiat_mqtt

5- je renomme le sous dossier et je rentre dedans
mv fiat_vehicle_mqtt-1.0.0 fiat_mqtt
cd fiat_mqtt

6- J’ouvre le fichier Dockerfile pour vérifier la localité TZ
sudo nano Dockerfile

FROM debian:bullseye

ENV DEBIAN_FRONTEND noninteractive

ENV TZ=Europe/Paris

RUN apt-get -qq update && \
    apt-get -y install php-xml php-curl composer procps && \
    ln -fs /usr/share/zoneinfo/$TZ /etc/localtime && \
    dpkg-reconfigure -f noninteractive tzdata

RUN mkdir /fiat
RUN mkdir /fiat/fiat_vehicle
COPY fiat_vehicle/ /fiat/fiat_vehicle
COPY fiat.cfg fiat_mqtt.php composer.json /fiat/
RUN cd /fiat && composer install

CMD cd /fiat && php fiat_mqtt.php

7- Je configure le fichier fiat.cfg.
sudo nano fiat.cfg

[mqtt]
server = IP BROKER MQTT
port =1883
username = 
password = 

[fiat]
username = login compte Uconnect
password = mot de passe compte Uconnect
PIN =PIN
sleep =300
sleep_charging =60

Attention :

  • pour le mot de passe du compte Uconnect, il n’accepte pas le caracère « ! » (et peut-être d’autres)
  • j’ai eu un problème de connexion au broker mqtt. Dans la config de mosquito, j’ai du mettre « allow_anonymous true » au lieu de false et ne pas mettre de login et de mot de passe dans le fichier fiat.cfg

8- compactage du docker :
docker build -t fiat .

9- Lancement du docker :

docker-compose up -d

10- Mettre MQTT manager en debug pour voir dans les logs ce qui remonte, puis créez un équipement avec le topic racine fiat/NUMERO DE VOTRE VIN (le VIN apparaît aussi dans les logs du docker)

11- Dans l’onglet commande, cliquez sur Découverte et sélectionner les infos souhaitées.

Il me reste à voir comment intégrer les commandes actions.

1 « J'aime »

Petit retour concernant les commandes Action.

Une fois le docker lancé et la connexion établie, via putty lancer : docker logs -f fiat
Cela permettra de récupérer le json de toutes les informations de la voiture et de trouver d’éventuelle autres actions pour votre voiture (plein d’autres informations sur la voiture qui peuvent être remontée également en modifiant le fichier fiat_mqtt.php.

Pour ma part, pour les commandes action, j’ai fait des modications dans les fichiers :

  • fiat_vehicle/api.php

J’ai pour le moment ces commandes actions (d’autres sont encore à tester)

                        "VF"                    =>      "location",                     // UpdateLocation (updates gps location of the car)
                        "DEEPREFRESH"           =>      "ev",                           // DeepRefresh (same as "RefreshBatteryStatus
                        "CNOW"                  =>      "ev/chargenow",                 // ChargeNOW (starts charging
                        "RDU"                   =>      "remote",                       // Unlock doors
                        "RDL"                   =>      "remote",                       // Lock doors
                        "ROPRECOND"             =>      "remote",                       // Turn on/off HVAC
                        "RDL"                   =>      "remote",                       // Lock doors
                        "ROPRECOND_OFF"         =>      "remote",                        // Turn off HVAC
                        "ROLIGHTS"              =>      "remote"                       // Blink (blink lights)
  • fiat_mqtt.php

Idem pour ce fichier

    "VF"            => "location",     // UpdateLocation (updates gps location of the car)
    "DEEPREFRESH"   => "ev",           // DeepRefresh (same as "RefreshBatteryStatus")
    "ROLIGHTS"      => "remote",       // Blink (blink lights)
    "CNOW"          => "ev/chargenow", // ChargeNOW (starts charging)
    "RDU"           => "remote",       // Unlock doors
    "RDL"           => "remote",       // Lock doors
    "ROPRECOND"     => "remote",       // Turn on/off HVAC
    "ROPRECOND_OFF" => "remote",       // Turn on/off HVAC

Refaire ces commandes :
docker build -t fiat .
docker-compose up -d

Et enfin les commandes action à saisir dans jeedom

Bonjour,

J’ai attaqué le sujet, après avoir buté sur le MQTT mais je pense avoir réussi la partie login je bute sur cette erreur :

`2024-10-10 21:16:05 reading config file './fiat.cfg'
2024-10-10 21:16:05 GoogleApiKey is empty, unable to translate location address
2024-10-10 21:16:05 forked child with pid 8
2024-10-10 21:16:05 child is starting subscriber for executing commands

client connected

PHP Fatal error:  Uncaught Error: Typed property apiFiat::$fiatLoginToken must not be accessed before initialization in /fiat/fiat_vehicle/api.php:189

Stack trace:

#0 /fiat/fiat_vehicle/api.php(758): apiFiat->callApiFiatJWT()
#1 /fiat/fiat_vehicle/api.php(367): apiFiat->refreshLogin()
#2 /fiat/fiat_vehicle/api.php(386): apiFiat->renewAmazonGetCredentialsIfNecessary()
#3 /fiat/fiat_vehicle/api.php(646): apiFiat->apiRequestVehicles()
#4 /fiat/fiat_mqtt.php(138): apiFiat->apiRequestAll()
#5 /fiat/fiat_mqtt.php(228): fiat_get_data()
}
  thrown in /fiat/fiat_vehicle/api.php on line 189

tu es certain de tes identifiants Uconnect ? Car cela semble planter à la connexion.

Édit : as-tu un caractère spécial type ‹ ! › dans ton mot de passe ? Moi j’ai dû modifier mon mot de passe uconnect car cela ne fonctionnait pas avec ce caractère.