Changelog

Si vous êtes curieux de savoir ce qu'il y a de nouveau dans High Mobility - et ce qui a changé - vous êtes au bon endroit.

Versions et modifications de High Mobility

Découvrez les nouveautés de High Mobility et ce que nous mettons progressivement en place.

Pseudonymisation de la flotte

Il est désormais possible pour les clients des flottes de recevoir des données sur les véhicules qui ont été pseudonymisées. Cela signifie en pratique que le VIN (numéro d'identification du véhicule) est remplacé par un pseudonyme qui ne peut pas être directement lié à un VIN.

Cela présente l'avantage de permettre des cas d'utilisation où vous avez besoin de données statistiques sur les véhicules de votre flotte, mais ne souhaitez pas associer les données à des véhicules individuels.

La couche de pseudonymisation apporte une valeur ajoutée aux clients disposant de flottes existantes. Il n'est pas possible d'accéder à des données anonymisées provenant de véhicules non associés.

Consultez le tutoriel sur la pseudonymisation pour commencer.

Modification du cycle de vie des jetons d'accès MQTT

Auparavant, les clients de la flotte devaient d'abord créer un jeton d'accès avant de recevoir des données via notre courtier MQTT. Avec cette mise à jour, cela n'est plus nécessaire. Dès qu'un véhicule a été activé, ses données sont placées sur le flux MQTT.

En outre, il est possible de révoquer des véhicules directement via l'API de compte de service en indiquant le VIN. Cela signifie qu'il n'est plus nécessaire d'implémenter l'API OAuth2, à moins que l'une de nos API basées sur le pull soit utilisée en parallèle. Consultez le DELETE /fleets/vehicules/{vin} pour plus de détails.

Nous espérons que ces modifications permettront de mettre en place des méthodes d'intégration plus souples. Bonne lecture en continu !

Données en continu de Mercedes-Benz

Il est désormais possible de consommer des données en continu via MQTT pour les véhicules de la flotte Mercedes-Benz. Avec cet ajout, nous prenons désormais en charge les données en continu pour un total de 11 marques : BMW, Mercedes-Benz, Ford, Peugeot, Citroën, DS Automobiles, Opel, Vauxhall, Fiat, Alfa Romeo et Jeep.

Rendez-vous sur le tutoriel MQTT pour commencer à tester.

API Geofencing

Nous sommes heureux d'introduire la fonctionnalité de géofencing pour les applications de flotte. On peut créer des geofences et ajouter des véhicules à différentes zones, qui peuvent être n'importe quelle frontière terrestre entre pays ou une zone au choix. Chaque fois que le véhicule entre ou sort d'une zone, votre service est averti par le biais de livraisons de webhooks.

La configuration des géofences et des notifications se fait que par le biais de l'API Compte de service, qui a été étendue avec des points de terminaison de géofencing.

Voici une liste des principaux points forts :
  • Les limites géométriques d'une géofence sont indiquées dans le format ouvert GeoJSON.
  • Il est possible d'affecter un véhicule à plusieurs zones.
  • Les événements "entered" et "exited" sont pris en charge
  • Il est possible de consulter les 5 derniers événements pour n'importe quel véhicule.
Le géofencing est disponible  pour tous les véhicules Stellantis. Le support pour Mercedes-Benz, BMW, MINI et Ford sera ajouté le mois prochain en avril. Allez-y et suivez le Tutoriel Geofencing dans notre documentation pour commencer.

REST API v5

Nous disposons désormais d'une v5 de l'API REST, qui remplacera la v4 au fil du temps. Cette mise à jour de version est axée sur l'amélioration de l'efficacité et de la vitesse. Il n'y a pas de changement dans les points de terminaison ni même dans le format de réponse, ce qui rend la migration rapide. Néanmoins, nous avons publié une nouvelle version car le JWT qui est utilisé pour l'authentification est maintenant créé avec une charge utile légèrement mise à jour.

Voici les changements qui ont été effectués :
  • Les elements api_version et access_token ont été renommés respectivement en ver et sub.
  • L'élement " ver" de la version doit être réglé sur 3.0.
  • Le champ app_id n'est plus requis
  • Un nouveau champ nommé iss qui contient le numéro de série du client est nécessaire.
Le code de votre projet devrait ressembler à ceci si vous utilisez l'API REST v5 :
Les extraits de code que vous trouvez sous vos applications dans la console ont été mis à jour, ce qui signifie que vous pouvez simplement copier le nouvel extrait pour obtenir les nouvelles valeurs. Les exemples du tutoriel sur l'API REST ont été mis à jour pour utiliser la v5.
La version 4 (v4) de l'API REST sera obsolète le 30 juin 2022.

MQTT Auto API broker

Il existe désormais un nouveau moyen de consommer les données des véhicules de notre plateforme par le biais du protocole MQTT. En utilisant MQTT, vous pouvez vous abonner aux mises à jour de données à partir d'un courtier central et obtenir un flux de données continu de tous les véhicules qui sont activés pour votre application ou service.

L'utilisation de MQTT vous apportera les avantages suivants :
  • Passez d'une utilisation de l'API de type poll à une utilisation de type push
  • Abonnez-vous à toutes les mises à jour de données pour les véhicules auxquels vous avez accès par le biais d'une seule connexion TCP/TLS.
  • Travaillez avec une norme bien établie, MQTT, avec d'excellents outils pour toutes les plateformes et tous les systèmes d'exploitation.
  • Continuez à travailler avec des unités utiles de données basées sur le schéma JSON de l'API Auto.
  • Il permet des cas d'utilisation avancés qui reposent sur des événements et des mises à jour de données sur les voitures diffusées en continu, seconde par seconde.
Consultez l'article Démarrer avec MQTT dans notre documentation pour en savoir plus et pour l'essayer vous-même.

GraphQL API

Aujourd'hui, nous accueillons un nouveau membre dans notre famille d'API et de SDK pour la récupération de données sur les véhicules - une API GraphQL. L'API GraphQL permet une interrogation flexible des données, vous permettant ainsi de :
  • Interrogez les points de données qui vous intéressent et rien de plus.
  • Réduire le nombre de demandes en les unifiant en une seule.
  • Utilisez un système type fort qui vous permet de ne demander que des données qu'il est possible de renvoyer.
  • Travaillez avec des erreurs claires et utiles pour les requêtes mal saisies.
  • Utiliser l'introspection - un client GraphQL peut interroger le schéma de manière dynamique.
  • Faire correspondre la réponse JSON avec la demande.
Vous pouvez trouver tous les détails dans l'article Démarrer avec GraphQL dans notre documentation.

Auto API Niveau 13

Cette mise à jour du protocole apporte de nouvelles propriétés à l'ensemble des données prises en charge. En outre, trois nouvelles capacités sont introduites :
  • ADAS
  • Session de chargement
  • Crash
Le niveau 13 est entièrement rétrocompatible avec le niveau 12 et n'apporte aucun changement radical. Toutes les nouvelles versions du SDK offrent une prise en charge native du niveau 13, tandis que l'API REST v4 a été mise à jour pour prendre en charge les nouvelles propriétés. Vous trouverez le journal des modifications complet sur GitHub.

AutoAPI Swift (iOS) 13.0.0

Nouveau AutoAPI niveau 13 binaire-à-swift et back parser.

Cette version contient quelques améliorations, des changements mineurs d'API :
  • Les enums AutoAPI (à partir de AA) sont modifiés pour avoir une RawValue == String.
  • Pour accéder à la byte-value, il faut utiliser la propriété .byteValue (au lieu de la propriété .rawValue, qui renvoie désormais une valeur de type String).
  • Les ajouts à la spécification (nouvelles capacités, propriétés et types) se trouvent à l'adresse suivante ici.
  • Les changements apportés à la spécification (dépréciations et modifications des types, propriétés et capacités existants) peuvent être consultés à l'adresse suivante ici.
La spécification de l'API Auto peut toujours être consultée pour plus de détails. ici.

API Java Auto 3.13.0

  • Mise à jour de l'Auto API L13 spec
  • Remplacer PropertyComponentFailure.Reason par le type personnalisé value.Failure
  • La version est maintenant dans mavenCentral

Node.js SDK v13

Cette version contient quelques améliorations, des changements mineurs d'API :
  • Les ajouts à la spécification (nouvelles capacités, propriétés et types) se trouvent à l'adresse suivante ici.
  • Les changements apportés à la spécification (dépréciations et modifications des types, propriétés et capacités existants) peuvent être consultés à l'adresse suivante ici.
Les commandes télématiques n'acceptent plus les propriétés obsolètes.

Fleet SDK 0.2

La première version publique du SDK de la flotte.

HMKit Crypto Telematics 0.1

Implémentation de la cryptographie en Java. Utilisé pour Fleet SDK et d'autres crypto.

API Java Auto 3.12.1

Renomme Runtime enum à Environment, qui contient les valeurs Owner et Vehicle.

Déplacement vers mavenCentral()

À partir de maintenant, les paquets Java seront publiés sur mavenCentral(). Leur ID de groupe sera changé de `com.highmobility` à `com.high-mobility`. Toutes les versions précédentes conserveront leur ID de groupe et seront disponibles jusqu'au fermeture de JCenter le 1er février 2022.

Auto API Niveau 12

Le protocole a été mis à jour avec de nouveaux points de données et de nouvelles capacités, dont certains sont mis en évidence ici :
  • Possibilité de transmettre le type d'unité d'une valeur, c'est-à-dire la valeur de l'odomètre en miles ou en km-s.
  • Nouvelle capacité pour les informations statiques sur les véhicules (propriétés séparées du statut du véhicule)
  • Possibilité d'accéder aux informations sur la disponibilité des points de données, c'est-à-dire le taux de mise à jour.
Trouver plus de details ici.

Node SDK v12.0.0

Mise en œuvre de l'Auto API niveau 12 :
  • Ajout de récupérateurs de disponibilité : hmkit.commands.Charging.getAvailability()
  • Unités ajoutées
  • La version minimale prise en charge de node.js est désormais la v10.0.0.
  • La propriété de l'état de la capacité historique renvoie désormais une mesure de temps, timestamp
  • Les commandes Getter acceptent désormais un tableau facultatif de noms de propriétés (auparavant des ID de propriétés).
  • Correction d'un bug qui entraînait une analyse incorrecte des timestamps.

AutoAPI Swift (iOS) 12.0.0

Nouvel Auto API de niveau 12, binary-to-swift et back parser
  • Cette bibliothèque n'est désormais distribuée que sous la forme d'un paquet Swift, qui est également la principale méthode recommandée pour l'utiliser ou l'intégrer.
  • Le changement le plus notable par rapport à la précédente L11 est la possibilité de l'AutoAPI de transmettre des informations sur les unités pour différentes valeurs : les propriétés (et les sous-valeurs), qui expriment une mesure, produisent maintenant une mesure au lieu d'un simple nombre décimal, par exemple puissance_moteur ou odomètre.
  • Certaines propriétés ont été supprimées (avec une référence à la nouvelle propriété) et un grand nombre de nouvelles propriétés ont été ajoutées (y compris de nouvelles capacités).
  • Chaque propriété a maintenant un composant de disponibilité qui peut être récupéré avec le getter correspondant dans une capacité.
Pour plus de détails concernant les nouveaux points de données et autres changements, veuillez consulter le site source.

On peut voir les changements de protocole de L11 à L12 ici.

AutoAPI Swift (iOS) 11.0.2

  • Aide le compilateur Swift à effectuer certains calculs "difficiles".

API Java Auto 3.12.0

Général
  • Ajouter les récupérateurs de propriété varargs : public GetProperties(byte... propertyIdentifiers)
  • Renommer Command.getType() en Command.getCommandType()
  • Les tableaux ont été remplacés par des listes, par exemple dans Capacités.supportedCapabilities. Charging.SetTimers, Property.components
  • Renommer Command.getType() en Command.getCommandType() pour qu'il ne se classe pas avec Trips.getType()
Niveau 12

Auto API Level 12 spec est utilisé.
Toutes les nouvelles capacités/propriétés ont été ajoutées/mises à jour/dépréciées.
  • De nombreuses valeurs flottantes utilisent désormais le type Unité. Par exemple, Longueur
  • Ajouté Disponibilité commandes

HMKit 2.0.5

  • Correction de la configuration de la taille MTU du Bluetooth
  • Changez les noms des niveaux enregistré dans le log, ils sont maintenant Off, Info, Debug, All.
  • Correction des core logs qui ne sont pas affichés

CommandQueue 1.1.0

  • La file d'attente est maintenant initialisée avec l'objet QueueConfiguration.

HMKit Utils 1.4.5

  • Ajout de la méthode hexFromByte()

HMKit Crypto 1.4.6

  • Mise à jour du  core

HMKit iOS 3.2.2

  • Changed HMLocalDevice .links from [HMLink] to Set<hmlink>.</hmlink>
  • Correction du bug de mise à jour des valeurs de caractéristiques mutables.
  • Correction de la fonction HMLocalDevice -disconnect() qui règle l'état sur .idle même si BT n'est pas disponible.

HMKit Android 2.0.3

Cette version inclut le code source et la documentation pour faciliter le développement. De plus, la version est poussée vers jcenter(). Cela signifie qu'il n'est plus nécessaire d'ajouter l'url de High-Mobility Artifactory.

Command Queue Android 1.0

Il s'agit d'un paquet d'aide destiné à être utilisé avec HMKit Android pour mettre en file d'attente les commandes Bluetooth et télématiques.

HMKit Android 2.0.2

Ouvrir la version de la commande de paramétrage. Voir link.sendCommand() et telematics.sendCommand()

HMKit Core JNI 1.0.1

  • Ouvrez la version de commande de réglage.
  • Faire en sorte que la méthode setMTU() utilise int au lieu de int[].

HMKit Android 2.0.1, Java AutoAPI 3.11.1, HMKit Crypto 1.4.5

Ces versions ajoutent la prise en charge des versions de Gradle supérieures à 4.6.

API REST v3

  • Mise en œuvre du niveau 11 de l'API automatique. Cela apporte quelques changements aux propriétés et aux points de terminaison API existants ainsi que de nouveaux points de terminaison API.
  • Les points de terminaison de l'API REST sont désormais générés dynamiquement sur la base du SDK Node.js, ce qui réduit considérablement la base de code.
  • La plupart des tests automatisés sont maintenant générés dynamiquement.

Auto API 11.0

  • Mise en œuvre de l'Auto API niveau 11. Toutes les commandes, réponses et validations sont générées sur la base de la spécification Auto API.
  • Les tests automatisés de type commande et réponse sont générés dynamiquement.
  • Modifications mineures de la syntaxe des commandes. En savoir plus : Node.js Auto API

Node.js SDK v11

Le format binaire de l'API Auto a été modifié pour unifier les propriétés entre les commandes et simplifier la gamme des différents types de valeurs. En outre, ce changement a été effectué pour faciliter la génération automatique de bibliothèques spécifiques à la plate-forme à partir de la spécification de l'API Auto.

La mise à jour du format binaire rend cette version non compatible avec les versions précédentes.

La plupart des capacités prennent en charge la demande d'une seule ou de plusieurs propriétés spécifiques (en plus de l'état complet).
  • L'API Capabilities représente les ID des propriétés activées pour une capacité donnée (au lieu des types de messages comme précédemment).
  • Le type de zone de pare-brise a une représentation binaire différente.
  • Les serrures de porte ont été renommées en portes, la commande de verrouillage/déverrouillage contrôle désormais l'état des serrures (et non plus l'état des serrures intérieures comme précédemment) et 2 nouvelles propriétés qui regroupent les serrures spécifiques du véhicule.
  • Le moteur est renommé Ignition.
  • Ajout d'une "nouvelle" capacité Moteur qui permet d'allumer ou d'éteindre le moteur.
  • L'heure du véhicule renvoie désormais les heures et les minutes (et non plus les millisecondes de l'époque UNIX).

