Registro de cambios

Si tienes curiosidad por saber qué hay de nuevo en High Mobility —  y qué ha cambiado — estás en el lugar adecuado.

Publicaciones y cambios en High Mobility

Vea las novedades de High Mobility y lo que estamos desplegando poco a poco.

Pseudonimización de la flota

Ahora es posible que los clientes de flotas reciban los datos de los vehículos de forma seudonimizada. En la práctica, esto significa que el número de identificación del vehículo (VIN) se sustituye por un seudónimo que no puede vincularse directamente a un VIN específico.

Esta ventaja permite casos de uso en los que se requieren datos estadísticos de los vehículos de la flota, pero no se desea asociar los datos a vehículos individuales.

La seudonimización agrega valor a los clientes que ya tienen flotas. Con este tipo de datos, no es posible acceder a los datos anonimizados de vehículos no relacionados.

Diríjase al tutorial de seudonimización para empezar.

Cambios en el ciclo de vida de los tokens de acceso MQTT

Anteriormente, los clientes de flotas tenían que crear primero un token de acceso antes de recibir datos a través de nuestro broker MQTT. Con esta actualización, esto ya no es necesario. Tan pronto como se activa un vehículo, sus datos se introducen en el feed MQTT.

Además, es posible revocar los vehículos directamente a través de la API de la cuenta de servicio pasando el VIN. Esto significa que ya no es necesario implementar la API OAuth2, a menos que se utilice en paralelo alguna de nuestras API basadas en pull. Consulte el punto final DELETE /flotas/vehículos/{vin} para más detalles.

Esperamos que estos cambios permitan métodos de integración más flexibles. ¡Feliz streaming!

Datos de transmisión de Mercedes-Benz

Ahora es posible recibir datos en tiempo real a través de MQTT para los vehículos de flota de Mercedes-Benz. Con esta adición, ahora brindamos soporte para la transmisión de datos de un total de 11 marcas, que incluyen BMW, Mercedes-Benz, Ford, Peugeot, Citroën, DS Automobiles, Opel, Vauxhall, Fiat, Alfa Romeo y Jeep.

Dirígete al tutorial de MQTT para empezar a hacer pruebas.

API de geofencing

Nos complace introducir la funcionalidad de geofencing para las aplicaciones de flotas. Ahora es posible crear geofences y asignar vehículos a diferentes zonas, que pueden ser cualquier límite dibujado libremente o, por ejemplo, las fronteras del país. Cada vez que el vehículo entra o sale de una zona, se notifica a su servicio a través de las entregas de webhooks.

La configuración de las geofences y las notificaciones se realizan a través de la API de la cuenta de servicio, que se ha ampliado con puntos finales de geofences.

Aquí una lista de los principales aspectos destacados:
  • La delimitación geométrica de una geofence se realiza a través del open format GeoJSON.
  • Es posible asignar un vehículo a varias zonas.
  • Los eventos de entraday salida son compatibles
  • Es posible buscar los últimos 5 eventos de cualquier vehículo
El Geofencing funciona hoy para todos los vehículos de Stellantis. La compatibilidad con Mercedes-Benz, BMW, MINI y Ford se añadirá el próximo mes de abril. Siga el Tutorial de Geofencing en nuestros documentos para poder empezar.

API REST v5

Ahora tenemos una v5 de la API REST, que sustituirá a la v4 con el tiempo. Esta actualización de la versión se centra en mejorar la eficiencia y la velocidad. No hay cambios en los endpoints o incluso en el formato de respuesta, lo que hace que la migración sea rápida. Sin embargo, hemos publicado una nueva versión, ya que el JWT que se utiliza para la autenticación se crea ahora con una carga útil ligeramente actualizada.

Aquí están los cambios que se han realizado:
  • Los campos api_version y access_token han sido renombrados a ver y sub respectivamente
  • El campo de la versión ver debe ser fijado en 3.0
  • El campo app_id ya no es necesario
  • Se requiere un nuevo campo llamado iss que contenga el número de serie del cliente.
El código de su proyecto debería tener un aspecto similar al de la API REST v5:
Se han actualizado los fragmentos de código que se encuentran bajo las aplicaciones en la consola, lo que significa que basta con copiar el nuevo fragmento para obtener los nuevos valores. Los ejemplos del tutorial de la API REST se han actualizado para utilizar la v5.
La versión 4 (v4) de la API REST quedará obsoleta el 30 de junio de 2022.

Agente de la API MQTT Auto

Ahora existe una nueva forma de consumir los datos de los vehículos de nuestra plataforma a través del protocolo MQTT. Mediante el uso de MQTT, puede suscribirse a las actualizaciones de datos desde un intermediario central y obtener un flujo de datos continuo de todos los vehículos activados para su aplicación o servicio.

El uso de MQTT le aportará las siguientes ventajas:
  • Pasar de un uso de la API basado en el sondeo a uno basado en el empuje.
  • Suscríbase a las actualizaciones de datos de los vehículos a los que tenga acceso a través de una única conexión TCP/TLS.
  • Trabajar con un estándar bien establecido, MQTT, con excelentes herramientas para todas las plataformas y sistemas operativos.
  • Seguir trabajando con cargas útiles de datos basadas en el esquema JSON de la Auto API.
  • Permite casos de uso avanzados que dependen de eventos y actualizaciones de datos del coche que se transmiten segundo a segundo.
Dirígete al artículo Cómo empezar con MQTT en nuestros documentos para obtener más información y para probarlo usted mismo.

API GraphQL

Hoy damos la bienvenida a un nuevo miembro de nuestra familia de API y SDK para la recuperación de datos de vehículos: una API GraphQL. La API GraphQL permite una consulta flexible de los datos, lo que le permite:
  • Consulte los puntos de datos que le interesan y nada más.
  • Reduzca el número de solicitudes unificándolas en una sola.
  • Utilice un sistema de tipos fuerte que le permita pedir sólo datos que sean posibles de devolver.
  • Trabaje con errores claros y útiles para las consultas mal escritas.
  • Utilizar la introspección - un cliente GraphQL puede consultar el esquema dinámicamente.
  • Coincidir con el JSON devuelto fácilmente con la consulta.
Puede encontrar todos los detalles en el artículo Cómo empezar con GraphQL en nuestros documentos.

Auto API Nivel 13

Esta actualización del protocolo aporta nuevas propiedades al conjunto de datos admitidos. Además, se introducen tres nuevas capacidades:
  • ADAS
  • Sesión de carga
  • Crash
El nivel 13 es totalmente compatible con el nivel 12 y no introduce ningún cambio radical. Todas las nuevas versiones del SDK proporcionan soporte nativo para el Nivel 13, mientras que la API REST v4 ha sido actualizada para soportar las nuevas propiedades. Encontrará el registro de cambios completo en GitHub.

AutoAPI Swift (iOS) 13.0.0

Nuevo analizador sintáctico de nivel 13 de AutoAPI para convertir binarios en velas y viceversa.

Esta versión es mayormente aditiva, con sólo cambios menores en la API:
  • Los enums de la AutoAPI (a partir de AA) pasan a tener un RawValue == String.
  • Para seguir accediendo al valor del byte, se debe utilizar la propiedad .byteValue (en lugar de la anterior .rawValue, que ahora devuelve un valor de cadena).
  • Las incorporaciones a la especificación (nuevas capacidades, propiedades y tipos) se pueden encontrar aquí.
  • Los cambios en la especificación (desaprobaciones y modificaciones de los tipos, propiedades y capacidades existentes) pueden verse aquí.
La especificación de Auto API siempre se puede inspeccionar para obtener más detalles aquí.

Java Auto API 3.13.0

  • Actualización a Auto API L13 especificación
  • Sustituir PropertyComponentFailure.Reason por el tipo personalizado value.Failure
  • La versión está ahora en mavenCentral

SDK de Node.js v13

Esta versión es principalmente incremental, con cambios menores en la API:
  • Las incorporaciones a la especificación (nuevas capacidades, propiedades y tipos) se pueden encontrar aquí.
  • Los cambios en la especificación (desaprobaciones y modificaciones de los tipos, propiedades y capacidades existentes) pueden verse aquí.
