De BMW CarData plugin haalt voertuiggegevens op via de BMW CarData API en stelt deze beschikbaar als ingangen in Loxone Config. Elk voertuig wordt geconfigureerd als een afzonderlijk onderliggend apparaat.
![]() | Vereisten: een actief BMW-account waaraan het voertuig is toegewezen, een Loxone Miniserver Gen.2 met internettoegang en een desktopbrowser voor de eenmalige activering. De CarData API-schakelaar is alleen beschikbaar in het MyBMW-webportaal op bmw.com/mybmw — deze is NIET aanwezig in de mobiele MyBMW-app. |
![]() | Compatibele voertuigen: doorgaans BMW-modellen vanaf ca. 2017 met ConnectedDrive-uitrusting. De BMW CarData API staat maximaal 50 gegevensaanvragen per dag per voertuig toe. |
Inhoudsopgave
Configuratie↑
Eerste configuratie
Volg deze stappen in volgorde:
1. Open in een desktopbrowser (de mobiele MyBMW-app biedt dit niet) bmw.com/mybmw en meld u aan met uw BMW-account.
2. Selecteer uw voertuig en navigeer vervolgens: BMW CarData → Technical Access to BMW CarData → CarData API. Activeer 'Request access to CarData API' en accepteer de voorwaarden van BMW voor het delen van CarData-gegevens. Het portaal toont vervolgens een identificatie in het formaat xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx — kopieer deze naar het klembord.
3. Voeg in Loxone Config de plugin 'BMW CarData' toe aan de netwerkperiferie. Open de plugin-instellingen via het tandwielpictogram en plak de identificatie in het veld Client ID. (Eén identificatie wordt gedeeld door alle voertuigen die onder deze plugin zijn geconfigureerd.)
4. Klik met de rechtermuisknop op de plugin en voeg een onderliggend item 'BMW Vehicle' toe. Voer de VIN in — het voertuigidentificatienummer van 17 tekens. De VIN staat op het kentekenbewijs, op de onderrand van de voorruit en in MyBMW → Vehicle overview wanneer u het voertuig selecteert.
5. Verbind de ingang Poll Trigger met een signaal dat een gegevensvernieuwing moet activeren — voor een snelle test volstaat een drukknop of een vermelding in de Weekly Timer; in de praktijk zijn typische bronnen een wallbox-aansluitgebeurtenis, wijzigingen van de laadstatus of een andere automatiseringsgebeurtenis. Zonder verbonden Poll Trigger haalt de plugin geen gegevens op.
6. Sla de configuratie op naar de Miniserver.
7. De eerste keer dat de Poll Trigger wordt geactiveerd, verschijnt er in Loxone Config en in de Loxone App een systeembericht met een autorisatielink. Open de link in een browser, meld u aan met uw BMW-account en bevestig — de gebruikerscode is al in de link opgenomen, dus BMW vraagt alleen om bevestiging.
8. De plugin haalt nu bij elke Poll Trigger-puls voertuiggegevens op. Het toegangstoken wordt op de Miniserver opgeslagen en automatisch vernieuwd; u hoeft zich niet opnieuw aan te melden, tenzij u de toegang in het MyBMW-portaal intrekt.
Client ID
De Client ID wordt eenmaal per BMW-account aangemaakt in het MyBMW-webportaal op bmw.com/mybmw (desktopbrowser vereist — de mobiele MyBMW-app heeft dit menu niet) onder Vehicle overview → BMW CarData → Technical Access to BMW CarData → CarData API. Het accepteren van de voorwaarden van BMW voor het delen van CarData-gegevens is verplicht bij de eerste activering. Eén Client ID wordt gedeeld door alle voertuigen die onder deze plugin zijn geconfigureerd en blijft geldig totdat de toegang in hetzelfde portaal wordt ingetrokken.
Thuiscoördinaten
De uitgang Afstand tot thuis wordt berekend als de orthodromische afstand tussen de coördinaten van de Miniserver en de huidige GPS-positie van het voertuig. Configureer de locatie van de Miniserver in Loxone Config → Miniserver-instellingen → Locatie.
Polling
De plugin pollt niet automatisch — er worden alleen gegevens opgehaald wanneer de ingang Poll Trigger een opgaande flank ontvangt. Verbind deze met een willekeurig signaal dat de voertuiggegevens moet vernieuwen. Gebruik voor een snelle test een drukknop of een vermelding in de Weekly Timer; gebruik in de praktijk gebeurtenissen zoals het aansluiten van een wallbox, een wijziging van de laadstatus of een scène-activering. Houd rekening met de limiet van 50 aanvragen per dag per voertuig (zie Aanvraaglimiet en foutmeldingen hieronder).
Autorisatie
Bij het eerste gebruik heeft de plugin een eenmalige autorisatie met uw BMW-account nodig. Wanneer de Poll Trigger voor het eerst wordt geactiveerd, gaat de uitgang Autorisatie vereist naar 1 en verschijnt er een systeembericht met een autorisatielink. Open de link in een browser, meld u aan met uw BMW-account en bevestig — de gebruikerscode is al in de link opgenomen, dus BMW vraagt alleen om bevestiging. Hetzelfde bericht toont de gebruikerscode ook als platte tekst als reserveoptie; voer deze alleen handmatig in als de aanmeldpagina erom vraagt (zeldzaam). Na een geslaagde aanmelding haalt de plugin gegevens op en keert Autorisatie vereist terug naar 0. Het toegangstoken wordt vervolgens automatisch vernieuwd; een nieuwe aanmelding is alleen vereist als de toegang in het MyBMW-portaal wordt ingetrokken.

