MG Saic sur jeedom

Bonjour
@Karwail
@romaingi
@Jeffel
@Gordon
@jeremy0723

J’ai des résultats prometteur pour me connecter à la MG4 de mon épouse avec:

C’est basé sur python 3 donc il faut qu’il soit installé.

Le lien entre jeedom et la voiture se fait grâce à une gateway mqtt qui communique avec la voiture. jMqtt fait l’interface entre jeedom et mosquitto (a adapter si vous utiliser un autre plugin).
Comme signalé par Jérémy dans le premier post, cela déconnecte l’application Ismart de votre téléphone une fois connecté. Le souci vient de SAIC pas de la gateway. Une solution pourra être d’utiliser jeedomconnect/jeemate pour remplacer MG Ismart, i.e. refaire MG Ismart dans ces app.

Je viens de l’installer la gateway en faisant un docker-compose sur mon pi. Je ne suis pas un expert en docker mais voici la doc officielle: Install the Compose plugin | Docker Docs (si des connaisseurs peuvent faire des retours sur cette partie, ce serait avec plaisir)

Puis en SSH, j’ai créé un dossier saic:

sudo mkdir saic
cd saic

Création du fichier docker-compose.yml

sudo nano docker-compose.yml

Copier le texte ci-dessous en l’adaptant à vos paramètres de connexion:

version: "3.1"
services:
  saic-mqtt-gateway:
    image: "saicismartapi/saic-python-mqtt-gateway:latest"
    container_name: "saic-mqtt-gateway"
    environment:
      - MQTT_URI=tcp://IP:1883
      #- MQTT_USER=${MQTT_USERNAME}
      #- MQTT_PASSWORD=${MQTT_PWD}
      - SAIC_USER=login@email.com
      - SAIC_PASSWORD=mot_de_passe

Lancer l’installation du docker et sa mise en route. Doit aussi fonctionner pour faire la mise à jour de la gateway.

sudo docker-compose pull && docker-compose up -d

Après l’installation, pour le stopper:

sudo docker-compose stop

Pour le lancer:

sudo docker-compose up -d

Depuis mqttexplorer, j’ai pu vérifier que la connexion et la communication entre le saic2mqtt et mon mosquitto était faite.
saic2mqtt
Si vous ne voyez rien, voir le contenu du message réponse qui devrait donner des pistes pour comprendre où cela coince.

J’ai créé ensuite un broker dans jmqtt pour rendre accessible les informations à mon jeedom.

Maintenant je dois rentrer les commandes infos et actions dans jmqtt mais ce sera pour ce week-end, car il y a vraiment beaucoup d’informations et il va falloir trier.
Voici pour le drivetrain (les infos sont correctes bien sur):

Antoine

2 « J'aime »

J’ai fini l’ajout dans jmqtt. Je vois comment faire des templates propres, i.e. sans email du login et le vin.

Antoine

Salut Antoine,
Est-ce que ton projet a avancé ? Ça fonctionne bien ?
Thibaut

Cela fonctionne mais comme on a plus accès à l’application, le facteur waf est assez bas…

J’ai d’ailleurs fait la mise à jour hier, cela rajoute quelques possibilités.

Antoine

Quelle mise à jour ?

Du logiciel SAIC MQTT Gateway.

Salut

Voici mes templates jmqtt selon ma dernière installation du docker. Cela ne reprend pas tous les topics car certains sont d’un intérêt limité comme le status des airbags ou la présence du toit ouvrant.

SAIC_templates_jmqtt.zip.txt (8,2 Ko)
Il faut télécharger le fichier zip (enlever .txt avant de le décompresser :wink: ) et transférer les fichiers json vers jmqtt.
Le topic de base à ajouter est de la forme:
saic/<saic_user>/vehicles/<vehicle_id>
<saic_user> le courriel du compte
<vehicle_id> le VIN de votre voiture

Il y a un template « localisation », lumières, drivetrain, door, windows, info sur la voiture, info (état com), door et climate.