Los comandos telemáticos ya no aceptan propiedades obsoletas.

SDK de la flota 0.2

La primera versión pública del SDK de Fleet.

HMKit Crypto Telematics 0.1

Implementación criptográfica en Java. Se utiliza para el SDK de Fleet y otras criptografías.

Java Auto API 3.12.1

Cambia el nombre del enum Runtime por el de Environment, que contiene los valores Owner y Vehicle.

Mover a mavenCentral()

A partir de ahora, los paquetes Java se publicarán en mavenCentral(). Su ID de grupo cambiará de `com.highmobility` a `com.high-mobility`. Todas las versiones anteriores mantendrán su ID de grupo y estarán disponibles hasta el cierre del JCenter el 1 de febrero de 2022.

Auto API Nivel 12

El protocolo se ha actualizado con nuevos puntos de datos y capacidades, algunos de los cuales se destacan aquí:
  • Posibilidad de transmitir el tipo de unidad de un valor, es decir, el valor del cuentakilómetros en millas o km-s
  • Nueva capacidad para la información estática del vehículo (propiedades separadas del Estado del Vehículo)
  • Opción para acceder a la información sobre la disponibilidad de los puntos de datos, es decir, la tasa de actualización
Se pueden encontrar más detalles aquí.

SDK de Node v12.0.0

Implementado el nivel 12 de la API automática:
  • Se ha añadido un captador de disponibilidad: hmkit.commands.Charging.getAvailability()
  • Unidades añadidas
  • La versión mínima soportada de node.js es ahora v10.0.0
  • La propiedad de estado de la capacidad histórica ahora devuelve una marca de tiempo
  • Los comandos Getter ahora aceptan una matriz opcional de nombres de propiedades (antes de IDs de propiedades)
  • Se ha corregido un error que provocaba un análisis incorrecto de las marcas de tiempo

AutoAPI Swift (iOS) 12.0.0

Nuevo analizador sintáctico de nivel 12 de la Auto API, de binary-to-swift a back parser.
  • Esta biblioteca se distribuye ahora sólo como un paquete Swift, que es también la principal forma recomendada de usarla/integrarla.
  • El cambio más notable con respecto a la anterior L11 es que la AutoAPI es capaz de transmitir información sobre las unidades de los diferentes valores: las propiedades (y los subvalores), que expresan una medición, dan como resultado una medida en lugar de un simple número decimal, por ejemplo, la potencia del motor o el cuentakilómetros.
  • Algunas propiedades han sido obviadas (con una referencia a la nueva propiedad) y se ha añadido un montón de nuevas (incluyendo nuevas capacidades).
  • Cada propiedad tiene ahora un componente de disponibilidad que puede ser obtenido con el correspondiente getter en una capacidad  .
Para más detalles sobre los nuevos puntos de datos y otros cambios, vea lafuente.

Los cambios de protocolo de L11 a L12 pueden verse aquí.

AutoAPI Swift (iOS) 11.0.2

  • Ayuda al compilador de Swift con algunos cálculos "difíciles".

Java Auto API 3.12.0

General
  • Añadir getters de propiedades varargs: public GetProperties(byte... propertyIdentifiers)
  • Cambiar el nombre de Command.getType() por Command.getCommandType()
  • Las matrices han sido cambiadas por listas. Por ejemplo, en Capabilites.supportedCapabilities. Charging.SetTimers, Property.components
  • Cambiar el nombre de Command.getType() a Command.getCommandType() para que no se clasifique con Trips.getType()
Nivel 12

Auto API Nivel 12 especificación esta en uso.
Se han añadido/actualizado/desaprovechado todas las nuevas capacidades/propiedades.
  • Muchos valores flotantes utilizan ahora la unidad type. Por ejemplo, Longitud
  • Se han añadido comandos de Disponibilidad 

HMKit 2.0.5

  • Corregir la configuración del tamaño de la MTU del bluetooth
  • Cambiar los nombres de los niveles de registro, ahora son Off, Info, Debug, All
  • Arreglar los registros del núcleo que no se muestran

CommandQueue 1.1.0

  • La cola se inicializa ahora con el objeto QueueConfiguration.

HMKit Utils 1.4.5

  • Añadir el método hexFromByte()

HMKit Crypto 1.4.6

  • Actualizar el núcleo

HMKit iOS 3.2.2

  • Changed HMLocalDevice .links from [HMLink] to Set<hmlink>.</hmlink>
  • Corregido el error de actualización del valor de la característica mutable.
  • Se ha corregido la función HMLocalDevice -disconnect() que establece el estado de .idle incluso cuando BT no está disponible.

HMKit Android 2.0.3

Esta versión incluye el código fuente y la documentación para facilitar el desarrollo. Además, la versión es empujada a jcenter(). Esto significa que ya no es necesario añadir la url de High-Mobility Artifactory.

Cola de comandos Android 1.0

Este es un paquete de ayuda destinado a ser utilizado con HMKit Android para poner en cola los comandos Bluetooth y telemáticos.

HMKit Android 2.0.2

Abrir la versión del comando de configuración. Ver link.sendCommand() y telematics.sendCommand()

HMKit Core JNI 1.0.1

  • Abrir la versión del comando de configuración.
  • Hacer que el método setMTU() utilice int en lugar de int[].

HMKit Android 2.0.1, Java AutoAPI 3.11.1, HMKit Crypto 1.4.5

Estas versiones añaden soporte para versiones de Gradle superiores a la 4.6.

API REST v3

  • Se ha implementado el nivel 11 de la API automática. Esto conlleva algunos cambios en las propiedades y los puntos finales de la API existentes, así como nuevos puntos finales de la API.
  • Los puntos finales de la API REST se generan ahora de forma dinámica basándose en el SDK de Node.js, lo que hace que el código base sea mucho más pequeño.
  • La mayoría de las pruebas automatizadas se generan ahora de forma dinámica.

Auto API 11.0

  • Implementado el nivel 11 de la Auto API. Todos los comandos, las respuestas y la validación se generan en base a la especificación de Auto API.
  • Las pruebas automatizadas de comandos y respuestas se generan dinámicamente.
  • Cambios menores en la sintaxis de los comandos. Leer más en Node.js Auto API

SDK de Node.js v11

El formato binario de la Auto API se ha cambiado para unificar las propiedades entre los comandos y simplificar la gama de diferentes tipos de valores. Además, el cambio se ha realizado para facilitar la generación automática de bibliotecas específicas de la plataforma a partir de la especificación de la Auto API.

Las actualizaciones del formato binario hacen que esta versión no sea compatible con las anteriores.

La mayoría de las capacidades admiten la solicitud de una o varias propiedades específicas (además del estado completo).
  • La API de capacidades representa los ID de las propiedades habilitadas para una determinada capacidad (en lugar de los tipos de mensajes como anteriormente).
  • El tipo de zona del parabrisas tiene una representación binaria diferente.
  • Las cerraduras de las puertas cambian de nombre a puertas, el comando de bloqueo/desbloqueo ahora controla el estado de las cerraduras (no el estado de las cerraduras interiores como antes) y 2 nuevas propiedades que agregan las cerraduras específicas para el vehículo.
  • El motor ha pasado a llamarse Ignición.
  • Añadida la capacidad "nueva" Motor que permite encender o apagar el motor.
  • La hora del vehículo ahora devuelve las horas y los minutos (no los milisegundos de la época UNIX).

HMKit iOS 3.2.0

  • Se ha cambiado el nombre del tipo HMKit a HMLocalDevice para poder utilizar XCFrameworks.
  • Todos los tipos y métodos nombrados por hmkit son renombrados con el prefijo localDevice.
  • Aumento del rendimiento de BT mediante la negociación del mayor tamaño común de los paquetes.
  • Se han actualizado los contenedores de datos y el protocolo a la nueva versión (la librería sigue siendo compatible con las versiones anteriores).
  • Actualización de las opciones de registro telemático.

Auto API iOS 11.0.0

