El plugin BMW CarData obtiene los datos del vehículo desde la API de BMW CarData y los proporciona como entradas en LOXONE Config. Cada vehículo se configura como un dispositivo secundario independiente.
![]() | Requisitos: una cuenta BMW activa con el vehículo asignado a ella, un LOXONE Miniserver Gen.2 con acceso a internet y un navegador de escritorio para la activación única. El interruptor de la CarData API solo está disponible en el portal web de MyBMW en bmw.com/mybmw — NO está presente en la aplicación móvil de MyBMW. |
![]() | Vehículos compatibles: típicamente modelos BMW desde aproximadamente 2017 en adelante con equipamiento ConnectedDrive. La API de BMW CarData permite un máximo de 50 solicitudes de datos por día por cuenta de BMW, compartidas entre todos los vehículos. |
Contenido
- Configuración
- Límite de solicitudes y mensajes de error
- Sensores y Actuadores
- Entradas, salidas y propiedades
Configuración↑
Configuración inicial
Sigue estos pasos en el orden indicado:$$BR$1. En un navegador de ordenador (la aplicación móvil MyBMW no ofrece esta función), abre bmw.com/mybmw e inicia sesión con tu cuenta de BMW.
2. Selecciona tu vehículo y, a continuación, ve a: BMW CarData → Acceso técnico a BMW CarData → API de CarData. Activa la opción «Solicitar acceso a la API de CarData» y acepta las condiciones de BMW para el intercambio de datos de CarData. A continuación, el portal mostrará un identificador con el formato xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx; cópialo al portapapeles.
3. En LOXONE Config, añade el complemento «BMW CarData» a la sección «Periféricos de red». Abre la configuración del complemento haciendo clic en el icono con forma de engranaje y pega el identificador en el campo «ID de cliente». (Se utiliza un único identificador para todos los vehículos configurados con este complemento.)
4. Haz clic con el botón derecho del ratón sobre el complemento y añade un elemento secundario «Vehículo BMW». Introduce el VIN, es decir, el número de identificación del vehículo de 17 caracteres. El VIN figura en el permiso de circulación, en el borde inferior del parabrisas y en MyBMW → Resumen del vehículo al seleccionar el vehículo.
5. Conecta la entrada «Poll Trigger» a una señal que deba activar una actualización de datos; para una prueba rápida, basta con un pulsador o una entrada del temporizador semanal; en producción, las fuentes habituales son un evento relacionado con la caja de recarga, cambios en el estado de carga o cualquier otro evento de automatización. Sin un «Poll Trigger» conectado, el complemento no recupera ningún dato.
6. Guarda la configuración en el Miniserver.
7.La primera vez que se activa el «Poll Trigger», aparece un mensaje del sistema en LOXONE Config y en la aplicación de LOXONE con un enlace de autorización. Abre el enlace en un navegador, inicia sesión con tu cuenta de BMW y confirma: el código de usuario ya está incluido en el enlace, por lo que BMW solo te pide confirmación.
8. A partir de ahora, el complemento recaba los datos del vehículo cada vez que se activa el «Poll Trigger». El token de acceso se almacena en el Miniserver y se actualiza automáticamente; no es necesario volver a iniciar sesión a menos que revoques el acceso en el portal MyBMW.
Client ID
El Client ID se crea una sola vez por cuenta BMW en el portal web de MyBMW en bmw.com/mybmw (se requiere un navegador de escritorio — la aplicación móvil de MyBMW no dispone de este menú) en Vehicle overview → BMW CarData → Technical Access to BMW CarData → CarData API. Aceptar los términos de uso compartido de datos de CarData de BMW es obligatorio en la primera activación. Un mismo Client ID se comparte entre todos los vehículos configurados bajo este plugin y sigue siendo válido hasta que se revoque el acceso en el mismo portal.
Coordenadas del domicilio
La salida de Distancia desde Casa se calcula como la distancia del círculo máximo entre las coordenadas del Miniserver y la posición GPS actual del vehículo. Configure la ubicación del Miniserver en LOXONE Config → Configuración del Miniserver → Ubicación.
Sondeo
El complemento no realiza sondeos automáticamente, solo recopila datos cuando la entrada del Disparador de Sondeo recibe un borde ascendente. Conéctelo a cualquier señal que deba actualizar los datos del vehículo. Para una prueba rápida, use un botón pulsador; en producción use un disparador de tiempo programado (unas pocas veces al día), una conexión de wallbox, o un cambio de estado de carga. Tenga en cuenta el límite de 50 solicitudes por día por cuenta de BMW, compartido entre todos los vehículos (ver Límite de Tasa y Mensajes de Error a continuación).
Autorización
Cada vehículo debe autorizarse una vez mediante una cuenta de BMW. El método recomendado es a través de la aplicación de LOXONE. Tras añadir el vehículo, guarda la configuración en el Miniserver y activa el «Poll Trigger» una vez. Aparecerá un mensaje del sistema en la aplicación de LOXONE y en LOXONE Config. Mientras la autorización está pendiente, el valor de la salida «Autorización requerida» se establece en 1. En este mensaje, selecciona «Abrir sesión de BMW» (no el botón «Aceptar»). Esta acción abre la sesión de BMW con un código de autorización integrado. El usuario inicia sesión con su cuenta de BMW y confirma el acceso. Una vez completada la autorización, el complemento recupera los datos y el valor de la salida «Autorización requerida» se restablece a 0. Si se ha seleccionado «Aceptar» por error o la autorización falla, activa de nuevo el «Poll Trigger» para que vuelva a aparecer el mensaje de autorización y se reinicie el proceso. Una vez completada con éxito la autorización, el token de acceso se actualiza automáticamente. Solo es necesario volver a autorizar si se revoca el acceso en el portal MyBMW.

