BMW CarData

Plugin BMW CarData získává data vozidel z rozhraní BMW CarData API a poskytuje je jako vstupy v LOXONE Config. Každé vozidlo je konfigurováno jako samostatné podřízené zařízení.

Požadavky: aktivní účet BMW s přiřazeným vozidlem, LOXONE Miniserver Gen.2 s přístupem k internetu a desktopový prohlížeč pro jednorázovou aktivaci. Přepínač CarData API je k dispozici pouze ve webovém portálu MyBMW na adrese bmw.com/mybmw — v mobilní aplikaci MyBMW NENÍ k dispozici.
Kompatibilní vozidla: obvykle modely BMW přibližně od roku 2017 s výbavou ConnectedDrive. BMW CarData API umožňuje maximálně 50 požadavků na data za den na jeden účet BMW, sdílených napříč všemi vozidly.

Obsah


Konfigurace↑

První nastavení

Postupujte podle těchto kroků v daném pořadí:
1. V prohlížeči na počítači (mobilní aplikace MyBMW tuto možnost nenabízí) otevřete bmw.com/mybmw a přihlaste se pomocí svého účtu BMW.
2. Vyberte své vozidlo a poté přejděte: BMW CarData → Technical Access to BMW CarData → CarData API. Aktivujte „Request access to CarData API" a přijměte podmínky sdílení dat BMW CarData. Portál poté zobrazí identifikátor ve formátu xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx — zkopírujte jej do schránky.
3. V LOXONE Config přidejte do síťové periferie plugin „BMW CarData". Otevřete nastavení pluginu pomocí ikony ozubeného kola a vložte identifikátor do pole Client ID. (Jeden identifikátor je sdílen napříč všemi vozidly nakonfigurovanými v rámci tohoto pluginu.)
4. Vyberte plugin BMW CarData ve stromu periferií (v části síťové periferie) a kliknutím na „Add device" v panelu nástrojů nahoře přidejte „BMW Vehicle". Zadejte VIN — 17místné identifikační číslo vozidla. VIN najdete v technickém průkazu vozidla, na spodním okraji čelního skla a v MyBMW → Vehicle overview po výběru vozidla.
5. Připojte vstup Poll Trigger k signálu, který má spustit obnovení dat — pro rychlý test stačí tlačítko; v ostrém provozu jsou typickými zdroji naplánovaný časový spouštěč (například několikrát denně), událost z připojeného wallboxu nebo změna stavu nabíjení. Bez připojeného vstupu Poll Trigger plugin nenačítá žádná data.
6. Uložte konfiguraci do Miniserveru.
7. Při prvním spuštění vstupu Poll Trigger se v aplikaci LOXONE App (a v LOXONE Config) zobrazí systémové hlášení. Klepněte na tlačítko „Open BMW login" (nikoli „OK"), přihlaste se pomocí svého účtu BMW a potvrďte — kód je již vložen, takže stačí jedno klepnutí a potvrzení. Pokud jste omylem klepli na „OK", spusťte vstup Poll Trigger znovu pro restart.
8. Plugin nyní načítá data vozidla při každém impulzu vstupu Poll Trigger. Přístupový token je uložen v Miniserveru a automaticky obnovován; znovu se přihlašovat nemusíte, dokud přístup neodvoláte v portálu MyBMW.

Client ID

Client ID se vytváří jednou na účet BMW ve webovém portálu MyBMW na adrese bmw.com/mybmw (vyžadován desktopový prohlížeč — mobilní aplikace MyBMW tuto nabídku neobsahuje) v části Vehicle overview → BMW CarData → Technical Access to BMW CarData → CarData API. Přijetí podmínek sdílení dat BMW CarData je při první aktivaci povinné. Jedno Client ID je sdíleno mezi všemi vozidly konfigurovanými v rámci tohoto pluginu a zůstává platné, dokud není přístup zrušen ve stejném portálu.

Souřadnice domova

Hodnota „Vzdálenost od domova“ se vypočítává jako vzdálenost po velkém kruhu mezi souřadnicemi Miniserveru a aktuální GPS polohou vozidla. Polohu Miniserveru nastavte v LOXONE Config → Nastavení Miniserveru → Poloha.

Dotazování