Ahora se genera automáticamente a partir de la especificación de la Auto API y muchos nombres podrían ser un poco diferentes a los de las versiones anteriores.

Consulte el registro de cambios de la Auto API para obtener más información.

HMCryptoKit iOS 1.2.14

Se han solucionado los problemas de generación de claves compartidas de iOS 13.

HMUtilities iOS 1.4.6

Corrección de HMDebugTree.

Simulador v19.7.0

  • Implementado el nivel 11 de la API automática.
  • Las capacidades, las propiedades, la validación, los manejadores de mensajes y la codificación y decodificación de las propiedades se generan ahora dinámicamente en base a la especificación. Esto hace que añadir nuevas propiedades sea mucho más fácil en el futuro.
  • Se ha añadido una nueva vista de permisos de aplicación.
  • Se ha corregido un error de carga de activos.
  • Mejora de la inicialización del estado del coche.
  • Mejora de la gestión de errores.
  • Correcciones menores de estilo.

Java Auto API 3.11.0

La biblioteca de la Auto API se genera ahora automáticamente a partir de la especificación. Esto significa que algunos nombres de clases han cambiado. Consulte la especificación de la Auto API para ver los nombres de las clases actualizados.

Los valores de los colores van ahora de 0 a 255, no de 0 a 1.

HMKit Android 2.0.0

  • Crypto es ahora ivar en HMKit. Los métodos estáticos se han cambiado a no estáticos.
  • Se han actualizado los estados de enlace para core2. Consulte el tutorial de Bluetooth para obtener más información.
  • Añade la llamada de retorno onAuthenticationFailed a LinkListener. Se invoca cuando falla la autenticación.
  • Utiliza la MTU personalizada en Bluetooth. Esto mejora la velocidad de comunicación.
  • HMKit.loggingLevel ha sido trasladado al método estático HMKit.setLoggingLevel()
  • En ConnectedLinkListener, cambiar el nombre de onAuthorizationRequested() por onAuthenticationRequest()
  • Eliminar algunos métodos obsoletos.

HMKit OEM 2.0.0

  • Cambia el nombre de Telematics por HMKit.
  • HMKit ahora tiene una instancia. Las funciones Encrypt/Decrypt siguen siendo estáticas.
  • Crypto es ahora ivar en HMKit. Sus métodos estáticos han sido cambiados a no estáticos.

HMKit Crypto 1.4.4

  • Los métodos Crypto son ahora no estáticos. Esto aclara cómo utilizar el Crypto: accediendo a su ivar desde HMKit.java

HMKit Utils 1.4.4

  • Hacer que los métodos Bytes set() devuelvan el objeto Bytes.

Auto API iOS 10.0.9

  • Añadido el script de creación de XCFramework
  • Cambiado AutoAPI a AAAutoAPI para soportar el uso de XCFramework
  • Se han eliminado los "antiguos" scripts de creación y adelgazamiento de universal-lib (fat binary)
  • Actualizado para Xcode 11 y Swift 5.1
  • Actualizado para funcionar con SPM (recomendado en Xcode 11+)

HMCryptoKit iOS 1.2.12

  • Añadido el script de creación de XCFramework
  • Se ha corregido un error en la creación de firmas
  • Se ha eliminado el typealias de HMECKey en favor de SecKey
  • Se han eliminado los "antiguos" scripts de creación y adelgazamiento de universal-lib (fat binary)
  • Actualizado para Xcode 11 y Swift 5.1
  • Actualizado para funcionar con SPM (recomendado en Xcode 11+)

HMKit iOS 3.1.0

  • Añadido el script de creación de XCFramework
  • Cambiado HMKit a HMLocalDevice (y renombrado sus tipos relacionados también) para soportar el uso de XCFramework
  • Se han eliminado los "antiguos" scripts de creación y adelgazamiento de universal-lib (fat binary)
  • Actualizado para Xcode 11 y Swift 5.1
  • Actualizado para funcionar con SPM (recomendado en Xcode 11+)
La versión 2.5.8 también se actualiza a Xcode 11, Swift 5.1, SPM y XCFrameworks.

HMUtilities iOS 1.4.5

  • Añadido el script de creación de XCFramework
  • Se ha cambiado la salida hexadecimal de la colección de bytes para que esté en minúsculas
  • Se han eliminado los "antiguos" scripts de creación y adelgazamiento de universal-lib (fat binary)
  • Actualizado para Xcode 11 y Swift 5.1
  • Actualizado para funcionar con SPM (recomendado en Xcode 11+)

HMKit Android 1.6.10

  • Corregir OAuth para versiones anteriores a Nougat.
  • Mejorar los mensajes de error de OAuth.
  • Aumentar el tiempo de espera de las peticiones web.

Simulador v19.5.1

  • Nuevo sistema de permisos telemáticos.
  • Soporte de datos históricos.
  • Se ha corregido un error en la codificación de las marcas de tiempo de las propiedades.

SDK de Node.js v10.2.0

  • Soporte de comandos de datos históricos.
  • Se han añadido y mejorado las pruebas automatizadas.

HMKit Android 1.6.9

  • Utilice Timber para el registro. Para ver los registros, se debe llamar a Timber.plant(new Timber.DebugTree()); al iniciar la aplicación.
  • Añadir barra de progreso al estado de carga de OAuth2.

Java AutoAPI versión 2.10.2

  • Los componentes de las propiedades también se almacenan en formato bruto.
  • Añade la capacidad de capó.
  • Corrección de errores.

iOS AutoAPI versión 10.0.5

  • Se ha mejorado la velocidad de análisis en un 20-50%.

iOS HMCryptoKit versión 1.2.8

  • Corregido el error de índice de la firma fuera de los límites.

iOS HMKit versión 3.1.0

  • Se ha añadido compatibilidad con SCC y BEC v2 (sin efecto para los usuarios actuales).
  • Reescribir HMTelematics (algunos cambios en la interfaz, sobre todo en lo que respecta a los resultados).
  • Updated all types similar to Swift 5's Result<success, failure=""> to use the native one</success,>
  • Se ha actualizado el código de OAuth para utilizar tipos distintos (es decir, HMOAuthSuccess es ahora una estructura).
  • Otras correcciones y mejoras menores.

iOS HMUtilities versión 1.4.1

  • Reintroducido .bytes y .data en UInt8-Collection.

iOS HMCryptoKit versión 1.2.7

  • Corregida la clave privada output .bytes 

iOS Auto API versión 10.0.4

  • Se ha mejorado la velocidad de análisis en 100-1000 veces.
  • Se ha cambiado el nombre de AACommandIdentifier por AACapabilityIdentifier.
  • Otras correcciones menores.

iOS HMCryptoKit versión 1.2.6

  • Se han actualizado las dependencias y el código que las utiliza.

iOS HMKit versión 3.0.2 Beta

  • Se han actualizado las dependencias y los marcos de trabajo que las acompañan.

iOS HMUtilities versión 1.4.0

  • Se ha añadido -compactMapConcurrently a Collection.
  • Se ha mejorado la función -init-s de HMBytesConvertable.
  • Eliminado .bytes y .data de la colección UInt8.

Android SDK versión 1.6.8

  • Esta versión corrige un problema por el que no se borraban los certificados.

Java Auto API versión 2.10.1

  • Se corrige el fallo al analizar datos de comandos no válidos.

iOS Auto API versión 10.0.3

  • Corregidos múltiples subtipos de AAItem.
  • Se han corregido otros problemas menores detectados en las pruebas.
  • Eliminación de archivos obsoletos.

iOS HMUtilities versión 1.3.3

  • Corregido el valor HMBytesConvertable .bytes de Int8.
  • Mejora del código HMBytesConvertable.

iOS Auto API versión 10.0.2

  • Actualizado a Swift 5.
  • Se han eliminado algunos tiposobsoletos .
Arreglos para:
  • AACheckControlMessage
  • AAHistoria
  • AANaviDestino
  • AANotificaciones
  • AARace
  • Múltiples tipos conformes a AAItem

