Sans/fin abonnement au service ConnectedDrive

Hello @Xav-74 !

Tout d abord merci pour le plugin qui a l air bien prometteur
Et le widget plutot bien réalisé ! :clap:

Une suggestion/idee : disposer d une cmd info qui récupére la date de fin d abonnement au service ConnectedDrive !?

De facon a pouvoir faire des actions/alertes particulieres lorsque la date est proche/dépassée ?

Peut etre s en servir pour avoir un widget different egalement !?

Mon abo est terminé depuis de nombreux mois… donc je ne recupere aucune info*, j ai des sens interdit partout :slight_smile: et une location un peu bizarre **

* la date de Dernière connexion avec le véhicule est renseignée à 01/01/0001 00:17:30 => peut etre un petit truc + sympa a afficher aussi ?

** le widget situe ma voiture sur mon lieu actuel de vacances, alors que la voiture est resté a la maison a 2.600km d ici :slight_smile: et que l execution de la commande gps renvoie ‹ not available ›

1 « J'aime »

Hello @tomitomas,

Merci pour ton retour !

Excellente idée ! Je rajoute dans ma todo :wink:

Tu pourrais m’envoyer en MP les données brutes du véhicules lorsque celui-ci n’a plus d’abonnement actif ?

Ah oui j’avais pas encore eu ce cas. Je vais donc traiter avec tes données brutes

Il a du garder en mémoire la position GPS lors de la dernière connexion avec le véhicule :smiley:
Ca doit correspondre à la date de fin de ton abo non ?
Pour le ‹ not available ›, tu l’as dans les logs j’imagine ? Tu pourrais me le copier ici pour que je puisse prendre en compte ?

Et puis il va falloir que l’on regarde comment intégrer ça à JeedomConnect :wink:

Merci d’avance

Xav

fait :wink:

oui, par contre je pense que tu as un soucis de conversion au pire meme avec les données brutes, ca devrait etre à 0h00:00 et non pas 0h17:30

non non je suis sur une ile, donc jamais venu ici avec ma BMW !

non quand je fais un tester sur la commande

je me suis fait la remarque :wink:

hello,

as tu jeté un oeil !? :slight_smile:

Hello @tomitomas,

Yes j’ai regardé les infos renvoyées par BMW mais je n’ai rien de probant m’indiquant la date de fin d’abonnement. Je continue de creuser !

EDIT : dans tous les véhicules que j’ai pu tester j’ai ca :
"connectedDriveServices": []
C’est désespérément vide :frowning:

Merci

Bonjour,

Dans mon « ConnectedDriveServices » j’ai « WIFI_HOTSPOT_SERVICE » :

Voici mon JSON complet :

