diff --git a/404.html b/404.html index 7daa9e1645..8d0b962177 100644 --- a/404.html +++ b/404.html @@ -10,7 +10,7 @@ - + diff --git a/assets/js/0f036ce1.83f348d1.js b/assets/js/0f036ce1.83f348d1.js new file mode 100644 index 0000000000..6ed6d8ba7b --- /dev/null +++ b/assets/js/0f036ce1.83f348d1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkevcc_docs=self.webpackChunkevcc_docs||[]).push([[9114],{3622:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>l,contentTitle:()=>d,default:()=>o,frontMatter:()=>s,metadata:()=>c,toc:()=>a});var r=i(5893),t=i(1151);const s={sidebar_position:1},d="evcc.yaml",c={id:"reference/configuration/index",title:"evcc.yaml",description:"evcc ben\xf6tigt eine Konfigurationsdatei in der die Installation beschrieben wird. Ohne diese Datei kann evcc nicht genutzt werden. Die Datei selbst ist im YAML Format geschrieben. Dieses Format definiert eine Syntax wodurch eine strukturierte Datenstruktur in Textform erstellt werden kann.",source:"@site/docs/reference/configuration/index.md",sourceDirName:"reference/configuration",slug:"/reference/configuration/",permalink:"/docs/reference/configuration/",draft:!1,unlisted:!1,editUrl:"https://github.com/evcc-io/docs/tree/main/docs/reference/configuration/index.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Referenz",permalink:"/docs/reference/"},next:{title:"site",permalink:"/docs/reference/configuration/site"}},l={},a=[{value:"Struktur",id:"struktur",level:3},{value:"Wie funktioniert evcc? (Ein Blick ins Innere)",id:"wie-funktioniert-evcc-ein-blick-ins-innere",level:3},{value:"Manipulationsm\xf6glichkeiten",id:"manipulationsm\xf6glichkeiten",level:4},{value:"Site",id:"site",level:3},{value:"Loadpoints",id:"loadpoints",level:3},{value:"Chargers",id:"chargers",level:3},{value:"Meters",id:"meters",level:3},{value:"Vehicles",id:"vehicles",level:3},{value:"HEMS",id:"hems",level:3},{value:"Messaging",id:"messaging",level:3}];function h(e){const n={a:"a",code:"code",em:"em",h1:"h1",h3:"h3",h4:"h4",li:"li",mermaid:"mermaid",p:"p",ul:"ul",...(0,t.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"evccyaml",children:"evcc.yaml"}),"\n",(0,r.jsxs)(n.p,{children:["evcc ben\xf6tigt eine Konfigurationsdatei in der die Installation beschrieben wird. Ohne diese Datei kann evcc nicht genutzt werden. Die Datei selbst ist im ",(0,r.jsx)(n.a,{href:"https://de.wikipedia.org/wiki/YAML",children:"YAML"})," Format geschrieben. Dieses Format definiert eine Syntax wodurch eine strukturierte Datenstruktur in Textform erstellt werden kann."]}),"\n",(0,r.jsxs)(n.p,{children:["Zur Bearbeitung bzw. Erstellung der Konfigurationsdatei empfehlen wir einen Texteditor zu verwenden, welcher die YAML Synthax beherrscht und damit Fehler aufzeigen kann, z.B. ",(0,r.jsx)(n.a,{href:"https://code.visualstudio.com",children:"VS Code"})," mit der ",(0,r.jsx)(n.a,{href:"https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml",children:"YAML Erweiterung"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["Die Konfigurationsdatei hat standardm\xe4\xdfig den Namen ",(0,r.jsx)(n.code,{children:"evcc.yaml"})," und ist entweder im gleichen Verzeichnis wie das Programm selbst abzulegen, oder bei Linux-Systemen unter ",(0,r.jsx)(n.code,{children:"/etc/evcc.yaml"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["Wenn die Konfigurationsdatei nicht gefunden wird, kann diese \xfcber einen Parameter beim Aufruf evcc \xfcbergeben werden: z.B. ",(0,r.jsx)(n.code,{children:"evcc -c /home/evcc.yaml"})]}),"\n",(0,r.jsx)(n.h3,{id:"struktur",children:"Struktur"}),"\n",(0,r.jsxs)(n.p,{children:["Die Konfigurationsdatei von evcc besteht aus mehreren Bereichen. Um von einem Bereich auf Elemente eines anderen Bereichs zu verweisen, haben einzelne Ger\xe4te einen ",(0,r.jsx)(n.code,{children:"name"})," Parameter, den man frei mit einem Text vergeben kann. Der vergebene Text dient der Identifikation und Referenzierung."]}),"\n",(0,r.jsxs)(n.p,{children:["Eine Beispieldatei mit vielen Parametern findet man hier: ",(0,r.jsx)(n.a,{href:"https://github.com/evcc-io/evcc/blob/master/evcc.dist.yaml",children:"https://github.com/evcc-io/evcc/blob/master/evcc.dist.yaml"})]}),"\n",(0,r.jsx)(n.p,{children:"Hier ein \xdcberblick \xfcber die Beziehungen der wichtigsten Bestandteile der Konfiguration:"}),"\n",(0,r.jsx)(n.mermaid,{chart:'graph TD;\n site("site (Zuhause)")\n subgraph loadpoints\n loadpointA("Carport (charger: KEBA)")\n loadpointB("Garage (charger: Wallbe)")\n end\n subgraph meters\n meterGrid("Discovergy")\n meterPV("SMA Tripower")\n meterBattery("LG RESU")\n end\n subgraph vehicles\n vehicleA("VW ID.4")\n vehicleB("Renault Zoe")\n vehicleC("Tesla Model Y")\n end\n\n loadpointA -- loadpoint.1 --\x3e site\n loadpointB -- loadpoint.2 --\x3e site\n\n vehicleA --\x3e loadpointA\n vehicleB --\x3e loadpointA\n vehicleB --\x3e loadpointB\n vehicleC --\x3e loadpointB\n\n meterGrid -- meters.grid --\x3e site\n meterPV -- meters.pvs --\x3e site\n meterBattery -- meters.batterys --\x3e site\n'}),"\n",(0,r.jsx)(n.h3,{id:"wie-funktioniert-evcc-ein-blick-ins-innere",children:"Wie funktioniert evcc? (Ein Blick ins Innere)"}),"\n",(0,r.jsxs)(n.p,{children:["Wichtig f\xfcr die Funktionalit\xe4t ist ein Netzanschlussz\xe4hler (grid-meter). Dieser ermittelt die aktuelle \xdcberschussleistung.\nDie Messung der Erzeugungsleistung hat in diesem Fall keinen funktionalen Einfluss.\nEin Betrieb ist aber auch ohne Netzanschlussz\xe4hler m\xf6glich. Mehr dazu findest du ",(0,r.jsx)(n.a,{href:"/docs/guides/meters#ich-habe-eine-pv-anlage-aber-keinen-netzanschluss-z%C3%A4hler-kann-ich-evcc-trotzdem-nutzen",children:"hier"}),"."]}),"\n",(0,r.jsx)(n.p,{children:"Die \xdcberschussleistung wird mit der Mindestladeleistung verglichen. Ist diese erreicht, startet die Ladung."}),"\n",(0,r.jsxs)(n.p,{children:["Die Mindestladeleistung ergibt sich aus den im Loadpoint definierten Werten ",(0,r.jsx)(n.a,{href:"/docs/reference/configuration/loadpoints",children:(0,r.jsx)(n.code,{children:"minCurrent"})})," und ",(0,r.jsx)(n.a,{href:"/docs/reference/configuration/loadpoints",children:(0,r.jsx)(n.code,{children:"phases"})}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["Beispiel: ",(0,r.jsx)(n.code,{children:"phases: 1"})," und ",(0,r.jsx)(n.code,{children:"minCurrent: 8"})]}),"\n",(0,r.jsx)(n.p,{children:"1 (phases) x 8A (minCurrent) x 230V (Netzspannung) = 1840W (Mindestladeleistung)"}),"\n",(0,r.jsx)(n.h4,{id:"manipulationsm\xf6glichkeiten",children:"Manipulationsm\xf6glichkeiten"}),"\n",(0,r.jsx)(n.p,{children:"Normalerweise entspricht die \xdcberschussleistung der verf\xfcgbaren Ladeleistung. Die verf\xfcgbare Ladeleistung kann jedoch individuell durch mehrere Parameter ver\xe4ndert werden. Diese sind:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Site: ",(0,r.jsx)(n.code,{children:"residualpower"})]}),"\n",(0,r.jsxs)(n.li,{children:["Site: ",(0,r.jsx)(n.code,{children:"prioritySoc"})]}),"\n",(0,r.jsxs)(n.li,{children:["Site: ",(0,r.jsx)(n.code,{children:"bufferSoc"})]}),"\n",(0,r.jsxs)(n.li,{children:["Site: ",(0,r.jsx)(n.code,{children:"aux"})]}),"\n",(0,r.jsxs)(n.li,{children:["Loadpoint: ",(0,r.jsx)(n.code,{children:"enable: threshold"})]}),"\n",(0,r.jsxs)(n.li,{children:["Loadpoint: ",(0,r.jsx)(n.code,{children:"disable: threshold"})]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Die Einstellm\xf6glichkeiten bitte der Beschreibung der jeweiligen Parameter entnehmen."}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"https://docs.evcc.io/docs/reference/configuration/site",children:"https://docs.evcc.io/docs/reference/configuration/site"})," und ",(0,r.jsx)(n.a,{href:"https://docs.evcc.io/docs/reference/configuration/loadpoints",children:"https://docs.evcc.io/docs/reference/configuration/loadpoints"})]}),"\n",(0,r.jsx)(n.h3,{id:"site",children:"Site"}),"\n",(0,r.jsxs)(n.p,{children:["Eine ",(0,r.jsx)(n.em,{children:"Site"})," beschreibt den Standort mit den vorhandenen und ben\xf6tigten Ger\xe4ten der Hausinstallation und ist f\xfcr das Regeln der verf\xfcgbaren Leistung zust\xe4ndig."]}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"site",children:"Weiterlesen..."})}),"\n",(0,r.jsx)(n.h3,{id:"loadpoints",children:"Loadpoints"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.em,{children:"Loadpoints"})," (Ladepunkte) beschreiben die Ladeinfrastruktur und kombinieren vorhandene ",(0,r.jsx)(n.em,{children:"Charger"})," (Wallboxen), ",(0,r.jsx)(n.em,{children:"Vehicle"})," (Fahrzeuge) und alles weitere was ein Ladepunkt ben\xf6tigt."]}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"loadpoints",children:"Weiterlesen..."})}),"\n",(0,r.jsx)(n.h3,{id:"chargers",children:"Chargers"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.em,{children:"Chargers"})," (Wallboxen) beinhaltet eine Liste von Wallboxen und deren Eigenschaften, z.B. wie sie angesprochen werden."]}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"chargers",children:"Weiterlesen..."})}),"\n",(0,r.jsx)(n.h3,{id:"meters",children:"Meters"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.em,{children:"Meters"})," (Hausinstallation) ist eine Liste von Ger\xe4ten welche verschiedene Stromfl\xfcsse messen. Dazu geh\xf6ren:"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Eingekaufter, Verkaufter Strom"}),"\n",(0,r.jsx)(n.li,{children:"PV erzeugte Str\xf6me"}),"\n",(0,r.jsx)(n.li,{children:"Ladestrom des EV (falls die Wallbox dies nicht direkt unterst\xfctzt)"}),"\n",(0,r.jsx)(n.li,{children:"Str\xf6me der Hausbatterie(n)"}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"meters",children:"Weiterlesen..."})}),"\n",(0,r.jsx)(n.h3,{id:"vehicles",children:"Vehicles"}),"\n",(0,r.jsx)(n.p,{children:"Um die Ladung auf einen bestimmten Ladestand (Soc) in EVs zu begrenzen, k\xf6nnen hier die vorhandenen Fahrzeuge und Online Zugangsdaten angegeben werden."}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"vehicles",children:"Weiterlesen..."})}),"\n",(0,r.jsx)(n.h3,{id:"hems",children:"HEMS"}),"\n",(0,r.jsx)(n.p,{children:"evcc kann die Ladepunkte und deren Ladestr\xf6me an ein anderes Home Energy Management System (HEMS) weitergeben, damit dieses die Informationen z.b. zur Steuerung der Hausbatterie nutzen kann."}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"hems",children:"Weiterlesen..."})}),"\n",(0,r.jsx)(n.h3,{id:"messaging",children:"Messaging"}),"\n",(0,r.jsx)(n.p,{children:"In diesem Bereich k\xf6nnen Ereignisse definiert werden, bei welchen man informiert werden will. Zur Informations\xfcbermittlung werden eine Reihe von unterschiedlichen Systemen unterst\xfctzt."}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"messaging",children:"Weiterlesen..."})})]})}function o(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(h,{...e})}):h(e)}},1151:(e,n,i)=>{i.d(n,{Z:()=>c,a:()=>d});var r=i(7294);const t={},s=r.createContext(t);function d(e){const n=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:d(e.components),r.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0f036ce1.a9a6d9cb.js b/assets/js/0f036ce1.a9a6d9cb.js deleted file mode 100644 index 428fd0196e..0000000000 --- a/assets/js/0f036ce1.a9a6d9cb.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkevcc_docs=self.webpackChunkevcc_docs||[]).push([[9114],{3622:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>d,default:()=>h,frontMatter:()=>s,metadata:()=>c,toc:()=>l});var r=i(5893),t=i(1151);const s={sidebar_position:1},d="evcc.yaml",c={id:"reference/configuration/index",title:"evcc.yaml",description:"evcc ben\xf6tigt eine Konfigurationsdatei in der die Installation beschrieben wird. Ohne diese Datei kann evcc nicht genutzt werden. Die Datei selbst ist im YAML Format geschrieben. Dieses Format definiert eine Syntax wodurch eine strukturierte Datenstruktur in Textform erstellt werden kann.",source:"@site/docs/reference/configuration/index.md",sourceDirName:"reference/configuration",slug:"/reference/configuration/",permalink:"/docs/reference/configuration/",draft:!1,unlisted:!1,editUrl:"https://github.com/evcc-io/docs/tree/main/docs/reference/configuration/index.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Referenz",permalink:"/docs/reference/"},next:{title:"site",permalink:"/docs/reference/configuration/site"}},a={},l=[{value:"Struktur",id:"struktur",level:3},{value:"Wie funktioniert evcc? (Ein Blick ins Innere)",id:"wie-funktioniert-evcc-ein-blick-ins-innere",level:3},{value:"Manipulationsm\xf6glichkeiten",id:"manipulationsm\xf6glichkeiten",level:4},{value:"Site",id:"site",level:3},{value:"Loadpoints",id:"loadpoints",level:3},{value:"Chargers",id:"chargers",level:3},{value:"Meters",id:"meters",level:3},{value:"Vehicles",id:"vehicles",level:3},{value:"HEMS",id:"hems",level:3},{value:"Messaging",id:"messaging",level:3}];function o(e){const n={a:"a",code:"code",em:"em",h1:"h1",h3:"h3",h4:"h4",li:"li",mermaid:"mermaid",p:"p",ul:"ul",...(0,t.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"evccyaml",children:"evcc.yaml"}),"\n",(0,r.jsxs)(n.p,{children:["evcc ben\xf6tigt eine Konfigurationsdatei in der die Installation beschrieben wird. Ohne diese Datei kann evcc nicht genutzt werden. Die Datei selbst ist im ",(0,r.jsx)(n.a,{href:"https://de.wikipedia.org/wiki/YAML",children:"YAML"})," Format geschrieben. Dieses Format definiert eine Syntax wodurch eine strukturierte Datenstruktur in Textform erstellt werden kann."]}),"\n",(0,r.jsxs)(n.p,{children:["Zur Bearbeitung bzw. Erstellung der Konfigurationsdatei empfehlen wir einen Texteditor zu verwenden, welcher die YAML Synthax beherrscht und damit Fehler aufzeigen kann, z.B. ",(0,r.jsx)(n.a,{href:"https://code.visualstudio.com",children:"VS Code"})," mit der ",(0,r.jsx)(n.a,{href:"https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml",children:"YAML Erweiterung"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["Die Konfigurationsdatei hat standardm\xe4\xdfig den Namen ",(0,r.jsx)(n.code,{children:"evcc.yaml"})," und ist entweder im gleichen Verzeichnis wie das Programm selbst abzulegen, oder bei Linux-Systemen unter ",(0,r.jsx)(n.code,{children:"/etc/evcc.yaml"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["Wenn die Konfigurationsdatei nicht gefunden wird, kann diese \xfcber einen Parameter beim Aufruf evcc \xfcbergeben werden: z.B. ",(0,r.jsx)(n.code,{children:"evcc -c /home/evcc.yaml"})]}),"\n",(0,r.jsx)(n.h3,{id:"struktur",children:"Struktur"}),"\n",(0,r.jsxs)(n.p,{children:["Die Konfigurationsdatei von evcc besteht aus mehreren Bereichen. Um von einem Bereich auf Elemente eines anderen Bereichs zu verweisen, haben einzelne Ger\xe4te einen ",(0,r.jsx)(n.code,{children:"name"})," Parameter, den man frei mit einem Text vergeben kann. Der vergebene Text dient der Identifikation und Referenzierung."]}),"\n",(0,r.jsxs)(n.p,{children:["Eine Beispieldatei mit vielen Parametern findet man hier: ",(0,r.jsx)(n.a,{href:"https://github.com/evcc-io/evcc/blob/master/evcc.dist.yaml",children:"https://github.com/evcc-io/evcc/blob/master/evcc.dist.yaml"})]}),"\n",(0,r.jsx)(n.p,{children:"Hier ein \xdcberblick \xfcber die Beziehungen der wichtigsten Bestandteile der Konfiguration:"}),"\n",(0,r.jsx)(n.mermaid,{chart:'graph TD;\n site("site (Zuhause)")\n subgraph loadpoints\n loadpointA("Carport (charger: KEBA)")\n loadpointB("Garage (charger: Wallbe)")\n end\n subgraph meters\n meterGrid("Discovergy")\n meterPV("SMA Tripower")\n meterBattery("LG RESU")\n end\n subgraph vehicles\n vehicleA("VW ID.4")\n vehicleB("Renault Zoe")\n vehicleC("Tesla Model Y")\n end\n\n loadpointA -- loadpoint.1 --\x3e site\n loadpointB -- loadpoint.2 --\x3e site\n\n vehicleA --\x3e loadpointA\n vehicleB --\x3e loadpointA\n vehicleB --\x3e loadpointB\n vehicleC --\x3e loadpointB\n\n meterGrid -- meters.grid --\x3e site\n meterPV -- meters.pvs --\x3e site\n meterBattery -- meters.batterys --\x3e site\n'}),"\n",(0,r.jsx)(n.h3,{id:"wie-funktioniert-evcc-ein-blick-ins-innere",children:"Wie funktioniert evcc? (Ein Blick ins Innere)"}),"\n",(0,r.jsxs)(n.p,{children:["Wichtig f\xfcr die Funktionalit\xe4t ist ein Netzanschlussz\xe4hler (grid-meter). Dieser ermittelt die aktuelle \xdcberschussleistung.\nDie Messung der Erzeugungsleistung hat in diesem Fall keinen funktionalen Einfluss.\nAusnahme: ",(0,r.jsx)(n.a,{href:"https://docs.evcc.io/docs/guides/meters#ich-habe-eine-pv-anlage-aber-keinen-netzanschluss-z%C3%A4hler-kann-ich-evcc-trotzdem-nutzen",children:"https://docs.evcc.io/docs/guides/meters#ich-habe-eine-pv-anlage-aber-keinen-netzanschluss-z%C3%A4hler-kann-ich-evcc-trotzdem-nutzen"})]}),"\n",(0,r.jsx)(n.p,{children:"Die \xdcberschussleistung wird mit der Mindestladeleistung verglichen. Ist diese erreicht, startet die Ladung."}),"\n",(0,r.jsxs)(n.p,{children:["Die Mindestladeleistung ergibt sich aus den im Loadpoint definierten Werten ",(0,r.jsx)(n.code,{children:"minCurrent"})," und ",(0,r.jsx)(n.code,{children:"phases"})," (",(0,r.jsx)(n.a,{href:"https://docs.evcc.io/docs/reference/configuration/loadpoints",children:"https://docs.evcc.io/docs/reference/configuration/loadpoints"})]}),"\n",(0,r.jsxs)(n.p,{children:["Beispiel: ",(0,r.jsx)(n.code,{children:"phases: 1"})," und ",(0,r.jsx)(n.code,{children:"minCurrent: 8"})]}),"\n",(0,r.jsx)(n.p,{children:"1 (phases) x 8A (minCurrent) x 230V (Netzspannung) = 1840W (Mindestladeleistung)"}),"\n",(0,r.jsx)(n.h4,{id:"manipulationsm\xf6glichkeiten",children:"Manipulationsm\xf6glichkeiten"}),"\n",(0,r.jsx)(n.p,{children:"Normalerweise entspricht die \xdcberschussleistung der verf\xfcgbaren Ladeleistung. Die verf\xfcgbare Ladeleistung kann jedoch individuell durch mehrere Parameter ver\xe4ndert werden. Diese sind:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Site: ",(0,r.jsx)(n.code,{children:"residualpower"})]}),"\n",(0,r.jsxs)(n.li,{children:["Site: ",(0,r.jsx)(n.code,{children:"prioritySoc"})]}),"\n",(0,r.jsxs)(n.li,{children:["Site: ",(0,r.jsx)(n.code,{children:"bufferSoc"})]}),"\n",(0,r.jsxs)(n.li,{children:["Site: ",(0,r.jsx)(n.code,{children:"aux"})]}),"\n",(0,r.jsxs)(n.li,{children:["Loadpoint: ",(0,r.jsx)(n.code,{children:"enable: threshold"})]}),"\n",(0,r.jsxs)(n.li,{children:["Loadpoint: ",(0,r.jsx)(n.code,{children:"disable: threshold"})]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Die Einstellm\xf6glichkeiten bitte der Beschreibung der jeweiligen Parameter entnehmen."}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"https://docs.evcc.io/docs/reference/configuration/site",children:"https://docs.evcc.io/docs/reference/configuration/site"})," und ",(0,r.jsx)(n.a,{href:"https://docs.evcc.io/docs/reference/configuration/loadpoints",children:"https://docs.evcc.io/docs/reference/configuration/loadpoints"})]}),"\n",(0,r.jsx)(n.h3,{id:"site",children:"Site"}),"\n",(0,r.jsxs)(n.p,{children:["Eine ",(0,r.jsx)(n.em,{children:"Site"})," beschreibt den Standort mit den vorhandenen und ben\xf6tigten Ger\xe4ten der Hausinstallation und ist f\xfcr das Regeln der verf\xfcgbaren Leistung zust\xe4ndig."]}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"site",children:"Weiterlesen..."})}),"\n",(0,r.jsx)(n.h3,{id:"loadpoints",children:"Loadpoints"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.em,{children:"Loadpoints"})," (Ladepunkte) beschreiben die Ladeinfrastruktur und kombinieren vorhandene ",(0,r.jsx)(n.em,{children:"Charger"})," (Wallboxen), ",(0,r.jsx)(n.em,{children:"Vehicle"})," (Fahrzeuge) und alles weitere was ein Ladepunkt ben\xf6tigt."]}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"loadpoints",children:"Weiterlesen..."})}),"\n",(0,r.jsx)(n.h3,{id:"chargers",children:"Chargers"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.em,{children:"Chargers"})," (Wallboxen) beinhaltet eine Liste von Wallboxen und deren Eigenschaften, z.B. wie sie angesprochen werden."]}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"chargers",children:"Weiterlesen..."})}),"\n",(0,r.jsx)(n.h3,{id:"meters",children:"Meters"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.em,{children:"Meters"})," (Hausinstallation) ist eine Liste von Ger\xe4ten welche verschiedene Stromfl\xfcsse messen. Dazu geh\xf6ren:"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Eingekaufter, Verkaufter Strom"}),"\n",(0,r.jsx)(n.li,{children:"PV erzeugte Str\xf6me"}),"\n",(0,r.jsx)(n.li,{children:"Ladestrom des EV (falls die Wallbox dies nicht direkt unterst\xfctzt)"}),"\n",(0,r.jsx)(n.li,{children:"Str\xf6me der Hausbatterie(n)"}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"meters",children:"Weiterlesen..."})}),"\n",(0,r.jsx)(n.h3,{id:"vehicles",children:"Vehicles"}),"\n",(0,r.jsx)(n.p,{children:"Um die Ladung auf einen bestimmten Ladestand (Soc) in EVs zu begrenzen, k\xf6nnen hier die vorhandenen Fahrzeuge und Online Zugangsdaten angegeben werden."}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"vehicles",children:"Weiterlesen..."})}),"\n",(0,r.jsx)(n.h3,{id:"hems",children:"HEMS"}),"\n",(0,r.jsx)(n.p,{children:"evcc kann die Ladepunkte und deren Ladestr\xf6me an ein anderes Home Energy Management System (HEMS) weitergeben, damit dieses die Informationen z.b. zur Steuerung der Hausbatterie nutzen kann."}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"hems",children:"Weiterlesen..."})}),"\n",(0,r.jsx)(n.h3,{id:"messaging",children:"Messaging"}),"\n",(0,r.jsx)(n.p,{children:"In diesem Bereich k\xf6nnen Ereignisse definiert werden, bei welchen man informiert werden will. Zur Informations\xfcbermittlung werden eine Reihe von unterschiedlichen Systemen unterst\xfctzt."}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"messaging",children:"Weiterlesen..."})})]})}function h(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(o,{...e})}):o(e)}},1151:(e,n,i)=>{i.d(n,{Z:()=>c,a:()=>d});var r=i(7294);const t={},s=r.createContext(t);function d(e){const n=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:d(e.components),r.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/64764a04.64cc791c.js b/assets/js/64764a04.66d21529.js similarity index 60% rename from assets/js/64764a04.64cc791c.js rename to assets/js/64764a04.66d21529.js index 5e8ad8acd1..409f6c537d 100644 --- a/assets/js/64764a04.64cc791c.js +++ b/assets/js/64764a04.66d21529.js @@ -1 +1 @@ -"use strict";(self.webpackChunkevcc_docs=self.webpackChunkevcc_docs||[]).push([[3581],{1309:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>s,metadata:()=>d,toc:()=>l});var i=r(5893),t=r(1151);const s={sidebar_position:17},o="modbusproxy",d={id:"reference/configuration/modbusproxy",title:"modbusproxy",description:"modbusproxy ist eine Liste von Ger\xe4ten welche f\xfcr Drittsysteme via Modbus TCP im Netzwerk freigeben werden.",source:"@site/docs/reference/configuration/modbusproxy.md",sourceDirName:"reference/configuration",slug:"/reference/configuration/modbusproxy",permalink:"/docs/reference/configuration/modbusproxy",draft:!1,unlisted:!1,editUrl:"https://github.com/evcc-io/docs/tree/main/docs/reference/configuration/modbusproxy.md",tags:[],version:"current",sidebarPosition:17,frontMatter:{sidebar_position:17},sidebar:"tutorialSidebar",previous:{title:"telemetry",permalink:"/docs/reference/configuration/telemetry"},next:{title:"Plugins",permalink:"/docs/reference/plugins"}},c={},l=[{value:"Erforderliche Parameter",id:"erforderliche-parameter",level:2},{value:"port",id:"port",level:3},{value:"Optionale Parameter",id:"optionale-parameter",level:2},{value:"rtu",id:"rtu",level:3},{value:"readonly",id:"readonly",level:3}];function a(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",hr:"hr",p:"p",pre:"pre",strong:"strong",...(0,t.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"modbusproxy",children:(0,i.jsx)(n.code,{children:"modbusproxy"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.em,{children:"modbusproxy"})," ist eine Liste von Ger\xe4ten welche f\xfcr Drittsysteme via Modbus TCP im Netzwerk freigeben werden."]}),"\n",(0,i.jsxs)(n.p,{children:["Einige Ger\xe4te lassen nur eine sehr beschr\xe4nkte Anzahl an Modbus TCP Clients zu. Im ung\xfcnstigsten Fall nur genau eine einzige Verbindung wie z.B. bei SolarEdge-Komponenten. Aber auch bei seriellen Modbus RTU RS485-Bussystemen ist ohnehin immer nur ein Master erlaubt.\nMit Hilfe von ",(0,i.jsx)(n.code,{children:"modbusproxy"})," ist es m\xf6glich, evcc zus\xe4tzlich als Modbus-Proxy einzurichten welcher die bestehenden Modbus-Verbindungen mit weiteren Systemen teilen kann.\nDamit kommuniziert evcc direkt mit dem Ger\xe4t, weitere Systeme aber stattdessen mit evcc, welches die Kommunikationverbindungen b\xfcndelt und stellvertretend an das Zielger\xe4t weiterreicht."]}),"\n",(0,i.jsxs)(n.p,{children:["Die ",(0,i.jsx)(n.code,{children:"modbusproxy"})," Konfiguration ist eine Liste von verschiedenen Proxy-Freigaben."]}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Beispiel"}),":"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yaml",children:'modbusproxy:\n - port: 5021\n uri: 192.0.2.2:502\n - port: 5022\n device: /dev/ttyUSB0\n baudrate: 9600\n comset: "8N1"\n - port: 5023\n uri: 192.0.2.3:502\n rtu: true\n'})}),"\n",(0,i.jsxs)(n.admonition,{type:"info",children:[(0,i.jsxs)(n.p,{children:["Die Proxy-Funktion unterst\xfctzt ",(0,i.jsx)(n.em,{children:"eingehend"})," (d.h. von Drittsystemen wie z.B. Hausautomation, Logger) ausschlie\xdflich Modbus TCP."]}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.em,{children:"Ausgehend"})," in Richtung des abzufragenden Ger\xe4tes (z. B. Wechselrichter, Energiez\xe4hler) wird das Protokoll ggf. entsprechend der Zielger\xe4tekonfiguration \xfcbersetzt."]})]}),"\n",(0,i.jsx)(n.admonition,{title:"Sponsortoken erforderlich",type:"tip",children:(0,i.jsxs)(n.p,{children:["Weitere Informationen zum evcc Sponsorship gibt es hier: ",(0,i.jsx)(n.a,{href:"https://docs.evcc.io/docs/sponsorship",children:"https://docs.evcc.io/docs/sponsorship"})]})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h2,{id:"erforderliche-parameter",children:"Erforderliche Parameter"}),"\n",(0,i.jsx)(n.h3,{id:"port",children:(0,i.jsx)(n.code,{children:"port"})}),"\n",(0,i.jsx)(n.p,{children:"Der lokale TCP/IP-Port unter dem eine Verbindung als Proxyserver bereitstellt wird und eingehende Modbus TCP Verbindungen von Drittsystemen angenommen werden."}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Beispiel"}),":"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yaml",children:"port: 5021\n"})}),"\n",(0,i.jsx)(n.h2,{id:"optionale-parameter",children:"Optionale Parameter"}),"\n",(0,i.jsx)(n.h3,{id:"rtu",children:(0,i.jsx)(n.code,{children:"rtu"})}),"\n",(0,i.jsxs)(n.p,{children:["Zu Netzwerkzielen wird \xfcblicherweise mit Modbus TCP kommuniziert.\nBei Bedarf kann mit der Angabe von ",(0,i.jsx)(n.code,{children:"rtu: true"})," auf Modbus RTU over TCP statt Modbus TCP umgeschaltet werden.\nEin typischer Anwendungsfall daf\xfcr sind einfache, transparente RS485-TCP-Konverter (ohne Protokoll\xfcbersetzung).\nMuss mit der Ger\xe4tekonfiguration \xfcbereinstimmen. Wird bei seriellen Zielsystemen ignoriert."]}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Beispiel"}),":"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yaml",children:"rtu: true\n"})}),"\n",(0,i.jsx)(n.h3,{id:"readonly",children:(0,i.jsx)(n.code,{children:"readonly"})}),"\n",(0,i.jsxs)(n.p,{children:["Durch ",(0,i.jsx)(n.code,{children:"readonly: true"})," lassen sich Modbus-Schreibzugriffe durch Drittsysteme pauschal unterbinden."]}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Beispiel"}),":"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yaml",children:"readonly: true\n"})})]})}function u(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}},1151:(e,n,r)=>{r.d(n,{Z:()=>d,a:()=>o});var i=r(7294);const t={},s=i.createContext(t);function o(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkevcc_docs=self.webpackChunkevcc_docs||[]).push([[3581],{1309:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>s,metadata:()=>d,toc:()=>l});var i=r(5893),t=r(1151);const s={sidebar_position:17},o="modbusproxy",d={id:"reference/configuration/modbusproxy",title:"modbusproxy",description:"modbusproxy ist eine Liste von Ger\xe4ten welche f\xfcr Drittsysteme via Modbus TCP im Netzwerk freigeben werden.",source:"@site/docs/reference/configuration/modbusproxy.md",sourceDirName:"reference/configuration",slug:"/reference/configuration/modbusproxy",permalink:"/docs/reference/configuration/modbusproxy",draft:!1,unlisted:!1,editUrl:"https://github.com/evcc-io/docs/tree/main/docs/reference/configuration/modbusproxy.md",tags:[],version:"current",sidebarPosition:17,frontMatter:{sidebar_position:17},sidebar:"tutorialSidebar",previous:{title:"telemetry",permalink:"/docs/reference/configuration/telemetry"},next:{title:"Plugins",permalink:"/docs/reference/plugins"}},c={},l=[{value:"Erforderliche Parameter",id:"erforderliche-parameter",level:2},{value:"port",id:"port",level:3},{value:"Optionale Parameter",id:"optionale-parameter",level:2},{value:"rtu",id:"rtu",level:3},{value:"readonly",id:"readonly",level:3}];function a(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",hr:"hr",p:"p",pre:"pre",strong:"strong",...(0,t.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"modbusproxy",children:(0,i.jsx)(n.code,{children:"modbusproxy"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.em,{children:"modbusproxy"})," ist eine Liste von Ger\xe4ten welche f\xfcr Drittsysteme via Modbus TCP im Netzwerk freigeben werden."]}),"\n",(0,i.jsxs)(n.p,{children:["Einige Ger\xe4te lassen nur eine sehr beschr\xe4nkte Anzahl an Modbus TCP Clients zu. Im ung\xfcnstigsten Fall nur genau eine einzige Verbindung wie z.B. bei SolarEdge-Komponenten. Aber auch bei seriellen Modbus RTU RS485-Bussystemen ist ohnehin immer nur ein Master erlaubt.\nMit Hilfe von ",(0,i.jsx)(n.code,{children:"modbusproxy"})," ist es m\xf6glich, evcc zus\xe4tzlich als Modbus-Proxy einzurichten welcher die bestehenden Modbus-Verbindungen mit weiteren Systemen teilen kann.\nDamit kommuniziert evcc direkt mit dem Ger\xe4t, weitere Systeme aber stattdessen mit evcc, welches die Kommunikationverbindungen b\xfcndelt und stellvertretend an das Zielger\xe4t weiterreicht."]}),"\n",(0,i.jsxs)(n.p,{children:["Die ",(0,i.jsx)(n.code,{children:"modbusproxy"})," Konfiguration ist eine Liste von verschiedenen Proxy-Freigaben."]}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Beispiel"}),":"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yaml",children:'modbusproxy:\n - port: 5021\n uri: 192.0.2.2:502\n - port: 5022\n device: /dev/ttyUSB0\n baudrate: 9600\n comset: "8N1"\n - port: 5023\n uri: 192.0.2.3:502\n rtu: true\n'})}),"\n",(0,i.jsxs)(n.admonition,{type:"info",children:[(0,i.jsxs)(n.p,{children:["Die Proxy-Funktion unterst\xfctzt ",(0,i.jsx)(n.em,{children:"eingehend"})," (d.h. von Drittsystemen wie z.B. Hausautomation, Logger) ausschlie\xdflich Modbus TCP."]}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.em,{children:"Ausgehend"})," in Richtung des abzufragenden Ger\xe4tes (z. B. Wechselrichter, Energiez\xe4hler) wird das Protokoll ggf. entsprechend der Zielger\xe4tekonfiguration \xfcbersetzt."]})]}),"\n",(0,i.jsx)(n.admonition,{title:"Sponsortoken erforderlich",type:"tip",children:(0,i.jsxs)(n.p,{children:["Hier findest du weitere Informationen zum ",(0,i.jsx)(n.a,{href:"/docs/sponsorship",children:"evcc Sponsorship"}),"."]})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h2,{id:"erforderliche-parameter",children:"Erforderliche Parameter"}),"\n",(0,i.jsx)(n.h3,{id:"port",children:(0,i.jsx)(n.code,{children:"port"})}),"\n",(0,i.jsx)(n.p,{children:"Der lokale TCP/IP-Port unter dem eine Verbindung als Proxyserver bereitstellt wird und eingehende Modbus TCP Verbindungen von Drittsystemen angenommen werden."}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Beispiel"}),":"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yaml",children:"port: 5021\n"})}),"\n",(0,i.jsx)(n.h2,{id:"optionale-parameter",children:"Optionale Parameter"}),"\n",(0,i.jsx)(n.h3,{id:"rtu",children:(0,i.jsx)(n.code,{children:"rtu"})}),"\n",(0,i.jsxs)(n.p,{children:["Zu Netzwerkzielen wird \xfcblicherweise mit Modbus TCP kommuniziert.\nBei Bedarf kann mit der Angabe von ",(0,i.jsx)(n.code,{children:"rtu: true"})," auf Modbus RTU over TCP statt Modbus TCP umgeschaltet werden.\nEin typischer Anwendungsfall daf\xfcr sind einfache, transparente RS485-TCP-Konverter (ohne Protokoll\xfcbersetzung).\nMuss mit der Ger\xe4tekonfiguration \xfcbereinstimmen. Wird bei seriellen Zielsystemen ignoriert."]}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Beispiel"}),":"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yaml",children:"rtu: true\n"})}),"\n",(0,i.jsx)(n.h3,{id:"readonly",children:(0,i.jsx)(n.code,{children:"readonly"})}),"\n",(0,i.jsxs)(n.p,{children:["Durch ",(0,i.jsx)(n.code,{children:"readonly: true"})," lassen sich Modbus-Schreibzugriffe durch Drittsysteme pauschal unterbinden."]}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Beispiel"}),":"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yaml",children:"readonly: true\n"})})]})}function u(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}},1151:(e,n,r)=>{r.d(n,{Z:()=>d,a:()=>o});var i=r(7294);const t={},s=i.createContext(t);function o(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.2fb2df49.js b/assets/js/runtime~main.8de50f2c.js similarity index 98% rename from assets/js/runtime~main.2fb2df49.js rename to assets/js/runtime~main.8de50f2c.js index e275f0030c..81b86a060e 100644 --- a/assets/js/runtime~main.2fb2df49.js +++ b/assets/js/runtime~main.8de50f2c.js @@ -1 +1 @@ -(()=>{"use strict";var e,b,c,a,d,f={},t={};function r(e){var b=t[e];if(void 0!==b)return b.exports;var c=t[e]={id:e,loaded:!1,exports:{}};return f[e].call(c.exports,c,c.exports,r),c.loaded=!0,c.exports}r.m=f,r.c=t,e=[],r.O=(b,c,a,d)=>{if(!c){var f=1/0;for(i=0;i=d)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,d0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[c,a,d]},r.n=e=>{var b=e&&e.__esModule?()=>e.default:()=>e;return r.d(b,{a:b}),b},c=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={};b=b||[null,c({}),c([]),c(c)];for(var t=2&a&&e;"object"==typeof t&&!~b.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((b=>f[b]=()=>e[b]));return f.default=()=>e,r.d(d,f),d},r.d=(e,b)=>{for(var c in b)r.o(b,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:b[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((b,c)=>(r.f[c](e,b),b)),[])),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:"f9a562c5",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:"64cc791c",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:"a9a6d9cb",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,b)=>Object.prototype.hasOwnProperty.call(e,b),a={},d="evcc-docs:",r.l=(e,b,c,f)=>{if(a[e])a[e].push(b);else{var t,o;if(void 0!==c)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(c))),b)return b(c)},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=(b,c)=>{var a=r.o(e,b)?e[b]:void 0;if(0!==a)if(a)c.push(a[2]);else if(/^(1303|532)$/.test(b))e[b]=0;else{var d=new Promise(((c,d)=>a=e[b]=[c,d]));c.push(a[2]=d);var f=r.p+r.u(b),t=new Error;r.l(f,(c=>{if(r.o(e,b)&&(0!==(a=e[b])&&(e[b]=void 0),a)){var d=c&&("load"===c.type?"missing":c.type),f=c&&c.target&&c.target.src;t.message="Loading chunk "+b+" failed.\n("+d+": "+f+")",t.name="ChunkLoadError",t.type=d,t.request=f,a[1](t)}}),"chunk-"+b,b)}},r.O.j=b=>0===e[b];var b=(b,c)=>{var a,d,f=c[0],t=c[1],o=c[2],n=0;if(f.some((b=>0!==e[b]))){for(a in t)r.o(t,a)&&(r.m[a]=t[a]);if(o)var i=o(r)}for(b&&b(c);n{"use strict";var e,b,c,a,d,f={},t={};function r(e){var b=t[e];if(void 0!==b)return b.exports;var c=t[e]={id:e,loaded:!1,exports:{}};return f[e].call(c.exports,c,c.exports,r),c.loaded=!0,c.exports}r.m=f,r.c=t,e=[],r.O=(b,c,a,d)=>{if(!c){var f=1/0;for(i=0;i=d)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,d0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[c,a,d]},r.n=e=>{var b=e&&e.__esModule?()=>e.default:()=>e;return r.d(b,{a:b}),b},c=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={};b=b||[null,c({}),c([]),c(c)];for(var t=2&a&&e;"object"==typeof t&&!~b.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((b=>f[b]=()=>e[b]));return f.default=()=>e,r.d(d,f),d},r.d=(e,b)=>{for(var c in b)r.o(b,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:b[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((b,c)=>(r.f[c](e,b),b)),[])),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:"f9a562c5",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,b)=>Object.prototype.hasOwnProperty.call(e,b),a={},d="evcc-docs:",r.l=(e,b,c,f)=>{if(a[e])a[e].push(b);else{var t,o;if(void 0!==c)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(c))),b)return b(c)},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=(b,c)=>{var a=r.o(e,b)?e[b]:void 0;if(0!==a)if(a)c.push(a[2]);else if(/^(1303|532)$/.test(b))e[b]=0;else{var d=new Promise(((c,d)=>a=e[b]=[c,d]));c.push(a[2]=d);var f=r.p+r.u(b),t=new Error;r.l(f,(c=>{if(r.o(e,b)&&(0!==(a=e[b])&&(e[b]=void 0),a)){var d=c&&("load"===c.type?"missing":c.type),f=c&&c.target&&c.target.src;t.message="Loading chunk "+b+" failed.\n("+d+": "+f+")",t.name="ChunkLoadError",t.type=d,t.request=f,a[1](t)}}),"chunk-"+b,b)}},r.O.j=b=>0===e[b];var b=(b,c)=>{var a,d,f=c[0],t=c[1],o=c[2],n=0;if(f.some((b=>0!==e[b]))){for(a in t)r.o(t,a)&&(r.m[a]=t[a]);if(o)var i=o(r)}for(b&&b(c);n