iOS Auto API versión 7.3.4

  • Actualizado a Swift 5.
  • Actualizada la dependencia HMUtilities a 1.3.x.

iOS HMCryptoKit versión 1.2.5

  • Actualizado a Swift 5.

iOS HMKit versión 3.0.1 Beta

  • Actualizado a Swift 5.
  • Se ha corregido el comando "Obtener certificado de dispositivo ".
  • Se ha añadido el tamaño de la MTU a la característica de información de BT.

iOS HMKit versión 2.5.4

  • Actualizado a Swift 5.

iOS HMUtilities versión 1.3.2

  • Actualizado a Swift 5.

SDK de Node.js versión 10.0.0

Esta versión incluye cambios de última hora en la API pública. Tenga en cuenta que todavía es posible utilizar la versión anterior del SDK de Node.js.
  • Todas las propiedades son ahora objetos. Actualmente las propiedades sólo incluyen el valor, pero esta mejora nos prepara para los cambios entrantes donde también podemos enviar la marca de tiempo y los errores para cada propiedad individualmente.
  • La respuesta del motor ahora devuelve on en lugar de powered_on y off en lugar de powered_off.

API REST v2

Nueva versión de la API REST. La V1 seguirá funcionando durante algún tiempo, pero se recomienda actualizar a la nueva API lo antes posible. Sólo la v2 está habilitada para el acceso a los datos de los vehículos de producción.
  • V2 sandbox URL https://sandbox.rest-api.high-mobility.com/v2
  • Las propiedades se transforman en objetos que nos ayudarán a enviar más datos sobre una propiedad específica.
  • Mejoras en el manejo de errores menores.

Java Auto API 2.10.0

Esta versión de la Auto API incluye los cambios en la interfaz pública que reflejan el protocolo de nivel 10.

Todos los valores están ahora comprendidos en una propiedad. Esto significa que para acceder al valor de la propiedad, se debe llamar a property.getValue().

La propiedad también tiene los componentes de fallo y marca de tiempo. Todos estos componentes son opcionales.

Guía para la migración a la versión 2.10.0:
  • Los valores de las propiedades deben ser accedidos con Property.getValue(). Por ejemplo: LightsState.getAmbientColor() debe cambiarse por LightsState.getAmbientColor().getValue().
  • Si el valor es nulo, es posible que haya un componente de fallo o que esta propiedad simplemente no exista para este vehículo.
  • Algunos paquetes han sido modificados. Muchos nombres de clases siguen siendo los mismos, así que elimine la importación no válida e intente importar de nuevo.
  • Sustituir CommandWithProperties por Command.

Android SDK 1.6.7

  • Añade soporte de refresco para OAuth.

Java Auto API 1.7.3

Esta versión incluye soporte de análisis sintáctico para MultiCommand y MultiState. Consulte la referencia del código para obtener más información.

iOS AutoAPI versión 7.3.3

  • Se ha añadido una respuesta multiestado a MultiCommand.

iOS HMUtilities versión 1.3.1

Se ha corregido la inicialización de los enteros con signo para HMBytesConvertable.

iOS AutoAPI versión 10.0.1

Se ha corregido la propiedad de depuración de AACapability .debugTree: HMDebugTree para que analice correctamente el nuevo L10.

Auto API Nivel 10

El nivel 10 de la Auto API aporta actualizaciones de protocolo a las propiedades a nivel binario. Las propiedades incluyen ahora datos, marcas de tiempo y componentes de fallo. Esto permite un mejor manejo del SDK de todos los escenarios posibles cuando se obtienen datos de diferentes marcas de coches. El nuevo protocolo se define en la página de resumen de las propiedades de la Auto API.

Actualizaciones adicionales en el nivel 10:
  • Todas las marcas de tiempo están ahora formateadas como tiempo de época UNIX en milisegundos.
  • Porcentajes formateados como decimales.

SDK de iOS versión 2.5.3

  • Se han solucionado problemas con los tokens de OAuth.
  • Se ha añadido un método para obtener un token de acceso con un token de actualización.
  • Versiones actualizadas de las dependencias.

SDK de iOS versión 3.0.0 Beta

  • HMKit reescrito.
  • Los principales cambios en la interfaz incluyen el cambio de nombre de HMLocalDevice a HMKit.
  • Cambiar el nombre de los métodos de los delegados.
  • Hacer que la mayoría de los métodos públicos sean lanzados.
  • Y más...

iOS Auto API versión 10.0

  • Las propiedades se envuelven en un nuevo tipo AAProperty.
  • Las capacidades se ajustan a un nuevo tipo AACapability.
  • Los métodos de los comandos salientes devuelven un nuevo tipo AACommand que tiene el accesorio .bytesaccessor para obtener los datos a enviar.

iOS HMUtilities versión 1.3.0

Se ha añadido un nuevo tipo HMBytesConvertable y se han ajustado a él los siguientes tipos: Bool, Date, Double, Float, String, URL, enteros con y sin signo.

Java Auto API Nivel 10

Esto actualiza la Auto API de Java al nivel 10. Tenga en cuenta que los valores porcentuales son ahora dobles en lugar de flotantes. Tenga en cuenta que ya no hay zonas horarias para las fechas, que siempre corresponden a la hora UTC.

Android SDK versión 1.6.6

Arreglado el OAuth que muestra la pantalla en blanco.

Android SDK versión 1.6.5

Se han corregido posibles fallos de autorización de Bluetooth.

Emulador de coches versión 2.3.0

  • Añadido el emulador de coches Porsche Cross Turismo.
  • Compatibilidad automática del nivel 10 de la API para los componentes de las propiedades. Es necesario que los desarrolladores utilicen los últimos SDK para trabajar con el emulador.

SDK de Node.js versión 0.8.0

Esta versión incluyó sólo cambios internos en la lógica de manejo de componentes de propiedad del nivel 10 de la Auto API. No hubo cambios en la API pública.

Emulador de coches versión 2.2.4

  • Añadidos los emuladores KTM 1290 Super Duke y Mercedes EQC.
  • Se ha corregido el selector de ubicación de vehículos y se ha aumentado la precisión.
  • Indicadores de presión de los neumáticos del Porsche Cayenne corregidos.

Android SDK versión 1.6.4

  • Esta versión corrige problemas con el flujo OAuth2.

Auto API Nivel 9

Esta versión de la plataforma cuenta con actualizaciones incrementales de la API introduciendo el nivel 9 de Auto API junto con actualizaciones de OAuth2. Cada componente tiene más mejoras.
  • Capacidad de iluminación actualizada con luces antiniebla, luces de lectura y luces interiores.
  • Capacidad de diagnóstico actualizada con el kilometraje en metros.
  • Cerraduras de puertas propiedad actualizada con todas las puertas posibilidad de ubicación.
  • Fallo La razón del mensaje se expande con el fallo del límite de velocidad.
  • Se ha añadido MultiCommand para poder enviar varios comandos a la vez.
  • Estado del vehículo actualizado con la propiedad de la marca.
  • Capacidad de abastecimiento de combustible actualizada con el estado de bloqueo de la tapa de gas.
  • Se ha añadido una propiedad universal para informar de las propiedades individuales que fallan.

OAuth2

  • El parámetro de consulta Scope ya no es necesario al iniciar el flujo OAuth.
  • El punto final del token de acceso ahora devuelve un token de actualización que puede utilizarse para solicitar un nuevo token de acceso.
  • Las aplicaciones móviles y nativas deben utilizar ahora PKCE en el flujo OAuth.

Emulador de coches versión 2.2.3

  • Se ha añadido la compatibilidad con el nivel 9 de la API automática.
  • Se ha corregido un pequeño error en la transmisión de los cambios de estado de los vehículos.
  • Correcciones menores en el registro.
  • Se ha mejorado la validación de los permisos de los dispositivos.

