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. Disabled BT powered off system UI alert.

OAuth2 API update

  1. Added expires_in to the access token response object. Full details in the OAuth2 tutorial.

Anciennes versions

Android SDK version 1.5.0

  1. Fix no bluetooth service after turning BLE on/off.
  2. Fix invalid broadcaster state BLUETOOTH_UNAVAILABLE after turning BLE off/on.
  3. Wait for the adding of BLE service before starting broadcasting.

Anciennes versions

Node.js SDK version 0.6.1

  1. Improved Access Certificate caching logic to make it faster.
  2. Added client private key validation.
  3. Changed production server api url.
  4. Added missing automated tests.

REST Auto API version 1.2.1

  1. Changed internal server api url.
  2. Thanks to Node.js SDK update, requests will be handled much faster.

Anciennes versions

iOS SDK version 2.3.6

  1. Double-broadcasting fix (didn't affect usage), with additional safeguards for starting advertisement.
  2. Handles incoming revoke command – deletes the certificate and changes the state to .connected.
  3. Maximum custom command size reduced by 1 byte, to correctly account for the protocol bytes.
  4. Alive ping fixes.

Anciennes versions

Android SDK version 1.4.0

  1. Fix validation of certificate initialisation bytes.
  2. Now you can use either base64 or hex in Manager.initialize().
  3. Fix possible getLinks() NPE on Manager.terminate()
  4. Removed some previously deprecated methods.

There are some internal changes to the SDK-s logic:

  1. Broadcasting is now stopped on Manager.terminate()
  2. Broadcasting is not stopped on Broadcaster.disconnectAllLinks(). stopBroadcasting() has proved to help with disconnecting the connected links. Call stopBroadcasting() after disconnectAllLinks() to improve the chances of disconnecting the BLE connections.

Anciennes versions

Node.js SDK version 0.6.0

  1. Memory leak issue resolved - garbage collection didn't clean up everything when HMKit instance was destroyed.
  2. Multiple HMKit instances issues resolved. In previous versions when in the same Node.js application process multiple HMKit instances were created (const hmkit1 = new HMKit(); const hmkit2 = new HMKit();), they started to behave unexpectedly as all instances were still related through native code.

Swift Auto API version 7.2.2

  1. Replaced UInt8 types that represent a 0-100% value with PercentageInt for clarity.

Anciennes versions

Java HMKit-Crypto version 1.3.2

  1. Issue with Access Certificate hour parsing fixed. Now 24h are handled instead of 12h cycles.

Anciennes versions

These updates might be useful for the users of the HMKit-OEM library.

Java HMKit-Crypto version 1.3.1

  1. Add Permissions class to use when constructing Access Certificates.

Java HMKit-AutoAPI version 1.8.0

  1. Renamed com.highmobility.autoapi.property.ControlMode to ControlModeValue
  2. Command base properties nonce and signature now are Bytes instead of byte[].

Anciennes versions

Android SDK version 1.3.0

  1. Added revoke. Call Link.revoke() to revoke the link authorisation.
  2. Made command timeout configurable with Link.commandTimeout. The value is in ms, default is 10000.

iOS SDK version 2.3.5

  1. Alive ping fixes and improvements � now send a single byte (used to be empty).
  2. Added additional logging.

Anciennes versions

Node.js SDK version 0.5.2

  1. Added .getSerial() alias for .getVehicleSerial() function.
  2. AddedAuto API level 7support.
  3. Improved error handling. Throwing more exceptions with more informative message.
  4. Fixed bugs where missing arguments broke the command.
  5. Removed unnecessary logging.

REST Auto API version 1.1.0

  1. Added Auto API level 7 support.
  2. Improved error handling. API now returns more informative errors.
  3. Returning status 401 instead of 400 when user is unauthorised.

Anciennes versions

Android SDK version 1.2.0 and Java libraries updates

Starting with this release all of our Java SDK public methods use our custom Bytes class instead of the byte[]. For instance it can now be used to access certificate properties or send link commands.

  1. Example to get serial from access certificate: DeviceSerial serial = certificate.getGainerSerial()
  2. There's no need any more to use .getBytes() on commands, instead the class instance can be passed in directly: link.sendCommand(new LockUnlockDoors(DoorLock.LOCKED), serial, callback)

Bytes class can also be used for new constructors and some convenience methods like Bytes.getHex() and Bytes.equals().

  1. To compare a command with hex or base64 string: command.equals(new Bytes("00AA"))
  2. To log out a command in hex: log("bytes in hex " + command.getHex())

Anciennes versions

Java Auto API version 1.6.8

  1. Added Auto API level 7 support
  2. Renamed/deprecated some LockState properties.

Anciennes versions

iOS SDK version 2.3.4

  1. Added Auto API level 7 support
  2. Moved DebugTree to HMUtilities
  3. Added .serial getter for LocalDevice
  4. New function to send .revoke to a connected Link
  5. New LocalDeviceError.uninitialised error � meaning the certificate and keys are not set

Anciennes versions

Android SDK version 1.1.17

  1. Fix rare crashes when sending telematics commands or disconnecting bluetooth.

Java Auto API version 1.6.7

  1. Deprecate/rename some Lockstate properties.
  2. Fix set navi destination.

iOS SDK version 2.3.3

  1. Fixed startBroadcasting(configuration: Configuration?) to not override the old configuration when nil is passed in.

Anciennes versions

Android SDK version 1.1.16

  1. Dont advertise device name if not using the custom High-Mobility name in BroadcastSettings. This fixes a crash for devices with longer names.

Anciennes versions

iOS SDK version 2.3.2

  1. Fixed bundle-identifier and other running errors

Anciennes versions

iOS SDK version 2.3.1

  1. HMKit: LocalDeviceBroadcastingConfiguration renamed to LocalDeviceConfiguration
  2. Configuration init function changed to dissuade disabling the encryption

Anciennes versions

Android SDK version 1.1.15

  1. Merge all broadcasting settings to BroadcastConfiguration object. Use BroadcastConfiguration.Builder to create your broadcast configuration and pass it on to broadcaster.startBroadcasting method.
  2. Declaration
  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. setIsAlivePinging() changed to startAlivePinging(long interval). Use stopAlivePinging() to stop the pinging.

Anciennes versions

iOS SDK version 2.3.0

This update follows the releases of Swift 4.1 and Xcode 9.3 bringing compatibility of the HMKit libraries to both. Full details:

  1. The number of HMKit frameworks have been expanded from 3 to 5 libraries for increased modularity. The recommended way to update to the latest is to delete the old frameworks from the project and in Finder, and then to drag the new ones to "Embedded libraries" in the Xcode project overview.
  2. CommonCrypto: Inclusion of CommonCrypto (basically OpenSSL with "Apple" flavour) module map from IBM; CommonCrypto GitHub page.
  3. HMCryptoKit: New, written from the ground up, Swift crypto library; hm-crypto-kit-swift GitHub page.
  4. HMUtilities: This includes common extensions and other useful functionality; hm-utilities-swift GitHub page.
  5. HMKit: LocalDeviceBroadcastingConfiguration is a new configuration type for broadcasting (also accessible through LocalDevice.shared.configuration); updated dependencies; some other minor fixes.

This release has been tested on iOS and macOS, and should work on tvOS, watchOS and Linux as well; usable with the Swift Package Manager.

Anciennes versions

This is a major release across all the SDKs, APIs and the user interface of the Developer Center itself.

Auto API Level 6

The latest version of the Auto API comes with a new internal protocol that brings consistency and flexibility for different car capability variations. Each capability (such as Diagnostics) has now a list of properties. Here's how they work:

  1. A capability specifies now all types of properties that a car possibly could support, but the car only includes the properties that it actually supports.
  2. Properties eliminate the need of "unavailable" data, as it is just not included in the state.
  3. A state could have several properties with the same ID, this is the case of e.g. the Door Property, a property for each door is returned.
  4. There are universal properties that could be included in any state, the identifier for these properties start with 0xA_.
  5. Properties are also used in the cases of SET commands (e.g. Open/Close Trunk) but this is only done if the SET command impacts several properties. If the SET command is only for one property (e.g. Set Charge Limit) then the property format is omitted.
  6. The usage of properties has been implemented throughout all capabilities.

In terms of capabilities, it's no longer the case that each capability defines its own format of what is included in the Capabilities message:

  1. Each capability that the car supports is included as the 0x01 Capability Property. The capability identifier is included, along with an array of Message Type IDs that the car can handle.
  2. If the device lacks permissions for e.g. locking/unlocking the doors, that message type will not be included in the array.

There are many new properties that have been added to existing capabilities. There are however some entirely new capabilities:

  1. Race
  2. Offroad
  3. Chassis Settings
  4. Seats
  5. Parking Brake
  6. Vehicle Time
  7. Light Conditions
  8. Weather Conditions
  9. Home Charger

HMKit Core

HMKit Core, the component that all SDKs implement, have been updated with the following:

  1. Command container has been increased to allow bigger messages than 256 bytes to be sent
  2. Updated SHA algorithm
  3. New format for Access Certificates that now includes the certificate issuer name
  4. Other bug fixes and improvements

Android SDK version 1.1.14

The Android SDK is from now on available through the JCenter and downloaded directly as a Gradle dependency. As part of this, the SDK has been divided into separate modules: HMKit-Android, HMKit-AutoAPI, HMKit-Crypto and HMKit-Utils. The Auto API library has been updated to level 6 and is open sourced on GitHub.

iOS SDK version 2.0.4

The iOS SDK has been updated to support the latest core changes. The Auto API library has been updated to level 6 and is open sourced on GitHub.

Node.js version 0.4.0

The Node.js SDK has been updated to support Auto API level 6 and other core changes.

REST Auto API first release 1.0

This is a completely new interface for working with Auto API. With the REST API it's possible to work with car data and APIs on any platform.

Anciennes versions

Node.js SDK version 0.3.0

Good news for Windows users! This release includes support for Windows 10. Just get the latest version from npm or download the sample app.

Android SDK version 1.0.6

This is only a minor update with a bug fix for the AccessCertificate.isExpired()method.

Anciennes versions

iOS SDK version 1.8.5 beta for Swift 4

This is a bigger release to be compatible with Apple's update to iOS 11. With this release we are adding a Swift 4 (beta) SDK in addition to the stable 1.8.5 release to the download site. In the upcoming months we will phase out the Swift 3 build however.

Car emulator version 1.5.0

This release includes a bug fix and an improvement:

  1. A broadcast button was added to the Driver Fatigue capability
  2. Default value for Washer Fluid Level now valid

Anciennes versions

Node.js SDK version 0.2.0

This release includes helper functions for sending and parsing all remaining Auto API commands that were not included in the first release - except for Get Capabilities and Get Vehicle Status. We're still hard at work with Windows support but making good progress.

The scaffold sample app has been updated too to best reflect the latest version.

Next up in the backlog is more informative error handling and the final two Auto API commands.

Anciennes versions

iOS SDK version 1.8.5

Starting from this release the iOS SDK is shipped with a script AppStoreCompatible.sh that should be used before releasing to App Store. The script removes iPhone simulator related code.

Other updates and bug fixes:

  1. URL conversion fix for Auto API Load URL command
  2. "HonkHorns" Auto API renamed to just "HonkHorn" without plural form

Anciennes versions

Android SDK version 1.0.5

Here's what's new in this release:

  1. Parsing fix for reversed rear door position/lock status

An additional app "Basic OAuth" has been added to the samples.

Car emulator version version 1.4.2

This release includes the following bug fixes:

  1. Vehicle Location broadcasted through Bluetooth when changed in the map
  2. Engine On/Off reversed text in fixed in the log
  3. Access Certificate start and end dates validated properly
  4. Browser: Load URL command is executed even if HTTP is used, with appropriate error message
  5. OAuth dialog now includes formatted dates

Anciennes versions

Node.js experimental SDK version 0.1.1

This is a first release of HMKit for Node.js and the first SDK destined for backend server applications. The SDK supports working with the Auto API through Telematics.

There's two bigger limitations on the first experimental release. First off, it can only be run on Linux and OS X. Windows support coming in upcoming versions. This is due to native C bindings that it used for crypto and internal protocol.

Version 0.1.1 does not yet have helper methods for all Auto APIs. Helpers for the following capabilities are included:

  1. Door Locks
  2. Engine
  3. Trunk Access
  4. Diagnostics
  5. Browser

Any feedback for the public methods, especially Auto API handling, is taken into account for next releases.

Anciennes versions

Car emulator version version 1.4.0

This release includes two big updates, Auto API capabilities Browser and Graphics have been added. Other changes:

  1. Set Charge Limit properly parsed and handled
  2. Open/Close Windows properly parsed and handled
  3. Telematics commands no longer timing out for: Honk & Flash, Emergency Flasher, Message Received, Video Handover, Text Input, Set (Navi) Destination, Open/Close Windows, Open Gas Flap
  4. App name added to device info pane

iOS SDK version 1.8.4

Here's what's new in this iOS SDK release:

  1. Handling and parsing added for the Auto API capabilities Browser and Graphics
  2. Parsing fixes for Notifications and Diagnostics commands
  3. Added struct for better handling of Windows commands
  4. link.sendCommand completion block argument removed, is now optional, and may throw an error
  5. LocalDevice singleton renamed, old one can still be used for now

Android SDK version 1.0.4

Here's what's new in this Android SDK release:

  1. Handling and parsing added for the Auto API capabilities Browser and Graphics
  2. Bluetooth no longer set up in the initialisation method, allowing SDK usage in the Android Simulator
  3. Handling of empty responses for Telematics commands
  4. Parsing fixes for Send Navi Destination command