Plugin nezjišťuje data automaticky — načte je pouze tehdy, když vstup Poll Trigger zaznamená náběžnou hranu. Připojte jej k libovolnému signálu, který má vyvolat aktualizaci dat vozidla. Pro rychlý test použijte tlačítko; v provozu použijte naplánovaný časový impuls (několikrát denně), připojení wallboxu nebo změnu stavu nabíjení. Mějte na paměti limit 50 požadavků za den na účet BMW, sdílený napříč všemi vozidly (viz Limit počtu požadavků a chybové zprávy níže).

Autorizace

Každé vozidlo je nutné jednou autorizovat pomocí účtu BMW. Doporučeným způsobem je použití aplikace LOXONE. Po přidání vozidla uložte konfiguraci do Miniserveru a jednou spusťte Poll Trigger. V aplikaci LOXONE a v LOXONE Config se zobrazí systémová zpráva. Dokud autorizace není dokončena, je výstup „Authorization Required“ nastaven na hodnotu 1. V této zprávě vyberte možnost „Open BMW login“ (nikoli tlačítko „OK“). Tímto krokem se otevře přihlašovací okno BMW s vloženým autorizačním kódem. Uživatel se přihlásí pomocí svého účtu BMW a potvrdí přístup. Po úspěšné autorizaci plugin načte data a výstup „Authorization Required“ se resetuje na hodnotu 0. Pokud bylo omylem vybráno tlačítko „OK“ nebo pokud autorizace selže, spusťte Poll Trigger znovu, aby se znovu zobrazila autorizační zpráva a proces se restartoval. Po úspěšné autorizaci se přístupový token automaticky aktualizuje. Opětovná autorizace je nutná pouze v případě, že je přístup odvolán v portálu MyBMW.

Odkud pochází autorizační kód

Tento kód si nevytváříte sami – ani na portálu MyBMW, ani na stránkách BMW API či Swagger. Když se spustí Poll Trigger, plugin automaticky vyžádá od BMW jednorázový kód a zobrazí vám ho na dvou místech: v systémové zprávě aplikace LOXONE (za textem „zadejte kód:“), a ve výstupu autorizační URL jako parametr user_code v odkazu (https://customer.bmwgroup.com/oneid/link?user_code=...). Obvykle jej nemusíte zadávat: tlačítko „Otevřít přihlášení do BMW“ a odkaz na autorizační URL již kód obsahují, takže BMW vás pouze požádá o přihlášení a potvrzení. Kód v prostém textu slouží pouze jako záložní řešení pro případ, že by přihlašovací stránka někdy vyžadovala ruční zadání. Kód je platný několik minut; pokud vyprší dříve, než dokončíte, spusťte spouštěč Poll znovu, abyste získali nový kód.


Limit počtu požadavků a chybové zprávy↑

BMW CarData API umožňuje maximálně 50 požadavků na data za den na jeden účet BMW, sdílených napříč všemi vozidly. Počítadlo se resetuje o půlnoci UTC. Běžná aktualizace dat spotřebuje 1 požadavek. Úplně první aktualizace po nastavení jednorázově spotřebuje jeden až dva požadavky navíc potřebné k rozpoznání modelu vozidla a přípravě datového kanálu — v den počátečního nastavení počítejte s ~3 požadavky.

Nevyvolávejte v součtu napříč všemi vozidly na účtu více než ~45 dotazů (poll) denně, aby zůstala rezerva pro počáteční požadavky a ad-hoc aktualizace.

Systémové zprávy

Plugin generuje systémové zprávy v LOXONE Config a LOXONE App pro následující situace: Vyžadována autorizace — viz část Autorizace výše. Dosažen limit počtu požadavků — kvóta 50 požadavků/den byla překročena; zpráva zobrazuje čas zbývající do půlnoci UTC, kdy se počítadlo resetuje. Chyba připojení — Miniserver nemůže dosáhnout rozhraní BMW CarData API; zkontrolujte připojení k internetu. Chybí Client ID — v nastavení pluginu nebylo nakonfigurováno žádné Client ID. Vozidlo nenalezeno — nakonfigurované VIN není přiřazeno k účtu BMW nebo neexistuje; zkontrolujte VIN a oprávnění vozidla v portálu MyBMW.

Známá chyba na straně BMW (nejde o chybu pluginu): během autorizace může BMW vrátit interní chybu synchronizace — HTTP 500 „Invalid Access Token" (keymanagement.service.invalid_access_token), bezprostředně následovanou chybou access_denied („The user has declined authorization"), a to i přesto, že jste hlavním uživatelem vozidla a sdílení dat jste odsouhlasili. Zákaznická podpora BMW potvrdila, že se to týká hlavně nově vytvořených klientů CarData. Řešení, celé prováděné v portálu MyBMW (bmw.com/mybmw): smažte klienta CarData, počkejte ~30 sekund, vytvořte nového klienta, počkejte ~30 sekund, aktivujte CarData API, počkejte ~30 sekund a poté aktivujte CarData Streaming. Zkopírujte nové Client ID do nastavení pluginu a znovu spusťte Poll Trigger. Pokud chyba přetrvává i po vytvoření nového klienta, jde výhradně o problém na straně BMW — kontaktujte prosím přímo BMW (BMW neposkytuje LOXONE žádný partnerský ani vývojářský přístup, kterým by šlo problém vyřešit za vás).