SDK de Node.js 0.7.3

  • Se ha añadido la compatibilidad con el nivel 9 de la API automática.
  • Añadidas las luces exteriores delanteras, los faros antiniebla, las luces de lectura y las lucesinteriores a la capacidad de las luces.
  • Se ha añadido la propiedad de los cuentakilómetros a la capacidad de diagnóstico.
  • Se ha añadido el motivo de fallo del límite de velocidad.
  • Se ha añadido la posibilidad de utilizar varios comandos.
  • Se ha añadido la propiedad de la marca al estado del vehículo.
  • Se han añadido las propiedades de bloqueo y posición de la aleta de gas a la capacidad de abastecimiento de combustible.

iOS Auto API versión 9.0

  • Se ha añadido la compatibilidad con el nivel 9 de la API automática.
  • Se han eliminado todos los tipos heredados.
  • Se ha añadido .fogLights, readingLamps y .interiorLamps a AALights; también se ha actualizado .frontExteriorLights.
  • Añadido .states a AAMultiCommand - devuelto cuando se envía un multicomando.
  • Se ha añadido .gasFlapLock y .gasFlapPosition a AAFueling.
  • Nuevo tipo AAPropertyFailure para comunicar que la obtención de una propiedad ha fallado.
  • Actualizado .insideLocks, .locks y .positions en AADoorLocks.
  • Actualizado .failureReason en AAFailureMessage.

Java Auto API 1.9.0

  • Se ha añadido la compatibilidad con el nivel 9 de la API automática.
  • Examine la Referencia de Código de Android para ver las actualizaciones de los comandos.
  • Ver Multi Comando para la referencia del código de Multi Comando.

Auto API REST versión 1.4.0

  • Se ha añadido la compatibilidad con el nivel 9 de la API automática.
  • Se ha incluido un nuevo SDK de Node.js que ayudará a la API REST a devolver errores más informativos.

Publicaciones antiguas

SDK de iOS versión 2.5.2

  1. Se ha corregido el error de descifrado de los comandos de salida y entrada en el mismo tiempo.
  2. Se ha mejorado sustancialmente HMLogginOptions.

Publicaciones antiguas

Esta versión de la plataforma incluye varios cambios de URL basados en la nueva arquitectura del servidor que se está implementando. Tenga en cuenta que "sandbox" se utiliza para referirse a cualquier punto final para trabajar con los simuladores de coches durante el desarrollo de las aplicaciones.

OAuth2

La URL base de la Sandbox ha sido cambiada a https://sandbox.api.high-mobility.com/hm_cloud/

API de cuentas de servicio

La URL base de la Sandbox ha sido cambiada a https://sandbox.api.high-mobility.com/v1

API REST

La URL base de la Sandbox ha sido cambiada a https://sandbox.rest-api.high-mobility.com/v1

SDK de Node.js versión 0.7.2

  1. Cambio de las URLs internas de la API.
  2. El punto final de la API se elige ahora automáticamente en función del emisor del certificado del cliente.

SDK de iOS versión 2.5.1

  1. Nueva implementación y flujo de HMOAuth.
  2. El SDK obtiene la URL correcta de HMDeviceCertificate.

iOS AutoAPI versión 8.0.1

  1. Nuevo AAMulticomando: es posible enviar varios comandos al mismo tiempo.
  2. Se ha añadido .mileageMeters a AADiagnostics.
  3. Se ha añadido .sunroofState a AARoofControl.

iOS HMCryptoKit versión 1.2.3

  1. Método .signature más capaz para utilizarlo en forma no acolchada para el JWT.
  2. Método público SHA256..

Android SDK versión 1.6.2

  1. Añadir el módulo OAuth2 al SDK. OAuth2 se utiliza para obtener el token de acceso para descargar un certificado de acceso al vehículo.
  2. Refactorizar la selección del entorno web. El entorno web se selecciona automáticamente o se puede establecer en HMKit.webUrl. Se elimina HMKit.environment.

Publicaciones antiguas

Simulador de coches versión 2.2.1

  1. Se han añadido las propiedades de estado del vehículo que faltaban(volumen del motor, par máximo del motor, caja de cambios, unidad de visualización, ubicación del asiento del conductor, equipamiento).
  2. Añadidos los simuladores de coche IOTA y de cargador IOTA.
  3. Se han corregido y añadido las propiedades que faltaban en los coches.
  4. Corregido el enlace de Mi Perfil

SDK de Node.js versión 0.7.1

  1. Se han añadido las propiedades de estado del vehículo que faltaban(engineVolume, engineMaxTorque, gearbox, displayUnit, driverSeatLocation, equipment).
  2. Se ha corregido el almacenamiento en caché de los certificados de acceso múltiple.
  3. Se han añadido pruebas automatizadas.

Publicaciones antiguas

Se trata de un lanzamiento importante en todos los SDK, API y simuladores que introduce el nivel 8 de Auto API.

Auto API nivel 8

La última versión de la Auto API viene con mejoras en el protocolo interno y un conjunto ampliado de datos de vehículos. En resumen:

  1. Nuevas capacidades y propiedades.
  2. Soporte de protocolo para los estados históricos.
  3. Es posible añadir una propiedad de marca de tiempo a cada propiedad individual.
  4. Cada comando ahora contiene los parámetros como propiedades. Este es un cambio interno que los SDKs/REST API manejan internamente.

Nuevas capacidades:

  1. Móviles: Obtén el estado de un teléfono móvil conectado.
  2. Uso: Métricas sobre el estilo de conducción.
  3. Capó: Consigue el estado de apertura/cierre del capó.
  4. Histórico: Obtenga datos históricos de cualquier estado.

Capacidad de carga:

  1. Se ha añadido la corriente de carga máxima
  2. Tipo de enchufe añadido
  3. Se añade si se ha elegido una ventana de carga
  4. Horas de salida añadidas
  5. Reducción añadida de los tiempos de carga de corriente
  6. Temperatura de la batería añadida
  7. Se han añadido temporizadores de carga
  8. Añadido el estado de enchufe
  9. Estado de carga añadido
  10. Deprecated 0x01 estado de carga (se divide en estado enchufado y estado de carga)
  11. Temporizador de carga 0x0D obsoleto (sustituido por temporizadores de carga)

Capacidad de configuración del chasis:

  1. Las propiedades de los muelles se sustituyen por un nuevo formato
  2. Las propiedades de posición del chasis se sustituyen por un nuevo formato

Capacidad climática:

  1. Se han añadido los horarios de inicio de los días laborables de HVAC (calefacción, ventilación y aire acondicionado)
  2. Añadido el ajuste de la temperatura de los asientos traseros
  3. Perfil climático obsoleto (sustituido por los horarios de inicio de los días laborables de HVAC)
  4. Se ha añadido el comando "Ajustar la temperatura".

Capacidad de iluminación:

  1. Se ha cambiado el nombre del Estado de las Luces por el de Control de las Luces

Capacidad para el techo:

  1. Estado del techo descapotable añadido
  2. Añadido el estado de inclinación del techo solar

Capacidad de asientos:

  1. Personas añadidas detectadas
  2. Cinturones de seguridad abrochados
  3. Asientos obsoletos (sustituidos por las propiedades anteriores)

Capacidad de Windows:

  1. Añadidos los porcentajes de apertura
  2. Posiciones añadidas
  3. Ventanas obsoletas (sustituidas por las propiedades anteriores)

Capacidad del parabrisas:

  1. Añadido el control de los limpiaparabrisas

Capacidad de diagnóstico:

  1. Nivel de batería añadido
  2. Se han añadido mensajes de control de verificación
  3. Presiones de neumáticos añadidas
  4. RPMs de las ruedas añadidas
  5. Códigos de problemas añadidos
  6. Neumáticos obsoletos (sustituidos por las tres propiedades anteriores)
  7. Consumo de combustible actual obsoleto (trasladado a la capacidad de uso)
  8. Consumo medio de combustible obsoleto (trasladado a la capacidad de uso)

Capacidad de mantenimiento:

  1. Añadido el recuento de informes de la CBS
  2. Meses añadidos a la inspección de los gases de escape
  3. Mayor disponibilidad del teleservicio
  4. Añadido el umbral de distancia de servicio
  5. Añadido el umbral de tiempo de servicio
  6. Se ha añadido la fecha de llamada automática del teleservicio
  7. Añadida la fecha de la llamada de la batería del teleservicio
  8. Añadida la próxima fecha de inspección
  9. Servicios basados en la condición añadida
  10. Añadida la fecha de cambio del líquido de frenos