HMKit iOS 3.2.0

  • Renommé le type HMKit en HMLocalDevice pour pouvoir utiliser XCFrameworks.
  • Tous les types et méthodes nommés par hmkit sont renommés avec le préfixe localDevice.
  • Augmentation du débit des BT en négociant la plus grande taille commune d'emballage.
  • Mise à jour des conteneurs de données et du protocole à la nouvelle version (la librairie supporte toujours les anciennes versions).
  • Mise à jour des options d'enregistrement télématique.

Auto API iOS 11.0.0

Il est maintenant généré automatiquement à partir des spécifications de l'API Auto et de nombreux noms peuvent être légèrement différents des versions précédentes.

Consultez le journal des modifications de l'API Auto pour plus d'informations.

HMCryptoKit iOS 1.2.14

Correction des problèmes de génération de clés partagées dans iOS 13.

HMUtilities iOS 1.4.6

Correction pour HMDebugTree.

Simulateur v19.7.0

  • Mise en œuvre de l'Auto API niveau 11.
  • Les capacités, les propriétés, la validation, les gestionnaires de messages, l'encodage et le décodage des propriétés sont désormais générés dynamiquement sur la base des spécifications. Cela rend l'ajout de nouvelles propriétés beaucoup plus facile à l'avenir.
  • Ajout d'une nouvelle vue des autorisations d'application.
  • Correction du bug de chargement des actifs.
  • Amélioration de l'initialisation de l'état de la voiture.
  • Amélioration de la gestion des erreurs.
  • Corrections mineures de style.