Where the authorization code comes from
You never create this code yourself — not in the MyBMW portal and not on the BMW API or Swagger pages. When the Poll Trigger fires, the plugin automatically requests a one-time code from BMW and shows it to you in two places: in the Loxone App system message (after 'enter the code:'), and in the Authorization URL output as the user_code parameter of the link (https://customer.bmwgroup.com/oneid/link?user_code=...). You normally never type it: the 'Open BMW login' button and the Authorization URL link already contain the code, so BMW only asks you to sign in and confirm. The plain-text code is only a fallback if a login page ever asks for it manually. The code is valid for a few minutes; if it expires before you finish, fire the Poll Trigger again to get a fresh one.

Aanvraaglimiet en foutmeldingen↑
De BMW CarData API staat maximaal 50 gegevensaanvragen per dag per voertuig toe. De teller wordt om middernacht UTC teruggezet. Een normale gegevensvernieuwing verbruikt 1 aanvraag. De allereerste vernieuwing na de installatie verbruikt eenmalig een of twee extra aanvragen om het voertuigmodel te detecteren en het gegevenskanaal voor te bereiden — houd rekening met ~3 aanvragen op de dag van de eerste installatie.
![]() | Activeer niet meer dan ~45 polls per dag per voertuig om ruimte te laten voor de aanvragen van de eerste poll en ad-hoc-updates. |
Systeemberichten
De plugin genereert systeemberichten in Loxone Config en de Loxone App voor de volgende situaties: Autorisatie vereist — zie het gedeelte Autorisatie hierboven. Aanvraaglimiet bereikt — het quotum van 50 aanvragen/dag is overschreden; het bericht toont de tijd tot middernacht UTC wanneer de teller wordt teruggezet. Verbindingsfout — de Miniserver kan de BMW CarData API niet bereiken; controleer de internetverbinding. Client ID ontbreekt — er is geen Client ID geconfigureerd in de plugin-instellingen. Voertuig niet gevonden — de geconfigureerde VIN is niet aan het BMW-account toegewezen of bestaat niet; controleer de VIN en de voertuigmachtigingen in het MyBMW-portaal.
Sensors and Actuators↑
This section explains what each signal is for. Units and value ranges are listed in the Sensors and Actuators tables above.
Sensors
VIN — the 17-character vehicle identification number; use it to tell several vehicles apart or for logging.
Model — the model name reported by BMW; for display and labeling.
Battery SOC (%) — high-voltage battery state of charge; charge control, low-battery notifications, visualization.
Electric Range (km) — remaining electric range; range warnings, trip planning.
Mileage (km) — odometer reading; service-interval tracking, logging.
Charging (0/1) — 1 while the vehicle is actively charging; PV-surplus logic, notifications, summer cabin ventilation.
Remaining Charge Time (min) — estimated time until full (only meaningful while charging); 'ready by' display, departure planning.
Cable Connected (0/1) — 1 while the charge cable is connected; remind the user to plug in, gate charging automations.
Charging Power (kW) — current charging power; energy monitoring, load management.
Authorization Required (0/1) — 1 while the plugin is waiting for authorization; trigger a reminder.
Authorization URL (Text) — the login link; display it in the Loxone App so the user can authorize.
Distance from Home (km) — air-line distance between the Miniserver location and the vehicle's GPS position. Use it as a coarse 'is the car at home?' indicator, e.g. together with Charging to confirm the car is charging at home. It is not suitable for real-time arrival automations (such as opening the garage), because that would require near-constant polling while the API is limited to 50 requests per day and the plugin only fetches on a Poll Trigger.
Actuators
Poll Trigger — a rising edge fetches fresh vehicle data once. The plugin never polls on its own; drive this from a scheduled time trigger (for example a few times a day), a 'wallbox connected' event, or a button.
Sensoren↑
| Korte beschrijving | Eenheid | Waardebereik |
|---|---|---|
| VIN | Tekst | - |
| Model | Tekst | - |
| Battery SOC | % | 0...100 |
| Electric Range | km | 0...1000 |
| Mileage | km | 0...1000000 |
| Charging | Digitaal | 0/1 |
| Remaining Charge Time | min | 0...3000 |
| Cable Connected | Digitaal | 0/1 |
| Charging Power | kW | 0...22 |
| Authorization Required | Digitaal | 0/1 |
| Authorization URL | Tekst | - |
| Distance from Home | km | 0...50000 |
Actoren↑
| Korte beschrijving | Eenheid | Waardebereik |
|---|---|---|
| Poll Trigger | Digitaal | 0/1 |
Diagnose ingangen↑
| Korte beschrijving | Beschrijving | Eenheid | Waardebereik |
|---|---|---|---|
| Online | Geeft aan of het apparaat door de Miniserver kan worden bereikt. Diagnose voor Air-apparaten Diagnose voor Tree-apparaten Diagnose voor Extensions | Digitaal | 0/1 |
Eigenschappen↑
| Korte beschrijving | Beschrijving | Standaardwaarde |
|---|---|---|
| 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. | - |
| Dienst bewaken | Indien aangevinkt, wordt u via de systeemstatus of via de cloud mailer verwittigd indien deze dienst niet langer beschikbaar of offline is. | - |