Capacidad de carrera:

  1. Añadido el movimiento de vehículos

Capacidad de cierre de puertas:

  1. Cerraduras añadidas
  2. Posiciones añadidas
  3. Puertas obsoletas (sustituidas por las dos propiedades anteriores)
  4. Cerraduras exteriores obsoletas (en su lugar deben utilizarse cerraduras)

Capacidad de estado del vehículo:

  1. Unidad de visualización añadida
  2. Se ha añadido la ubicación del asiento del conductor
  3. Equipos añadidos

Capacidad de carga en casa:

  1. Añadido el estado de autentificación
  2. Corriente de carga añadida (DC)
  3. Corriente de carga máxima añadida
  4. Corriente de carga mínima añadida
  5. Corriente de carga obsoleta (sustituida por las tres propiedades anteriores)
  6. Coordenadas ampliadas de float a double
  7. Ampliación de las tarifas para las criptomonedas
  8. Se ha añadido el comando Autenticar/Expulsar sesión

Capacidad de destino Navi:

  1. Coordenadas ampliadas de float a double

Capacidad de localización de vehículos:

  1. Coordenadas ampliadas de float a double
  2. Altitud ampliada de flotante a doble
  3. Rúbrica ampliada de flotante a doble

Emulador de coches versión 2.2.0

  1. Se ha añadido a la Auto API 8 nuevas capacidades y propiedades.
  2. Se ha añadido un indicador de localización de vehículos junto a los registros mientras se ejecuta la simulación con capacidad de localización de vehículos.
  3. Mejora de los errores de rendimiento de las simulaciones.
  4. Se han corregido errores relacionados con el botón del centro de desarrollo.

SDK de iOS versión 2.5.0

  1. Mejora de la latencia de la conexión bluetooth.
  2. Se han añadido clases de HMOAuth para facilitar su uso.
  3. Enorme cambio de nombre: todos los tipos tienen ahora un prefijo "HM" para eliminar la contaminación del espacio de nombres.

iOS Auto API versión 8.0.0

  1. En su mayoría reescrito con un montón de capacidades adicionales, propiedades y comandos. Consulta el registro de cambios de la Auto API 8 para ver las nuevas posibilidades.
  2. Todos los tipos tienen ahora un prefijo "AA" para eliminar la contaminación del espacio de nombres.
  3. Esto no es compatible con el Nivel 7, pero el uso de L7 se ha hecho disponible temporalmente a través de puntos de acceso "heredados". Esta compatibilidad desaparecerá en el futuro.

Java Auto API 1.8.1

Esta versión añade soporte para el nivel 8 de la Auto API. Tenga en cuenta que esta versión no es compatible con el nivel 7 de la Auto API (paquete 1.8.0) y que su código de la Auto API probablemente necesite ser actualizado.

Android SDK versión 1.6.1

  1. Aumenta el límite de tamaño de los comandos.
  2. Corregir que Broadcaster.revokeCertificate() no borra los certificados.
  3. Actualizar la URL de producción.

SDK de Node.js versión 0.7.0

  1. Se han solucionado problemas con node v10.x. El SDK de Node.js ahora funciona con todas las versiones de node desde v8.9 hasta v10.x. Node v11 aún no es compatible.
  2. Se han añadido comandos y respuestas del nivel 8 de la API automática.
  3. Se han añadido pruebas automatizadas para los nuevos comandos y respuestas del nivel 8 de la Auto API.
  4. La ubicación del archivo json de la caché del certificado interno de HMKit se puede cambiar con el parámetro de entorno HM_NODE_SDK_STORAGE_PATH.

Auto API REST versión 1.3.0

  1. La API REST ahora es sin servidor y se ejecuta en AWS Lambda. Esto nos ayuda a escalar más fácilmente en el futuro.
  2. Se han añadido puntos finales de nivel 8 de la API automática.
  3. Se han añadido pruebas del nivel 8 de la API automática.
  4. Se ha incluido un nuevo SDK de Node.js que ayudará a la API REST a devolver errores más informativos.

Publicaciones antiguas

SDK de iOS versión 2.4.2

  1. Se ha solucionado que la cola de transmisión de Bluetooth de iOS se llene en algunos casos y no se envíen datos.

Android SDK versión 1.6.0

Esta versión introduce algunos cambios en la API pública del SDK.

  1. Cambia el nombre del gestor por el de HMKit.
  2. Añade el estado de enlace NOT_AUTHENTICATED. Se establecerá después de una revocación o si la autenticación falla.
  3. Manager.initialise lanza si ya está inicializado. Manager.setDeviceCertificate debe utilizarse para establecer un nuevo certificado de dispositivo.
  4. Mover Manager.loggingLevel a HMLog.Level
  5. Cambiar el nombre de downloadCertificate() por downloadAccessCertificate()
  6. eliminar el lanzamiento de IllegalStateException de los métodos de Manager. Manager espera que se llame a initialise y lanza unchecked en caso contrario.
  7. getBroadcaster() es anulable. Puede ser null si BLE no es físicamente compatible.

Publicaciones antiguas

SDK de iOS versión 2.3.7

  1. Alerta de interfaz de usuario del sistema BT desactivada.

Actualización de la API OAuth2

  1. Se ha añadido expires_in al objeto de respuesta del token de acceso. Detalles completos en el tutorial de OAuth2.

Publicaciones antiguas

Android SDK versión 1.5.0

  1. Arreglar la falta de servicio de bluetooth después de activar/desactivar el BLE.
  2. Corregir el estado no válido del emisor BLUETOOTH_UNAVAILABLE después de apagar/encender el BLE.
  3. Espere a que se añada el servicio BLE antes de empezar a emitir.

Publicaciones antiguas

SDK de Node.js versión 0.6.1

  1. Se ha mejorado la lógica de almacenamiento en caché de los certificados de acceso para hacerlos más rápidos.
  2. Se ha añadido la validación de la clave privada del cliente.
  3. Cambiada la url de la api del servidor de producción.
  4. Se han añadido las pruebas automatizadas que faltaban.

Auto API REST versión 1.2.1

  1. Cambio de la url de la api del servidor interno.
  2. Gracias a la actualización del SDK de Node.js, las peticiones se gestionarán mucho más rápido.

Publicaciones antiguas

SDK de iOS versión 2.3.6

  1. Arreglo dela doble difusión (no afectó al uso), con salvaguardias adicionales para el inicio de la publicidad.
  2. Maneja el comando de revocación entrante - borra el certificado y cambia el estado a .conectado.
  3. El tamaño máximo de los comandos personalizados se ha reducido en 1 byte, para tener en cuenta correctamente los bytes del protocolo.
  4. Arreglos deping en vivo.

Publicaciones antiguas

Android SDK versión 1.4.0

  1. Se ha corregido la validación de los bytes de inicialización del certificado.
  2. Ahora puedes usar tanto base64 como hex en Manager.initialize().
  3. Corregir posible NPE de getLinks() en Manager.terminate()
  4. Se han eliminado algunos métodos previamente obsoletos.

Hay algunos cambios internos en la lógica del SDK:

  1. La emisión se detiene ahora con Manager.terminate()
  2. La difusión no se detiene en Broadcaster.disconnectAllLinks(). stopBroadcasting() ha demostrado que ayuda a desconectar los enlaces conectados. Llame a stopBroadcasting() después de disconnectAllLinks() para mejorar las posibilidades de desconectar las conexiones BLE.

Publicaciones antiguas

SDK de Node.js versión 0.6.0

  1. Problema de fuga de memoria resuelto - la recolección de basura no limpiaba todo cuando se destruía la instancia de HMKit.
  2. Resueltos los problemas de múltiples instancias de HMKit. En versiones anteriores, cuando en el mismo proceso de la aplicación Node.js se creaban múltiples instancias de HMKit (const hmkit1 = new HMKit(); const hmkit2 = new HMKit();), empezaban a comportarse de forma inesperada, ya que todas las instancias seguían estando relacionadas a través del código nativo.