API Java Auto 3.11.0

La bibliothèque Auto API est désormais générée automatiquement à partir de la spécification. Cela signifie que certains noms de classe ont changé. Veuillez vous référer à la spécification de l'API Auto pour obtenir les noms de classe les plus récents.

Les valeurs de couleur sont désormais comprises entre 0 et 255, et non plus entre 0 et 1.

HMKit Android 2.0.0

  • Crypto est maintenant ivar dans HMKit. Les méthodes statiques ont été changées en méthodes non statiques.
  • Les états de liaison ont été mis à jour pour core2. Voir le tutoriel Bluetooth pour plus d'informations.
  • Ajout d'une fonction d'appel onAuthenticationFailed au LinkListener. Elle est invoquée lorsque l'authentification échoue.
  • Utilisez un MTU personnalisé dans Bluetooth. Cela améliore les vitesses de communication.
  • HMKit.loggingLevel a été déplacé vers la méthode statique HMKit.setLoggingLevel()
  • Dans ConnectedLinkListener, renommez onAuthorizationRequested() en onAuthenticationRequest().
  • Suppression de certaines méthodes obsolètes.

HMKit OEM 2.0.0

  • Renommer Telematics en HMKit.
  • HMKit a maintenant une instance. Les fonctions Encrypt/Decrypt sont toujours statiques.
  • Crypto est maintenant ivar dans HMKit. Ses méthodes statiques ont été changées en méthodes non statiques.

HMKit Crypto 1.4.4

  • Les méthodes Crypto sont maintenant non-statiques. Cela clarifie la façon d'utiliser le Crypto : en accédant à son ivar de HMKit.java

HMKit Utils 1.4.4

  • Les méthodes Bytes set() renvoient l'objet Bytes.

Auto API iOS 10.0.9

  • Ajout d'un script de création de XCFramework
  • Changement d'AutoAPI en AAAutoAPI pour supporter l'utilisation de XCFramework
  • Suppression des "anciens" scripts de création et d'amincissement de la bibliothèque universelle (fat binary)
  • Mis à jour pour Xcode 11 et Swift 5.1
  • Mis à jour pour fonctionner avec SPM (recommandé dans Xcode 11+)

HMCryptoKit iOS 1.2.12

  • Ajout d'un script de création de XCFramework
  • Correction d'un bug de création de signature
  • Suppression du typealias HMECKey en faveur de SecKey
  • Suppression des "anciens" scripts de création et d'amincissement de la bibliothèque universelle (fat binary)
  • Mis à jour pour Xcode 11 et Swift 5.1
  • Mis à jour pour fonctionner avec SPM (recommandé dans Xcode 11+)

HMKit iOS 3.1.0

  • Ajout d'un script de création de XCFramework
  • Changement de HMKit en HMLocalDevice (et renommage des types associés également) pour supporter l'utilisation de XCFramework
  • Suppression des "anciens" scripts de création et d'amincissement de la bibliothèque universelle (fat binary)
  • Mis à jour pour Xcode 11 et Swift 5.1
  • Mis à jour pour fonctionner avec SPM (recommandé dans Xcode 11+)
La version 2.5.8 a également été mise à jour pour Xcode 11, Swift 5.1, SPM et XCFrameworks.

HMUtilities iOS 1.4.5

  • Ajout d'un script de création de XCFramework
  • Modification de la sortie hexagonale de la collecte d'octets pour qu'elle soit en minuscules
  • Suppression des "anciens" scripts de création et d'amincissement de la bibliothèque universelle (fat binary)
  • Mis à jour pour Xcode 11 et Swift 5.1
  • Mis à jour pour fonctionner avec SPM (recommandé dans Xcode 11+)

HMKit Android 1.6.10

  • Correction d'OAuth pour les versions antérieures à Nougat.
  • Améliorer les messages d'erreur OAuth.
  • Augmenter le délai d'attente des requêtes web.

Simulateur v19.5.1

  • Nouveau système de permission télématique.
  • Support des données historiques.
  • Correction du bug avec l'encodage des propriétés de temps.

Node.js SDK v10.2.0

  • Soutien aux commandes de données historiques.
  • Ajout et amélioration des tests automatisés.

HMKit Android 1.6.9

  • Utilisez Timber pour le journal. Pour voir les journaux, il faut appeler Timber.plant(new Timber.DebugTree()) ; au démarrage de l'application.
  • Ajouter une barre de progression à l'état de chargement d'OAuth2.

Java AutoAPI version 2.10.2

  • Les composants de la propriété sont également stockés au format brut.
  • Ajouter une capacité de capot.
  • Correction de bugs.

iOS AutoAPI version 10.0.5

  • Amélioration de la vitesse d'analyse de 20 à 50 %.

iOS HMCryptoKit version 1.2.8

  • Correction de l'erreur de l'index de la signature hors limites.

