Tuto : Intégrer sa MG dans Jeedom

Bonjour,

Je vous propose un petit tuto pour intégrer votre MG dans Jeedom.

Ce que j’ai réussi à faire grace à cette conversation
https://community.jeedom.com/t/mg-saic-sur-jeedom/109043
et au projet github
https://github.com/SAIC-iSmart-API/saic-python-mqtt-gateway

Prérequis :
Avoir une voiture MG compatible avec l’application « MG iSmart »
Et l’application fonctionnelle

Plugin :
Docker Management
MQTT Discovery

Dans un premier temps, nous allons donc créer une passerelle entre l’application MG et MQTT, afin de pouvoir utiliser les données de notre MG dans Jeedom.

Tout d’abord installer le plugin officiel Docker Management, l’activer et le configurer en suivant la documentation.

Ensuite on va donc créer un docker.
Ouvrir le plugin Docker Management et cliquer sur ajouter pour créer un nouvel équipement, entrer un nom.
Dans la configuration de l’équipement, le configurer comme sur la capture ci-dessous,

Voici le texte docker compose

services:
  saic-mqtt-gateway:
    image: "saicismartapi/saic-python-mqtt-gateway:latest"
    container_name: "saic-mqtt-gateway"
    environment:
      - MQTT_URI=tcp://IP_DU_SERVEUR_MQTT:1883
      #- MQTT_USER=Identifiant_MQTT
      #- MQTT_PASSWORD=Mot_de_passe_MQTT
      - SAIC_USER=6XXXXXXXX
      - SAIC_PASSWORD=MON_MOT_DE_PASSE
      - SAIC_PHONE_COUNTRY_CODE=33
      - ABRP_API_KEY=8cfc314b-03cd-4efe-ab7d-4431cd8f2e2d
      - ABRP_USER_TOKEN=LSJXXXXXXXX570=81XXXXX-XXXX-XXXX-XXXX-XXXXXXXX3

Bien renseigner l’adresse IP de votre serveur MQTT,
Si vous avez un identifiant et un mot de passe sur votre serveur MQTT, les renseigner et enlever le # en début de ligne
Pour SAIC_USER, vous pouvez mettre votre telephone sans le 0 ou votre email en fonction de ce que vous utilisez dans l’application MG.
Pour SAIC_PASSWORD, entrer le mot de passe que vous utilisez dans l’application.
Pour SAIC_PHONE_COUNTRY_CODE, entrer votre indicatif pays.

En bonus on peut envoyer les infos vers l’application ABRP et ainsi profiter d’une meilleur planification d’itinéraire qui s’adapte en temps réel.
Pour ABRP_API_KEY, utiliser le code API par défaut 8cfc314b-03cd-4efe-ab7d-4431cd8f2e2d
Pour ABRP_USER_TOKEN, utiliser le VIN du véhicule, et récupérer le code générique sur ABRP. (VIN=CODE) pour plusieurs véhicules (VIN1=CODE1,VIN2=CODE2)

On peut sauvegarder l’équipement ce qui va créer le docker sur Jeedom et le démarrer.

Maintenant passons à la deuxième étape, on va créer l’équipement de notre voiture avec le plugin MQTT Discovery.

On va commencer par acheter puis installer et activer le plugin MQTT Discovery. Il faut également le configurer avec le serveur MQTT, IP Identifiant et mot de passe si vous en avez.
Lancer l’installation des dépendances et le Démon.

Au bout d’un instant vous avez votre voiture qui apparait dans les équipements découverts.

Cliquer sur ajouter pour créer votre équipement, puis sur Fermer et Terminer la création des équipements, cette action relance le Démon et créer les commandes de l’équipement.

Vous obtenez votre équipement avec toutes les commandes

Merci @Mips pour le plugin MQTT Discovery

J’espère que ce tuto aidera un maximum de personnes à intégrer sa voiture MG dans Jeedom.
N’hésiter pas à me faire des remarques ou poser des questions, afin de faire évoluer le tuto.

2 « J'aime »

Merci pour le tuto!

Je vais rajouter cet exemple dans la doc.

Merci pour ce tuto. Ça fonctionne plutôt bien ! En terme d’actualisation ça se passe comment ? Moyen de forcer la mise à jour manuellement ?