Swift Auto API versión 7.2.2

  1. Se han sustituido los tipos UInt8 que representan un valor de 0 a 100% por PercentageInt para mayor claridad.

Publicaciones antiguas

Java HMKit-Crypto versión 1.3.2

  1. Se ha solucionado el problema del análisis de las horas del certificado de acceso. Ahora se gestionan las 24 horas en lugar de los ciclos de 12 horas.

Publicaciones antiguas

Estas actualizaciones pueden ser útiles para los usuarios de la biblioteca HMKit-OEM.

Java HMKit-Crypto versión 1.3.1

  1. Añade la clase Permisos para utilizarla al construir los Certificados de Acceso.

Java HMKit-AutoAPI versión 1.8.0

  1. Renombrado com.highmobility.autoapi.property.ControlMode a ControlModeValue
  2. Las propiedades de la base de comandos nonce y signature ahora son Bytes en lugar de byte[].

Publicaciones antiguas

Android SDK versión 1.3.0

  1. Se ha añadido la función de revocar. Llama a Link.revoke() para revocar la autorización del enlace.
  2. Se ha hecho configurable el tiempo de espera de los comandos con Link.commandTimeout. El valor está en ms, por defecto es 10000.

SDK de iOS versión 2.3.5

  1. Correcciones y mejoras en elping en vivo � ahora envía un solo byte (antes estaba vacío).
  2. Se ha añadido un registro adicional.

Publicaciones antiguas

SDK de Node.js versión 0.5.2

  1. Añadido el alias .getSerial() para la función .getVehicleSerial().
  2. Se ha añadido la compatibilidad con el nivel 7 de la API.
  3. Mejora de la gestión de errores. Lanzamiento de más excepciones con un mensaje más informativo.
  4. Se han corregido los errores por los que la falta de argumentos rompía el comando.
  5. Se ha eliminado el registro innecesario.

Auto API REST versión 1.1.0

  1. Se ha añadido la compatibilidad con el nivel 7 de la API automática.
  2. Mejora de la gestión de errores. La API ahora devuelve errores más informativos.
  3. Devolución del estado 401 en lugar del 400 cuando el usuario no está autorizado.

Publicaciones antiguas

Actualización del SDK de Android versión 1.2.0 y de las bibliotecas Java

A partir de esta versión, todos nuestros métodos públicos del SDK de Java utilizan nuestra clase Bytes personalizada en lugar del byte[]. Por ejemplo, ahora se puede utilizar para acceder a las propiedades de los certificados o enviar comandos de enlace.

  1. Ejemplo para obtener el serial del certificado de acceso: DeviceSerial serial = certificate.getGainerSerial()
  2. Ya no es necesario utilizar .getBytes() en los comandos, sino que se puede pasar directamente la instancia de la clase: link.sendCommand(new LockUnlockDoors(DoorLock.LOCKED), serial, callback)

La clase Bytes también puede ser utilizada para nuevos constructores y algunos métodos de conveniencia como Bytes.getHex() y Bytes.equals().

  1. Para comparar un comando con una cadena hexadecimal o base64: command.equals(new Bytes("00AA"))
  2. Para registrar un comando en hexadecimal: log("bytes en hexadecimal " + command.getHex())

Publicaciones antiguas

Java Auto API versión 1.6.8

  1. Se ha añadido la compatibilidad con el nivel 7 de la API automática
  2. Se han renombrado/desaprobado algunas propiedades de LockState.

Publicaciones antiguas

SDK de iOS versión 2.3.4

  1. Se ha añadido la compatibilidad con el nivel 7 de la API automática
  2. Movido DebugTree a HMUtilities
  3. Añadido el getter .serial para LocalDevice
  4. Nueva función para enviar .revoke a un Link conectado
  5. Nuevo error LocalDeviceError.uninitialised � que significa que el certificado y las claves no están configurados

Publicaciones antiguas

Android SDK versión 1.1.17

  1. Se han corregido algunos fallos al enviar comandos telemáticos o al desconectar el bluetooth.

Java Auto API versión 1.6.7

  1. Desaprobar/renombrar algunas propiedades de Lockstate.
  2. Fijar el destino de la navegación.

SDK de iOS versión 2.3.3

  1. Se ha corregido startBroadcasting(configuration: Configuration?) para que no anule la configuración antigua cuando se pasa nil.

Publicaciones antiguas

Android SDK versión 1.1.16

  1. No anunciar el nombre del dispositivo si no se utiliza el nombre personalizado de High Mobility en BroadcastSettings. Esto soluciona un fallo en los dispositivos con nombres más largos.

Publicaciones antiguas

SDK de iOS versión 2.3.2

  1. Se han corregido errores de identificación de paquetes y otros errores de funcionamiento

Publicaciones antiguas

SDK de iOS versión 2.3.1

  1. HMKit: LocalDeviceBroadcastingConfiguration cambió su nombre a LocalDeviceConfiguration
  2. Se ha cambiado la función de init de la configuración para disuadir de desactivar el cifrado

Publicaciones antiguas

Android SDK versión 1.1.15

  1. Combinar todas las configuraciones de emisión en el objeto BroadcastConfiguration. Utilice BroadcastConfiguration.Builder para crear su configuración de emisión y pásela al método broadcaster.startBroadcasting.
  2. Declaración
  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() ha cambiado a startAlivePing(intervalo largo). Utilice stopAlivePing() para detener el ping.

Publicaciones antiguas

SDK de iOS versión 2.3.0

Esta actualización se produce tras el lanzamiento de Swift 4.1 y Xcode 9.3, lo que aporta compatibilidad con las bibliotecas HMKit a ambas. Detalles completos:

  1. El número de frameworks de HMKit se ha ampliado de 3 a 5 bibliotecas para aumentar la modularidad. La forma recomendada de actualizar a la última es eliminar los frameworks antiguos del proyecto y en el Finder, y luego arrastrar los nuevos a "Bibliotecas integradas" en la vista general del proyecto de Xcode.
  2. CommonCrypto: Inclusión del mapa del módulo CommonCrypto (básicamente OpenSSL con sabor a "Apple") de IBM; página GitHub de CommonCrypto.
  3. HMCryptoKit: Nueva biblioteca criptográfica Swift, escrita desde cero; página GitHub de hm-crypto-kit-swift.
  4. HMUtilities: Incluye extensiones comunes y otras funcionalidades útiles; página GitHub de hm-utilities-swift.
  5. HMKit: LocalDeviceBroadcastingConfiguration es un nuevo tipo de configuración para la difusión (también accesible a través de LocalDevice.shared.configuration); dependencias actualizadas; algunas otras correcciones menores.

Esta versión ha sido probada en iOS y macOS, y debería funcionar también en tvOS, watchOS y Linux; utilizable con el Swift Package Manager.

Publicaciones antiguas

Se trata de un lanzamiento importante en todos los SDK, las API y la interfaz de usuario del propio Centro de Desarrolladores.

Auto API Nivel 6

La última versión de la Auto API viene con un nuevo protocolo interno que aporta consistencia y flexibilidad para las diferentes variaciones de las capacidades del coche. Cada capacidad (como Diagnóstico) tiene ahora una lista de propiedades. Así es como funcionan:

  1. Una capacidad especifica ahora todos los tipos de propiedades que un coche podría soportar, pero el coche sólo incluye las propiedades que realmente soporta.
  2. Las propiedades eliminan la necesidad de datos "no disponibles", ya que simplemente no se incluyen en el estado.
  3. Un estado puede tener varias propiedades con el mismo ID, este es el caso de, por ejemplo, la propiedad Puerta, se devuelve una propiedad por cada puerta.
  4. Hay propiedades universales que pueden incluirse en cualquier estado, el identificador de estas propiedades empieza por 0xA_.
  5. Las propiedades también se utilizan en los casos de comandos SET (por ejemplo, Abrir/Cerrar Tronco) pero esto sólo se hace si el comando SET afecta a varias propiedades. Si el comando SET es sólo para una propiedad (por ejemplo, Establecer Límite de Carga) entonces se omite el formato de la propiedad.
  6. El uso de las propiedades se ha implementado en todas las capacidades.