Senzory a aktory↑

V této části je vysvětleno, k čemu jednotlivé signály slouží. Jednotky a rozsahy hodnot jsou uvedeny v tabulkách „Senzory“ a „Aktory“ výše.

Senzory

VIN – 17místné identifikační číslo vozidla; slouží k rozlišení jednotlivých vozidel nebo k evidenci.
Model — název modelu uvedený společností BMW; pro účely zobrazení a označení.
Stav nabití baterie (SOC, %) — stav nabití vysokonapěťové baterie; řízení nabíjení, upozornění na nízký stav nabití, vizualizace.
Dojezd na elektřinu (km) — zbývající dojezd na elektřinu; upozornění na dojezd, plánování trasy.
Najeté kilometry (km) — stav tachometru; sledování servisních intervalů, logování.
Nabíjení (0/1) — 1, pokud se vozidlo právě nabíjí; logika využití přebytku solární energie, oznámení, letní větrání kabiny.
Zbývající doba nabíjení (min) — odhadovaná doba do plného nabití (má smysl pouze během nabíjení); zobrazení „připraveno do“, plánování odjezdu.
Kabel připojen (0/1) — hodnota 1, pokud je nabíjecí kabel připojen; připomenout uživateli, aby kabel připojil, a spustit automatické nabíjení.
Nabíjecí výkon (kW) — aktuální nabíjecí výkon; monitorování spotřeby energie, řízení zátěže.
Vyžadováno oprávnění (0/1) — 1, dokud plugin čeká na oprávnění; spustit připomenutí.
URL pro autorizaci (text) — odkaz pro přihlášení; zobrazte jej v aplikaci LOXONE, aby se uživatel mohl autorizovat.
Vzdálenost od domova (km) — vzdálenost po velkém kruhu mezi polohou Miniserveru a GPS polohou vozidla. Použijte ji jako hrubý ukazatel toho, zda je auto doma, např. společně s funkcí „Nabíjení“, abyste ověřili, zda se auto nabíjí doma. Není vhodná pro automatizace v reálném čase při příjezdu (například otevření garáže), protože to by vyžadovalo téměř neustálé dotazování, zatímco API je omezeno na 50 požadavků denně a plugin data načítá pouze na základě spouštěče dotazování (Poll Trigger).

Aktory

Poll Trigger — při vzestupné hraně se jednou načtou aktuální údaje o vozidle. Plugin nikdy neprovádí dotazování z vlastní iniciativy; spouštějte jej pomocí časového plánu (například několikrát denně), události „nabíječka připojena“ nebo stisknutím tlačítka.


Senzory↑

Krátký popisJednotkyRozsah hodnot
VINText-
ModelText-
Battery SOC%0...100
Electric Rangekm0...1000
Mileagekm0...1000000
ChargingDigital0/1
Remaining Charge Timemin0...3000
Cable ConnectedDigital0/1
Charging PowerkW0...22
Authorization RequiredDigital0/1
Authorization URLText-
Distance from Homekm0...50000




Aktory↑

Krátký popisJednotkyRozsah hodnot
Poll TriggerDigital0/1




Vstupy pro diagnostiku↑

Krátký popisPopisJednotkyRozsah hodnot
OnlineUvádí, zda je zařízení dostupné pro Miniserver.
Diagnostika Air zařízení
Diagnostika Tree zařízení
Diagnostika Extensionu
Digital0/1




Vlastnosti↑

Krátký popisPopisVýchozí hodnota
BMW CarData Client IDClient UUID created in MyBMW portal: Vehicle overview → BMW CarData → Technical Access to BMW CarData → CarData API → Request access. Shared across all configured vehicles.-
Monitorovat službuPokud je tato možnost zaškrtnuta, budete o nedostupnosti nebo offline stavu této služby informováni prostřednictvím Stavu Systému nebo Cloud Maileru.-