iOS HMKit version 3.1.0

  • Ajout du support pour SCC et BEC v2 (aucun effet sur les utilisateurs actuels).
  • Réécriture de HMTelematics (quelques modifications de l'interface, principalement concernant le résultat).
  • Updated all types similar to Swift 5's Result<success, failure=""> to use the native one</success,>
  • Mise à jour du code OAuth pour utiliser des types distincts (par exemple, HMOAuthSuccess est maintenant un struct).
  • Autres corrections et améliorations mineures.

iOS HMUtilities version 1.4.1

  • Réintroduction de .bytes et .data dans UInt8-Collection.

iOS HMCryptoKit version 1.2.7

  • Correction de la sortie .bytes de la clé privée.

iOS Auto API version 10.0.4

  • Amélioration de la vitesse d'analyse de 100 à 1000x.
  • Renommé AACommandIdentifier en AACapabilityIdentifier.
  • Autres corrections mineures.

iOS HMCryptoKit version 1.2.6

  • Mise à jour des dépendances et du code en usage

iOS HMKit version 3.0.2 Beta

  • Mise à jour des dépendances et des cadres d'accompagnement.

iOS HMUtilities version 1.4.0

  • Ajouté -compactMapConcurrently à Collection.
  • Amélioration de la fonction -init-s de HMBytesConvertable.
  • Suppression de .bytes et .data de la collection UInt8.

SDK Android version 1.6.8

  • Cette version corrige un problème où les certificats n'étaient pas supprimés.

API Java Auto version 2.10.1

  • Correction d'un crash lors de l'analyse de données de commande invalides.

iOS Auto API version 10.0.3

  • Correction des sous-types multiples de AAItem.
  • Correction d'autres problèmes mineurs trouvés lors des tests.
  • Suppression des fichiers obsolètes.

iOS HMUtilities version 1.3.3

  • Correction de la valeur .bytes de HMBytesConvertable de Int8.
  • Amélioration du code HMBytesConvertable.

iOS Auto API version 10.0.2

  • Mise à jour vers Swift 5.
  • Suppression de certains typesobsolètes .
Corrections pour :
  • AACheckControlMessage
  • AAHistorique
  • AANaviDestination
  • AANotifications
  • AARace
  • Plusieurs types conformes à AAItem

iOS Auto API version 7.3.4

  • Mise à jour vers Swift 5.
  • Mise à jour de la dépendance HMUtilities à 1.3.x.

iOS HMCryptoKit version 1.2.5

  • Mise à jour vers Swift 5.

iOS HMKit version 3.0.1 Beta

  • Mise à jour vers Swift 5.
  • Correction de la commande Get Device Certificate.
  • Ajout de la taille MTU à la caractéristique BT info.

iOS HMKit version 2.5.4

  • Mise à jour vers Swift 5.

iOS HMUtilities version 1.3.2

  • Mise à jour vers Swift 5.

Node.js SDK version 10.0.0

Cette version comprend des modifications importantes de l'API publique. Notez qu'il est toujours possible d'utiliser la version précédente du SDK Node.js.
  • Toutes les propriétés sont maintenant des objets. Actuellement, les propriétés n'incluent que la valeur, mais cette amélioration nous prépare aux changements entrants où nous pouvons également envoyer des valeur de temps et les erreurs pour chaque propriété individuellement.
  • La réponse du moteur renvoie maintenant on au lieu de powered_on et off au lieu de powered_off.

API REST v2

Nouvelle version de l'API REST. La V1 fonctionnera encore pendant un certain temps, mais il est recommandé de passer à une API plus récente dès que possible. Seule la version 2 est activée pour l'accès aux données des véhicules de production.
  • URL de la sandbox V2 https://sandbox.rest-api.high-mobility.com/v2
  • Les propriétés sont transformées en objets qui nous aideront à envoyer plus de données sur une propriété spécifique.
  • Améliorations mineures de la gestion des erreurs.

API Java Auto 2.10.0

Cette version de l'API Auto inclut les modifications de l'interface publique reflétant le protocole de niveau 10.

Toutes les valeurs sont désormais enveloppées dans une propriété. Cela signifie que pour accéder à la valeur d'une propriété, il faut appeler property.getValue().

Property possède également les composants failure et timestamp. Tous ces composants sont facultatifs.

Guide de migration vers la version 2.10.0:
  • Les valeurs des propriétés doivent être accessibles avec Property.getValue(). Par exemple : LightsState.getAmbientColor() doit être changé en LightsState.getAmbientColor().getValue().
  • Si la valeur est nulle, il se peut qu'il y ait un composant défaillant ou que cette propriété n'existe tout simplement pas pour ce véhicule.
  • Certains paquets ont été modifiés. De nombreux noms de classes sont toujours les mêmes, supprimez donc l'importation invalide et réessayez d'importer.
  • Remplacer CommandWithProperties par Command.

SDK Android 1.6.7

  • Ajout du support des jetons de rafraîchissement pour OAuth.

Java Auto API 1.7.3

Cette version inclut un support d'analyse pour MultiCommand et MultiState. Voir la référence du code pour plus d'informations.

iOS AutoAPI version 7.3.3

  • Ajout d'une réponse multi-états à MultiCommand.

iOS HMUtilities version 1.3.1

Correction de l'initialisation des entiers signés pour HMBytesConvertable.

iOS AutoAPI version 10.0.1

Correction de la propriété de débogage de AACapability .debugTree : HMDebugTree pour analyser correctement le nouveau L10.

Auto API Niveau 10

Le niveau 10 de l'API Auto apporte des mises à jour protocolaires aux propriétés de niveau binaire. Les propriétés comprennent désormais des données, un horodatage et des composants de défaillance. Cela permet au SDK de mieux gérer tous les scénarios possibles lors de l'obtention de données pour différentes marques de voitures. Le nouveau protocole est défini sur la page de présentation des propriétés de l'API Auto.

Mises à jour supplémentaires au niveau 10 :
  • Tous les horodatages sont maintenant formatés en tant que temps d'époque UNIX en millisecondes.
  • Pourcentages formatés en décimales.

iOS SDK version 2.5.3

  • Correction des problèmes liés aux jetons OAuth.
  • Ajout d'une méthode pour obtenir un jeton d'accès avec un jeton de rafraîchissement.
  • Mise à jour des versions des dépendances.

iOS SDK version 3.0.0 Beta

  • HMKit réécrit.
  • Les principales modifications de l'interface comprennent le changement de nom de HMLocalDevice en HMKit.
  • Renommer les méthodes de confier à.
  • Rendre la plupart des méthodes publiques jetables.
  • Et plus encore...

iOS Auto API version 10.0

  • Les propriétés sont enveloppées dans un nouveau type AAProperty.
  • Les capacités sont conformes à un nouveau type AACapability.
  • Les méthodes des commandes sortantes renvoient un nouveau type AACommand qui possède l'accesseur .bytesaccessor pour obtenir les données à envoyer.

iOS HMUtilities version 1.3.0

Ajout d'un nouveau type HMBytesConvertable et mise en conformité des types suivants avec celui-ci : Bool, Date, Double, Float, String, URL, entiers signés et non signés.

Java Auto API niveau 10

Cela met à jour l'API Java Auto au niveau 10. Notez que les valeurs de pourcentage sont désormais doubles et non plus flottantes. Notez qu'il n'y a plus de fuseaux horaires pour les dates, qui correspondent toujours au temps UTC.

SDK Android version 1.6.6

Correction de l'écran vide affiché par OAuth.

SDK Android version 1.6.5

Correction d'éventuels échecs d'autorisation Bluetooth.

Simulateur de voiture version 2.3.0

  • Ajout d'un simulateur de voiture Porsche Cross Turismo.
  • Compatibilité avec l'API niveau 10 pour les composants de propriété. Il est nécessaire pour les développeurs d'utiliser les derniers SDK pour travailler avec le simulateur.

SDK de Node.js version 0.8.0

Cette version ne comprend que des modifications internes à la logique de traitement des composants de propriété de l'API Auto niveau 10. Aucune modification n'a été apportée à l'API publique.

Simulateur de voiture version 2.2.4

  • Ajout des simulateurs KTM 1290 Super Duke et Mercedes EQC.
  • Correction du sélecteur d'emplacement de véhicule et augmentation de la précision.
  • Correction des indicateurs de pression des pneus de la Porsche Cayenne.

SDK Android version 1.6.4

  • Cette version corrige des problèmes avec le flux OAuth2.

Auto API Niveau 9

Cette version de la plate-forme comporte des mises à jour incrémentielles de l'API en introduisant le niveau 9 d'Auto API ainsi que des mises à jour d'OAuth2. Chaque composant a été amélioré.
  • La capacité d'éclairage a été mise à jour avec des phares antibrouillard, des lampes de lecture et des lampes intérieures.
  • Capacité de diagnostic mise à jour avec le kilométrage en mètres.
  • Propriété de serrures de porte mise à jour avec la possibilité d'emplacement de toutes les portes.
  • Défaut Message de raison propriété élargie avec défaut de limite de taux.
  • Ajout de MultiCommand pour la possibilité d'envoyer plusieurs commandes à la fois.
  • Statut du véhicule mis à jour avec la propriété de la marque.
  • Mise à jour de la capacité de ravitaillement en carburant avec l'état de verrouillage de la trappe à gaz.
  • Ajout d'une propriété universelle pour signaler les propriétés individuelles défaillantes.

OAuth2

  • Le paramètre de requête Scope n'est plus nécessaire lors du lancement du flux OAuth.
  • Le point de terminaison du jeton d'accès renvoie désormais un jeton de rafraîchissement qui peut être utilisé pour demander un nouveau jeton d'accès.
  • Les applications mobiles et natives doivent maintenant utiliser PKCE sur le flux OAuth.

Simulateur de voiture version 2.2.3

  • Ajout de la prise en charge de l'API automatique de niveau 9.
  • Correction d'un problème mineur de diffusion des changements d'état des véhicules.
  • Corrections mineures du carnet de bord.
  • Amélioration de la validation des autorisations du dispositif.

Node.js SDK 0.7.3

  • Ajout de la prise en charge de l'API automatique de niveau 9.
  • Ajout des propriétés des feux extérieurs avant, des feux antibrouillard, des lampes de lecture et des lampes intérieuresà la capacité d'éclairage.
  • Ajout de la propriété des compteurs kilométriques à la capacité de diagnostic.
  • Ajout d'un motif d'échec de la limite de taux.
  • Ajout d'une capacité de commandement multiple.
  • Ajout de la propriété de la marque au statut du véhicule.
  • Ajout des propriétés de verrouillage et de position de la trappe à gaz à la capacité de ravitaillement en carburant.

iOS Auto API version 9.0

  • Ajout de la prise en charge de l'API automatique de niveau 9.
  • Suppression de tous les anciens types.
  • Ajouté .fogLights, readingLamps et .interiorLamps à AALights ; également mis à jour .frontExteriorLights.
  • Ajouté .states à AAMultiCommand - retourné quand un multicommand est envoyé.
  • Ajouté .gasFlapLock et .gasFlapPosition à AAFueling.
  • Nouveau type AAPropertyFailure pour indiquer que l'obtention d'une propriété a échoué.
  • Mise à jour de .insideLocks, .locks et .positions dans AADoorLocks.
  • Mise à jour de .failureReason dans AAFailureMessage.

Java Auto API 1.9.0

  • Ajout de la prise en charge de l'API automatique de niveau 9.
  • Consultez la référence du code Android pour les mises à jour des commandes.
  • Voir Multi Command pour la référence du code Multi Command.

API Auto REST version 1.4.0

  • Ajout de la prise en charge de l'API automatique de niveau 9.
  • Inclusion du nouveau SDK Node.js qui permettra à l'API REST de renvoyer des erreurs plus informatives.

Anciennes versions

iOS SDK version 2.5.2

  1. Correction du bug de décryptage des commandes sortantes et entrantes en même temps.
  2. Amélioration substantielle de HMLogginOptions.

Anciennes versions

Cette version de la plateforme comprend plusieurs changements d'URL basés sur la nouvelle architecture de serveur en cours de déploiement. Notez que le terme "sandbox" est utilisé pour désigner tous les points de terminaison permettant de travailler avec les simulateurs de voitures pendant le développement des applications.

OAuth2

L'URL de base du sandbox a été modifiée en https://sandbox.api.high-mobility.com/hm_cloud/

API de compte de service

L'URL de base du sandbox a été modifiée en https://sandbox.api.high-mobility.com/v1

REST API

L'URL de base du sandbox a été modifiée en https://sandbox.rest-api.high-mobility.com/v1

Node.js SDK version 0.7.2

  1. Modification des URL internes de l'API.
  2. Le point de terminaison de l'API est maintenant choisi automatiquement en fonction de l'émetteur du certificat du client.

SDK iOS version 2.5.1

  1. Nouvelle implémentation et flux HMOAuth.
  2. Le SDK obtient l'URL correcte à partir du certificat HMDeviceCertificate.

iOS AutoAPI version 8.0.1

  1. Nouveau AAMulticommand - possibilité d'envoyer plusieurs commandes en même temps.
  2. Ajouté .mileageMeters à AADiagnostics.
  3. Ajouté .sunroofState à AARooftopControl.

iOS HMCryptoKit version 1.2.3

  1. Méthode de signature plus performante pour l'utiliser sous forme non codée pour le JWT.
  2. Méthode publique SHA256..

SDK Android version 1.6.2

  1. Ajouter le module OAuth2 au SDK. OAuth2 est utilisé pour obtenir le jeton d'accès pour télécharger un certificat d'accès au véhicule.
  2. Refactoriser la sélection de l'environnement web. L'environnement web est sélectionné automatiquement ou peut être défini dans HMKit.webUrl. HMKit.environment est supprimé.

Anciennes versions

Simulateur de voiture version 2.2.1

  1. Ajout des propriétés d'état du véhicule manquantes(volume du moteur, couple maximal du moteur, boîte de vitesses, unité d'affichage, emplacement du siège du conducteur, équipement).
  2. Ajout des simulateurs de voiture IOTA et de chargeur IOTA.
  3. Correction et ajout de propriétés manquantes sur les voitures.
  4. Correction du lien " Mon profil