En cuanto a las capacidades, ya no se trata de que cada capacidad defina su propio formato de lo que se incluye en el mensaje de capacidades:

  1. Cada capacidad que admite el vehículo se incluye como propiedad de capacidad 0x01. Se incluye el identificador de la capacidad, junto con una matriz de ID de tipo de mensaje que el coche puede manejar.
  2. Si el dispositivo carece de permisos para, por ejemplo, bloquear/desbloquear las puertas, ese tipo de mensaje no se incluirá en la matriz.

Hay muchas propiedades nuevas que se han añadido a las capacidades existentes. Sin embargo, hay algunas capacidades completamente nuevas:

  1. Carrera
  2. Offroad
  3. Ajustes del chasis
  4. Asientos
  5. Freno de mano
  6. Tiempo del vehículo
  7. Condiciones de luz
  8. Condiciones meteorológicas
  9. Cargador doméstico

HMKit Core

HMKit Core, el componente que implementan todos los SDK, se ha actualizado con lo siguiente:

  1. Se ha ampliado el contenedor de comandos para permitir el envío de mensajes de más de 256 bytes
  2. Algoritmo SHA actualizado
  3. Nuevo formato para los certificados de acceso que ahora incluye el nombre del emisor del certificado
  4. Otras correcciones de errores y mejoras

Android SDK versión 1.1.14

El SDK de Android está a partir de ahora disponible a través del JCenter y se descarga directamente como una dependencia de Gradle. Como parte de esto, el SDK se ha dividido en módulos separados: HMKit-Android, HMKit-AutoAPI, HMKit-Crypto y HMKit-Utils. La biblioteca Auto API se ha actualizado al nivel 6 y es de código abierto en GitHub.

SDK de iOS versión 2.0.4

El SDK de iOS se ha actualizado para soportar los últimos cambios en el núcleo. La biblioteca Auto API se ha actualizado al nivel 6 y es de código abierto en GitHub.

Node.js versión 0.4.0

El SDK de Node.js ha sido actualizado para soportar el nivel 6 de la API automática y otros cambios en el núcleo.

Primera versión de la Auto API REST 1.0

Se trata de una interfaz completamente nueva para trabajar con Auto API. Con la API REST es posible trabajar con datos de automóviles y APIs en cualquier plataforma.

Publicaciones antiguas

SDK de Node.js versión 0.3.0

¡Buenas noticias para los usuarios de Windows! Esta versión incluye soporte para Windows 10. Sólo tienes que obtener la última versión de npm o descargar la aplicación de ejemplo.

Android SDK versión 1.0.6

Esta es sólo una actualización menor con una corrección de errores para el método AccessCertificate.isExpired().

Publicaciones antiguas

SDK de iOS versión 1.8.5 beta para Swift 4

Esta es una versión más grande para ser compatible con la actualización de Apple a iOS 11. Con esta versión estamos añadiendo un SDK de Swift 4 (beta) además de la versión estable 1.8.5 al sitio de descargas. Sin embargo, en los próximos meses eliminaremos la versión Swift 3.

Simulador de coches versión 1.5.0

Esta versión incluye una corrección de errores y una mejora:

  1. Se ha añadido un botón de emisión a la capacidad de fatiga del conductor
  2. El valor por defecto para el nivel de líquido de lavado ahora es válido

Publicaciones antiguas

SDK de Node.js versión 0.2.0

Esta versión incluye funciones de ayuda para enviar y analizar todos los comandos restantes de la Auto API que no se incluyeron en la primera versión, excepto Obtener capacidades y Obtener estado del vehículo. Todavía estamos trabajando duro con el soporte de Windows, pero estamos haciendo un buen progreso.

La aplicación de ejemplo de la estructura también se ha actualizado para reflejar mejor la última versión.

Lo siguiente en la lista es un manejo más informativo de los errores y los dos últimos comandos de la Auto API.

Publicaciones antiguas

SDK de iOS versión 1.8.5

A partir de esta versión, el SDK de iOS se suministra con un script AppStoreCompatible.sh que debe utilizarse antes de publicar en la App Store. El script elimina el código relacionado con el simulador del iPhone.

Otras actualizaciones y correcciones de errores:

  1. Corrección de la conversión de URL para el comando Auto API Load URL
  2. "HonkHorns" Auto API renombrado a sólo "HonkHorn" sin forma plural

Publicaciones antiguas

Android SDK versión 1.0.5

Estas son las novedades de esta versión:

  1. Corrección de la posición inversa de la puerta trasera/estado de la cerradura

Se ha añadido una aplicación adicional "Basic OAuth" a las muestras.

Versión del emulador de coches 1.4.2

Esta versión incluye las siguientes correcciones de errores:

  1. La ubicación del vehículo se transmite a través de Bluetooth cuando se cambia en el mapa
  2. Texto invertido de encendido/apagado del motor en fijo en el registro
  3. Las fechas de inicio y fin del certificado de acceso se validan correctamente
  4. Navegador: El comando de carga de la URL se ejecuta incluso si se utiliza HTTP, con un mensaje de error apropiado
  5. El diálogo de OAuth ahora incluye fechas formateadas

Publicaciones antiguas

SDK experimental de Node.js versión 0.1.1

Esta es la primera versión de HMKit para Node.js y el primer SDK destinado a aplicaciones de servidor backend. El SDK admite el trabajo con la Auto API a través de Telematics.

Hay dos grandes limitaciones en la primera versión experimental. En primer lugar, sólo puede ejecutarse en Linux y OS X. El soporte de Windows vendrá en las próximas versiones. Esto se debe a los enlaces nativos de C que se utilizan para la criptografía y el protocolo interno.

La versión 0.1.1 todavía no tiene métodos de ayuda para todas las Auto APIs. Se incluyen ayudantes para las siguientes capacidades:

  1. Cerraduras de puertas
  2. Motor
  3. Acceso al maletero
  4. Diagnóstico
  5. Navegador

Cualquier comentario sobre los métodos públicos, especialmente el manejo de la Auto API, se tiene en cuenta para las próximas versiones.

Publicaciones antiguas

Versión del emulador de coches 1.4.0

Esta versión incluye dos grandes actualizaciones, las capacidades de la API automática del navegador y los gráficos se han añadido. Otros cambios:

  1. El límite de carga establecido se analiza y gestiona correctamente
  2. Apertura y cierre de ventanas correctamente analizadas y gestionadas
  3. Los comandos telemáticos ya no se desconectan para: Tocar y destellar, Intermitente de emergencia, Mensaje recibido, Entrega de vídeo, Introducción de texto, Fijar destino (Navi), Abrir/cerrar ventanas, Abrir tapa de gas
  4. Se ha añadido el nombre de la aplicación al panel de información del dispositivo

SDK de iOS versión 1.8.4

Estas son las novedades de esta versión del SDK de iOS:

  1. Manipulación y análisis sintáctico añadidos para las capacidades de la Auto API Navegador y Gráficos
  2. Correcciones en el análisis de los comandos de Notificación y Diagnóstico
  3. Se ha añadido una estructura para manejar mejor los comandos de Windows
  4. Se ha eliminado el argumento del bloque de finalización link.sendCommand, que ahora es opcional y puede arrojar un error
  5. El singleton LocalDevice ha cambiado de nombre, el antiguo puede seguir utilizándose por ahora

Android SDK versión 1.0.4

Estas son las novedades de esta versión del SDK de Android:

  1. Manipulación y análisis sintáctico añadidos para las capacidades de la Auto API Navegador y Gráficos
  2. El Bluetooth ya no se configura en el método de inicialización, permitiendo el uso del SDK en el Simulador de Android
  3. Tratamiento de las respuestas vacías de los comandos telemáticos
  4. Correcciones en el análisis de la orden Enviar destino Navi