Docker compose FiatChamps

Bonjour,

Aujourd’hui, je récupère les infos de ma Fiat 500e en passant par HA et le plugin ci-dessous

A priori, il est possible de le faire tourner dans un docker. J’aurai aimé savoir si quelqu’un avait déjà réussi ?
J’ai un message d’erreur à la sauvegarde, je dois avoir un élément qui ne va pas.
Erreur d’exécution de la commande : sudo docker-compose -f /tmp/20de3a732f3509567218.yml up -d --force-recreate 2>&1 (15) => [« yaml: line 8: mapping values are not allowed in this context »]

Je me pose notamment la question du champs FiatChamp_SupervisorToken

Voici ce que j’ai saisi

version: '3.9'                                                                                                                                   
services:
  FiatChamp:
    image: ghcr.io/wubbl0rz/image-amd64-fiat-champ:3.0.8
    container_name: FiatChamp
    environment:
     STANDALONE: True
      FiatChamp_FiatUser: MON_LOGIN
      FiatChamp_FiatPw: MON_MDP
      FiatChamp_FiatPin: MON_CODE_PIN

      FiatChamp_StartDelaySeconds: 1
      FiatChamp_Region: Europe
      FiatChamp_Brand: Fiat
      FiatChamp_CarUnknownLocation: Unknown
      FiatChamp_ConvertKmToMiles: False
      FiatChamp_MqttUser: USER_MQTT
      FiatChamp_MqttPw: MDP_MQTT
      FiatChamp_MqttServer: 192.168.1.200
      FiatChamp_MqttPort: 1883

Merci !
Frédéric

Salut,

Le problème semble venir du décalage de ta ligne

STANDALONE: True

qui doit être alignée avec les suivantes.

D’autre part, tu as retiré les - devant chaque élément de la liste ? Il y a une raison ?

Merci @noodom pour ton aide

Ce n,'est que mon second docker :sweat_smile:, je ne pensai pas que le tiret avait une importance car je n’en avais sur le premier qui tourne. Du coup, je les ai ajouté et j’ai mis STANDALONE: True dans le même alignement, mais cela fait pareil

Erreur d’exécution de la commande : sudo docker-compose -f /tmp/5ececcd7435bac6c5780.yml up -d --force-recreate 2>&1 (15) => [« yaml: line 9: did not find expected tag URI »]

version: '3.9'                                                                                                                                   
services:
  FiatChamp:
    image: ghcr.io/wubbl0rz/image-amd64-fiat-champ:3.0.8
    container_name: FiatChamp
    environment:
      - STANDALONE: True
      - FiatChamp_FiatUser: MON_LOGIN
      - FiatChamp_FiatPw: MON_MDP
      - FiatChamp_FiatPin: MON_CODE_PIN

      - FiatChamp_StartDelaySeconds: 1
      - FiatChamp_Region: Europe
      - FiatChamp_Brand: Fiat
      - FiatChamp_CarUnknownLocation: Unknown
      - FiatChamp_ConvertKmToMiles: False
      - FiatChamp_MqttUser: 
      - FiatChamp_MqttPw: 
      - FiatChamp_MqttServer: 192.168.1.200
      - FiatChamp_MqttPort: 1883

Et avec les quotes pour chaque élément de la liste comme présent sur github ? Et retirer la ligne vide ?

Bien vu @noodom pour les quotes. La sauvegarde est passée.

Par contre, les logs montrent qu’il attend attend bien le champs FiatChamp_SupervisorToken

