Plugin myBMW - Beta tests

La template utilise un VIN fixe:

1 « J'aime »

Pareil, j’ai l’image qui apparait quand je synchronise mais elle ne s’affiche pas dans le plugin.
Pourtant j’ai bien le png dans le dossier data.

oups :slight_smile:
pourtant j’avais nettoyé le code par rapport à tous mes tests ! Mais à 3h du mat :stuck_out_tongue:
Je corrige ce soir

en effet, je viens de voir le coup du VIN qui n’est pas le miens :stuck_out_tongue:

Mais je la connais cette voiture :slight_smile:
Choupette est célèbre :wave:
Je ne vous cache pas que chez moi ça marche bien du coup.

4 « J'aime »

Superbe, merci.

Juste un petit problème, sur le widget, il n’y a pas moyen de désactiver certaine commandes. Exemple, ma voiture est thermique, je voulais donc enlever la partie électrique de l’affichage, en décochant ‹ visible › en face des commandes, ou dans la configuration du design en cochant ‹ masquer ›, mais ça ne fonctionne pas.
J’ai loupé quelque chose ?

Eric

C’est prévu dans un futur proche !
Il y aura un Check en fonction du type du véhicule et affichage uniquement des infos pertinentes :stuck_out_tongue_winking_eye:

2 « J'aime »

Merci.

Eric