Node.js SDK version 0.7.1

  1. Ajout des propriétés d'état du véhicule manquantes(engineVolume, engineMaxTorque, gearbox, displayUnit, driverSeatLocation, equipment).
  2. Correction de la mise en cache des certificats d'accès multiples.
  3. Ajout de tests automatisés.

Anciennes versions

Il s'agit d'une version majeure pour tous les SDK, API et simulateurs qui introduit le niveau 8 de l'API automatique.

Auto API niveau 8

La dernière version de l'API Auto comporte des améliorations du protocole interne et un ensemble élargi de données sur les véhicules. En résumé :

  1. Nouvelles capacités et propriétés.
  2. Support du protocole pour les états historiques.
  3. Possibilité d'ajouter une propriété horodatage à chaque propriété individuelle.
  4. Chaque commande englobe désormais les paramètres en tant que propriétés. Il s'agit d'un changement interne que les SDK/REST API gèrent en interne.

Nouvelles capacités :

  1. Mobile : Obtenez l'état d'un téléphone mobile connecté.
  2. Utilisation : Métriques sur le style de conduite.
  3. Capot : Obtenir l'état d'ouverture/fermeture du capot.
  4. Historique : Obtenez des données historiques pour n'importe quel état.

Capacité de charge :

  1. Courant de charge maximal ajouté
  2. Ajout d'un type de fiche
  3. Ajouté, si une fenêtre de chargement a été choisie
  4. Heures de départ ajoutées
  5. Réduction supplémentaire des temps de charge
  6. Ajout de la température de la batterie
  7. Ajout de minuteurs de charge
  8. Ajout de l'état enfiché
  9. Ajout d'un état de charge
  10. Déclassé 0x01 état de charge (décomposé en état branché et état de charge)
  11. Timer de charge 0x0D déprécié (remplacé par les timers de charge)

Capacité de réglage du châssis :

  1. Remplacement des propriétés des taux de ressort par un nouveau format
  2. Remplacement des propriétés de position du châssis par un nouveau format

Capacité climatique :

  1. Ajout des heures de début des travaux de CVC (chauffage, ventilation et climatisation) en semaine
  2. Ajout du réglage de la température des sièges arrière
  3. Profil climatique déprécié (remplacé par les heures de début des jours de semaine HVAC)
  4. Ajout de la commande Régler les paramètres de température

Capacité d'éclairage :

  1. Renommé "Set Lights State" en "Control Lights".

Possibilité de toit :

  1. Ajout de l'état du toit convertible
  2. Ajout de l'état d'inclinaison du toit ouvrant

Capacité des sièges :

  1. Personnes ajoutées détectées
  2. Ajout des ceintures de sécurité attachées
  3. Sièges dépréciés (remplacés par les propriétés ci-dessus)

Capacité de Windows :

  1. Ajout des pourcentages d'ouverture
  2. Positions ajoutées
  3. Fenêtres dépréciées (remplacées par les propriétés ci-dessus)

Capacité du pare-brise :

  1. Ajout des essuie-glaces de contrôle de commande