Bon moi ça ne fonctionne pas, une fois le docker créé, rien ne se passe,J’ai essayé avec mail ou tel…mais connexion impossible…
Peut être un souci du fait que le Serveur mqtt est créé par le plugin mqtt manager?

Donne ta configuration de saic2mqtt mais as-tu entré le login et mot de passe mosquitto dans le fichier de conf?

Perso, aucun souci avec jmqtt.

Antoine

Je regarderai en rentrant du taf, mais j’ai fait comme le tuto, création du docker avec mes infos, identifiants de l’appli et adresse IP du serveur mqtt, j’essaierai en mettant localhost comme c’est ma box qui héberge, peut être ça le souci

Il faut mettre l’utilisateur et mot de passe du serveur mqtt aussi :wink:

Des news, j’ai supprimé le container docker et recré, c’est bon ça fonctionne…reste a faire le tri dans toutes les commandes…merci pour le tuto

Petite question , ça ne m’a pas déconnecté de l’App Android, il faut éviter d’utiliser lapp en parallèle de jeedom? Ou tant que ça fonctionne tant mieux…
Autre question y a t’il un impact sur la batterie 12v de la mg ou pas du tout…

Édit : j’ai eu ma réponse sur l’usage de la batterie dans la Doc du github

Tu ne peux pas utiliser l’app et le plugin en même temps. Si tu te connectes sur l’app, le plugin va t’en déconnecter à sa prochaine connexion. (Sauf si changement récent ?).

Il y a eu des soucis sur la batterie 12v au départ. Normalement c’est ok maintenant.

Merci pour les réponses…j’ai encore une question, je ne vois pas la possibilité de rajouter des commandes dans le plugin mqtt discovery, c’est prévu en évolution?
Et je n’ai pas la commande pour le réglage de température de la clim, vous l’avez vous?

C’est dispo en tout cas mais je sais pas si cela a été transféré dans la partie mqtt discovery. Perso, j’utilse jmqtt uniquement donc plus compliqué au départ (mes templates sont disponibles) mais plus souple, amha.
À défaut de les avoir dans mqtt discovery, tu peux créer les commandes actions dans jmqtt (et probablement mqtt2).

Topic temp:
/climate/remoteTemperature/set

Antoine

Oui c’est ce que je pensais faire, faudrait que je trouve un moyen de « transférer » les commandes d’un plugin a l’autre ( mqttdisco ↔ mqtt2 ), ou a défaut créer un virtuel pour avoir l’ensemble…
Merci

Plus simple, utise le plugin jmqtt et les templates disponibles. :grin:
Mqtt2 est fait pour les plugins officiels jeedom et de ce fait manque de souplesse par rapport à jmqtt.

Antoine

Faudrait les logs de mqttdiscovery mais en principe il crée toutes les commandes « annoncées » par la passerelle (saic gateway ici)

Ok merci pour les réponses je vais regarder tout ca… Mais effectivement via mqttexplorer, je ne vois pas la commande correspondante …/climate/remoteClimateState/set

bonjour,
j’ai tenté de suivre à la lettre le Tuto mais il doit bien y avoir un endroit ou je me trompe puisque cela ne fonctionne pas. Mais comme le nez au milieu de la figure, je ne vois pas :slight_smile:
j’ai MQTT manager fonctionnel (entre autres avec du zigbee), et j’ai donc installer Docker et MQTT disco dont voici les captures d’écran.

Aucun équiepemtn n’apparait…



Bonsoir,

Je vois une faute de frappe dans le nom du conteneur, plugin docker management, il faut bien renseigner " saic-mqtt-gateway "

:wink:

1 « J'aime »

Ah oui bien vu !!
Je test merci
J’aurais pu relire 100 fois sans le voir

Merci c’etait ca…
J’ai bien le véhicule de detecté !

1 « J'aime »

Bonjour,
Depuis la création de ce tuto , je galère un peu comme le post précédent.
J’ai lu et relu mais je passe aussi à côté …
C’est sur une Smart à jour , je n’y connais rien en MQTT sauf que j’ai déjà le plugin Zwavejs et que MQTT manager a été installé.


mon saic user et son pw sont sans faute, et bien ceux de l’appli MG

j’ai ce message de défaut …

Pouvez-vous m’aider ?
Merci