Par contre, un autre souci, les commandes actions ne fonctionnent plus. Je n’arrive pas à déverrouiller. C’est ce qui me permet d’arrêter la charge de la voiture. Je viens de tester et ça n’a pas fonctionné (ça marchait avec la modif qu’avait faite Laurent sur la précédente version.
Merci.

Ca ne m’étonne pas trop car je n’ai pas pu tester les actions, n’ayant pas encore mon véhicule
tu peux lancer les 6 actions et me renvoyer les logs en mode debug stp en MP ?
Comme j’ai réécris tout le code, j’ai pu louper une étape :wink:

[2022-03-10 11:27:16][DEBUG] : | Connection car vin :xxxxxx with username : xxxxxx
[2022-03-10 11:27:17][DEBUG] : | Result getToken OK at time 1646908037 and expires in : 3599 s
[2022-03-10 11:27:19][DEBUG] : | Result myCar->getVehicles() : {"vin":"xxxxxx","model":"i3 120","year":2019,"brand":"BMW","headUnit":"ID5","isLscSupported":true,"driveTrain":"ELECTRIC","puStep":"0319","iStep":"I001-19-03-530","telematicsUnit":"ATM","hmiVersion":"ID5","bodyType":"I01","a4aType":"USB_ONLY","capabilities":{"isRemoteServicesBookingRequired":false,"isRemoteServicesActivationRequired":false,"lock":{"isEnabled":true,"isPinAuthenticationRequired":false,"executionMessage":"Lock your vehicle now? Remote functions may take a few seconds."},"unlock":{"isEnabled":true,"isPinAuthenticationRequired":true,"executionMessage":"Unlock your vehicle now? Remote functions may take a few seconds."},"lights":{"isEnabled":true,"isPinAuthenticationRequired":false,"executionMessage":"Flash headlights now? Remote functions may take a few seconds."},"horn":{"isEnabled":true,"isPinAuthenticationRequired":false,"executionMessage":"Using your horn is only allowed in certain situations in many countries. Responsibility for the use and adherence to the respective regulations lies solely with you as the user. 

Do you want to use the horn now? Remote functions may take a few seconds."},"vehicleFinder":{"isEnabled":true,"isPinAuthenticationRequired":false,"executionMessage":"Find your vehicle now? Remote functions may take a few seconds."},"speechThirdPartyAlexa":{"isEnabled":true,"isPinAuthenticationRequired":false,"executionMessage":"Activate Alexa now? Remote functions may take a few seconds."},"sendPoi":{"isEnabled":true,"isPinAuthenticationRequired":false,"executionMessage":"Send POI now? Remote functions may take a few seconds."},"lastStateCall":{"isNonLscFeatureEnabled":false,"lscState":"ACTIVATED"},"climateNow":{"isEnabled":true,"isPinAuthenticationRequired":false,"executionMessage":"Do you want to ventilate now? Remote functions may take a few seconds.","executionPopup":{"executionMessage":"Turn pre-conditioning on now? Remote functions may take a few seconds.","popupType":"DIALOG","title":"Start Climatization","primaryButtonText":"Start","secondaryButtonText":"Cancel","iconId":59733},"executionStopPopup":{"executionMessage":"Stop climate control in your vehicle now? Remote functions may take a few seconds.","title":"Climate control is running"}},"isRemoteHistorySupported":true,"canRemoteHistoryBeDeleted":false,"isChargingHistorySupported":true,"isScanAndChargeSupported":false,"isDCSContractManagementSupported":true,"isBmwChargingSupported":true,"isMiniChargingSupported":false,"isChargeNowForBusinessSupported":false,"isDataPrivacyEnabled":false,"isChargingPlanSupported":true,"isChargingPowerLimitEnable":false,"isChargingTargetSocEnable":false,"isChargingLoudnessEnable":false,"isChargingSettingsEnabled":false,"isChargingHospitalityEnabled":false,"isEvGoChargingSupported":false,"isFindChargingEnabled":true,"isCustomerEsimSupported":false,"isCarSharingSupported":false,"isEasyChargeSupported":false,"isSustainabilitySupported":false,"specialThemeSupport":[]},"connectedDriveServices":[],"properties":{"lastUpdatedAt":"2022-03-10T10:16:18Z","inMotion":false,"areDoorsLocked":false,"originCountryISO":"FR","areDoorsClosed":true,"areDoorsOpen":false,"areWindowsClosed":true,"doorsAndWindows":{"doors":{"driverFront":"CLOSED","driverRear":"CLOSED","passengerFront":"CLOSED","passengerRear":"CLOSED"},"windows":{"driverFront":"CLOSED","passengerFront":"CLOSED"},"trunk":"CLOSED","hood":"CLOSED"},"isServiceRequired":false,"fuelLevel":{"value":0,"units":"LITERS"},"chargingState":{"chargePercentage":44,"state":"ERROR","type":"NOT_AVAILABLE","isChargerConnected":true},"combustionRange":{"distance":{"value":0,"units":"KILOMETERS"}},"electricRange":{"distance":{"value":109,"units":"KILOMETERS"}},"electricRangeAndStatus":{"chargePercentage":44,"distance":{"value":109,"units":"KILOMETERS"}},"checkControlMessages":[{"type":"CHARGING_INTERRUPTION","status":"ERROR","id":1,"name":"Charging interrupted","description":"Please check the power supply, and repeat the plug-in.","timestamp":"2022-03-10T10:16:26.6Z"}],"serviceRequired":[{"type":"VEHICLE_TUV","status":"OK","dateTime":"2023-06-01T00:00:00.000Z"},{"type":"BRAKE_FLUID","status":"OK","dateTime":"2023-11-01T00:00:00.000Z"},{"type":"VEHICLE_CHECK","status":"OK","dateTime":"2023-11-01T00:00:00.000Z"}],"vehicleLocation":{"coordinates":{"latitude":xxxxxx,"longitude":xxxxxx},"address":{"formatted":"xxxxxxx"},"heading":225},"climateControl":{}},"isMappingPending":false,"isMappingUnconfirmed":false,"driverGuideInfo":{"title":"BMW
Driver's Guide","androidAppScheme":"com.bmwgroup.driversguide.row","iosAppScheme":"bmwdriversguide:\/\/\/open","androidStoreUrl":"https:\/\/play.google.com\/store\/apps\/details?id=com.bmwgroup.driversguide.row","iosStoreUrl":"https:\/\/apps.apple.com\/de\/app\/id714042749?mt=8"},"themeSpecs":{"vehicleStatusBackgroundColor":{"red":156,"green":154,"blue":152}},"status":{"lastUpdatedAt":"2022-03-10T10:16:18Z","currentMileage":{"mileage":17246,"units":"km","formattedMileage":"17246"},"issues":{"checkControlMessages":{"iconId":60217,"title":"Multiple issues detected"}},"doorsGeneralState":"Unlocked","checkControlMessagesGeneralState":"Multiple Issues","doorsAndWindows":[{"iconId":59737,"title":"Lock status","state":"Unlocked","criticalness":"nonCritical"},{"iconId":59722,"title":"All doors","state":"Closed","criticalness":"nonCritical"},{"iconId":59725,"title":"All windows","state":"Closed","criticalness":"nonCritical"},{"iconId":59706,"title":"Hood","state":"Closed","criticalness":"nonCritical"},{"iconId":59704,"title":"Trunk","state":"Closed","criticalness":"nonCritical"}],"checkControlMessages":[{"criticalness":"semiCritical","id":"804","iconId":60217,"longDescription":"Note remaining range. Consult service center.","title":"Unable to charge","state":"Medium"},{"criticalness":"critical","id":"1","iconId":59689,"longDescription":"Please check the power supply, and repeat the plug-in.","title":"Charging interrupted","state":"Critical","timestamp":"2022-03-10T10:16:26.6Z"}],"requiredServices":[{"id":"VehicleAdmissionTest","title":"Vehicle Inspection","iconId":60111,"longDescription":"Next state inspection due by the specified date.","subtitle":"Due in June 2023","criticalness":"nonCritical"},{"id":"BrakeFluid","title":"Brake fluid","iconId":60223,"longDescription":"Next service due by the specified date.","subtitle":"Due in November 2023","criticalness":"nonCritical"},{"id":"VehicleCheck","title":"Vehicle check","iconId":60215,"longDescription":"Next vehicle check due after the specified distance or date.","subtitle":"Due in November 2023","criticalness":"nonCritical"}],"recallMessages":[],"recallExternalUrl":null,"fuelIndicators":[{"mainBarValue":44,"secondaryBarValue":0,"infoIconId":59689,"rangeIconId":59683,"rangeUnits":"km","rangeValue":"109","levelIconId":59689,"showsBar":true,"levelUnits":"%","levelValue":"44","showBarGoal":false,"barType":null,"infoLabel":"Not Charging","isInaccurate":false,"isCircleIcon":true,"iconOpacity":"low","chargingType":"charging_error","chargingStatusType":"ERROR","chargingStatusIndicatorType":"ERROR"}],"timestampMessage":"Updated from vehicle 3\/12\/2022 10:16 PM","chargingProfile":{"reductionOfChargeCurrent":{"start":{"hour":1,"minute":50},"end":{"hour":6,"minute":50}},"chargingMode":"immediateCharging","chargingPreference":"chargingWindow","chargingControlType":"weeklyPlanner","departureTimes":[{"id":1,"action":"activate","timerWeekDays":["monday","tuesday","wednesday","thursday","friday"],"timeStamp":{"hour":7,"minute":0}},{"id":2,"action":"activate","timerWeekDays":["saturday"],"timeStamp":{"hour":10,"minute":0}},{"id":3,"action":"deactivate","timerWeekDays":[],"timeStamp":{"hour":0,"minute":0}},{"id":4,"action":"deactivate","timerWeekDays":["friday"],"timeStamp":{"hour":7,"minute":0}}],"climatisationOn":false,"chargingSettings":{"targetSoc":100,"isAcCurrentLimitActive":false,"hospitality":"NO_ACTION","idcc":"NO_ACTION"}}},"exFactoryPUStep":"0319","exFactoryILevel":"I001-19-03-530"}
[2022-03-10 11:27:19][DEBUG] : └─End of car info refresh : [200 - OK]
[2022-03-10 11:27:24][DEBUG] : ┌─Command execution : doorLock
[2022-03-10 11:27:24][DEBUG] : | Connection car vin :xxxxxxx with username : xxxxxx
[2022-03-10 11:27:25][DEBUG] : | Result getToken OK at time 1646908045 and expires in : 3599 s
[2022-03-10 11:27:25][DEBUG] : └─End of car event : [404 - NOT_FOUND]  -  - 
[2022-03-10 11:27:31][DEBUG] : ┌─Command execution : doorUnlock
[2022-03-10 11:27:31][DEBUG] : | Connection car vin :xxxxxxx with username : xxxxx
[2022-03-10 11:27:32][DEBUG] : | Result getToken OK at time 1646908052 and expires in : 3599 s
[2022-03-10 11:27:32][DEBUG] : └─End of car event : [404 - NOT_FOUND]  -  - 
[2022-03-10 11:27:39][DEBUG] : ┌─Command execution : climateNow
[2022-03-10 11:27:39][DEBUG] : | Connection car vin :xxxxx with username : xxxxxx
[2022-03-10 11:27:39][DEBUG] : | Result getToken OK at time 1646908059 and expires in : 3599 s
[2022-03-10 11:27:39][DEBUG] : └─End of car event : [404 - NOT_FOUND]  -  - 
[2022-03-10 11:27:46][DEBUG] : ┌─Command execution : lightFlash
[2022-03-10 11:27:46][DEBUG] : | Connection car vin :xxxxxxxx with username : xxxxxxx
[2022-03-10 11:27:46][DEBUG] : | Result getToken OK at time 1646908066 and expires in : 3599 s
[2022-03-10 11:27:55][DEBUG] : ┌─Command execution : hornBlow
[2022-03-10 11:27:55][DEBUG] : | Connection car vin :xxxxxxx with username : xxxxx
[2022-03-10 11:27:55][DEBUG] : | Result getToken OK at time 1646908075 and expires in : 3599 s
[2022-03-10 11:27:55][DEBUG] : └─End of car event : [404 - NOT_FOUND]  -  - 

OK donc c’est l’URL des API qui n’est pas bonne
Je regarde ce soir :wink:

1 « J'aime »

L’erreur se produit lorsqu’il y a un changement cote maxcube et pas comme je l’ai écrit plus haut lorsque l’on synchronise dans myBMW.
Elle est due à la classe définie dans 3rdparty qui porte le nom de l’ancien plugin.
J’ai corrigé dans maxcube le parcours des eqLogic pour n’avoir que celles de maxcube:

foreach (eqLogic::byType('maxcube') as $elogic) {
    // au lieu de  foreach (self::all() as $elogic) {
1 « J'aime »

Hello, merci pour la beta.

J’ai bien l’image de ma voiture mais pas la Marque, Modèle, Année et Type qui restent en gris. J’ai une Mini Countryman

Et en haut de page un logo d’alerte après un click sur Synchronisation:

https://xxxxxxx/index.php?v=d&m=myBMW&p=myBMW&id=1046 112 Uncaught TypeError: Cannot read properties of null (reading ‹ brand ›)

Et quand je click sur Données brutes, j’obtiens un

RefreshCarInfos() :
null

Tiens donc ! :thinking::thinking:
Que disent les logs ?

Tu accepterais de me communiquer tes informations de connexion ainsi que le vin de ton véhicule pour que je teste ce soir ?

1 « J'aime »

Nouvelle beta disponible à l’instant :

  • Bug fix : dimension image @Madcow
  • Bug fix : affichage image sur le widget @Madcow @jcsjerome
  • Bug fix : commandes actions inopérantes @jcsjerome
  • Bug fix : ajout d’un test si aucun véhicule éligible dans le compte @BorisTS

Pour ceux qui testent, pourriez-vous me préciser le hardware ou software supportant votre jeedom ainsi que la version. Histoire de valider un max de compatibilité :wink:

Bons tests

Xav

Super plugin, très bon travail, je rencontre le même problème que sur le précédent plugin destiné aux BM, j’ai pas la possibilité d’agir sur les actions mais les remontées fonctionnement parfaitement.

Modèle de ma voiture 330E G20

1 « J'aime »

tu as la dernière version du plugin ?
Peux tu me copier ici les infos récupérées via le bouton « données brutes » ?
On sera vite fixé sur les capacités de ta voiture concernant les actions possibles :wink:

De mon côté, les actions verrouiller déverrouiller fonctionnent bien.
L’image s’affiche.
Je ne vois pas l’appel de phare s’allumer sur ma caméra, faudrait que j’aille dans le garage pour vérifier, mais y a pas d’erreur en log :wink:
Jeedom 4.2.14 sur vm Proxmox Modèle BMW i3 120 (full elec)
Merci infiniment !

1 « J'aime »

Merci :wink:
Pareil, pour être sur, copie moi les données brutes du véhicule !