{
	"vin": "*",
	"model": "540d xDrive",
	"year": 2017,
	"brand": "BMW",
	"headUnit": "ID5",
	"isLscSupported": true,
	"driveTrain": "COMBUSTION",
	"puStep": "1120",
	"iStep": "S15A-20-11-542",
	"telematicsUnit": "ATM",
	"hmiVersion": "ID5",
	"bodyType": "G30",
	"a4aType": "BLUETOOTH",
	"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. \n\nDo 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": "Do you want to ventilate/heat now? Remote functions may take a few seconds.",
				"popupType": "DIALOG",
				"title": "Start Ventilation / Heating",
				"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,
		"climateTimer": {
			"isEnabled": true,
			"isPinAuthenticationRequired": false,
			"tile": {
				"iconId": 59774,
				"title": "Ventilation/heating timer",
				"description": "Set departure time"
			},
			"page": {
				"primaryButtonText": "SEND TO VEHICLE",
				"secondaryButtonText": "DEACTIVATE AND SEND TO VEHICLE",
				"title": "Ventilation/heating timer",
				"subtitle": "Set departure time",
				"description": "By setting a departure time you let the vehicle know when you plan to use it."
			},
			"isToggleEnabled": true
		},
		"isChargingHistorySupported": false,
		"isScanAndChargeSupported": false,
		"isDCSContractManagementSupported": false,
		"isBmwChargingSupported": false,
		"isMiniChargingSupported": false,
		"isChargeNowForBusinessSupported": false,
		"isDataPrivacyEnabled": false,
		"isChargingPlanSupported": false,
		"isChargingPowerLimitEnable": false,
		"isChargingTargetSocEnable": false,
		"isChargingLoudnessEnable": false,
		"isChargingSettingsEnabled": false,
		"isChargingHospitalityEnabled": false,
		"isEvGoChargingSupported": false,
		"isFindChargingEnabled": false,
		"isCustomerEsimSupported": false,
		"isCarSharingSupported": false,
		"isEasyChargeSupported": false,
		"isSustainabilitySupported": false,
		"specialThemeSupport": [],
		"isRemoteParkingSupported": false
	},
	"connectedDriveServices": [
		"WIFI_HOTSPOT_SERVICE"
	],
	"properties": {
		"lastUpdatedAt": "2022-04-25T06:14:36Z",
		"inMotion": false,
		"areDoorsLocked": true,
		"originCountryISO": "FR",
		"areDoorsClosed": true,
		"areDoorsOpen": false,
		"areWindowsClosed": true,
		"doorsAndWindows": {
			"doors": {
				"driverFront": "CLOSED",
				"driverRear": "CLOSED",
				"passengerFront": "CLOSED",
				"passengerRear": "CLOSED"
			},
			"windows": {
				"driverFront": "CLOSED",
				"driverRear": "CLOSED",
				"passengerFront": "CLOSED",
				"passengerRear": "CLOSED"
			},
			"trunk": "CLOSED",
			"hood": "CLOSED",
			"moonroof": "CLOSED"
		},
		"isServiceRequired": false,
		"fuelLevel": {
			"value": 59,
			"units": "LITERS"
		},
		"combustionRange": {
			"distance": {
				"value": 827,
				"units": "KILOMETERS"
			}
		},
		"checkControlMessages": [],
		"serviceRequired": [
			{
				"type": "VEHICLE_TUV",
				"status": "OK",
				"dateTime": "2022-12-01T00:00:00.000Z"
			},
			{
				"type": "OIL",
				"status": "OK",
				"dateTime": "2023-10-01T00:00:00.000Z",
				"distance": {
					"value": 14000,
					"units": "KILOMETERS"
				}
			},
			{
				"type": "VEHICLE_CHECK",
				"status": "OK",
				"dateTime": "2023-10-01T00:00:00.000Z",
				"distance": {
					"value": 14000,
					"units": "KILOMETERS"
				}
			},
			{
				"type": "BRAKE_FLUID",
				"status": "OK",
				"dateTime": "2022-12-01T00:00:00.000Z"
			}
		],
		"vehicleLocation": {
			"coordinates": {
				"latitude": 57.939902,
				"longitude": 17.294139
			},
			"address": {
				"formatted": "*"
			},
			"heading": 250
		},
		"climateControl": {}
	},
	"isMappingPending": false,
	"isMappingUnconfirmed": false,
	"driverGuideInfo": {
		"title": "BMW\nDriver'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": 158,
			"green": 158,
			"blue": 158
		}
	},
	"status": {
		"lastUpdatedAt": "2022-04-25T06:14:36Z",
		"currentMileage": {
			"mileage": 95366,
			"units": "km",
			"formattedMileage": "95366"
		},
		"issues": {},
		"doorsGeneralState": "Locked",
		"checkControlMessagesGeneralState": "No Issues",
		"doorsAndWindows": [
			{
				"iconId": 59757,
				"title": "Lock status",
				"state": "Locked",
				"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"
			},
			{
				"iconId": 59705,
				"title": "Sunroof",
				"state": "Closed",
				"criticalness": "nonCritical"
			}
		],
		"checkControlMessages": [
			{
				"criticalness": "nonCritical",
				"iconId": 60197,
				"title": "Engine Oil",
				"state": "OK"
			}
		],
		"requiredServices": [
			{
				"id": "VehicleAdmissionTest",
				"title": "Vehicle Inspection",
				"iconId": 60111,
				"longDescription": "Next state inspection due by the specified date.",
				"subtitle": "Due in December 2022",
				"criticalness": "nonCritical"
			},
			{
				"id": "Oil",
				"title": "Engine oil",
				"iconId": 60197,
				"longDescription": "Next service due after the specified distance or date.",
				"subtitle": "Due in October 2023 or 14000 km",
				"criticalness": "nonCritical"
			},
			{
				"id": "VehicleCheck",
				"title": "Vehicle check",
				"iconId": 60215,
				"longDescription": "Next visual inspection due by specified date or, if shown, when stated distance has been reached.",
				"subtitle": "Due in October 2023 or 14000 km",
				"criticalness": "nonCritical"
			},
			{
				"id": "BrakeFluid",
				"title": "Brake fluid",
				"iconId": 60223,
				"longDescription": "Next service due by the specified date.",
				"subtitle": "Due in December 2022",
				"criticalness": "nonCritical"
			}
		],
		"recallMessages": [],
		"recallExternalUrl": null,
		"fuelIndicators": [
			{
				"secondaryBarValue": 0,
				"infoIconId": 59930,
				"infoLabel": "Fuel Level",
				"rangeIconId": 59681,
				"rangeUnits": "km",
				"rangeValue": "827",
				"levelIconId": 59682,
				"isCircleIcon": false,
				"iconOpacity": "high",
				"chargingType": null,
				"mainBarValue": 0,
				"showsBar": false,
				"levelUnits": "l",
				"levelValue": "59",
				"isInaccurate": true
			}
		],
		"timestampMessage": "Updated from vehicle 4/30/2022 06:14 AM"
	},
	"exFactoryPUStep": "1117",
	"exFactoryILevel": "S15A-17-11-540"
}```

oiu c’est également ce que je t’avais envoyé en MP :slight_smile:

mais c’est déjà une information en soit !
on peut très bien considérer que si vide, alors l’abo est terminé/inexistant et mettre les bon msg sur le widgets ou autre.


dans le cas d’un abo en cours, tu as des dates ou d’autres infos dans cet objet ?

Non c’est vide également ou WIFI_HOTSPOT_SERVICE pour @laurent.da-col (je n’avais encore pas eu). Côté mini (anciennes API) par contre, j’ai l’info :

"condition_based_services": "1,OK,2023-03,20000;100,OK,2025-03,60000;3,OK,2024-03,;"
1 « J'aime »

Bonjour,

Cette info semble correspondre aux services payants « avancés » (hotspot, recherche avancée, etc).

Merci @Madcow
OK donc j’ai pas d’infos me donnant la date d’expiration ou l’état actuel de l’abo :frowning:
Et sur l’appli officielle, vous avez cette info ?

Je viens de vérifier : rien directement sur l’application et rien dans mon json sur ce sujet.

Quand je dis directement : l’appli renvoit sur l’URL du site connected drive sur lequel la durée restante de l’abonnement est visible.

A mon avis l’info existe uniquement sur leur site.

pareil je n’ai pas de date sur l’appli

Je me connecte au site bmw, on me propose direct un pack d’extension :
image

pour autant un peu plus bas, j’ai 2 services qui sont en mode illimité :
image

==> donc ca justifierait le fait qu’il n’y ait pas de date de fin, puisque c’est illimité !?

c’est assez étonnant car je peux faire à peu près toutes les actions depuis l’app et aussi depuis le plugin également (-> je viens de tester le déverrouillage, ça a pris 2min11 pour réaliser l’action quand même :confused:)

pourtant côté plugin je ne recois aucun état sur l’état des fenetres/portes, etc … tous sont en « unknow » du coup j’ai des sens interdit partout sur le widget

Tu as le détail du pack proposé ?
C’est étrange que tu puisses réaliser leas actions mais que tu n’es pas les infos portes / fenêtres …

Oui d’après les premiers retours des utilisateurs, c’est très lent côté BMW !

oui j’ai regardé mais c’est pas ultra clair

Sur le pack extension connect 'CONNECTED BOOSTER' à 79€

SERVICES INCLUS DANS CE PACK:

BMW Online

BMW Online et ses services de mobilité en ligne vous permettent à tout moment d’arriver à destination de manière sûre et en étant bien informé. Consultez, entre autres, les actualités, les prévisions météo ou des informations sur le pays en direct et rapidement dans votre BMW. Les services peuvent également être utilisés à l’étranger, grâce à la carte SIM installée dans le véhicule.

Recharge : Services eDrive

Les services eDrive de BMW vous permettent de trouver facilement et aisément la station de recharge la plus proche pour votre véhicule. Grâce aux eDrive Remote Services, vous pouvez vérifier à distance l’autonomie et l’état de charge de votre véhicule via l’application My BMW. Si vous le souhaitez, votre BMW vous attend non seulement entièrement chargée au début du trajet, mais aussi climatisée.

Navigation

L’Information Trafic en Temps Réel vous permet d’arriver plus rapidement à destination. Le service connaît les conditions de circulation quasiment en temps réel et calcule automatiquement des itinéraires alternatifs. Il vous avertit en outre sur des conditions de circulation difficiles ou des accidents sur votre itinéraire.

Fonctions « Ma BMW à distance »

Gardez toujours un œil sur l’environnement de votre BMW pour savoir que tout est en ordre avec votre véhicule. Les Fonctions « Ma BMW à distance » et Remote 3D View vous permettent via l’application My BMW d’observer l’environnement de votre véhicule sous tous les angles, de verrouiller les portes ou de déclencher des appels de phares.

et

Remote Services - durée illimitée

Le package « Ma BMW à distance » regroupe deux services : avec les Fonctions « Ma BMW à distance », vous pouvez piloter votre BMW à distance sur votre smartphone ou via le centre d’appel BMW. Direct, confortable et sécurisé. Avec Remote 3D View, vous pouvez observer à distance les environs de votre véhicule actuellement en stationnement.

Vos bénéfices :

  • Commandes à distance depuis un smartphone avec My BMW App.
  • Verrouillage et déverrouillage des portes, affichage de l’emplacement du véhicule, ventilation de l’habitacle, réglage de la température (nécessite l’équipement en option Chauffage auxiliaire).
  • Transmission directe au système de navigation de la voiture d’une adresse de destination ou d’un trajet.
  • Visualisez l’environnement actuel du véhicule à distance avec votre smartphone grâce à la fonction Remote 3D View*.
  • Perspective et zoom sur le véhicule librement sélectionnables.

Avant de pouvoir utiliser le pack « Ma BMW à distance » et My BMW App, vous devez activer ces fonctionnalités sur le portail client BMW ConnectedDrive.

*La condition préalable est l’installation de systèmes de caméras s’y rapportant dans le véhicule.

Remarque : Les fonctions décrites ici ne sont pas disponibles dans tous les pays et avec tous les modèles BMW.

space, non !?

petit hors sujet, je pense qu’il y a un soucis lorsque tu calcules l’expiration du token

0952|[2022-04-25 12:00:02][DEBUG] : | Result getToken OK at time 1650880802 and expires in : 3599 s
0957|[2022-04-25 12:13:58][DEBUG] : | Result getToken OK at time 1650881638 and expires in : 3599 s
0963|[2022-04-25 12:30:02][DEBUG] : | Result getToken OK at time 1650882602 and expires in : 3599 s
0987|[2022-04-25 12:35:38][DEBUG] : | Result getToken OK at time 1650882938 and expires in : 3599 s
0992|[2022-04-25 12:35:40][DEBUG] : | Result getToken OK at time 1650882940 and expires in : 3599 s
0997|[2022-04-25 12:39:28][DEBUG] : | Result getToken OK at time 1650883168 and expires in : 3599 s

c’est étonnant d’avoir toujours, le même nombre de secondes restants !? :slight_smile:

Tu as tout à fait raison :wink:
Pour le moment, je ne fais que générer un nouveau token à chaque connexion. Dans un futur proche, je vais gérer le cas ou le token est encore valide !