De dónde proviene el código de autorización
Este no es un código que usted crea, ni en el portal MyBMW ni en las páginas de BMW API o Swagger. Cuando se dispara el Poll Trigger, el plugin solicita automáticamente un código de un solo uso a BMW y se lo muestra en dos lugares: en el mensaje del sistema de la aplicación LOXONE (después de 'introduzca el código:'), y en la URL de Autorización como el parámetro user_code del enlace (https://customer.bmwgroup.com/oneid/link?user_code=...). Normalmente no tiene que teclearlo: el botón 'Abrir inicio de sesión de BMW' y el enlace de la URL de Autorización ya contienen el código, por lo que BMW solo le pide que inicie sesión y confirme. El código en texto plano es solo una alternativa si alguna vez una página de inicio de sesión solicita una entrada manual. El código es válido por unos minutos; si expira antes de que termine, dispare el Poll Trigger de nuevo para obtener un código fresco.

Límite de solicitudes y mensajes de error↑
La API de BMW CarData permite un máximo de 50 solicitudes de datos por día por cuenta de BMW, compartidas entre todos los vehículos. El contador se reinicia a medianoche UTC. Una actualización normal de datos consume 1 solicitud. La primera actualización después de la configuración consume una o dos solicitudes adicionales, una vez para detectar el modelo del vehículo y preparar el canal de datos, planifique ~3 solicitudes en el día de la configuración inicial.
![]() | No active más de ~45 encuestas por día en total en todos los vehículos de la cuenta para dejar margen para las primeras solicitudes de encuestas y actualizaciones ad-hoc. |
Mensajes del sistema
El plugin genera mensajes del sistema en LOXONE Config y la LOXONE App en las siguientes situaciones: Authorization Required — consulte la sección Autorización más arriba. Rate Limit Reached — se ha superado la cuota de 50 solicitudes/día; el mensaje muestra el tiempo restante hasta la medianoche UTC en que se restablece el contador. Connection Error — el Miniserver no puede acceder a la API de BMW CarData; compruebe la conexión a internet. Client ID Missing — no se ha configurado ningún Client ID en los ajustes del plugin. Vehicle Not Found — el VIN configurado no está asignado a la cuenta BMW o no existe; compruebe el VIN y los permisos del vehículo en el portal de MyBMW.
Known BMW-side error (not a plugin fault): during authorization BMW may return an internal synchronization error — an HTTP 500 'Invalid Access Token' (keymanagement.service.invalid_access_token) immediately followed by access_denied ('The user has declined authorization'), even though you are the vehicle's main user and accepted the data sharing. BMW customer service has confirmed this affects mostly newly created CarData clients. Workaround, all in the MyBMW web portal (bmw.com/mybmw): delete the CarData client, wait ~30 seconds, create a new client, wait ~30 seconds, activate the CarData API, wait ~30 seconds, then activate CarData Streaming. Copy the new Client ID into the plugin settings and fire the Poll Trigger again. If the error persists after recreating the client it is entirely on BMW's side — please contact BMW directly (BMW does not offer LOXONE any partner or developer access to resolve it for you).
Sensores y Actuadores↑
Esta sección explica para qué sirve cada señal. Las unidades y los rangos de valores se enumeran en las tablas de Sensores y Actuadores de arriba.
Sensores
VIN: el número de identificación del vehículo, compuesto por 17 caracteres; se utiliza para distinguir entre distintos vehículos o para el registro.
Modelo: el nombre del modelo facilitado por BMW; para su visualización y etiquetado.
SOC de la batería (%) (estado de carga de la batería de alto voltaje); control de la carga, notificaciones de batería baja, visualización.
Autonomía eléctrica (km): autonomía eléctrica restante; avisos de autonomía, planificación de viajes.
Kilometraje (km): lectura del cuentakilómetros; seguimiento de los intervalos de mantenimiento y registro.
Carga (0/1): 1 mientras el vehículo se está cargando activamente; lógica de excedente fotovoltaico, notificaciones y ventilación del habitáculo en verano.Tiempo restante de carga (min) — tiempo estimado hasta la carga completa (solo tiene sentido durante la carga); indicación de «listo para», planificación de salidas.
Cable conectado (0/1) — 1 mientras el cable de carga está conectado; recordatorio al usuario para que lo enchufe, automatizaciones de carga en la puerta.
Potencia de carga (kW) — potencia de carga actual; monitorización de energía, gestión de carga.
Se requiere autorización (0/1) — 1 mientras el enchufe espera la autorización; activa un recordatorio.
URL de autorización (texto) — el enlace de inicio de sesión; muéstralo en la aplicación LOXONE para que el usuario pueda autorizar.
Distancia desde casa (km) — distancia ortodrómica entre la ubicación del Miniserver y la posición GPS del vehículo. Úsala como un indicador aproximado de «¿está el coche en casa?», p. ej., junto con «Carga» para confirmar que el coche se está cargando en casa. No es adecuada para automatizaciones de llegada en tiempo real (como abrir el garaje), ya que eso requeriría un sondeo casi constante, mientras que la API está limitada a 50 solicitudes al día y el complemento solo realiza consultas mediante un disparador de sondeo.
Actuadores
Poll Trigger — un flanco ascendente recoge los datos actuales del vehículo una vez. El complemento nunca realiza encuestas por sí mismo; activa esto desde un horario (unas pocas veces al día, por ejemplo), un evento de 'cargador conectado', o un botón.
Sensores↑
| Resumen | Unidad | Rango de valores |
|---|---|---|
| VIN | Texto | - |
| Model | Texto | - |
| Battery SOC | % | 0...100 |
| Electric Range | km | 0...1000 |
| Mileage | km | 0...1000000 |
| Charging | Digital | 0/1 |
| Remaining Charge Time | min | 0...3000 |
| Cable Connected | Digital | 0/1 |
| Charging Power | kW | 0...22 |
| Authorization Required | Digital | 0/1 |
| Authorization URL | Texto | - |
| Distance from Home | km | 0...50000 |
Actuadores↑
| Resumen | Unidad | Rango de valores |
|---|---|---|
| Poll Trigger | Digital | 0/1 |
Entradas de diagnóstico↑
| Resumen | Descripción | Unidad | Rango de valores |
|---|---|---|---|
| Online | Indica si el Miniserver puede acceder al dispositivo. Diagnóstico para dispositivos Air Diagnóstico para dispositivos Tree Diagnóstico de Extension | Digital | 0/1 |
Propiedades↑
| Resumen | Descripción | Valor por defecto |
|---|---|---|
| BMW CarData Client ID | Client UUID created in MyBMW portal: Vehicle overview → BMW CarData → Technical Access to BMW CarData → CarData API → Request access. Shared across all configured vehicles. | - |
| Supervisar el servicio | Si está marcada, se notificará mediante el Estado del Sistema o por correo electrónico si este servicio no está disponible o desconectado. | - |

