FordCar nouveau plugin en beta

Bonjour à tous,

J’ai commencé et bien avancé un plugin pour les véhicules Ford . par contre l’API n’étant pas très détaillée et n’ayant pas de véhicules électrique/hybride je ne peu pas tout inclure visuellement.

Donc si par hasard si certain veulent le tester et m’envoyer en MP leur fichier de données :slight_smile:

Le plugin FordCar
image
: Jeedom Market

Le fichier de donnée se trouve dans Data/votrenumerovin.json

n’hésitez pas à supprimer le numéros VIN dans le fichier

Merci d’avance à tous :wink:
Et aussi à @Xav-74 pour l’inspiration du design widget

2 « J'aime »

Je le test au retour des vacances, merci

Hello @bautret,

Attention ton mail et ton VIN sont en clair dans les logs :stuck_out_tongue_winking_eye:
Supprime ton message et refais le !

Xav

1 « J'aime »

Le voici :slight_smile:

En tout cas bravo pour le plugin, c’est sympa et en plus ça apporte plus d’infos que l’application fordPass :smiley:

{"vin": "XXXXXXXXX", "lockStatus": {"value": "LOCKED", "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}, "alarm": {"value": "NOTSET", "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}, "PrmtAlarmEvent": {"value": "Null", "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}, "odometer": {"value": 13693.0, "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}, "fuel": {"fuelLevel": 73.478496, "distanceToEmpty": 547.6, "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}, "gps": {"latitude": "48.4270867", "longitude": "-4.5202433", "gpsState": "UNSHIFTED", "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}, "remoteStart": {"remoteStartDuration": 10, "remoteStartTime": 0, "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}, "remoteStartStatus": {"value": 0, "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}, "battery": {"batteryHealth": {"value": "STATUS_GOOD", "timestamp": "08-09-2021 06:21:50"}, "batteryStatusActual": {"value": 12, "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}}, "oil": {"oilLife": "STATUS_GOOD", "oilLifeActual": 54, "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}, "tirePressure": {"value": "STATUS_GOOD", "timestamp": "07-27-2022 10:55:46"}, "authorization": "AUTHORIZED", "TPMS": {"tirePressureByLocation": {"value": 1, "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}, "tirePressureSystemStatus": {"value": "Systm_Activ_Composite_Stat", "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}, "dualRearWheel": {"value": 0, "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}, "leftFrontTireStatus": {"value": "Normal", "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}, "leftFrontTirePressure": {"value": "270", "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}, "rightFrontTireStatus": {"value": "Normal", "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}, "rightFrontTirePressure": {"value": "267", "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}, "outerLeftRearTireStatus": {"value": "Normal", "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}, "outerLeftRearTirePressure": {"value": "265", "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}, "outerRightRearTireStatus": {"value": "Normal", "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}, "outerRightRearTirePressure": {"value": "267", "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}, "innerLeftRearTireStatus": {"value": "Not_Supported", "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}, "innerLeftRearTirePressure": null, "innerRightRearTireStatus": {"value": "Not_Supported", "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}, "innerRightRearTirePressure": null, "recommendedFrontTirePressure": {"value": 30, "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}, "recommendedRearTirePressure": {"value": 26, "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}}, "firmwareUpgInProgress": {"value": false, "timestamp": "10-01-2021 15:01:39"}, "deepSleepInProgress": {"value": false, "timestamp": "07-20-2022 16:28:33"}, "ccsSettings": {"timestamp": "10-05-2021 02:14:17", "location": 1, "vehicleConnectivity": 1, "vehicleData": 1, "drivingCharacteristics": -1, "contacts": -1}, "lastRefresh": "07-27-2022 10:55:46", "lastModifiedDate": "07-27-2022 10:55:46", "serverTime": "07-27-2022 14:24:04", "batteryFillLevel": null, "elVehDTE": null, "hybridModeStatus": null, "chargingStatus": null, "plugStatus": null, "chargeStartTime": null, "chargeEndTime": null, "preCondStatusDsply": null, "chargerPowertype": null, "batteryPerfStatus": null, "outandAbout": {"value": "PwPckOffTqNotAvailable", "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}, "batteryChargeStatus": null, "dcFastChargeData": null, "windowPosition": {"driverWindowPosition": {"value": "Fully_Closed", "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}, "passWindowPosition": {"value": "Fully_Closed", "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}, "rearDriverWindowPos": {"value": "Fully_Closed", "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}, "rearPassWindowPos": {"value": "Fully_Closed", "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}}, "doorStatus": {"rightRearDoor": {"value": "Closed", "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}, "leftRearDoor": {"value": "Closed", "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}, "driverDoor": {"value": "Closed", "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}, "passengerDoor": {"value": "Closed", "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}, "hoodDoor": {"value": "Closed", "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}, "tailgateDoor": {"value": "Closed", "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}, "innerTailgateDoor": {"value": "Closed", "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}}, "ignitionStatus": {"value": "Off", "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}, "batteryTracLowChargeThreshold": null, "battTracLoSocDDsply": null, "dieselSystemStatus": {"exhaustFluidLevel": null, "filterSoot": null, "ureaRange": null, "metricType": {"value": "Active", "status": "CURRENT", "timestamp": "07-27-2022 10:55:46"}, "filterRegenerationStatus": null}}

Par contre je n’arrive pas à dévérouillez le véhicule, ci-dessous le log :

[2022-07-27 16:34:12][DEBUG] : commande python3 /var/www/html/plugins/fordcar/core/class/../../resources/fordcmd.py XX XXXunlock
[2022-07-27 16:34:12][DEBUG] : commande python3 /var/www/html/plugins/fordcar/core/class/../../resources/fordstatut.py XXXXXXstatut /var/www/html/plugins/fordcar/core/class/../../data/XXXX.json
[2022-07-27 16:34:12][DEBUG] : etat lock: LOCKED
[2022-07-27 16:34:12][DEBUG] : dernière actualisation: 07-27-2022 10:55:46
[2022-07-27 16:34:12][DEBUG] : Mise à jour en cours:
[2022-07-27 16:34:12][DEBUG] : Veille profonde:
[2022-07-27 16:34:12][DEBUG] : Kilométrage: 13693
[2022-07-27 16:34:12][DEBUG] : Latitude: XXX
[2022-07-27 16:34:12][DEBUG] : Longitude: -XXX
[2022-07-27 16:34:12][DEBUG] : Etat batterie: STATUS_GOOD
[2022-07-27 16:34:12][DEBUG] : Tension batterie: 12
[2022-07-27 16:34:12][DEBUG] : Etat huile: STATUS_GOOD
[2022-07-27 16:34:12][DEBUG] : Pourcentage huile: 54
[2022-07-27 16:34:12][DEBUG] : Etat pression: STATUS_GOOD
[2022-07-27 16:34:12][DEBUG] : Etat pneu avant gauche: Normal
[2022-07-27 16:34:12][DEBUG] : Etat pneu avant droit: Normal
[2022-07-27 16:34:12][DEBUG] : Etat pneu arrière gauche: Normal
[2022-07-27 16:34:12][DEBUG] : Etat pneu arrière droit: Normal
[2022-07-27 16:34:12][DEBUG] : Pression pneu avant gauche: 270
[2022-07-27 16:34:12][DEBUG] : Pression pneu avant droit: 267
[2022-07-27 16:34:12][DEBUG] : Pression pneu arrière gauche: 265
[2022-07-27 16:34:12][DEBUG] : Pression pneu arrière droit: 267
[2022-07-27 16:34:12][DEBUG] : Fenetre conducteur avant: Fully_Closed
[2022-07-27 16:34:12][DEBUG] : Fenetre conducteur arrière: Fully_Closed
[2022-07-27 16:34:12][DEBUG] : Fenetre passager avant: Fully_Closed
[2022-07-27 16:34:12][DEBUG] : Fenetre passager arrière: Fully_Closed
[2022-07-27 16:34:12][DEBUG] : Porte conducteur: Closed
[2022-07-27 16:34:12][DEBUG] : Porte passagé: Closed
[2022-07-27 16:34:12][DEBUG] : Porte arrière droite: Closed
[2022-07-27 16:34:12][DEBUG] : Porte arrière gauche: Closed
[2022-07-27 16:34:12][DEBUG] : Coffre: Closed
[2022-07-27 16:34:12][DEBUG] : Pourcentage restant réservoir: 73.478496
[2022-07-27 16:34:12][DEBUG] : Estimation kilométrage restant: 547.6
1 « J'aime »

Oups !

Merci de m’avoir prévenu. Je pensais avoir tout enlever :frowning:

1 « J'aime »

bizarre je viens de tester pas de soucis pour le déverrouillage, par contre de fait de l’api, l’actualisation ne se fait pas dessuite je vais essayer d’améliorer ça dans les prochaines versions
tu as qu’elle version du plugin

Je viens de retester ce matin et ça a fonctionné :slight_smile:
Peut-être un problème lorsque la voiture est inactive depuis un moment ? C’était le cas hier quand j’ai testé

Ça peut arriver quand la voiture de met en veille.pour protéger la batterie alors ces fonctions ne sont plus possible

L’information de cette veille doit remonter dans l’application, il doit être possible d’afficher un message ou de cacher les fonctions

Sur le script que j’utilise actuellement, donc pas avec ce plugin, j’ai remarqué que les informations remontées ne sont pas forcément à jour, il me fallait mettre à jour l’application Ford pass, puis relancer la remontée des informations par l’API pour qu’elles soient à jour, avez vous le même phénomène avec ce plugin ?

1 « J'aime »

Yep

Je crois avoir vu une fonction de forçage d’actualisation.
Donc je la mettrais à disposition si elle existe.

Après pour le moment pour actualisé, si c’est après une ouverture, il suffit de refaire une commande et l’API s’actualise.

Si il y en a qui on plusieurs véhicules Ford ou électrique sur le même compte ça m’intéresse ^^

2 « J'aime »

Bonjour @cddu33

retour de vacances pour 2 jours, j’ai pas pu résister et je viens d’installer ton plugin en version stable (Kuga FHEV)

installation : OK
configuration : OK
synhcro : j’ai eu 2 erreurs :

	2022-07-31 15:27:13	fordcar	Erreur exécution de la commande [Divers][KugaFHEV][Rafraichir] : Json invalide ou non décodable :		
2022-07-31 15:27:13	fordcar	Erreur sur la fonction cron du plugin : Json invalide ou non décodable :

mais ensuite les infos sont remontées et plus eu de message

quelques points :

  • la vignette n’est pas resizeable, elle devrait être un peu plus grand pour avoir la bordure du bas
  • je vois pas les commandes pour démarrer/arrêter le moteur
  • j’aurais ajouté « km » en petit après le chiffre du kilométrage
  • Il n’y a pas d’info sur la partie moteur électrique, est-ce possible de ne pas l’afficher ?
  • Pour les portes et fenêtres, plutôt que les icones, j’aurais mis une coche verte quand fermé et une croix rouge quand ouvert
  • Il manque l’information du capot (ouvert/fermé)
  • serait il possible d’ajouter l’horodatage de la localisation, celle remontée dans l’API ([‹ gps ›][‹ timestamp ›])
  • cela pourrait peut-être aussi être intéressant d’afficher les horodatages de toutes les valeurs quand on positionne la souris dessus, car la date de synchro ne correspond pas forcement à la date de la valeur dans l’API
  • serait il possible de réduite la largeur de la colonne de droite, en mettant la date de dernière connexion sous le libellé, voir d’enlever « avec le véhicule »
  • Avoir un système d’alerte sur un canal de communication de son choix, pour surveillance de la pression des pneumatiques, de l’huile, de l’autonomie carburant, …

super boulot, merci
je vais pouvoir virer mon script :slight_smile:

Slt

  • Vignette: pour faire un visuel intéressant, je suis obligé d’imposer une taille.
    Je regarderais le coup de la bordure
  • Commandes moteurs: pas eu le temps de les mettres sachant que en France c’est interdit dans mes souvenir :wink:
  • km: on verra ^^
  • moteur électrique: je l’ai masqué sur la version stable, en béta il suffit de sélectionner moteur thermique. J’ai prévu de regarder les infos dispo mais il me faudrait des exemples de données (ton json par ex ^^ )
  • capot: je ne l’avais pas vu , tu as l’intitulé de la remonté?
  • timestamp: je regarderais car ça va faire lourd et jusque là toutes les dates dans les json que j’ai reçu sont identiques
  • les alertes : on verra ça à la fin , sachant que chaque voiture quasiment est différente
  • Commandes moteurs: pas eu le temps de les mettres sachant que en France c’est interdit dans mes souvenir :wink: = non ce n’est pas interdit, c’est dispo dans l’application Ford Pass :wink:
 r.start() # start engine
 r.stop() # stop engine
  • moteur électrique: je l’ai masqué sur la version stable, en béta il suffit de sélectionner moteur thermique. J’ai prévu de regarder les infos dispo mais il me faudrait des exemples de données (ton json par ex ^^ ) : sur le modèle FHEV, hybride que j’ai bien sélectionné dans la version stable, il n’y a pas plus d’info à mettre, tu as bien l’info de la batterie 12V dans la partie Thermique, faut juste ne pas afficher la partie Electrique.
  • capot: je ne l’avais pas vu , tu as l’intitulé de la remonté? : [‹ doorStatus ›][‹ hoodDoor ›][‹ value ›]
  • timestamp: je regarderais car ça va faire lourd et jusque là toutes les dates dans les json que j’ai reçu sont identiques : ok
  • les alertes : on verra ça à la fin , sachant que chaque voiture quasiment est différente : ok, s’achant que ca peux se faire dans un virtuel à part, pas d’urgence, l’idée serait de pouvoir définir une commande pour la communication et un seuil pour l’huile et pour l’autonomie, pour la pression quand l"état matches « /Problem/ »

Bonne soirée :slight_smile:

Nouvelle béta:

Ne pas oublier de sauvegarder l’équipement pour que les nouvelles infos apparaissent

Je n’ai pas pus tester les commandes start/stop car elles ne sont pas dispo sur ma voiture (je changerais les logo aussi ^^)

1 « J'aime »

bonjour et merci pour ton travail. j’ai une ford mustang MACH E et la partie electrique ne remonte pas? je viens de t’envoyer le .json pour debug

petite sugestion d’amélioration: j’utilise le plugin jeeloc et pour remonter une position, j’ai besoin que les coord latitude et longitude soit sur la même ligne. cela permettrai de voir sur une même carte l’ensemble des voitures, appareils et personnes.
Merci pour t’on aide

Petit tips @cddu33
Dans ton fichier « install.php » si tu rajoutes dans ta fonction « update() » :

 foreach (eqLogic::byType('fordcar') as $eqLogic) {
        $eqLogic->save();
        log::add('fordcar', 'debug', 'Mise à jour des commandes effectuée pour l\'équipement '. $eqLogic->getHumanName());
    }

tes équipements seront automatiquement sauvegardés à la mise à jour du plugin :wink:

Xav

1 « J'aime »

Merci je vais mettre ça en place :grin:

Bonjour

Je confirme que si on ne rafraîchie pas l’application Ford pass alors les informations remontées par le plugin via l’API ne sont pas à jour

Je ne sais pas si tu as trouvt plus d’information sur une éventuelle synchro côtés API ?

A+

je vais partir en vacance mais oui je pense avoir trouvé une commande mais bon je verrais les impact car si ça vide la batterie ^^

Pour rafraichir les données tu peu aussi relancer une commande depuis jeedom (verrouiller/déverrouiller) et à la prochaine synchro les données seront à jour

J’ai mis en place un cron modifiable, il est réglé pour actualiser les données toutes les 15min mais vous pouvez diminué depuis l’équipement

1 « J'aime »

Bonne vacances, merci pour les modifications

Bonjour

depuis quelques jours, j’ai ces erreurs qui reviennent plusieurs 10aines de fois par jour

2022-08-10 20:37:09	fordcar	Erreur exécution de la commande [Divers][KugaFHEV][Rafraichir] : Json invalide ou non décodable 
2022-08-10 20:37:09	fordcar	Erreur sur la fonction cron du plugin : Json invalide ou non décodable 

alors que les infos remontent bien