diff --git a/404.html b/404.html index 2e72f70537..5645fca558 100644 --- a/404.html +++ b/404.html @@ -10,7 +10,7 @@ - + diff --git a/assets/js/75a21962.3f0dacb5.js b/assets/js/75a21962.3f0dacb5.js deleted file mode 100644 index 00e13e5176..0000000000 --- a/assets/js/75a21962.3f0dacb5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkevcc_docs=self.webpackChunkevcc_docs||[]).push([[6968],{4195:(e,n,t)=>{t.d(n,{ZP:()=>l});var a=t(5893),r=t(1151);function i(e){const n={a:"a",admonition:"admonition",p:"p",...(0,r.a)(),...e.components};return(0,a.jsx)(n.admonition,{title:"Sponsor-Token erforderlich",type:"tip",children:(0,a.jsxs)(n.p,{children:["Weitere Informationen zum \ud83d\udc9a evcc Sponsorship gibt es ",(0,a.jsx)(n.a,{href:"/docs/sponsorship",children:"hier"}),"."]})})}function l(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(i,{...e})}):i(e)}},3847:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>l,metadata:()=>o,toc:()=>d});var a=t(5893),r=t(1151),i=(t(4866),t(5162),t(4195));const l={sidebar_position:3},s="Fahrzeuge",o={id:"devices/vehicles",title:"Fahrzeuge",description:"Um die Ladung auf einen bestimmten Ladestand (SoC) zu begrenzen, und die meisten Wallboxen diesen nicht kennen, kann evcc direkt mit dem Fahrzeug \xfcber den Fahrzeughersteller kommunizieren.",source:"@site/docs/devices/vehicles.mdx",sourceDirName:"devices",slug:"/devices/vehicles",permalink:"/docs/devices/vehicles",draft:!1,unlisted:!1,editUrl:"https://github.com/evcc-io/docs/tree/main/docs/devices/vehicles.mdx",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Hausinstallation",permalink:"/docs/devices/meters"},next:{title:"Referenz",permalink:"/docs/reference/"}},c={},d=[{value:"Aiways",id:"aiways",level:2},{value:"Audi",id:"audi",level:2},{value:"BMW",id:"bmw",level:2},{value:"Citro\xebn",id:"citro\xebn",level:2},{value:"Dacia",id:"dacia",level:2},{value:"DS",id:"ds",level:2},{value:"Fiat",id:"fiat",level:2},{value:"Ford",id:"ford",level:2},{value:"Hyundai Bluelink",id:"hyundai-bluelink",level:2},{value:"Jaguar",id:"jaguar",level:2},{value:"Jeep",id:"jeep",level:2},{value:"Kia Bluelink",id:"kia-bluelink",level:2},{value:"Land Rover",id:"land-rover",level:2},{value:"Mini",id:"mini",level:2},{value:"Nissan",id:"nissan",level:2},{value:"Leaf",id:"leaf",level:3},{value:"Leaf (pre 2019)",id:"leaf-pre-2019",level:3},{value:"Opel",id:"opel",level:2},{value:"Peugeot",id:"peugeot",level:2},{value:"Polestar",id:"polestar",level:2},{value:"Porsche",id:"porsche",level:2},{value:"Renault",id:"renault",level:2},{value:"Seat",id:"seat",level:2},{value:"CupraConnect Gen3 (Ateca, Leon, Formentor)",id:"cupraconnect-gen3-ateca-leon-formentor",level:3},{value:"CupraConnect Gen4 (Born)",id:"cupraconnect-gen4-born",level:3},{value:"Skoda",id:"skoda",level:2},{value:"Andere",id:"andere",level:3},{value:"Enyaq",id:"enyaq",level:3},{value:"Smart EQ",id:"smart-eq",level:2},{value:"Tesla",id:"tesla",level:2},{value:"Volkswagen",id:"volkswagen",level:2},{value:"We Connect (legacy)",id:"we-connect-legacy",level:3},{value:"We Connect ID",id:"we-connect-id",level:3},{value:"Volvo",id:"volvo",level:2},{value:"legacy",id:"legacy",level:3},{value:"Generische Unterst\xfctzung",id:"generische-unterst\xfctzung",level:2},{value:"manuell",id:"manuell",level:3},{value:"evNotify",id:"evnotify",level:3},{value:"ISO15118",id:"iso15118",level:3},{value:"mazda2mqtt",id:"mazda2mqtt",level:3},{value:"mg2mqtt",id:"mg2mqtt",level:3},{value:"Offline",id:"offline",level:3},{value:"Open Vehicle Monitoring System",id:"open-vehicle-monitoring-system",level:3},{value:"PSA Car Controller",id:"psa-car-controller",level:3},{value:"TeslaMate",id:"teslamate",level:3},{value:"Tronity",id:"tronity",level:3},{value:"Scooter",id:"scooter",level:2},{value:"NIU E-Scooter",id:"niu-e-scooter",level:3}];function h(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,r.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.h1,{id:"fahrzeuge",children:"Fahrzeuge"}),"\n",(0,a.jsx)(n.p,{children:"Um die Ladung auf einen bestimmten Ladestand (SoC) zu begrenzen, und die meisten Wallboxen diesen nicht kennen, kann evcc direkt mit dem Fahrzeug \xfcber den Fahrzeughersteller kommunizieren."}),"\n",(0,a.jsx)(n.p,{children:"In der Konfigurationsdatei gibt es hierzu den folgenden Bereich:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: ev\n type: ...\n"})}),"\n",(0,a.jsxs)(n.p,{children:["Auf dieser Seite findest du die Konfigurationen f\xfcr alle von evcc unterst\xfctzten Fahrzeuge.\nNachdem du das Code-Beispiel f\xfcr dein Fahrzeug angepasst und in die ",(0,a.jsx)(n.code,{children:"evcc.yaml"})," \xfcbernommen hast, kannst du die Verbindung mit dem Befehl ",(0,a.jsx)(n.code,{children:"evcc vehicle"})," testen. Dabei werden alle konfigurierten Fahrzeuge getestet. Mit dem Befehl ",(0,a.jsx)(n.code,{children:"evcc vehicle --name my_ev"})," kann man mittels des vergebenen Namens selektiv testen."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{children:"$ ./evcc vehicle\n\nSoC: 57%\nCharge status: B\nCharged: 4.7kWh\nCapacity: 77kWh\nRange: 280km\nOdometer: 4131km\n"})}),"\n",(0,a.jsx)(n.admonition,{type:"note",children:(0,a.jsxs)(n.p,{children:["Die Qualit\xe4t und Verf\xfcgbarkeit der Fahrzeugschnittstellen variiert von Hersteller zu Hersteller. Solltest du anhaltende Probleme mit dem aktualisieren deiner Fahrzeugdaten haben melde dich bitte in den ",(0,a.jsx)(n.a,{href:"https://github.com/evcc-io/evcc/discussions",children:"GitHub Discussions"}),"."]})}),"\n",(0,a.jsx)(n.h2,{id:"aiways",children:"Aiways"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: aiways\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"audi",children:"Audi"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: audi\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: WAUZZZ... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"bmw",children:"BMW"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: bmw\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: WBMW... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"citro\xebn",children:"Citro\xebn"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: citroen\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"dacia",children:"Dacia"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: dacia\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"ds",children:"DS"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: ds\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"fiat",children:"Fiat"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: fiat\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: ZFAE... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional)\n pin: # optional \n"})}),"\n",(0,a.jsx)(n.h2,{id:"ford",children:"Ford"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: ford\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: WF0FXX... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"hyundai-bluelink",children:"Hyundai Bluelink"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: hyundai\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional)\n language: en # 'de' f\xfcr Deutsch und 'en' f\xfcr Englisch (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"jaguar",children:"Jaguar"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: jaguar-landrover\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"jeep",children:"Jeep"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: fiat\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: ZFAE... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional)\n pin: # optional \n"})}),"\n",(0,a.jsx)(n.h2,{id:"kia-bluelink",children:"Kia Bluelink"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: kia\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional)\n language: en # 'de' f\xfcr Deutsch und 'en' f\xfcr Englisch (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"land-rover",children:"Land Rover"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: jaguar-landrover\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"mini",children:"Mini"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: mini\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: WBMW... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"nissan",children:"Nissan"}),"\n",(0,a.jsx)(n.h3,{id:"leaf",children:"Leaf"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: nissan\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h3,{id:"leaf-pre-2019",children:"Leaf (pre 2019)"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: carwings\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"opel",children:"Opel"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: opel\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: WP0... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"peugeot",children:"Peugeot"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: peugeot\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"polestar",children:"Polestar"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: polestar\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: LPSVS... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"porsche",children:"Porsche"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: porsche\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"renault",children:"Renault"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: renault\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: WREN... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"seat",children:"Seat"}),"\n",(0,a.jsx)(n.h3,{id:"cupraconnect-gen3-ateca-leon-formentor",children:"CupraConnect Gen3 (Ateca, Leon, Formentor)"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: seat\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h3,{id:"cupraconnect-gen4-born",children:"CupraConnect Gen4 (Born)"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: cupra\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"skoda",children:"Skoda"}),"\n",(0,a.jsx)(n.h3,{id:"andere",children:"Andere"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: skoda\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h3,{id:"enyaq",children:"Enyaq"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: enyaq\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional)\n timeout: 10s # optional \n"})}),"\n",(0,a.jsx)(n.h2,{id:"smart-eq",children:"Smart EQ"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: smart\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"tesla",children:"Tesla"}),"\n",(0,a.jsxs)(n.p,{children:["Es wird ein ",(0,a.jsx)(n.code,{children:"access"})," und ein ",(0,a.jsx)(n.code,{children:"refresh"})," Token f\xfcr die Kommunikation mit der Tesla API erstellt werden."]}),"\n",(0,a.jsx)(n.p,{children:"Folgende Apps erm\xf6glichen das Erstellen von den beiden Tokens:"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:(0,a.jsx)(n.a,{href:"https://apps.apple.com/us/app/auth-app-for-tesla/id1552058613#?platform=iphone",children:"Auth app for Tesla (iOS)"})}),"\n",(0,a.jsx)(n.li,{children:(0,a.jsx)(n.a,{href:"https://play.google.com/store/apps/details?id=net.leveugle.teslatokens",children:"Tesla Tokens (Android)"})}),"\n",(0,a.jsx)(n.li,{children:(0,a.jsx)(n.a,{href:"https://github.com/adriankumpf/tesla_auth",children:"Tesla Auth (macOS, Linux)"})}),"\n"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: tesla\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n accessToken: # Siehe https://docs.evcc.io/docs/devices/vehicles#tesla\n refreshToken: # Siehe https://docs.evcc.io/docs/devices/vehicles#tesla\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"volkswagen",children:"Volkswagen"}),"\n",(0,a.jsx)(n.h3,{id:"we-connect-legacy",children:"We Connect (legacy)"}),"\n",(0,a.jsx)(n.p,{children:"\xe4ltere Modelle wie e-Up, e-Golf, etc."}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: vw\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: WVWZZZ... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional)\n timeout: 10s # optional \n"})}),"\n",(0,a.jsx)(n.h3,{id:"we-connect-id",children:"We Connect ID"}),"\n",(0,a.jsx)(n.p,{children:"ID.3, ID.4 (funktioniert auch f\xfcr e-Golf, e-Up)"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: id\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: WVWZZZ... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional)\n timeout: 10s # optional \n"})}),"\n",(0,a.jsx)(n.h2,{id:"volvo",children:"Volvo"}),"\n",(0,a.jsx)(n.h3,{id:""}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: volvo-connected\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional)\n vccapikey: # Volvo developer portal VCC API Key, siehe https://github.com/evcc-io/evcc/discussions/3677#discussioncomment-4106300 \n"})}),"\n",(0,a.jsx)(n.h3,{id:"legacy",children:"legacy"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: volvo\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"generische-unterst\xfctzung",children:"Generische Unterst\xfctzung"}),"\n",(0,a.jsx)(n.h3,{id:"manuell",children:"manuell"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: custom\n title: Mein Auto # display name for UI\n capacity: 50 # byttery capacity (kWh)\n soc: # battery soc (%)\n source: # plugin type\n # ...\n status: # optional charge status (A..F)\n source: # plugin type\n # ...\n range: # optional electric range (km)\n source: # plugin type\n # ...\n"})}),"\n",(0,a.jsx)(n.h3,{id:"evnotify",children:"evNotify"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: evnotify\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n akey:\n token:\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h3,{id:"iso15118",children:"ISO15118"}),"\n",(0,a.jsx)(n.p,{children:"Nur unterst\xfctzt wenn das Fahrzeug den Ladestand (Soc) an die verbundene Wallbox \xfcbermitteln kann."}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: iso15118\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h3,{id:"mazda2mqtt",children:"mazda2mqtt"}),"\n",(0,a.jsxs)(n.p,{children:["Voraussetzung ist ein konfigurierter MQTT Broker und eine mazda2mqtt Installation ",(0,a.jsx)(n.a,{href:"https://github.com/C64Axel/mazda2mqtt",children:"https://github.com/C64Axel/mazda2mqtt"}),"."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: mazda2mqtt\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n vin: W... # Erforderlich\n capacity: 50 # Akkukapazit\xe4t in kWh (optional)\n timeout: 720h # optional \n"})}),"\n",(0,a.jsx)(n.h3,{id:"mg2mqtt",children:"mg2mqtt"}),"\n",(0,a.jsxs)(n.p,{children:["Voraussetzung ist ein konfigurierter MQTT Broker und ein SAIC/MQTT Gateway (",(0,a.jsx)(n.a,{href:"https://github.com/SAIC-iSmart-API/saic-python-mqtt-gateway",children:"https://github.com/SAIC-iSmart-API/saic-python-mqtt-gateway"})," oder ",(0,a.jsx)(n.a,{href:"https://github.com/SAIC-iSmart-API/saic-java-client",children:"https://github.com/SAIC-iSmart-API/saic-java-client"}),")"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: mg2mqtt\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind\n capacity: 50 # Akkukapazit\xe4t in kWh (optional)\n timeout: 1h # optional \n"})}),"\n",(0,a.jsx)(n.h3,{id:"offline",children:"Offline"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: offline\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h3,{id:"open-vehicle-monitoring-system",children:"Open Vehicle Monitoring System"}),"\n",(0,a.jsxs)(n.p,{children:["Unterst\xfctzung f\xfcr alle Fahrzeuge via ODB2 Adapter im Fahrzeug. Mehr Infos bei ",(0,a.jsx)(n.a,{href:"http://api.openvehicles.com/",children:"Open Vehicle Monitoring System"}),"."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: ovms\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vehicleid:\n capacity: 12 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h3,{id:"psa-car-controller",children:"PSA Car Controller"}),"\n",(0,a.jsxs)(n.p,{children:["Remote Control of PSA car ",(0,a.jsx)(n.a,{href:"https://github.com/flobz/psa_car_controller",children:"https://github.com/flobz/psa_car_controller"})]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: flobz\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n url: http://192.0.2.2\n vin: W... # Erforderlich\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h3,{id:"teslamate",children:"TeslaMate"}),"\n",(0,a.jsxs)(n.p,{children:["Open Source Tesla Datenlogger ",(0,a.jsx)(n.a,{href:"https://github.com/adriankumpf/teslamate",children:"https://github.com/adriankumpf/teslamate"}),". Voraussetzung ist konfigurierter MQTT Broker."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: teslamate\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n id: 1 # optional\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h3,{id:"tronity",children:"Tronity"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: tronity\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n clientid: # Einrichtung unter https://app.tronity.tech\n clientsecret: # Einrichtung unter https://app.tronity.tech\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 10 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(i.ZP,{}),"\n",(0,a.jsx)(n.h2,{id:"scooter",children:"Scooter"}),"\n",(0,a.jsx)(n.h3,{id:"niu-e-scooter",children:"NIU E-Scooter"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: niu-e-scooter\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n icon: scooter # Icon in der Benutzeroberfl\xe4che (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n serial:\n capacity: 4 # Akkukapazit\xe4t in kWh (optional) \n"})})]})}function u(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(h,{...e})}):h(e)}},5162:(e,n,t)=>{t.d(n,{Z:()=>l});t(7294);var a=t(512);const r={tabItem:"tabItem_Ymn6"};var i=t(5893);function l(e){let{children:n,hidden:t,className:l}=e;return(0,i.jsx)("div",{role:"tabpanel",className:(0,a.Z)(r.tabItem,l),hidden:t,children:n})}},4866:(e,n,t)=>{t.d(n,{Z:()=>x});var a=t(7294),r=t(512),i=t(2466),l=t(6550),s=t(469),o=t(1980),c=t(7392),d=t(12);function h(e){return a.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,a.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function u(e){const{values:n,children:t}=e;return(0,a.useMemo)((()=>{const e=n??function(e){return h(e).map((e=>{let{props:{value:n,label:t,attributes:a,default:r}}=e;return{value:n,label:t,attributes:a,default:r}}))}(t);return function(e){const n=(0,c.l)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[n,t])}function p(e){let{value:n,tabValues:t}=e;return t.some((e=>e.value===n))}function m(e){let{queryString:n=!1,groupId:t}=e;const r=(0,l.k6)(),i=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t});return[(0,o._X)(i),(0,a.useCallback)((e=>{if(!i)return;const n=new URLSearchParams(r.location.search);n.set(i,e),r.replace({...r.location,search:n.toString()})}),[i,r])]}function g(e){const{defaultValue:n,queryString:t=!1,groupId:r}=e,i=u(e),[l,o]=(0,a.useState)((()=>function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!p({value:n,tabValues:t}))throw new Error(`Docusaurus error: The has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const a=t.find((e=>e.default))??t[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:n,tabValues:i}))),[c,h]=m({queryString:t,groupId:r}),[g,k]=function(e){let{groupId:n}=e;const t=function(e){return e?`docusaurus.tab.${e}`:null}(n),[r,i]=(0,d.Nk)(t);return[r,(0,a.useCallback)((e=>{t&&i.set(e)}),[t,i])]}({groupId:r}),v=(()=>{const e=c??g;return p({value:e,tabValues:i})?e:null})();(0,s.Z)((()=>{v&&o(v)}),[v]);return{selectedValue:l,selectValue:(0,a.useCallback)((e=>{if(!p({value:e,tabValues:i}))throw new Error(`Can't select invalid tab value=${e}`);o(e),h(e),k(e)}),[h,k,i]),tabValues:i}}var k=t(2389);const v={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var f=t(5893);function z(e){let{className:n,block:t,selectedValue:a,selectValue:l,tabValues:s}=e;const o=[],{blockElementScrollPositionUntilNextRender:c}=(0,i.o5)(),d=e=>{const n=e.currentTarget,t=o.indexOf(n),r=s[t].value;r!==a&&(c(n),l(r))},h=e=>{let n=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const t=o.indexOf(e.currentTarget)+1;n=o[t]??o[0];break}case"ArrowLeft":{const t=o.indexOf(e.currentTarget)-1;n=o[t]??o[o.length-1];break}}n?.focus()};return(0,f.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.Z)("tabs",{"tabs--block":t},n),children:s.map((e=>{let{value:n,label:t,attributes:i}=e;return(0,f.jsx)("li",{role:"tab",tabIndex:a===n?0:-1,"aria-selected":a===n,ref:e=>o.push(e),onKeyDown:h,onClick:d,...i,className:(0,r.Z)("tabs__item",v.tabItem,i?.className,{"tabs__item--active":a===n}),children:t??n},n)}))})}function b(e){let{lazy:n,children:t,selectedValue:r}=e;const i=(Array.isArray(t)?t:[t]).filter(Boolean);if(n){const e=i.find((e=>e.props.value===r));return e?(0,a.cloneElement)(e,{className:"margin-top--md"}):null}return(0,f.jsx)("div",{className:"margin-top--md",children:i.map(((e,n)=>(0,a.cloneElement)(e,{key:n,hidden:e.props.value!==r})))})}function y(e){const n=g(e);return(0,f.jsxs)("div",{className:(0,r.Z)("tabs-container",v.tabList),children:[(0,f.jsx)(z,{...e,...n}),(0,f.jsx)(b,{...e,...n})]})}function x(e){const n=(0,k.Z)();return(0,f.jsx)(y,{...e,children:h(e.children)},String(n))}},1151:(e,n,t)=>{t.d(n,{Z:()=>s,a:()=>l});var a=t(7294);const r={},i=a.createContext(r);function l(e){const n=a.useContext(i);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),a.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/75a21962.81b52f4b.js b/assets/js/75a21962.81b52f4b.js new file mode 100644 index 0000000000..91b9a61fea --- /dev/null +++ b/assets/js/75a21962.81b52f4b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkevcc_docs=self.webpackChunkevcc_docs||[]).push([[6968],{4195:(e,n,t)=>{t.d(n,{ZP:()=>l});var a=t(5893),r=t(1151);function i(e){const n={a:"a",admonition:"admonition",p:"p",...(0,r.a)(),...e.components};return(0,a.jsx)(n.admonition,{title:"Sponsor-Token erforderlich",type:"tip",children:(0,a.jsxs)(n.p,{children:["Weitere Informationen zum \ud83d\udc9a evcc Sponsorship gibt es ",(0,a.jsx)(n.a,{href:"/docs/sponsorship",children:"hier"}),"."]})})}function l(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(i,{...e})}):i(e)}},3847:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>l,metadata:()=>o,toc:()=>d});var a=t(5893),r=t(1151),i=(t(4866),t(5162),t(4195));const l={sidebar_position:3},s="Fahrzeuge",o={id:"devices/vehicles",title:"Fahrzeuge",description:"Um die Ladung auf einen bestimmten Ladestand (SoC) zu begrenzen, und die meisten Wallboxen diesen nicht kennen, kann evcc direkt mit dem Fahrzeug \xfcber den Fahrzeughersteller kommunizieren.",source:"@site/docs/devices/vehicles.mdx",sourceDirName:"devices",slug:"/devices/vehicles",permalink:"/docs/devices/vehicles",draft:!1,unlisted:!1,editUrl:"https://github.com/evcc-io/docs/tree/main/docs/devices/vehicles.mdx",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Hausinstallation",permalink:"/docs/devices/meters"},next:{title:"Referenz",permalink:"/docs/reference/"}},c={},d=[{value:"Aiways",id:"aiways",level:2},{value:"Audi",id:"audi",level:2},{value:"BMW",id:"bmw",level:2},{value:"Citro\xebn",id:"citro\xebn",level:2},{value:"Dacia",id:"dacia",level:2},{value:"DS",id:"ds",level:2},{value:"Fiat",id:"fiat",level:2},{value:"Ford",id:"ford",level:2},{value:"Hyundai Bluelink",id:"hyundai-bluelink",level:2},{value:"Jaguar",id:"jaguar",level:2},{value:"Jeep",id:"jeep",level:2},{value:"Kia Bluelink",id:"kia-bluelink",level:2},{value:"Land Rover",id:"land-rover",level:2},{value:"Mini",id:"mini",level:2},{value:"Nissan",id:"nissan",level:2},{value:"Leaf",id:"leaf",level:3},{value:"Leaf (pre 2019)",id:"leaf-pre-2019",level:3},{value:"Opel",id:"opel",level:2},{value:"Peugeot",id:"peugeot",level:2},{value:"Polestar",id:"polestar",level:2},{value:"Porsche",id:"porsche",level:2},{value:"Renault",id:"renault",level:2},{value:"Seat",id:"seat",level:2},{value:"CupraConnect Gen3 (Ateca, Leon, Formentor)",id:"cupraconnect-gen3-ateca-leon-formentor",level:3},{value:"CupraConnect Gen4 (Born)",id:"cupraconnect-gen4-born",level:3},{value:"Skoda",id:"skoda",level:2},{value:"Andere",id:"andere",level:3},{value:"Enyaq",id:"enyaq",level:3},{value:"Smart",id:"smart",level:2},{value:"EQ",id:"eq",level:3},{value:"Tesla",id:"tesla",level:2},{value:"Volkswagen",id:"volkswagen",level:2},{value:"We Connect (legacy)",id:"we-connect-legacy",level:3},{value:"We Connect ID",id:"we-connect-id",level:3},{value:"Volvo",id:"volvo",level:2},{value:"legacy",id:"legacy",level:3},{value:"Generische Unterst\xfctzung",id:"generische-unterst\xfctzung",level:2},{value:"manuell",id:"manuell",level:3},{value:"evNotify",id:"evnotify",level:3},{value:"ISO15118",id:"iso15118",level:3},{value:"mazda2mqtt",id:"mazda2mqtt",level:3},{value:"mg2mqtt",id:"mg2mqtt",level:3},{value:"Offline",id:"offline",level:3},{value:"Open Vehicle Monitoring System",id:"open-vehicle-monitoring-system",level:3},{value:"PSA Car Controller",id:"psa-car-controller",level:3},{value:"TeslaMate",id:"teslamate",level:3},{value:"Tronity",id:"tronity",level:3},{value:"Scooter",id:"scooter",level:2},{value:"NIU E-Scooter",id:"niu-e-scooter",level:3}];function h(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,r.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.h1,{id:"fahrzeuge",children:"Fahrzeuge"}),"\n",(0,a.jsx)(n.p,{children:"Um die Ladung auf einen bestimmten Ladestand (SoC) zu begrenzen, und die meisten Wallboxen diesen nicht kennen, kann evcc direkt mit dem Fahrzeug \xfcber den Fahrzeughersteller kommunizieren."}),"\n",(0,a.jsx)(n.p,{children:"In der Konfigurationsdatei gibt es hierzu den folgenden Bereich:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: ev\n type: ...\n"})}),"\n",(0,a.jsxs)(n.p,{children:["Auf dieser Seite findest du die Konfigurationen f\xfcr alle von evcc unterst\xfctzten Fahrzeuge.\nNachdem du das Code-Beispiel f\xfcr dein Fahrzeug angepasst und in die ",(0,a.jsx)(n.code,{children:"evcc.yaml"})," \xfcbernommen hast, kannst du die Verbindung mit dem Befehl ",(0,a.jsx)(n.code,{children:"evcc vehicle"})," testen. Dabei werden alle konfigurierten Fahrzeuge getestet. Mit dem Befehl ",(0,a.jsx)(n.code,{children:"evcc vehicle --name my_ev"})," kann man mittels des vergebenen Namens selektiv testen."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{children:"$ ./evcc vehicle\n\nSoC: 57%\nCharge status: B\nCharged: 4.7kWh\nCapacity: 77kWh\nRange: 280km\nOdometer: 4131km\n"})}),"\n",(0,a.jsx)(n.admonition,{type:"note",children:(0,a.jsxs)(n.p,{children:["Die Qualit\xe4t und Verf\xfcgbarkeit der Fahrzeugschnittstellen variiert von Hersteller zu Hersteller. Solltest du anhaltende Probleme mit dem aktualisieren deiner Fahrzeugdaten haben melde dich bitte in den ",(0,a.jsx)(n.a,{href:"https://github.com/evcc-io/evcc/discussions",children:"GitHub Discussions"}),"."]})}),"\n",(0,a.jsx)(n.h2,{id:"aiways",children:"Aiways"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: aiways\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"audi",children:"Audi"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: audi\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: WAUZZZ... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"bmw",children:"BMW"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: bmw\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: WBMW... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"citro\xebn",children:"Citro\xebn"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: citroen\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"dacia",children:"Dacia"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: dacia\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"ds",children:"DS"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: ds\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"fiat",children:"Fiat"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: fiat\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: ZFAE... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional)\n pin: # optional \n"})}),"\n",(0,a.jsx)(n.h2,{id:"ford",children:"Ford"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: ford\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: WF0FXX... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"hyundai-bluelink",children:"Hyundai Bluelink"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: hyundai\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional)\n language: en # 'de' f\xfcr Deutsch und 'en' f\xfcr Englisch (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"jaguar",children:"Jaguar"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: jaguar-landrover\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"jeep",children:"Jeep"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: fiat\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: ZFAE... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional)\n pin: # optional \n"})}),"\n",(0,a.jsx)(n.h2,{id:"kia-bluelink",children:"Kia Bluelink"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: kia\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional)\n language: en # 'de' f\xfcr Deutsch und 'en' f\xfcr Englisch (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"land-rover",children:"Land Rover"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: jaguar-landrover\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"mini",children:"Mini"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: mini\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: WBMW... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"nissan",children:"Nissan"}),"\n",(0,a.jsx)(n.h3,{id:"leaf",children:"Leaf"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: nissan\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h3,{id:"leaf-pre-2019",children:"Leaf (pre 2019)"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: carwings\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"opel",children:"Opel"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: opel\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: WP0... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"peugeot",children:"Peugeot"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: peugeot\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"polestar",children:"Polestar"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: polestar\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: LPSVS... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"porsche",children:"Porsche"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: porsche\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"renault",children:"Renault"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: renault\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: WREN... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"seat",children:"Seat"}),"\n",(0,a.jsx)(n.h3,{id:"cupraconnect-gen3-ateca-leon-formentor",children:"CupraConnect Gen3 (Ateca, Leon, Formentor)"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: seat\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h3,{id:"cupraconnect-gen4-born",children:"CupraConnect Gen4 (Born)"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: cupra\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"skoda",children:"Skoda"}),"\n",(0,a.jsx)(n.h3,{id:"andere",children:"Andere"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: skoda\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h3,{id:"enyaq",children:"Enyaq"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: enyaq\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional)\n timeout: 10s # optional \n"})}),"\n",(0,a.jsx)(n.h2,{id:"smart",children:"Smart"}),"\n",(0,a.jsx)(n.h3,{id:""}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: smart-hello\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h3,{id:"eq",children:"EQ"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: smart\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"tesla",children:"Tesla"}),"\n",(0,a.jsxs)(n.p,{children:["Es wird ein ",(0,a.jsx)(n.code,{children:"access"})," und ein ",(0,a.jsx)(n.code,{children:"refresh"})," Token f\xfcr die Kommunikation mit der Tesla API erstellt werden."]}),"\n",(0,a.jsx)(n.p,{children:"Folgende Apps erm\xf6glichen das Erstellen von den beiden Tokens:"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:(0,a.jsx)(n.a,{href:"https://apps.apple.com/us/app/auth-app-for-tesla/id1552058613#?platform=iphone",children:"Auth app for Tesla (iOS)"})}),"\n",(0,a.jsx)(n.li,{children:(0,a.jsx)(n.a,{href:"https://play.google.com/store/apps/details?id=net.leveugle.teslatokens",children:"Tesla Tokens (Android)"})}),"\n",(0,a.jsx)(n.li,{children:(0,a.jsx)(n.a,{href:"https://github.com/adriankumpf/tesla_auth",children:"Tesla Auth (macOS, Linux)"})}),"\n"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: tesla\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n accessToken: # Siehe https://docs.evcc.io/docs/devices/vehicles#tesla\n refreshToken: # Siehe https://docs.evcc.io/docs/devices/vehicles#tesla\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"volkswagen",children:"Volkswagen"}),"\n",(0,a.jsx)(n.h3,{id:"we-connect-legacy",children:"We Connect (legacy)"}),"\n",(0,a.jsx)(n.p,{children:"\xe4ltere Modelle wie e-Up, e-Golf, etc."}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: vw\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: WVWZZZ... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional)\n timeout: 10s # optional \n"})}),"\n",(0,a.jsx)(n.h3,{id:"we-connect-id",children:"We Connect ID"}),"\n",(0,a.jsx)(n.p,{children:"ID.3, ID.4 (funktioniert auch f\xfcr e-Golf, e-Up)"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: id\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: WVWZZZ... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional)\n timeout: 10s # optional \n"})}),"\n",(0,a.jsx)(n.h2,{id:"volvo",children:"Volvo"}),"\n",(0,a.jsx)(n.h3,{id:"-1"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: volvo-connected\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional)\n vccapikey: # Volvo developer portal VCC API Key, siehe https://github.com/evcc-io/evcc/discussions/3677#discussioncomment-4106300 \n"})}),"\n",(0,a.jsx)(n.h3,{id:"legacy",children:"legacy"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: volvo\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h2,{id:"generische-unterst\xfctzung",children:"Generische Unterst\xfctzung"}),"\n",(0,a.jsx)(n.h3,{id:"manuell",children:"manuell"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: custom\n title: Mein Auto # display name for UI\n capacity: 50 # byttery capacity (kWh)\n soc: # battery soc (%)\n source: # plugin type\n # ...\n status: # optional charge status (A..F)\n source: # plugin type\n # ...\n range: # optional electric range (km)\n source: # plugin type\n # ...\n"})}),"\n",(0,a.jsx)(n.h3,{id:"evnotify",children:"evNotify"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: evnotify\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n akey:\n token:\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h3,{id:"iso15118",children:"ISO15118"}),"\n",(0,a.jsx)(n.p,{children:"Nur unterst\xfctzt wenn das Fahrzeug den Ladestand (Soc) an die verbundene Wallbox \xfcbermitteln kann."}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: iso15118\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h3,{id:"mazda2mqtt",children:"mazda2mqtt"}),"\n",(0,a.jsxs)(n.p,{children:["Voraussetzung ist ein konfigurierter MQTT Broker und eine mazda2mqtt Installation ",(0,a.jsx)(n.a,{href:"https://github.com/C64Axel/mazda2mqtt",children:"https://github.com/C64Axel/mazda2mqtt"}),"."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: mazda2mqtt\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n vin: W... # Erforderlich\n capacity: 50 # Akkukapazit\xe4t in kWh (optional)\n timeout: 720h # optional \n"})}),"\n",(0,a.jsx)(n.h3,{id:"mg2mqtt",children:"mg2mqtt"}),"\n",(0,a.jsxs)(n.p,{children:["Voraussetzung ist ein konfigurierter MQTT Broker und ein SAIC/MQTT Gateway (",(0,a.jsx)(n.a,{href:"https://github.com/SAIC-iSmart-API/saic-python-mqtt-gateway",children:"https://github.com/SAIC-iSmart-API/saic-python-mqtt-gateway"})," oder ",(0,a.jsx)(n.a,{href:"https://github.com/SAIC-iSmart-API/saic-java-client",children:"https://github.com/SAIC-iSmart-API/saic-java-client"}),")"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: mg2mqtt\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind\n capacity: 50 # Akkukapazit\xe4t in kWh (optional)\n timeout: 1h # optional \n"})}),"\n",(0,a.jsx)(n.h3,{id:"offline",children:"Offline"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: offline\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h3,{id:"open-vehicle-monitoring-system",children:"Open Vehicle Monitoring System"}),"\n",(0,a.jsxs)(n.p,{children:["Unterst\xfctzung f\xfcr alle Fahrzeuge via ODB2 Adapter im Fahrzeug. Mehr Infos bei ",(0,a.jsx)(n.a,{href:"http://api.openvehicles.com/",children:"Open Vehicle Monitoring System"}),"."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: ovms\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n vehicleid:\n capacity: 12 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h3,{id:"psa-car-controller",children:"PSA Car Controller"}),"\n",(0,a.jsxs)(n.p,{children:["Remote Control of PSA car ",(0,a.jsx)(n.a,{href:"https://github.com/flobz/psa_car_controller",children:"https://github.com/flobz/psa_car_controller"})]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: flobz\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n url: http://192.0.2.2\n vin: W... # Erforderlich\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h3,{id:"teslamate",children:"TeslaMate"}),"\n",(0,a.jsxs)(n.p,{children:["Open Source Tesla Datenlogger ",(0,a.jsx)(n.a,{href:"https://github.com/adriankumpf/teslamate",children:"https://github.com/adriankumpf/teslamate"}),". Voraussetzung ist konfigurierter MQTT Broker."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: teslamate\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n id: 1 # optional\n capacity: 50 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(n.h3,{id:"tronity",children:"Tronity"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: tronity\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n clientid: # Einrichtung unter https://app.tronity.tech\n clientsecret: # Einrichtung unter https://app.tronity.tech\n vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind (optional)\n capacity: 10 # Akkukapazit\xe4t in kWh (optional) \n"})}),"\n",(0,a.jsx)(i.ZP,{}),"\n",(0,a.jsx)(n.h2,{id:"scooter",children:"Scooter"}),"\n",(0,a.jsx)(n.h3,{id:"niu-e-scooter",children:"NIU E-Scooter"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"vehicles:\n - name: my_car\n type: template\n template: niu-e-scooter\n title: # Wird in der Benutzeroberfl\xe4che angezeigt (optional)\n icon: scooter # Icon in der Benutzeroberfl\xe4che (optional)\n user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)\n password: # Passwort des Benutzerkontos (bei f\xfchrenden Nullen bitte in einfache Hochkommata setzen)\n serial:\n capacity: 4 # Akkukapazit\xe4t in kWh (optional) \n"})})]})}function u(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(h,{...e})}):h(e)}},5162:(e,n,t)=>{t.d(n,{Z:()=>l});t(7294);var a=t(512);const r={tabItem:"tabItem_Ymn6"};var i=t(5893);function l(e){let{children:n,hidden:t,className:l}=e;return(0,i.jsx)("div",{role:"tabpanel",className:(0,a.Z)(r.tabItem,l),hidden:t,children:n})}},4866:(e,n,t)=>{t.d(n,{Z:()=>x});var a=t(7294),r=t(512),i=t(2466),l=t(6550),s=t(469),o=t(1980),c=t(7392),d=t(12);function h(e){return a.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,a.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function u(e){const{values:n,children:t}=e;return(0,a.useMemo)((()=>{const e=n??function(e){return h(e).map((e=>{let{props:{value:n,label:t,attributes:a,default:r}}=e;return{value:n,label:t,attributes:a,default:r}}))}(t);return function(e){const n=(0,c.l)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[n,t])}function p(e){let{value:n,tabValues:t}=e;return t.some((e=>e.value===n))}function m(e){let{queryString:n=!1,groupId:t}=e;const r=(0,l.k6)(),i=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t});return[(0,o._X)(i),(0,a.useCallback)((e=>{if(!i)return;const n=new URLSearchParams(r.location.search);n.set(i,e),r.replace({...r.location,search:n.toString()})}),[i,r])]}function g(e){const{defaultValue:n,queryString:t=!1,groupId:r}=e,i=u(e),[l,o]=(0,a.useState)((()=>function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!p({value:n,tabValues:t}))throw new Error(`Docusaurus error: The has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const a=t.find((e=>e.default))??t[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:n,tabValues:i}))),[c,h]=m({queryString:t,groupId:r}),[g,k]=function(e){let{groupId:n}=e;const t=function(e){return e?`docusaurus.tab.${e}`:null}(n),[r,i]=(0,d.Nk)(t);return[r,(0,a.useCallback)((e=>{t&&i.set(e)}),[t,i])]}({groupId:r}),v=(()=>{const e=c??g;return p({value:e,tabValues:i})?e:null})();(0,s.Z)((()=>{v&&o(v)}),[v]);return{selectedValue:l,selectValue:(0,a.useCallback)((e=>{if(!p({value:e,tabValues:i}))throw new Error(`Can't select invalid tab value=${e}`);o(e),h(e),k(e)}),[h,k,i]),tabValues:i}}var k=t(2389);const v={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var z=t(5893);function f(e){let{className:n,block:t,selectedValue:a,selectValue:l,tabValues:s}=e;const o=[],{blockElementScrollPositionUntilNextRender:c}=(0,i.o5)(),d=e=>{const n=e.currentTarget,t=o.indexOf(n),r=s[t].value;r!==a&&(c(n),l(r))},h=e=>{let n=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const t=o.indexOf(e.currentTarget)+1;n=o[t]??o[0];break}case"ArrowLeft":{const t=o.indexOf(e.currentTarget)-1;n=o[t]??o[o.length-1];break}}n?.focus()};return(0,z.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.Z)("tabs",{"tabs--block":t},n),children:s.map((e=>{let{value:n,label:t,attributes:i}=e;return(0,z.jsx)("li",{role:"tab",tabIndex:a===n?0:-1,"aria-selected":a===n,ref:e=>o.push(e),onKeyDown:h,onClick:d,...i,className:(0,r.Z)("tabs__item",v.tabItem,i?.className,{"tabs__item--active":a===n}),children:t??n},n)}))})}function b(e){let{lazy:n,children:t,selectedValue:r}=e;const i=(Array.isArray(t)?t:[t]).filter(Boolean);if(n){const e=i.find((e=>e.props.value===r));return e?(0,a.cloneElement)(e,{className:"margin-top--md"}):null}return(0,z.jsx)("div",{className:"margin-top--md",children:i.map(((e,n)=>(0,a.cloneElement)(e,{key:n,hidden:e.props.value!==r})))})}function y(e){const n=g(e);return(0,z.jsxs)("div",{className:(0,r.Z)("tabs-container",v.tabList),children:[(0,z.jsx)(f,{...e,...n}),(0,z.jsx)(b,{...e,...n})]})}function x(e){const n=(0,k.Z)();return(0,z.jsx)(y,{...e,children:h(e.children)},String(n))}},1151:(e,n,t)=>{t.d(n,{Z:()=>s,a:()=>l});var a=t(7294);const r={},i=a.createContext(r);function l(e){const n=a.useContext(i);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),a.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.1b1bfc25.js b/assets/js/runtime~main.252f5115.js similarity index 99% rename from assets/js/runtime~main.1b1bfc25.js rename to assets/js/runtime~main.252f5115.js index 3d07ec3706..15a202b8f4 100644 --- a/assets/js/runtime~main.1b1bfc25.js +++ b/assets/js/runtime~main.252f5115.js @@ -1 +1 @@ -(()=>{"use strict";var e,c,b,a,d,f={},t={};function r(e){var c=t[e];if(void 0!==c)return c.exports;var b=t[e]={id:e,loaded:!1,exports:{}};return f[e].call(b.exports,b,b.exports,r),b.loaded=!0,b.exports}r.m=f,r.c=t,e=[],r.O=(c,b,a,d)=>{if(!b){var f=1/0;for(i=0;i=d)&&Object.keys(r.O).every((e=>r.O[e](b[o])))?b.splice(o--,1):(t=!1,d0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[b,a,d]},r.n=e=>{var c=e&&e.__esModule?()=>e.default:()=>e;return r.d(c,{a:c}),c},b=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,a){if(1&a&&(e=this(e)),8&a)return e;if("object"==typeof e&&e){if(4&a&&e.__esModule)return e;if(16&a&&"function"==typeof e.then)return e}var d=Object.create(null);r.r(d);var f={};c=c||[null,b({}),b([]),b(b)];for(var t=2&a&&e;"object"==typeof t&&!~c.indexOf(t);t=b(t))Object.getOwnPropertyNames(t).forEach((c=>f[c]=()=>e[c]));return f.default=()=>e,r.d(d,f),d},r.d=(e,c)=>{for(var b in c)r.o(c,b)&&!r.o(e,b)&&Object.defineProperty(e,b,{enumerable:!0,get:c[b]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((c,b)=>(r.f[b](e,c),c)),[])),r.u=e=>"assets/js/"+({1:"8eb4e46b",10:"734be3ba",19:"e4779b9d",53:"935f2afb",56:"549b3136",59:"b108679e",205:"83d480e9",533:"b2b675dd",545:"37ed60ec",923:"4ba96990",1053:"7b4ebafd",1251:"f9b8924f",1322:"e382f56f",1406:"eb299cb3",1477:"b2f554cd",1512:"576ded92",1713:"a7023ddc",1769:"1b4ddf48",1827:"08359727",2029:"c32f7488",2424:"a92d6346",2535:"814f3328",2745:"70e83c96",2783:"c3b2707c",2871:"d03241c9",2951:"e07953a4",3085:"1f391b9e",3089:"a6aa9e1f",3167:"b92062e8",3205:"873765e0",3207:"6603ef13",3488:"b95ea484",3506:"7851d5ee",3581:"64764a04",3608:"9e4087bc",3609:"d777b4c4",3928:"267a584f",3993:"e46d8bbf",3999:"1873b338",4013:"01a85c17",4081:"ceef5682",4130:"be4a5cb9",4195:"c4f5d8e4",4368:"a94703ab",4525:"fa581f58",4673:"e918b845",4691:"5db6698e",4713:"61106069",4907:"c2191c81",4991:"337b233f",5161:"f2d16fd2",5402:"c86661c4",5431:"55e51740",5623:"9ce6d8f6",6017:"e8854b2d",6103:"ccc49370",6299:"02dff5fb",6320:"0e16a31f",6385:"59b068d1",6479:"e708d71b",6487:"adc3a532",6621:"7b10152e",6684:"20bf6352",6841:"941361f0",6891:"86953bdc",6968:"75a21962",7414:"393be207",7421:"68e94896",7438:"9c021584",7562:"319c845d",7645:"a7434565",7695:"76c5dab9",7704:"5138022b",7918:"17896441",7920:"1a4e3797",7924:"4f93b097",7953:"6d0586ce",8007:"36b29f7a",8083:"615feb60",8168:"9ffd1e56",8229:"75e434b4",8271:"1c091541",8442:"92999a1c",8518:"a7bd4aaa",8610:"6875c492",8674:"73bfd16c",8715:"f28ed749",8840:"aef4bb17",8928:"76b870f1",9090:"100cd5cc",9114:"0f036ce1",9334:"247783bb",9494:"c99341a6",9576:"2f1b3cda",9661:"5e95c892",9751:"1a3c9b31",9859:"3386c37e",9906:"37b104e6",9983:"e21dacd7"}[e]||e)+"."+{1:"048086c2",10:"768ee6db",19:"ae5c7c2a",53:"a527cda4",56:"d2126b6e",59:"a03bab16",205:"c5d03ecb",533:"b8674e8c",545:"98746275",923:"50145a10",1053:"d6b52a52",1251:"b02ddc73",1322:"f2c2c7a2",1406:"e2e0d69c",1426:"023f8ee8",1477:"10bb180a",1512:"5cf63407",1713:"49970abc",1769:"0900c432",1772:"463cd0a2",1827:"738368e4",2029:"b64ea526",2424:"1c03cbe9",2459:"f23b6493",2535:"89345501",2745:"d32de119",2783:"5c7bfefc",2871:"bfccfd29",2951:"9591daf2",3085:"5fc3185e",3089:"65125619",3167:"2fc01e9f",3205:"e73b0489",3207:"c4cb19c8",3488:"0f659913",3506:"9834d9c3",3581:"66d21529",3608:"517a2668",3609:"02b1d8b7",3928:"c025d46d",3993:"fad0ec76",3999:"569fffd6",4013:"8e0c82af",4081:"e0d1cd4d",4130:"d5f1d162",4195:"04b8619b",4368:"2671c018",4525:"54090550",4673:"d3387587",4691:"1bb71044",4713:"fd10a384",4907:"fc77f244",4991:"6ecebd68",5161:"7e700a57",5402:"ed04c2ac",5431:"0c9d18ee",5623:"ae89ba05",6017:"d6fd7425",6103:"d649528a",6299:"2784e58d",6320:"497e8d91",6385:"e1913e50",6479:"d67e9646",6487:"f6fa9ef2",6621:"86bd612d",6684:"328c2e8a",6841:"70f75340",6891:"46ee6223",6945:"dbbf98f4",6968:"3f0dacb5",7414:"fa5dec96",7421:"bd55bc3c",7438:"bc0910f6",7562:"33ecc33e",7645:"1560f9f0",7695:"e429115a",7704:"6a02db67",7918:"20e29a9d",7920:"e04b70fd",7924:"64c1e51b",7953:"68b6b2d1",8007:"f6df5a90",8083:"116436de",8168:"5d026618",8229:"155a8315",8271:"81fe0d9c",8442:"017dd757",8518:"4900fa14",8610:"a06450eb",8674:"24b6b523",8715:"a1e73f0a",8840:"e4d3f914",8894:"dd783f26",8928:"0ee039eb",9090:"018981cc",9114:"83f348d1",9334:"696fe9cf",9494:"7e2cc6c6",9576:"433bd99d",9661:"2d56d087",9677:"ef64aded",9751:"b75f5418",9859:"18b122dc",9906:"a833eb96",9983:"07ea09b3"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,c)=>Object.prototype.hasOwnProperty.call(e,c),a={},d="evcc-docs:",r.l=(e,c,b,f)=>{if(a[e])a[e].push(c);else{var t,o;if(void 0!==b)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var d=a[e];if(delete a[e],t.parentNode&&t.parentNode.removeChild(t),d&&d.forEach((e=>e(b))),c)return c(b)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={17896441:"7918",61106069:"4713","8eb4e46b":"1","734be3ba":"10",e4779b9d:"19","935f2afb":"53","549b3136":"56",b108679e:"59","83d480e9":"205",b2b675dd:"533","37ed60ec":"545","4ba96990":"923","7b4ebafd":"1053",f9b8924f:"1251",e382f56f:"1322",eb299cb3:"1406",b2f554cd:"1477","576ded92":"1512",a7023ddc:"1713","1b4ddf48":"1769","08359727":"1827",c32f7488:"2029",a92d6346:"2424","814f3328":"2535","70e83c96":"2745",c3b2707c:"2783",d03241c9:"2871",e07953a4:"2951","1f391b9e":"3085",a6aa9e1f:"3089",b92062e8:"3167","873765e0":"3205","6603ef13":"3207",b95ea484:"3488","7851d5ee":"3506","64764a04":"3581","9e4087bc":"3608",d777b4c4:"3609","267a584f":"3928",e46d8bbf:"3993","1873b338":"3999","01a85c17":"4013",ceef5682:"4081",be4a5cb9:"4130",c4f5d8e4:"4195",a94703ab:"4368",fa581f58:"4525",e918b845:"4673","5db6698e":"4691",c2191c81:"4907","337b233f":"4991",f2d16fd2:"5161",c86661c4:"5402","55e51740":"5431","9ce6d8f6":"5623",e8854b2d:"6017",ccc49370:"6103","02dff5fb":"6299","0e16a31f":"6320","59b068d1":"6385",e708d71b:"6479",adc3a532:"6487","7b10152e":"6621","20bf6352":"6684","941361f0":"6841","86953bdc":"6891","75a21962":"6968","393be207":"7414","68e94896":"7421","9c021584":"7438","319c845d":"7562",a7434565:"7645","76c5dab9":"7695","5138022b":"7704","1a4e3797":"7920","4f93b097":"7924","6d0586ce":"7953","36b29f7a":"8007","615feb60":"8083","9ffd1e56":"8168","75e434b4":"8229","1c091541":"8271","92999a1c":"8442",a7bd4aaa:"8518","6875c492":"8610","73bfd16c":"8674",f28ed749:"8715",aef4bb17:"8840","76b870f1":"8928","100cd5cc":"9090","0f036ce1":"9114","247783bb":"9334",c99341a6:"9494","2f1b3cda":"9576","5e95c892":"9661","1a3c9b31":"9751","3386c37e":"9859","37b104e6":"9906",e21dacd7:"9983"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(c,b)=>{var a=r.o(e,c)?e[c]:void 0;if(0!==a)if(a)b.push(a[2]);else if(/^(1303|532)$/.test(c))e[c]=0;else{var d=new Promise(((b,d)=>a=e[c]=[b,d]));b.push(a[2]=d);var f=r.p+r.u(c),t=new Error;r.l(f,(b=>{if(r.o(e,c)&&(0!==(a=e[c])&&(e[c]=void 0),a)){var d=b&&("load"===b.type?"missing":b.type),f=b&&b.target&&b.target.src;t.message="Loading chunk "+c+" failed.\n("+d+": "+f+")",t.name="ChunkLoadError",t.type=d,t.request=f,a[1](t)}}),"chunk-"+c,c)}},r.O.j=c=>0===e[c];var c=(c,b)=>{var a,d,f=b[0],t=b[1],o=b[2],n=0;if(f.some((c=>0!==e[c]))){for(a in t)r.o(t,a)&&(r.m[a]=t[a]);if(o)var i=o(r)}for(c&&c(b);n{"use strict";var e,c,b,a,d,f={},t={};function r(e){var c=t[e];if(void 0!==c)return c.exports;var b=t[e]={id:e,loaded:!1,exports:{}};return f[e].call(b.exports,b,b.exports,r),b.loaded=!0,b.exports}r.m=f,r.c=t,e=[],r.O=(c,b,a,d)=>{if(!b){var f=1/0;for(i=0;i=d)&&Object.keys(r.O).every((e=>r.O[e](b[o])))?b.splice(o--,1):(t=!1,d0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[b,a,d]},r.n=e=>{var c=e&&e.__esModule?()=>e.default:()=>e;return r.d(c,{a:c}),c},b=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,a){if(1&a&&(e=this(e)),8&a)return e;if("object"==typeof e&&e){if(4&a&&e.__esModule)return e;if(16&a&&"function"==typeof e.then)return e}var d=Object.create(null);r.r(d);var f={};c=c||[null,b({}),b([]),b(b)];for(var t=2&a&&e;"object"==typeof t&&!~c.indexOf(t);t=b(t))Object.getOwnPropertyNames(t).forEach((c=>f[c]=()=>e[c]));return f.default=()=>e,r.d(d,f),d},r.d=(e,c)=>{for(var b in c)r.o(c,b)&&!r.o(e,b)&&Object.defineProperty(e,b,{enumerable:!0,get:c[b]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((c,b)=>(r.f[b](e,c),c)),[])),r.u=e=>"assets/js/"+({1:"8eb4e46b",10:"734be3ba",19:"e4779b9d",53:"935f2afb",56:"549b3136",59:"b108679e",205:"83d480e9",533:"b2b675dd",545:"37ed60ec",923:"4ba96990",1053:"7b4ebafd",1251:"f9b8924f",1322:"e382f56f",1406:"eb299cb3",1477:"b2f554cd",1512:"576ded92",1713:"a7023ddc",1769:"1b4ddf48",1827:"08359727",2029:"c32f7488",2424:"a92d6346",2535:"814f3328",2745:"70e83c96",2783:"c3b2707c",2871:"d03241c9",2951:"e07953a4",3085:"1f391b9e",3089:"a6aa9e1f",3167:"b92062e8",3205:"873765e0",3207:"6603ef13",3488:"b95ea484",3506:"7851d5ee",3581:"64764a04",3608:"9e4087bc",3609:"d777b4c4",3928:"267a584f",3993:"e46d8bbf",3999:"1873b338",4013:"01a85c17",4081:"ceef5682",4130:"be4a5cb9",4195:"c4f5d8e4",4368:"a94703ab",4525:"fa581f58",4673:"e918b845",4691:"5db6698e",4713:"61106069",4907:"c2191c81",4991:"337b233f",5161:"f2d16fd2",5402:"c86661c4",5431:"55e51740",5623:"9ce6d8f6",6017:"e8854b2d",6103:"ccc49370",6299:"02dff5fb",6320:"0e16a31f",6385:"59b068d1",6479:"e708d71b",6487:"adc3a532",6621:"7b10152e",6684:"20bf6352",6841:"941361f0",6891:"86953bdc",6968:"75a21962",7414:"393be207",7421:"68e94896",7438:"9c021584",7562:"319c845d",7645:"a7434565",7695:"76c5dab9",7704:"5138022b",7918:"17896441",7920:"1a4e3797",7924:"4f93b097",7953:"6d0586ce",8007:"36b29f7a",8083:"615feb60",8168:"9ffd1e56",8229:"75e434b4",8271:"1c091541",8442:"92999a1c",8518:"a7bd4aaa",8610:"6875c492",8674:"73bfd16c",8715:"f28ed749",8840:"aef4bb17",8928:"76b870f1",9090:"100cd5cc",9114:"0f036ce1",9334:"247783bb",9494:"c99341a6",9576:"2f1b3cda",9661:"5e95c892",9751:"1a3c9b31",9859:"3386c37e",9906:"37b104e6",9983:"e21dacd7"}[e]||e)+"."+{1:"048086c2",10:"768ee6db",19:"ae5c7c2a",53:"a527cda4",56:"d2126b6e",59:"a03bab16",205:"c5d03ecb",533:"b8674e8c",545:"98746275",923:"50145a10",1053:"d6b52a52",1251:"b02ddc73",1322:"f2c2c7a2",1406:"e2e0d69c",1426:"023f8ee8",1477:"10bb180a",1512:"5cf63407",1713:"49970abc",1769:"0900c432",1772:"463cd0a2",1827:"738368e4",2029:"b64ea526",2424:"1c03cbe9",2459:"f23b6493",2535:"89345501",2745:"d32de119",2783:"5c7bfefc",2871:"bfccfd29",2951:"9591daf2",3085:"5fc3185e",3089:"65125619",3167:"2fc01e9f",3205:"e73b0489",3207:"c4cb19c8",3488:"0f659913",3506:"9834d9c3",3581:"66d21529",3608:"517a2668",3609:"02b1d8b7",3928:"c025d46d",3993:"fad0ec76",3999:"569fffd6",4013:"8e0c82af",4081:"e0d1cd4d",4130:"d5f1d162",4195:"04b8619b",4368:"2671c018",4525:"54090550",4673:"d3387587",4691:"1bb71044",4713:"fd10a384",4907:"fc77f244",4991:"6ecebd68",5161:"7e700a57",5402:"ed04c2ac",5431:"0c9d18ee",5623:"ae89ba05",6017:"d6fd7425",6103:"d649528a",6299:"2784e58d",6320:"497e8d91",6385:"e1913e50",6479:"d67e9646",6487:"f6fa9ef2",6621:"86bd612d",6684:"328c2e8a",6841:"70f75340",6891:"46ee6223",6945:"dbbf98f4",6968:"81b52f4b",7414:"fa5dec96",7421:"bd55bc3c",7438:"bc0910f6",7562:"33ecc33e",7645:"1560f9f0",7695:"e429115a",7704:"6a02db67",7918:"20e29a9d",7920:"e04b70fd",7924:"64c1e51b",7953:"68b6b2d1",8007:"f6df5a90",8083:"116436de",8168:"5d026618",8229:"155a8315",8271:"81fe0d9c",8442:"017dd757",8518:"4900fa14",8610:"a06450eb",8674:"24b6b523",8715:"a1e73f0a",8840:"e4d3f914",8894:"dd783f26",8928:"0ee039eb",9090:"018981cc",9114:"83f348d1",9334:"696fe9cf",9494:"7e2cc6c6",9576:"433bd99d",9661:"2d56d087",9677:"ef64aded",9751:"b75f5418",9859:"18b122dc",9906:"a833eb96",9983:"07ea09b3"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,c)=>Object.prototype.hasOwnProperty.call(e,c),a={},d="evcc-docs:",r.l=(e,c,b,f)=>{if(a[e])a[e].push(c);else{var t,o;if(void 0!==b)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var d=a[e];if(delete a[e],t.parentNode&&t.parentNode.removeChild(t),d&&d.forEach((e=>e(b))),c)return c(b)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={17896441:"7918",61106069:"4713","8eb4e46b":"1","734be3ba":"10",e4779b9d:"19","935f2afb":"53","549b3136":"56",b108679e:"59","83d480e9":"205",b2b675dd:"533","37ed60ec":"545","4ba96990":"923","7b4ebafd":"1053",f9b8924f:"1251",e382f56f:"1322",eb299cb3:"1406",b2f554cd:"1477","576ded92":"1512",a7023ddc:"1713","1b4ddf48":"1769","08359727":"1827",c32f7488:"2029",a92d6346:"2424","814f3328":"2535","70e83c96":"2745",c3b2707c:"2783",d03241c9:"2871",e07953a4:"2951","1f391b9e":"3085",a6aa9e1f:"3089",b92062e8:"3167","873765e0":"3205","6603ef13":"3207",b95ea484:"3488","7851d5ee":"3506","64764a04":"3581","9e4087bc":"3608",d777b4c4:"3609","267a584f":"3928",e46d8bbf:"3993","1873b338":"3999","01a85c17":"4013",ceef5682:"4081",be4a5cb9:"4130",c4f5d8e4:"4195",a94703ab:"4368",fa581f58:"4525",e918b845:"4673","5db6698e":"4691",c2191c81:"4907","337b233f":"4991",f2d16fd2:"5161",c86661c4:"5402","55e51740":"5431","9ce6d8f6":"5623",e8854b2d:"6017",ccc49370:"6103","02dff5fb":"6299","0e16a31f":"6320","59b068d1":"6385",e708d71b:"6479",adc3a532:"6487","7b10152e":"6621","20bf6352":"6684","941361f0":"6841","86953bdc":"6891","75a21962":"6968","393be207":"7414","68e94896":"7421","9c021584":"7438","319c845d":"7562",a7434565:"7645","76c5dab9":"7695","5138022b":"7704","1a4e3797":"7920","4f93b097":"7924","6d0586ce":"7953","36b29f7a":"8007","615feb60":"8083","9ffd1e56":"8168","75e434b4":"8229","1c091541":"8271","92999a1c":"8442",a7bd4aaa:"8518","6875c492":"8610","73bfd16c":"8674",f28ed749:"8715",aef4bb17:"8840","76b870f1":"8928","100cd5cc":"9090","0f036ce1":"9114","247783bb":"9334",c99341a6:"9494","2f1b3cda":"9576","5e95c892":"9661","1a3c9b31":"9751","3386c37e":"9859","37b104e6":"9906",e21dacd7:"9983"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(c,b)=>{var a=r.o(e,c)?e[c]:void 0;if(0!==a)if(a)b.push(a[2]);else if(/^(1303|532)$/.test(c))e[c]=0;else{var d=new Promise(((b,d)=>a=e[c]=[b,d]));b.push(a[2]=d);var f=r.p+r.u(c),t=new Error;r.l(f,(b=>{if(r.o(e,c)&&(0!==(a=e[c])&&(e[c]=void 0),a)){var d=b&&("load"===b.type?"missing":b.type),f=b&&b.target&&b.target.src;t.message="Loading chunk "+c+" failed.\n("+d+": "+f+")",t.name="ChunkLoadError",t.type=d,t.request=f,a[1](t)}}),"chunk-"+c,c)}},r.O.j=c=>0===e[c];var c=(c,b)=>{var a,d,f=b[0],t=b[1],o=b[2],n=0;if(f.some((c=>0!==e[c]))){for(a in t)r.o(t,a)&&(r.m[a]=t[a]);if(o)var i=o(r)}for(c&&c(b);n