Capacité de diagnostic :

  1. Ajout du niveau de la batterie
  2. Ajout de messages de contrôle de vérification
  3. Ajout de la pression des pneus
  4. RPM de la roue ajoutée
  5. Codes d'erreur ajoutés
  6. Pneus dépréciés (remplacés par les trois propriétés ci-dessus)
  7. Consommation de carburant actuelle dépréciée (déplacée vers la capacité d'utilisation)
  8. Consommation moyenne de carburant dépréciée (déplacée vers la capacité d'utilisation)

Capacité d'entretien :

  1. Ajout du décompte des rapports de CBS
  2. Ajout de mois à l'inspection des gaz d'échappement
  3. Ajout de la disponibilité du téléservice
  4. Ajout d'un seuil de distance de service
  5. Ajout d'un seuil de temps de service
  6. Ajout de la date d'appel automatique du téléservice
  7. Ajout de la date d'appel de la batterie du téléservice
  8. Ajout de la date de la prochaine inspection
  9. Ajout de services basés sur les conditions
  10. Ajout de la date de changement du liquide de frein

Capacité de course :

  1. Ajout du déplacement des véhicules

Capacité de verrouillage des portes :

  1. Ajout de serrures
  2. Positions ajoutées
  3. Portes dépréciées (remplacées par les deux propriétés ci-dessus)
  4. Déprécié en dehors des verrous (les verrous devraient être utilisés à la place)

Capacité d'état du véhicule :

  1. Ajout d'une unité d'affichage
  2. Ajout de l'emplacement du siège conducteur
  3. Equipements ajoutés

Capacité de charge à domicile :

  1. Ajout d'un état d'authentification
  2. Courant de charge ajouté (DC)
  3. charge actuelle maximale ajoutée
  4. charge actuelle minimale ajoutée
  5. Charge actuelle déprécié (remplacé par les trois propriétés ci-dessus)
  6. Coordonnées étendues de float à double
  7. Les tarifs de tarification sont étendus aux crypto-monnaies
  8. Ajout de la commande Authentifier/Expirer la session

Capacité de destination Navi :

  1. Coordonnées étendues de float à double

Capacité de localisation du véhicule :

  1. Coordonnées étendues de float à double
  2. Altitude étendue de float à double
  3. Titre élargi de float à double

Simulateur de voiture version 2.2.0

  1. Ajout de nouvelles capacités et propriétés de l'API Auto 8.
  2. Ajout d'un indicateur de localisation du véhicule à côté des journaux lorsque la simulation avec la capacité de localisation du véhicule est en cours.
  3. Amélioration des bugs liés aux performances des simulations.
  4. Correction des bugs liés au bouton du centre de développement.

SDK iOS version 2.5.0

  1. Amélioration de la latence de la connexion bluetooth.
  2. Ajout de classes HMOAuth pour une utilisation plus facile.
  3. Renommage important - tous les types ont maintenant un préfixe "HM" afin d'éliminer la pollution des espaces de noms.

iOS Auto API version 8.0.0

  1. Réécriture complète avec de nombreuses capacités, propriétés et commandes supplémentaires. Consultez le journal des modifications de l'Auto API 8 pour connaître les nouvelles possibilités.
  2. Tous les types ont maintenant un préfixe "AA" afin d'éliminer la pollution des espaces de noms.
  3. Ce n'est pas compatible avec le niveau 7, mais l'utilisation du niveau 7 a été temporairement rendue disponible par les points d'accès "anciens". Ce support sera abandonné à l'avenir.

Java Auto API 1.8.1

Cette version ajoute la prise en charge de l'Auto API niveau 8. Veuillez noter que cette version n'est pas compatible avec l'Auto API niveau 7 (package 1.8.0) et que votre code Auto API doit probablement être mis à jour.

SDK Android version 1.6.1

  1. Augmenter la limite de taille des commandes.
  2. Correction de Broadcaster.revokeCertificate() ne supprimant pas les certificats.
  3. Mettre à jour l'URL de production.

SDK de Node.js version 0.7.0

  1. Correction des problèmes avec node v10.x. Node.js SDK fonctionne maintenant avec toutes les versions de node de v8.9 à v10.x. Node v11 n'est pas encore supporté.
  2. Ajout des commandes et réponses de l'API Auto de niveau 8.
  3. Ajout de tests automatisés pour les nouvelles commandes et réponses de l'API Auto niveau 8.
  4. L'emplacement du fichier json du cache des certificats internes de HMKit peut être modifié avec le paramètre d'environnement HM_NODE_SDK_STORAGE_PATH.

API Auto REST version 1.3.0

  1. L'API REST est désormais sans serveur et fonctionne sur AWS Lambda. Cela nous permet d'évoluer plus facilement à l'avenir.
  2. Ajout de points de terminaison Auto API niveau 8.
  3. Ajout de tests d'Auto API niveau 8.
  4. Inclusion du nouveau SDK Node.js qui permettra à l'API REST de renvoyer des erreurs plus informatives.

Anciennes versions

SDK iOS version 2.4.2

  1. Correction de la file d'attente de transmission Bluetooth d'iOS qui était pleine dans certains cas et où aucune donnée n'était envoyée.

SDK Android version 1.6.0

Cette version introduit quelques changements dans l'API publique du SDK.

  1. Renommez Manager en HMKit.
  2. Ajouter l'état du lien NOT_AUTHENTICATED. Il sera défini après une révocation ou si l'authentification échoue.
  3. Manager.initialise est rejeté s'il est déjà initialisé. Manager.setDeviceCertificate doit être utilisé pour définir un nouveau certificat de périphérique.
  4. Déplacer Manager.loggingLevel vers HMLog.Level
  5. Renommer downloadCertificate() en downloadAccessCertificate()
  6. supprimer le déclenchement de l'IllegalStateException à partir des méthodes du Manager. Le gestionnaire s'attend à ce que initialise soit appelé et lance une exception non vérifiée dans le cas contraire.
  7. getBroadcaster() est nullable. Elle peut être nulle si la technologie BLE n'est pas physiquement prise en charge.

Anciennes versions

iOS SDK version 2.3.7

  1. Désactivé Alerte UI du système BT hors tension.

Mise à jour de l'API OAuth2

  1. Ajout de expires_in à l'objet de réponse du jeton d'accès. Détails complets dans le tutoriel OAuth2.

Anciennes versions

SDK Android version 1.5.0

  1. Réparez l'absence de service Bluetooth après avoir activé/désactivé le BLE.
  2. Correction de l'état de diffuseur invalide BLUETOOTH_UNAVAILABLE après avoir activé/désactivé BLE.
  3. Attendez l'ajout du service BLE avant de commencer la diffusion.

Anciennes versions

Node.js SDK version 0.6.1

  1. Amélioration de la logique de mise en cache des certificats d'accès pour la rendre plus rapide.
  2. Ajout de la validation de la clé privée du client.
  3. Changement de l'url de l'api du serveur de production.
  4. Ajout des tests automatisés manquants.

API Auto REST version 1.2.1

  1. Modification de l'url de l'api du serveur interne.
  2. Grâce à la mise à jour du SDK de Node.js, les demandes seront traitées beaucoup plus rapidement.

Anciennes versions

SDK iOS version 2.3.6

  1. Correction de ladouble diffusion (n'a pas affecté l'utilisation), avec des garanties supplémentaires pour le démarrage de la publicité.
  2. Traite la commande de révocation entrante - supprime le certificat et change l'état en .connected.
  3. La taille maximale des commandes personnalisées a été réduite d'un byte, afin de tenir compte correctement des bytes de protocole.
  4. Correction desping vivants.

Anciennes versions

SDK Android version 1.4.0

  1. Correction de la validation des bytes d'initialisation du certificat.
  2. Vous pouvez maintenant utiliser la base64 ou l'hexagone dans Manager.initialize().
  3. Correction d'un éventuel NPE de getLinks() sur Manager.terminate()
  4. Suppression de certaines méthodes précédemment dépréciées.

Il y a quelques changements internes à la logique du SDK :

  1. La diffusion est maintenant arrêtée sur Manager.terminate()
  2. La diffusion n'est pas arrêtée par Broadcaster.disconnectAllLinks(). stopBroadcasting() s'est avéré utile pour déconnecter les liens connectés. Appelez stopBroadcasting() après disconnectAllLinks() pour améliorer les chances de déconnecter les connexions BLE.

Anciennes versions

SDK de Node.js version 0.6.0

  1. Le problème de fuite de mémoire a été résolu - le garbage collection ne nettoyait pas tout lorsque l'instance de HMKit était détruite.
  2. Résolution des problèmes liés aux instances HMKit multiples. Dans les versions précédentes, lorsque plusieurs instances HMKit étaient créées dans le même processus d'application Node.js (const hmkit1 = new HMKit() ; const hmkit2 = new HMKit() ;), elles commençaient à se comporter de manière inattendue car toutes les instances étaient toujours liées par le code natif.

API Swift Auto version 7.2.2

  1. Remplacement des types UInt8 qui représentent une valeur de 0 à 100 % par PercentageInt pour être plus a comprendre.

Anciennes versions

Java HMKit-Crypto version 1.3.2

  1. Correction du problème d'analyse des heures du certificat d'accès. Maintenant les 24h sont gérés au lieu des cycles de 12h.

Anciennes versions

Ces mises à jour pourraient être utiles aux utilisateurs de la bibliothèque HMKit-OEM.

Java HMKit-Crypto version 1.3.1

  1. Ajouter la classe Permissions à utiliser lors de la construction des certificats d'accès.

Java HMKit-AutoAPI version 1.8.0

  1. Renommé com.highmobility.autoapi.property.ControlMode en ControlModeValue
  2. Les propriétés de la base de commande nonce et signature sont maintenant des Bytes au lieu byte[].

Anciennes versions

SDK Android version 1.3.0

  1. Ajouté revoke. Appelez Link.revoke() pour révoquer l'autorisation du lien.
  2. Rend le délai de commande configurable avec Link.commandTimeout. La valeur est en ms, la valeur par défaut est 10000.

SDK iOS version 2.3.5

  1. Correction et amélioration desping vivants � envoie maintenant un seul byte (auparavant vide).
  2. Ajout d'un carnet de bord supplémentaire.

Anciennes versions

Node.js SDK version 0.5.2

  1. Ajout d'un alias .getSerial() pour la fonction .getVehicleSerial().
  2. Ajout de la prise en charge de l'API automatique de niveau 7.
  3. Amélioration de la gestion des erreurs. Lancement de plus d'exceptions avec un message plus informatif.
  4. Correction des bugs où les arguments manquants interrompaient la commande.
  5. Suppression de la journalisation inutile.

API Auto REST version 1.1.0

  1. Ajout de la prise en charge du niveau 7 de l'API automatique.
  2. Amélioration de la gestion des erreurs. L'API renvoie maintenant des erreurs plus informatives.
  3. Renvoi du statut 401 au lieu de 400 lorsque l'utilisateur n'est pas autorisé.

Anciennes versions

Mise à jour du SDK Android version 1.2.0 et des bibliothèques Java

À partir de cette version, toutes les méthodes publiques de notre SDK Java utilisent notre classe Bytes personnalisée au lieu de byte[]. Par exemple, elle peut maintenant être utilisée pour accéder aux propriétés des certificats ou envoyer des commandes de liaison.

  1. Exemple pour obtenir le serial du certificat d'accès : DeviceSerial serial = certificate.getGainerSerial()
  2. Il n'est plus nécessaire d'utiliser .getBytes() sur les commandes, l'instance de la classe peut être passée directement : link.sendCommand(new LockUnlockDoors(DoorLock.LOCKED), serial, callback)

La classe Bytes peut également être utilisée pour de nouveaux constructeurs et certaines méthodes pratiques comme Bytes.getHex() et Bytes.equals().

  1. Pour comparer une commande avec hex ou base64 string: command.equals(new Bytes("00AA"))
  2. Pour enregistrer une commande en hexadécimal : log("bytes in hex " + command.getHex())

Anciennes versions

API Java Auto version 1.6.8

  1. Ajout de la prise en charge d'Auto API niveau 7
  2. Renommé/déprécié certaines propriétés de LockState.

Anciennes versions

SDK iOS version 2.3.4

  1. Ajout de la prise en charge d'Auto API niveau 7
  2. Déplacement de DebugTree vers HMUtilities
  3. Ajout d'un getter .serial pour LocalDevice
  4. Nouvelle fonction pour envoyer .revoke à un lien connecté
  5. Nouvelle erreur LocalDeviceError.uninitialised � signifiant que le certificat et les clés ne sont pas définis

Anciennes versions

SDK Android version 1.1.17

  1. correction d'erreurs rares lors de l'envoi de commandes télématiques ou de la déconnexion du bluetooth.

API Java Auto version 1.6.7

  1. Dépréciation/renomination de certaines propriétés de Lockstate.
  2. Fixer la destination navi.

iOS SDK version 2.3.3

  1. Correction de startBroadcasting(configuration : Configuration ?) pour ne pas remplacer l'ancienne configuration lorsque nil est passé.

Anciennes versions

SDK Android version 1.1.16

  1. Ne pas annoncer le nom du périphérique si l'on n'utilise pas le nom personnalisé High-Mobility dans BroadcastSettings. Cela corrige un crash pour les périphériques avec des noms plus longs.

Anciennes versions

SDK iOS version 2.3.2

  1. Correction de bundle-identifier et d'autres erreurs de fonctionnement

Anciennes versions

SDK iOS version 2.3.1

  1. HMKit : LocalDeviceBroadcastingConfiguration renommé en LocalDeviceConfiguration
  2. La fonction d'initialisation de la configuration a été modifiée pour dissuader de désactiver le cryptage.

Anciennes versions

SDK Android version 1.1.15

  1. Fusionnez tous les paramètres de diffusion dans l'objet BroadcastConfiguration. Utilisez BroadcastConfiguration.Builder pour créer votre configuration de diffusion et la transmettre à la méthode broadcaster.startBroadcasting.
  2. Déclaration
  3. BroadcastConfiguration conf = new BroadcastConfiguration.Builder().setOverridesAdvertisementName(false).build();broadcaster.startBroadcasting(new Broadcaster.StartCallback() {@Override public void onBroadcastingStarted() { Log.d(TAG, "onBroadcastingStarted: ");}@Override public void onBroadcastingFailed(BroadcastError error) { Log.d(TAG, "onBroadcastingFailed: ");}}, conf);
  4. setIsAlivePing() a été changé en startAlivePing(long intervalle). Utilisez stopAlivePing() pour arrêter le ping.

Anciennes versions

SDK iOS version 2.3.0

Cette mise à jour fait suite aux sorties de Swift 4.1 et de Xcode 9.3, qui apportent la compatibilité des bibliothèques HMKit aux deux. Tous les détails :

  1. Le nombre de frameworks HMKit a été étendu de 3 à 5 bibliothèques pour une modularité accrue. La méthode recommandée pour effectuer la mise à jour est de supprimer les anciens frameworks du projet et du Finder, puis de faire glisser les nouveaux vers "Embedded libraries" dans l'aperçu du projet Xcode.
  2. CommonCrypto : Inclusion de la carte du module CommonCrypto (essentiellement OpenSSL à la sauce "Apple") d'IBM ; page GitHub CommonCrypto.
  3. HMCryptoKit : Nouvelle bibliothèque cryptographique Swift, écrite de A à Z ; page GitHub hm-crypto-kit-swift.
  4. HMUtilities : Ceci inclut les extensions communes et d'autres fonctionnalités utiles ; page GitHub hm-utilities-swift.
  5. HMKit : LocalDeviceBroadcastingConfiguration est un nouveau type de configuration pour la diffusion (également accessible via LocalDevice.shared.configuration) ; mise à jour des dépendances ; quelques autres corrections mineures.

Cette version a été testée sur iOS et macOS, et devrait également fonctionner sur tvOS, watchOS et Linux ; elle est utilisable avec le gestionnaire de paquets Swift.

Anciennes versions

Il s'agit d'une version majeure pour tous les SDK, les API et l'interface utilisateur du centre des développeurs lui-même.

Auto API Niveau 6

La dernière version de l'API Auto est dotée d'un nouveau protocole interne qui apporte cohérence et flexibilité pour les différentes variations de capacités des voitures. Chaque fonctionnalité (telle que le diagnostic) possède désormais une liste de propriétés. Voici comment elles fonctionnent :

  1. Une capacité spécifie maintenant tous les types de propriétés qu'une voiture pourrait éventuellement prendre en charge, mais la voiture n'inclut que les propriétés qu'elle prend effectivement en charge.
  2. Les propriétés éliminent le besoin de données "non disponibles", car elles ne sont tout simplement pas incluses dans l'état.
  3. Un état peut avoir plusieurs propriétés avec le même ID, c'est le cas par exemple de la propriété Porte, une propriété pour chaque porte est retournée.
  4. Il existe des propriétés universelles qui peuvent être incluses dans n'importe quel état, l'identifiant de ces propriétés commence par 0xA_.
  5. Les propriétés sont également utilisées dans le cas des commandes SET (par exemple, ouvrir/fermer un tronc), mais uniquement si la commande SET a un impact sur plusieurs propriétés. Si la commande SET ne concerne qu'une seule propriété (par exemple, Définir la limite de charge), le format de la propriété est omis.
  6. L'utilisation des propriétés a été mise en œuvre dans toutes les capacités.

En termes de capacités, il n'est plus question que chaque capacité définisse son propre format de ce qui est inclus dans le message de capacités :

  1. Chaque capacité prise en charge par la voiture est incluse dans la propriété 0x01 Capability. L'identificateur de capacité est inclus, ainsi qu'un tableau des ID de type de message que la voiture peut traiter.
  2. Si le dispositif ne dispose pas des autorisations nécessaires pour, par exemple, verrouiller/déverrouiller les portes, ce type de message ne sera pas inclus dans le tableau.

De nombreuses propriétés ont été ajoutées aux capacités existantes. Il existe cependant des capacités entièrement nouvelles :

  1. Course
  2. Offroad
  3. Paramètres du châssis
  4. Sièges
  5. Frein de stationnement
  6. Durée du véhicule
  7. Conditions d'éclairage
  8. Conditions météorologiques
  9. Chargeur à domicile

HMKit Core

HMKit Core, le composant que tous les SDKs mettent en œuvre, a été mis à jour avec les éléments suivants :

  1. Le conteneur de commande a été augmenté pour permettre l'envoi de messages plus importants que 256 octets.
  2. Algorithme SHA mis à jour
  3. Nouveau format pour les certificats d'accès qui inclut désormais le nom de l'émetteur du certificat
  4. Autres corrections de problèmes et améliorations

SDK Android version 1.1.14

Le SDK Android est désormais disponible via le JCenter et peut être téléchargé directement en tant que dépendance Gradle. Dans ce cadre, le SDK a été divisé en modules distincts : HMKit-Android, HMKit-AutoAPI, HMKit-Crypto et HMKit-Utils. La bibliothèque Auto API a été mise à jour au niveau 6 et est en source ouverte sur GitHub.

iOS SDK version 2.0.4

Le SDK iOS a été mis à jour pour prendre en charge les dernières modifications. La bibliothèque Auto API a été mise à jour au niveau 6 et est en open sourced sur GitHub.

Node.js version 0.4.0

Le SDK Node.js a été mis à jour pour prendre en charge le niveau 6 de l'API Auto et d'autres changements fondamentaux.

Première version de l'API REST Auto 1.0

Il s'agit d'une toute nouvelle interface pour travailler avec l'API automobile. Grâce à l'API REST, il est possible de travailler avec les données et les API automobiles sur n'importe quelle plateforme.

Anciennes versions

SDK de Node.js version 0.3.0

Bonne nouvelle pour les utilisateurs de Windows ! Cette version inclut la prise en charge de Windows 10. Il suffit d'obtenir la dernière version de npm ou de télécharger l'application d'exemple.

SDK Android version 1.0.6

Il s'agit d'une mise à jour mineure qui corrige un bug dans la méthode AccessCertificate.isExpired().

Anciennes versions

iOS SDK version 1.8.5 beta pour Swift 4

Il s'agit d'une version plus importante pour être compatible avec la mise à jour d'Apple vers iOS 11. Avec cette version, nous ajoutons un SDK Swift 4 (bêta) en plus de la version stable 1.8.5 sur le site de téléchargement. Dans les mois à venir, nous supprimerons progressivement la version Swift 3.

Simulateur de voiture version 1.5.0

Cette version comprend une correction des bugs et une amélioration :

  1. Un bouton de diffusion a été ajouté à la fonction Fatigue du conducteur.
  2. La valeur par défaut du niveau de liquide de lave-glace est maintenant valide.

Anciennes versions

SDK de Node.js version 0.2.0

Cette version comprend des fonctions d'aide pour l'envoi et l'analyse de toutes les autres commandes de l'API Auto qui n'étaient pas incluses dans la première version, à l'exception de Get Capabilities et Get Vehicle Status. Nous travaillons toujours sur prise en charge de Windows, nous progressons bien.

L'exemple d'application Scaffold a également été mise à jour de façon à avoir la dernière version.

La prochaine étape est une gestion plus informative des erreurs et les deux dernières commandes de l'API Auto.

Anciennes versions

SDK iOS version 1.8.5

À partir de cette version, le SDK iOS est livré avec un script AppStoreCompatible.sh qui doit être utilisé avant la publication sur l'App Store. Le script supprime le code lié au simulateur d'iPhone.

Autres mises à jour et corrections de bugs :

  1. Correction de la conversion d'URL pour la commande Auto API Load URL
  2. L'API automatique "HonkHorns" a été renommée en "HonkHorn" sans pluriel.

Anciennes versions

SDK Android version 1.0.5

Voici ce qu'il y a de nouveau dans cette version :

  1. Correction de l'analyse syntaxique pour l'inversion de la position de la porte arrière et du statut de verrouillage.

Une application supplémentaire "Basic OAuth" a été ajoutée aux échantillons.

Version du simulateur de voiture 1.4.2

Cette version comprend les corrections de bugs suivants :

  1. La localisation du véhicule est diffusée par Bluetooth lorsqu'elle est modifiée sur la carte.
  2. Le texte inversé du moteur On/Off est corrigé dans le journal.
  3. Validation correcte des dates de début et de fin du certificat d'accès
  4. Navigateur : La commande Load URL est exécutée même si HTTP est utilisé, avec le message d'erreur approprié
  5. Le dialogue OAuth inclut désormais les dates formatées

Anciennes versions

SDK expérimental de Node.js version 0.1.1

Il s'agit de la première version de HMKit pour Node.js et du premier SDK destiné aux applications serveur dorsales. Le SDK permet de travailler avec l'API automobile par le biais de la télématique.

La première version expérimentale comporte deux limitations importantes. Tout d'abord, elle ne peut être exécutée que sur Linux et OS X. Le support de Windows sera disponible dans les prochaines versions. Cela est dû aux liaisons C natives utilisées pour la cryptographie et le protocole interne.

La version 0.1.1 ne dispose pas encore de méthodes d'aide pour toutes les API Auto. Des aides pour les capacités suivantes sont incluses :

  1. Serrures de porte
  2. Moteur
  3. Accès au coffre
  4. Diagnostic
  5. Navigateur

Tout retour d'information concernant les méthodes publiques, en particulier la gestion de l'API Auto, est pris en compte pour les prochaines versions.

Anciennes versions

Version du simulateur de voiture 1.4.0

Cette version comprend deux grandes mises à jour, les capacités Auto API Navigateur et Graphiques ont été ajoutées. Autres changements :

  1. La limite de charge fixée est correctement analysée et traitée
  2. Fenêtres ouvertes/fermées correctement analysées et traitées
  3. Les commandes télématiques ne se déclenchent plus pour : klaxon et flash, clignotant d'urgence, message reçu, transfert vidéo, saisie de texte, définition de la destination (Navi), ouverture/fermeture des fenêtres, ouverture de la trappe à essence.
  4. Ajout du nom de l'application dans le panneau d'information du périphérique

SDK iOS version 1.8.4

Voici ce qu'il y a de nouveau dans cette version du SDK iOS :

  1. Ajout de la gestion et de l'analyse syntaxique pour les capacités Auto API Navigateur et Graphiques
  2. Correction de l'analyse pour les commandes Notifications et Diagnostics
  3. Ajout d'une structure pour une meilleure gestion des commandes Windows
  4. L'argument du bloc d'achèvement link.sendCommand a été supprimé ; il est désormais facultatif et peut entraîner une erreur.
  5. Le singleton LocalDevice a été renommé, l'ancien peut toujours être utilisé pour l'instant.

SDK Android version 1.0.4

Voici ce qu'il y a de nouveau dans cette version du SDK Android :

  1. Ajout de la gestion et de l'analyse syntaxique pour les capacités Auto API Navigateur et Graphiques
  2. Le Bluetooth n'est plus configuré dans la méthode d'initialisation, ce qui permet d'utiliser le SDK dans le simulateur Android.
  3. Traitement des réponses vides pour les commandes télématiques
  4. Corrections de l'analyse syntaxique pour la commande Send Navi Destination