2024-09-07T08:50:02.241268926Z s6-rc: info: service s6rc-oneshot-runner: starting
2024-09-07T08:50:02.248026767Z s6-rc: info: service s6rc-oneshot-runner successfully started
2024-09-07T08:50:02.250648985Z s6-rc: info: service fix-attrs: starting
2024-09-07T08:50:02.265093356Z s6-rc: info: service fix-attrs successfully started
2024-09-07T08:50:02.268582383Z s6-rc: info: service legacy-cont-init: starting
2024-09-07T08:50:02.296049491Z s6-rc: info: service legacy-cont-init successfully started
2024-09-07T08:50:02.299727720Z s6-rc: info: service legacy-services: starting
2024-09-07T08:50:02.412885154Z s6-rc: info: service legacy-services successfully started
2024-09-07T08:50:02.550966820Z curl: (6) Could not resolve host: supervisor
2024-09-07T08:50:02.558461773Z [08:50:02] ERROR: e[35mSomething went wrong contacting the APIe[0m
2024-09-07T08:50:02.912616468Z curl: (6) Could not resolve host: supervisor
2024-09-07T08:50:02.915524968Z [08:50:02] ERROR: e[35mSomething went wrong contacting the APIe[0m
2024-09-07T08:50:03.491296051Z /run.sh: line 19: SUPERVISOR_TOKEN: unbound variable
2024-09-07T08:50:03.495702662Z s6-rc: info: service legacy-services: stopping
2024-09-07T08:50:03.498777735Z s6-rc: info: service legacy-services successfully stopped
2024-09-07T08:50:03.498919234Z s6-rc: info: service legacy-cont-init: stopping
2024-09-07T08:50:03.504595293Z s6-rc: info: service legacy-cont-init successfully stopped
2024-09-07T08:50:03.504818159Z s6-rc: info: service fix-attrs: stopping
2024-09-07T08:50:03.506885691Z s6-rc: info: service fix-attrs successfully stopped
2024-09-07T08:50:03.507021045Z s6-rc: info: service s6rc-oneshot-runner: stopping
2024-09-07T08:50:03.510449798Z s6-rc: info: service s6rc-oneshot-runner successfully stopped

Pas illogique vu que c’est pour un add on HA :blush:

Tu peux tester ce docker :

Ok je regarde cela cet après midi. A priori, cela se fait avec des lignes de commande ?

Via Putty, j’ai réussi à télécharger le zip, l’extraire, le renommer et créer en configurer le fichier fiat.cfg (merci google :joy:)
J’ai également ajouster la variable TZ dans le fichier Dockerfile (remplacer Berlin par Paris)
Jusque là tout va bien.

Puis j’ai lancé la commande ci dessous, et j’ai ce message
docker build -t fiat

root@jeedom:/fiat_mqtt/fiat_vehicle_mqtt-1.0.0# docker build -t fiat
ERROR: "docker buildx build" requires exactly 1 argument.
See 'docker buildx build --help'.

Usage:  docker buildx build [OPTIONS] PATH | URL | -

Start a build

J’ai quand même tenté la commande suivante, avec le message d’erreur ce dessous.
docker-compose up -d

root@jeedom:/fiat_mqtt/fiat_vehicle_mqtt-1.0.0# docker-compose up -d
[+] Running 0/1
 ⠿ fiat Error                                                              1.1s
Error response from daemon: pull access denied for fiat, repository does not exist or may require 'docker login': denied: requested access to the resource is denied

J’ai trouvé mon problème, il manquait le . à

docker build -t fiat .

Cela avance, mais maintenant, il ne semble pas arriver à ce connecter au broker mqtt, les paramètres saisis sont les bons :thinking:

2024-09-11T05:37:14.161639931Z 2024-09-11 07:37:14 reading config file './fiat.cfg'
2024-09-11T05:37:14.161689937Z 2024-09-11 07:37:14 GoogleApiKey is empty, unable to translate location address
2024-09-11T05:37:14.162482784Z 2024-09-11 07:37:14 forked child with pid 8
2024-09-11T05:37:14.162857486Z 2024-09-11 07:37:14 child is starting subscriber for executing commands
2024-09-11T05:37:14.170030397Z 2024-09-11 07:37:14 MQTT connection failed: [6] Establishing a connection to the MQTT broker failed: The configured broker responded with unauthorized.
2024-09-11T05:37:14.170070416Z 2024-09-11 07:37:14 Exception catched: Call to a member function subscribe() on null
2024-09-11T05:37:14.410268359Z PHP Fatal error:  Uncaught Error: Typed property apiFiat::$fiatLoginToken must not be accessed before initialization in /fiat/fiat_vehicle/api.php:189
2024-09-11T05:37:14.410316550Z Stack trace:
2024-09-11T05:37:14.410340786Z #0 /fiat/fiat_vehicle/api.php(758): apiFiat->callApiFiatJWT()
2024-09-11T05:37:14.410359503Z #1 /fiat/fiat_vehicle/api.php(367): apiFiat->refreshLogin()
2024-09-11T05:37:14.410378011Z #2 /fiat/fiat_vehicle/api.php(386): apiFiat->renewAmazonGetCredentialsIfNecessary()
2024-09-11T05:37:14.410396519Z #3 /fiat/fiat_vehicle/api.php(646): apiFiat->apiRequestVehicles()
2024-09-11T05:37:14.410418450Z #4 /fiat/fiat_mqtt.php(131): apiFiat->apiRequestAll()
2024-09-11T05:37:14.410433955Z #5 /fiat/fiat_mqtt.php(221): fiat_get_data()
2024-09-11T05:37:14.410451555Z #6 {main}
2024-09-11T05:37:14.410466361Z   thrown in /fiat/fiat_vehicle/api.php on line 189

Bonjour @noodom

Avec le lien que tu m’as proposé, j’ai enfin réussi à me connecter et faire remonter des informations. Cela ne fonctionnait pas avec le caractère « ! » dans le mot de passe de Uconnect.
Et j’ai dû mettre dans le configuration de mosquito dans MQTT manager « allow_anonymous true ». Avec false, la connection à mon broker ne fonctionnait pas malgré que les IDs étaient corrects renseignés.

Bonjour @Mips

Je retrouve rien des logs dans MQTT manager. As-tu une idée pourquoi cela ne me propose pas de créer de un nouveau équipement de MQTTDiscovery que ce soit dans les équipements découverts ou inconnus ?
Dans les paramètres, on ne me propose pas d’ajouter un nouveau topic.

[2024-09-28 11:16:24][DEBUG] : Message reçu sans prise en charge par un plugin : {"fiat":{"ZFAEFAC45NX094438":{"vin":"ZFAEFAC45NX094438","modelDescription":"Nouvelle 500 Berline MY22","nickname":"","battery":{"stateOfCharge":78,"chargingLevel":"DEFAULT","plugInStatus":false,"timeToFullyChargeL3":0,"timeToFullyChargeL2":0,"chargingStatus":"NOT_CHARGING","totalRange":183,"distanceToEmpty":{"value":183,"unit":"km"}},"evinfo_timestamp":"2024-09-27 17:51:26","status_timestamp":"2024-09-27 17:51:26","ignitionStatus":"OFF","vehicleinfo_timestamp":"2024-09-27 17:51:26","odometer":{"value":"39846","unit":"km"},"distanceToService":{"value":"12752.0","unit":"km"},"location":{"timeStamp":1727452284128,"longitude":0.9840314388275146,"latitude":49.24855041503906,"altitude":138.6999969482422,"bearing":0,"isLocationApprox":true},"location_timeStamp":"2024-09-27 17:51:24"}}}

Parce que pas compatible avec ha/mqtt discovery j’imagine
Ou fonction pas activé

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.