On peut maintenant allumer et éteindre la charge même si ils annoncent que le lancement de la charge n’est pas encore fiable, le stop lui est dit fiable.
On peut aussi gérer la clim.

Topic pour commande action:

Pour les commandes infos, je suis passé par mqtt explorer.

Antoine

Bonjour à tous,
je vais essayer de reproduire ce que tu proposes, c’était prévu depuis un moment mais j’ai déjà un docker-compose sur mon pi et je ne sais pas encore comment ajouter saic dessus …
N’y aurait-il pas moyen d’ajouter un docker-compose directement dans Jeedom ? J’ai déjà essayer le Plugin Docker Management mais sans succès …

Bonne journée,
Gordon.

Je sais pas si c’est possible depuis jeedom, en tout cas je sais pas comment.

Perso, j’ai créer un dossier saic au même niveau que mon zwave-js-ui (installé sans jeedom) et mis le fichier docker compose yaml dedans. C’est pas le plus facile en gestion mais je sais pas encore faire mieux.

Antoine

L’installation sur docker compose s’est bien passé.
Je pense que ça communique ou a communiqué avec Jeedom, j’ai créé un équipement avec le topic
saic j’ai dans découverte des infos avec le VIN de ma MG4 mais plus de communication.
J’ai changer le topic en saic/<saic_user>/vehicles/<vehicle_id> (complété bien sûr) dans mqtt manager mais ça ne donne rien !
Je ne sais pas comment créer mes commandes, ni comment récupérer un fichier json lisible !

J’ai uploadé mes templates jmqtt, cela ne fonctionne pas ?

Antoine

1 « J'aime »

Je ne sais pas comment les utiliser :-(, je suis sous mqtt manager.
Je vais mettre les logs en debug et voir s’il y a des communications la nuit.

Désolé je n’utilise pas mqtt manager et les templates de jmqtt ne vont pas fonctionner avec.
Mets des copies d’écran de mqtt explorer pour voir si on voit ce qui cloche…

Antoine
PS: tu peux aussi avoir jmqtt et mqtt2 ensemble. Jmqtt est plus adapté à un usage hors plugin jeedom, à mon avis.

En utilisant le logiciel mqtt explorer sous windows, tu as un accès aisé au topic info, si cela peut aider.

Antoine

Merci,
je vois effectivement dans les log du docker, de mqtt manager et sur mqtt explorer (windows) que tout est bien communiqué.
Il me reste à créer les bons équipements et commandes dans mqtt manager.

@Tonio16 Ne te tracasse pas pour le moment, je vais faire le tour des tutos et autres sujets sur mqtt manager.

bonne journée,
Gordon.

1 « J'aime »

J’arrive récupérer les infos dans mqtt manager et à forcer une mise à jour avec « <saic_user>/vehicles/<vehicle_id>/refresh/mode/set » « force ».

Pour info :
Dans la case topic racine de mqtt manager, il ne faut mettre que ‹ saic › et <saic_user>/vehicles/<vehicle_id> dans chaque commande.
J’ai créé les commandes avec les infos de mqtt explorer (windows).

Test suivant : ouvrir les portes avec Jeedom :wink:
Bonne journée.

1 « J'aime »

Il y a maintenant une intégration home assistant autodiscovery donc on doit pouvoir faire une intégration jeedom depuis le plugin mqtt-discovery de @Mips .

Antoine

Effectivement dans la doc de la gateway saic il est question de « ha-discovery » qui peut être activé (ou non)
Donc faudrait l’activer et vérifier que dans mqtt il y a bien un nouveau topic racine « homeassistant » avec des données qui semblent liées a ce matériel; si oui ca sera compatible directement avec plugin-mqttdiscovery

Ensuite on peut vérifier que tout remontent convenablement dans jeedom

Bravo pour les travaux @Tonio16.
J’avais un peu loupé ton post je vais essayer d’installer sur mon install.
Petite question on arrive à récupérer l’info kilométrage du véhicule ?

Oui. J’ai pas le topic exact mais visible sous mqttdiscovery.

Antoine

1 « J'aime »