.vf-lm{font-family:Poppins,'Helvetica Neue',Arial,sans-serif;color:#fff;position:relative}.vf-lm-stage{position:relative;width:100%}.vf-lm-stage svg{display:block;overflow:visible;max-width:none!important;fill:#fff;touch-action:pan-y;user-select:none;-webkit-user-select:none}.vf-lm-stage text{font-family:inherit;font-weight:400;fill:#fff}.vf-lm-stage .g{fill:#AFBFD6}.vf-lm-stage .m{font-weight:500}.vf-lm-stage .kb{fill:#507CCF}.vf-lm-stage .kg{fill:#89B2AA}.vf-lm-stage .cv{fill:#AE7EEC;stroke:#AE7EEC}.vf-lm-stage .cy{fill:#FFC546;stroke:#FFC546}.vf-lm-stage .cb{fill:#3769C9;stroke:#3769C9}.vf-lm-stage .co{fill:#D55E00;stroke:#D55E00}.vf-lm-stage .cg{fill:#89B2AA;stroke:#89B2AA}.vf-lm-stage .cp{fill:#018287;stroke:#018287}.vf-lm-stage text.co{fill:#D55E00;stroke:none}.vf-lm-stage .ln{fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.vf-lm-stage .sf{stroke:#fff}.vf-lm-stage .sg{stroke:#AFBFD6}.vf-lm-stage .sb{stroke:#464E5B}.vf-lm-stage .da{stroke-dasharray:6 4}.vf-lm-stage .ar{fill-opacity:.22;stroke-width:1.5;stroke-linejoin:round;transition:fill-opacity .15s ease-out,stroke-opacity .15s ease-out}.vf-lm-stage .ar.fg,.vf-lm-stage .mb.fg .ar{fill-opacity:1;stroke-opacity:0}.vf-lm-stage .mb text{font-weight:500;fill:#fff}.vf-lm-stage .mb.dk.fg text{fill:#121212}.vf-lm-stage .fd{opacity:0;transition:opacity .15s ease-out}.vf-lm-stage .fd.on{opacity:1}.vf-lm-stage [data-r=ht]{cursor:ew-resize}.vf-lm-stage [data-r=hd]{cursor:grab;outline:0}.vf-lm-stage [data-r=hd]:active{cursor:grabbing}.vf-lm-stage [data-r=ring]{opacity:0}.vf-lm-stage [data-r=hd]:focus-visible [data-r=ring]{opacity:1}.vf-lm-st{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.vf-lm-lg{display:flex;flex-wrap:wrap;gap:8px 32px;margin-top:16px;font-size:14px;line-height:1.3}.vf-lm-lg span{display:inline-flex;align-items:center;gap:10px}.vf-lm-lg b{display:inline-block;width:16px;height:16px;border-radius:4px;flex:none}.vf-lm-lg i{display:inline-block;width:32px;height:0;border-top:1.5px solid;flex:none}@media(max-width:767px){.vf-lm-lg{font-size:12px;gap:6px 18px}}@media(prefers-reduced-motion:reduce){.vf-lm *{transition:none!important}}!function(){var t=[110,109.7,109.5,109.3,109.1,108.9,108.7,108.6,108.5,108.4,108.3,108.2,108.2,108.1,108.1,108,108,108,108,108,108,108.3,117.9,166.5,277.7,347.9,300,206.6,169.3,172.4,195,209.3,184.3,156.7,162.7,239.7,279.4,271.5,230,200.1,192.1,193.5,196,199.3,205.5,216.5,227.1,233.5,239.1,243.3,245,244.4,242.7,240.5,237.5,232.4,221,196.2,196.3,201.4,210.4,236.2,300,382.6,422,415,385,367.5,355,348,342.9,336.7,326.9,312.4,285,222.2,174.6,141.7,125.3,116,112,111.4,110.9,110.4,110,109.6,109.3,109,108.7,108.5,108.4,108.3,108.2,108.1,108,108,108],e=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,.4,4.5,26.7,77.2,110,77.2,26.7,4.5,.4,0,0,0,.3,5.5,31,55,31,5.5,.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,.1,1.3,9.4,40.3,104.1,163.3,169,163.3,153,138.8,122.1,104.1,86.1,68.9,53.5,40.3,29.4,20.8,14.2,9.4,6.1,3.8,2.3,1.3,.8,.4,.2,.1,.1,0,0,0,0,0,0,0,0,0],n=[110,109.7,109.5,109.3,109.1,108.9,108.7,108.6,108.5,108.3,108.2,108.1,108.1,108,107.9,107.7,107.6,107.4,107.1,106.7,106.1,105.8,109.7,136.2,195.4,228.2,209.9,169.6,147.8,150,166.1,172.5,141.7,104.4,97.3,130.4,136.8,136.6,106.6,66.9,41.7,26.1,12.7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,15,46.3,91.7,122.4,120.4,118.2,108.6,113.2,126.4,146.7,169.5,190.3,206,214.2,205.1,161.9,127.5,106.1,97.7,95.2,96.2,99.3,101.6,103.4,104.6,105.5,106.1,106.6,106.9,107.2,107.3,107.5,107.6,107.6,107.7,107.8,107.8],a=[0,0,0,0,0,0,.1,.2,.4,.9,1.8,3.4,6.2,10.8,17.9,28.5,43.3,63.1,88,117.6,150.5,184.4,216.4,243.2,261.7,269.8,267.6,257.9,241.6,220,194.8,167.6,140.2,114,90.1,69.2,51.7,37.5,26.5,18.2,12.1,7.8,4.9,3,1.8,1,.6,.3,.2],r=[87,86.8,86.6,86.3,85.9,85.5,85,84.6,84.1,83.5,82.6,81.3,74.9,73.4,75,79,82,81.7,81,80,77.2,73,70,68.6,68,68.7,70.3,72,73.7,75.6,78,82.5,83.6,76,67.4,62,56.8,53,50.3,49,49.5,50.6,52,53.8,56,58,59.5,60.9,62],i=[5.75,6.75,15.5,16.5,20],s=[["kb",6.2,350,6.6],["kb",16.1,425,16.4],["kg",12.6,270,12]],o=[[0,5.75,"cp",0,0],[5.75,6.75,"co",1,1],[6.75,15.5,"cg",2,1],[15.5,16.5,"co",1,1],[16.5,20,"cg",2,1],[20,24,"cp",0,0]],d={de:{pw:"Leistung (kW)",tk:function(t){return t+" Uhr"},ti:"Lastgang mit Betriebsmodi",ds:"Animierte, schematische Grafik eines Tages: Verbrauch, PV-Erzeugung, Speicherentladung, Netzbezug und Ladezustand mit den Betriebsmodi Handel und Leerlauf, Lastspitzenkappung (LSK) und Eigenverbrauchsoptimierung (EVO). Zweimal kappt die Entladung die Lastspitze, mittags lädt der Speicher mit PV-Überschuss. Der Zeiger lässt sich mit den Pfeiltasten verschieben.",lim:"LSK-Grenze",lim2:"LSK-Grenze (250 kW)",soc:"Ladezustand (SOC)",call:[["Anlaufphase","Entladung kappt den Netzbezug"],["Spitze","Entladung senkt den Bezug"],["EVO lädt den Speicher","mit PV-Überschuss"]],md:[["Handel / Leerlauf","Handel"],["LSK",""],["EVO",""]],t:["Handel und Leerlauf","Lastspitzenkappung: Entladung kappt den Netzbezug","Eigenverbrauchsoptimierung: Speicher lädt mit PV-Überschuss","Lastspitzenkappung: Entladung senkt die Spitze","Eigenverbrauchsoptimierung","Handel und Leerlauf","Das EMS wechselt zwischen Handel, Lastspitzenkappung und Eigenverbrauch"],lg:["Verbrauch","Erzeugung (PV)","Speicher entlädt","Netzbezug","Ladezustand (SOC)"],lm:["Handel / Leerlauf","LSK: Lastspitzenkappung","EVO: Eigenverbrauchsoptimierung"]},en:{pw:"Power (kW)",tk:function(t){return t+":00"},ti:"Load profile with operating modes",ds:"Animated, schematic chart of one day: consumption, PV generation, storage discharge, grid draw and state of charge with the operating modes trading and idle, peak shaving (LSK) and self-consumption optimization (EVO). Twice the discharge caps the load peak, at midday the storage charges from PV surplus. The pointer can be moved with the arrow keys.",lim:"LSK limit",lim2:"LSK limit (250 kW)",soc:"State of charge (SOC)",call:[["Ramp-up","Discharge caps grid draw"],["Peak","Discharge lowers draw"],["EVO charges the storage","from PV surplus"]],md:[["Trading / Idle","Trading"],["LSK",""],["EVO",""]],t:["Trading and idle","Peak shaving: discharge caps grid draw","Self-consumption optimization: storage charges from PV surplus","Peak shaving: discharge lowers the peak","Self-consumption optimization","Trading and idle","The EMS switches between trading, peak shaving and self-consumption"],lg:["Consumption","Generation (PV)","Storage discharge","Grid draw","State of charge (SOC)"],lm:["Trading / Idle","LSK: Peak shaving","EVO: Self-consumption optimization"]}},c=(i=[5.75,6.75,15.5,16.5,20],0);function u(t){return Math.round(10*t)/10}function l(t){return(t<10?"0":"")+t}function h(t,e,n,a){var r=t.map(function(t,r){return[n(r*e),a(t)]}),i=r.length,s=[];function o(t){var e=r[Math.max(t-1,0)],n=r[Math.min(t+1,i-1)];return[(n[0]-e[0])/2,(n[1]-e[1])/2]}for(var d=0;d<i-1;d++){var c=o(d),l=o(d+1);s.push(u(r[d][0]+c[0]/3)+","+u(r[d][1]+c[1]/3),u(r[d+1][0]-l[0]/3)+","+u(r[d+1][1]-l[1]/3),u(r[d+1][0])+","+u(r[d+1][1]))}return"M"+u(r[0][0])+","+u(r[0][1])+"C"+s.join(" ")}function g(){document.querySelectorAll("[data-vf-lm]").forEach(function(g){if(!g.dataset.ready){g.dataset.ready="1";var p,f,m=d[f=g,"en"===(f.getAttribute("data-lang")||document.documentElement.lang||"de").toLowerCase().slice(0,2)?"en":"de"],v=++c,b=g.querySelector(".vf-lm-stage"),x=g.querySelector(".vf-lm-tx"),L=matchMedia("(prefers-reduced-motion:reduce)").matches,E={},w=0,M=0,k=0,y=0,S=-1;g.setAttribute("lang",m===d.en?"en":"de");var z=g.querySelector(".vf-lm-st"),A=["#AE7EEC","#FFC546","#3769C9","","#89B2AA"],H=["#018287","#D55E00","#89B2AA"],P="",V="";m.lg.forEach(function(t,e){P+="
"+(A[e]?'':'')+t+""}),m.lm.forEach(function(t,e){V+='
'+t+""}),z.insertAdjacentHTML("afterend",'
'+P+'
'+V+"
"),D(),"ResizeObserver"in window?new ResizeObserver(D).observe(b):addEventListener("resize",D),L?O(24):"IntersectionObserver"in window?new IntersectionObserver(function(t,e){t[0].isIntersecting&&(e.disconnect(),C())},{threshold:.35}).observe(g):C()}function T(t){return b.querySelector("[data-r="+t+"]")}function O(e){M=Math.max(0,Math.min(24,e));var n,a,r=p.ML+p.Wd*M/24,o=p.base-function(e){var n=t,a=4*e,r=Math.min(95,0|a),i=a-r,s=1-i,o=n[r],d=n[r+1];function c(t){return(n[Math.min(t+1,96)]-n[Math.max(t-1,0)])/2}return s*s*s*o+3*s*s*i*(o+c(r)/3)+3*s*i*i*(d-c(r+1)/3)+i*i*i*d}(M)*p.K,c=M>=24?6:i.filter(function(t){return M>=t}).length;E.clip.setAttribute("width",r),E.u.setAttribute("x1",r),E.u.setAttribute("x2",r),[E.dot,E.hh,E.ring].forEach(function(t){t.setAttribute("cx",r),t.setAttribute("cy",o)}),E.m.forEach(function(t,e){t.classList.toggle("fg",e===c||6===c)}),E.aE.classList.toggle("fg",1===c||3===c||6===c),E.k.forEach(function(t,e){t&&t.classList.toggle("on",M>=s[e][3])}),c!==S&&(x.textContent=m.t[c],S=c),E.hd.setAttribute("aria-valuenow",M.toFixed(1)),E.hd.setAttribute("aria-valuetext",(n=M,a=Math.round(60*n),l(Math.floor(a/60))+":"+l(a%60)+(m===d.en?"":" Uhr")+", "+m.t[c]))}function B(){k&&cancelAnimationFrame(k),k=0}function C(){var t;B(),O(0),k=requestAnimationFrame(function e(n){t=t||n;var a=Math.min(1,(n-t)/1e4);O(24*a),k=a<1?requestAnimationFrame(e):0})}function W(t){var e=E.svg.createSVGPoint();return e.x=t.clientX,e.y=t.clientY,(e.matrixTransform(E.svg.getScreenCTM().inverse()).x-p.ML)/p.Wd*24}function K(t){t.preventDefault(),B(),y=1;try{E.svg.setPointerCapture(t.pointerId)}catch(t){}O(W(t)),E.hd.focus({preventScroll:!0})}function D(){var i=Math.round(b.getBoundingClientRect().width);!i||Math.abs(i-w)<2||(w=i,p=function(t){var e=t<600,n=!e&&t(s=Math.max(i.ML+4,Math.min(s,g-a)))+a-8&&(s=Math.min(r-a+16,g-a)),!(r
s+a-8)){for(var o=0;o<E.length;o++)if(sE[o][0]-8)return;E.push([s,s+a]);var d=m(t[2])-6;b+=''+n[0]+''+n[1]+""+(d>L+x+3?'':"")+""}}),p.push(''+c.pw+'');for(var w=0;w<=600;w+=100)p.push(''+w+"");p.push('100 %40 %');var M="";for(w=100;w=L-3&&kt[0]&&(M+="M"+u(t[0])+" "+u(k)+"H"+u(t[1]))})}p.push(''),p.push(''),[[5.75,6.75],[15.5,16.5]].forEach(function(t){p.push('')});var z=h(r,.5,f,function(t){return i.sBot-i.sH*(t-40)/60});return p.push(''),p.push(''),p.push(''),p.push(''+(i.m?c.lim:c.lim2)+""),i.m||p.push(''+c.soc+""),o.forEach(function(t,e){var n=f(t[0])+1,a=f(t[1])-f(t[0])-2,r=c.md[t[3]],s=a>=r[0].length*l*.55+6?r[0]:r[1]&&a>=r[1].length*l*.55+4?r[1]:"",o=!!s;p.push(''+(o?''+s+"":"")+"")}),p.push(''),[[0,"start"],[6,"middle"],[12,"middle"],[18,"middle"],[24,"end"]].forEach(function(t){p.push(''+c.tk(t[0])+"")}),p.push(""+b),p.push(''),p.push(''),''+c.ti+''+c.ds+""+p.join("")+""}(p,v,m),E={svg:b.querySelector("svg"),clip:T("clip"),u:T("u"),dot:T("dot"),hh:T("hh"),ring:T("ring"),hd:T("hd"),aE:T("aE"),m:[0,1,2,3,4,5].map(function(t){return T("m"+t)}),k:[0,1,2].map(function(t){return T("k"+t)})},T("ht").addEventListener("pointerdown",K),E.hd.addEventListener("pointerdown",function(t){t.stopPropagation(),K(t)}),E.svg.addEventListener("pointermove",function(t){y&&O(W(t))}),E.svg.addEventListener("pointerup",function(){y=0}),E.svg.addEventListener("pointercancel",function(){y=0}),E.hd.addEventListener("keydown",function(t){var e=t.key,n={ArrowRight:.5,ArrowUp:.5,ArrowLeft:-.5,ArrowDown:-.5,PageUp:3,PageDown:-3}[e];if("Home"===e||"End"===e)B(),O("Home"===e?0:24);else{if(!n)return;B(),O(M+n)}t.preventDefault()}),O(M))}})}"loading"===document.readyState?document.addEventListener("DOMContentLoaded",g):g()}();