diff --git a/assets/js/components/Loadpoint.vue b/assets/js/components/Loadpoint.vue index a623d77c3..7b5104e60 100644 --- a/assets/js/components/Loadpoint.vue +++ b/assets/js/components/Loadpoint.vue @@ -29,24 +29,24 @@
Willkommen bei evcc
evcc ist dient zur flexiblen Ladesteuerung von Elektrofahrzeugen.
Es sieht aus, als w\xE4re Dein evcc noch nicht konfiguriert. Um evcc zu konfigurieren sind die folgenden Schritte notwendig:
evcc.yaml. Die Standardkonfiguration evcc.dist.yaml kann daf\xFCr als Vorlage dienen (Download). chargers.meters. site. In einer Site wird der Netzanschluss mit dem konfigurierten EVU Z\xE4hler (meter) verbunden. loadpoints. In einem Ladepunkt wird die konfigurierte Wallbox (charger) mit dem Ladepunkt verbunden. evcc -c evcc.yamlMinimale Beispielkonfiguration f\xFCr evcc:
Willkommen bei evcc evcc ist dient zur flexiblen Ladesteuerung von Elektrofahrzeugen. Es sieht aus, als w\xE4re Dein evcc noch nicht konfiguriert. Um evcc zu konfigurieren sind die folgenden Schritte notwendig: Minimale Beispielkonfiguration f\xFCr evcc: Viel Spass mit evcc! Bei Problemen kannst Du uns auf GitHub erreichen. uri: localhost:7070 # Adresse f\xFCr UI
+ ${e.fmtShortDurationUnit(s.chargeDurationInterpolated)}`},null,8,["label","value"]))]),se(c,Mt(i.vehicle,{onTargetSocUpdated:i.setTargetSoC,onTargetTimeUpdated:i.setTargetTime,onTargetTimeRemoved:i.removeTargetTime}),null,16,["onTargetSocUpdated","onTargetTimeUpdated","onTargetTimeRemoved"])])}var jk=Ie(Lk,[["render",Bk],["__scopeId","data-v-75536f1f"]]);const Vk={name:"Site",components:{Loadpoint:jk},mixins:[yr],props:{loadpoints:Array},data(){return{selectedIndex:0,snapTimeout:null}},mounted(){this.$refs.carousel.addEventListener("scroll",this.handleCarouselScroll,!1)},unmounted(){this.$refs.carousel.removeEventListener("scroll",this.handleCarouselScroll)},methods:{handleCarouselScroll(){const{scrollLeft:e}=this.$refs.carousel,{offsetWidth:t}=this.$refs.carousel.children[0];this.selectedIndex=Math.round((e-7.5)/t)},selected(e){return this.selectedIndex===e},scrollTo(e){if(this.selectedIndex===e)return;this.selectedIndex=e;const t=this.$refs.carousel,n=t.children[0].offsetWidth;t.style.scrollSnapType="none",t.scrollTo({top:0,left:7.5+n*e,behavior:"smooth"}),clearTimeout(this.snapTimeout),this.snapTimeout=setTimeout(()=>{this.$refs.carousel.style.scrollSnapType="x mandatory"},1e3)}}},Uk=e=>(Ft("data-v-34f3ca44"),e=e(),Ht(),e),Wk={class:"container container--loadpoint px-0 mb-md-2 d-flex flex-column justify-content-center"},zk={ref:"carousel",class:"carousel d-lg-flex flex-wrap"},Kk={key:0,class:"d-flex d-lg-none justify-content-center"},Yk=["onClick"],qk=Uk(()=>T("shopicon-filled-circle",{class:"indicator-icon"},null,-1)),Gk=[qk];function Xk(e,t,n,r,s,i){const o=Ce("Loadpoint");return V(),Y("div",Wk,[T("div",zk,[(V(!0),Y(Pe,null,Zt(n.loadpoints,(a,l)=>(V(),Y("div",{key:l,class:"flex-grow-1 mb-3 m-lg-0 p-lg-0"},[se(o,Mt(a,{id:l,class:["h-100",{"loadpoint-unselected":!i.selected(l)}],onClick:c=>i.scrollTo(l)}),null,16,["id","class","onClick"])]))),128))],512),n.loadpoints.length>1?(V(),Y("div",Kk,[(V(!0),Y(Pe,null,Zt(n.loadpoints,(a,l)=>(V(),Y("button",{key:l,class:xe(["btn btn-sm btn-link p-0 mx-1 indicator d-flex justify-content-center align-items-center text-white",{"indicator--selected":i.selected(l)}]),onClick:c=>i.scrollTo(l)},Gk,10,Yk))),128))])):Ne("",!0)])}var Jk=Ie(Vk,[["render",Xk],["__scopeId","data-v-34f3ca44"]]),Qk='';class Zk extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=Qk}}window.customElements.define("shopicon-regular-refresh",Zk);const eO={name:"Vehicles",components:{Vehicle:sl},mixins:[yr],data(){return{refreshing:!1,vehicles:[{vehiclePresent:!0,vehicleTitle:"Ford Mustang Mach-E",vehicleSoC:46,vehicleRange:182,targetSoC:100},{vehiclePresent:!0,vehicleTitle:"Renault Twingo Electric",vehicleSoC:77,vehicleRange:98,targetSoC:90},{vehiclePresent:!0,vehicleTitle:"Blauer VW ID.4",vehicleSoC:16,vehicleRange:52,minSoC:35,targetSoC:60}]}},methods:{refresh(){this.refreshing=!0,window.setTimeout(()=>{this.refreshing=!1},5e3)}}},tO=e=>(Ft("data-v-62696742"),e=e(),Ht(),e),nO={class:"container px-4 mb-3 mb-sm-4 d-flex justify-content-start align-items-center"},rO={class:"m-0"},sO=["disabled"],iO=tO(()=>T("shopicon-regular-refresh",{class:"refresh-icon"},null,-1)),oO=[iO];function aO(e,t,n,r,s,i){const o=Ce("Vehicle");return V(),Y("div",null,[T("div",nO,[T("h2",rO,K(e.$t("main.vehicles")),1),T("button",{class:xe(["btn btn-link d-flex text-white p-2 ms-1 refresh",{"refresh--in-progress":s.refreshing}]),disabled:s.refreshing,onClick:t[0]||(t[0]=(...a)=>i.refresh&&i.refresh(...a))},oO,10,sO)]),T("div",{class:xe(["container vehicles px-0 mb-5",`vehicles-${s.vehicles.length}`])},[(V(!0),Y(Pe,null,Zt(s.vehicles,(a,l)=>(V(),Je(o,Mt(a,{id:`vehicle_${l}`,key:l,class:"vehicle",parked:""}),null,16,["id"]))),128))],2)])}var lO=Ie(eO,[["render",aO],["__scopeId","data-v-62696742"]]),cO='';class uO extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=cO}}window.customElements.define("shopicon-filled-testtube",uO);const fO={name:"Logo"},dO={viewBox:"0 0 122 35",xmlns:"http://www.w3.org/2000/svg","fill-rule":"evenodd","clip-rule":"evenodd","stroke-linejoin":"round","stroke-miterlimit":"2"},hO=T("path",{d:"M13.082 29.071a12.384 12.384 0 01-9-3.42 12.192 12.192 0 01-3.54-9.12v-.64a15.394 15.394 0 011.47-6.83 10.825 10.825 0 014.17-4.64 11.64 11.64 0 016.15-1.63 10.45 10.45 0 018.21 3.26c2 2.194 3 5.297 3 9.31v2.76H7.382a6.348 6.348 0 002 4 5.997 5.997 0 004.16 1.49 7.305 7.305 0 006.1-2.84l3.31 3.73a10 10 0 01-4.13 3.39 13.309 13.309 0 01-5.74 1.18zm-.77-20.84a4.216 4.216 0 00-3.26 1.37 7.141 7.141 0 00-1.6 3.91h9.39v-.55a5.005 5.005 0 00-1.22-3.49 4.304 4.304 0 00-3.31-1.24zM36.452 20.331l4.7-17.09h7l-8.48 25.36h-6.44l-8.52-25.36h7l4.74 17.09zM85.542 23.611a4.444 4.444 0 003-1 3.638 3.638 0 001.22-2.75h6.32a8.668 8.668 0 01-1.4 4.73 9.145 9.145 0 01-3.79 3.3 11.736 11.736 0 01-5.29 1.19 10.912 10.912 0 01-8.54-3.46c-2.087-2.3-3.13-5.483-3.13-9.55v-.45c0-3.9 1.033-7.016 3.1-9.35a10.868 10.868 0 018.51-3.5c2.791-.134 5.524.84 7.6 2.71a9.626 9.626 0 012.9 7.21h-6.3a4.663 4.663 0 00-1.2-3.22 4.005 4.005 0 00-3.08-1.24 4.068 4.068 0 00-3.56 1.73c-.8 1.15-1.2 3-1.2 5.6v.7c0 2.61.39 4.49 1.19 5.63a4.092 4.092 0 003.65 1.72zM110.422 23.611a4.454 4.454 0 003-1 3.63 3.63 0 001.21-2.75h6.33a8.668 8.668 0 01-1.4 4.73 9.143 9.143 0 01-3.73 3.3 11.76 11.76 0 01-5.29 1.18 10.912 10.912 0 01-8.54-3.46c-2.087-2.3-3.13-5.483-3.13-9.55v-.45c0-3.9 1.033-7.016 3.1-9.35a10.85 10.85 0 018.57-3.49 10.575 10.575 0 017.6 2.71 9.598 9.598 0 012.91 7.21h-6.33a4.651 4.651 0 00-1.21-3.22 4.492 4.492 0 00-6.64.49c-.8 1.15-1.21 3-1.21 5.6v.7c0 2.607.4 4.484 1.2 5.63a4.09 4.09 0 003.56 1.72z",fill:"#fff","fill-rule":"nonzero"},null,-1),mO=T("path",{d:"M58.462.751h9.22l-6.14 12.3h6.15l-11.53 21.51 2.3-15.36h-7.68l7.68-18.45z",fill:"#0fdd42","fill-rule":"nonzero"},null,-1),pO=T("path",{fill:"none",d:"M-24.458-22.109h170v76h-170z"},null,-1),gO=[hO,mO,pO];function _O(e,t,n,r,s,i){return V(),Y("svg",dO,gO)}var vO=Ie(fO,[["render",_O]]),bO='';class yO extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=bO}}window.customElements.define("shopicon-regular-gift",yO);var EO='';class wO extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=EO}}window.customElements.define("shopicon-regular-moonstars",wO);const TO={name:"Version",components:{Logo:vO},props:{installed:String,available:String,releaseNotes:String,commit:String,hasUpdater:Boolean,uploadMessage:String,uploadProgress:Number},data:function(){return{updateStarted:!1,updateStatus:""}},computed:{githubHashUrl:function(){return`https://github.com/evcc-io/evcc/commit/${this.commit}`},newVersionAvailable:function(){return this.available&&this.installed!="[[.Version]]"&&this.installed!="0.0.1-alpha"&&this.available!=this.installed}},methods:{update:async function(){try{await er.post("update"),this.updateStatus=this.$t("footer.version.modalUpdateStatusStart"),this.updateStarted=!0}catch(e){this.updateStatus=this.$t("footer.version.modalUpdateStatusStart")+e}},releaseNotesUrl:function(e){return`https://github.com/evcc-io/evcc/releases/tag/${e}`}}},zo=e=>(Ft("data-v-78dcbc78"),e=e(),Ht(),e),SO=["href"],CO=zo(()=>T("shopicon-regular-moonstars",{class:"ms-2 text-gray-light"},null,-1)),AO={class:"ms-2 text-gray-light d-none d-sm-inline"},kO={key:1,href:"#","data-bs-toggle":"modal","data-bs-target":"#updateModal",class:"btn btn-link ps-0 text-decoration-none text-white text-nowrap d-flex align-items-end"},OO=zo(()=>T("shopicon-regular-gift",{class:"me-2 text-evcc"},null,-1)),LO={class:"ms-2 d-none d-xs-block d-sm-none text-decoration-underline"},NO={class:"ms-2 d-none d-sm-block text-gray-medium text-decoration-underline"},$O=["href"],PO={id:"updateModal",class:"modal fade text-dark",tabindex:"-1",role:"dialog","aria-hidden":"true"},xO={class:"modal-dialog modal-dialog-centered modal-dialog-scrollable",role:"document"},IO={class:"modal-content"},MO={class:"modal-header"},RO={class:"modal-title"},DO=zo(()=>T("button",{type:"button",class:"btn-close","data-bs-dismiss":"modal","aria-label":"Close"},null,-1)),FO={class:"modal-body"},HO={key:0},BO={class:"progress my-3"},jO={key:1},VO=["innerHTML"],UO={key:1},WO=["href"],zO=Re(". "),KO={class:"modal-footer d-flex justify-content-between"},YO=["disabled"],qO=["disabled"],GO={key:0},XO=zo(()=>T("span",{class:"spinner-border spinner-border-sm",role:"status","aria-hidden":"true"},null,-1)),JO={key:1},QO=["href"];function ZO(e,t,n,r,s,i){const o=Ce("Logo");return V(),Y("div",null,[n.commit?(V(),Y("a",{key:0,href:i.githubHashUrl,target:"_blank",class:"btn btn-link ps-0 text-decoration-none text-white text-nowrap d-flex align-items-end"},[se(o,{class:"logo me-2"}),Re(" v"+K(n.installed)+" ",1),CO,T("span",AO,"["+K(n.commit)+"]",1)],8,SO)):i.newVersionAvailable?(V(),Y("button",kO,[OO,Re(" v"+K(n.installed)+" ",1),T("span",LO,K(e.$t("footer.version.availableShort")),1),T("span",NO,K(e.$t("footer.version.availableLong")),1)])):(V(),Y("a",{key:2,href:i.releaseNotesUrl(n.installed),target:"_blank",class:"btn btn-link text-white ps-0 text-decoration-none text-nowrap d-flex align-items-end"},[se(o,{class:"logo me-2"}),Re(" v"+K(n.installed),1)],8,$O)),T("div",PO,[T("div",xO,[T("div",IO,[T("div",MO,[T("h5",RO,K(e.$t("footer.version.modalTitle")),1),DO]),T("div",FO,[e.updateStarted?(V(),Y("div",HO,[T("p",null,K(e.$t("footer.version.modalUpdateStarted")),1),T("div",BO,[T("div",{class:"progress-bar progress-bar-striped progress-bar-animated",role:"progressbar",style:Ke({width:n.uploadProgress+"%"})},null,4)]),T("p",null,K(e.updateStatus)+K(n.uploadMessage),1)])):(V(),Y("div",jO,[T("p",null,[T("small",null,K(e.$t("footer.version.modalInstalledVersion"))+": "+K(n.installed),1)]),n.releaseNotes?(V(),Y("div",{key:0,innerHTML:n.releaseNotes},null,8,VO)):(V(),Y("p",UO,[Re(K(e.$t("footer.version.modalNoReleaseNotes"))+" ",1),T("a",{href:i.releaseNotesUrl(n.available)},"GitHub",8,WO),zO]))]))]),T("div",KO,[T("button",{type:"button",class:"btn btn-outline-secondary",disabled:e.updateStarted,"data-bs-dismiss":"modal"},K(e.$t("footer.version.modalCancel")),9,YO),T("div",null,[n.hasUpdater?(V(),Y("button",{key:0,type:"button",class:"btn btn-primary",disabled:e.updateStarted,onClick:t[0]||(t[0]=(...a)=>i.update&&i.update(...a))},[e.updateStarted?(V(),Y("span",GO,[XO,Re(" "+K(e.$t("footer.version.modalUpdate")),1)])):(V(),Y("span",JO,K(e.$t("footer.version.modalUpdateNow")),1))],8,qO)):(V(),Y("a",{key:1,href:i.releaseNotesUrl(n.available),class:"btn btn-primary"},K(e.$t("footer.version.modalDownload")),9,QO))])])])])])])}var eL=Ie(TO,[["render",ZO],["__scopeId","data-v-78dcbc78"]]),hi={};(function e(t,n,r,s){var i=!!(t.Worker&&t.Blob&&t.Promise&&t.OffscreenCanvas&&t.OffscreenCanvasRenderingContext2D&&t.HTMLCanvasElement&&t.HTMLCanvasElement.prototype.transferControlToOffscreen&&t.URL&&t.URL.createObjectURL);function o(){}function a(P){var x=n.exports.Promise,Z=x!==void 0?x:t.Promise;return typeof Z=="function"?new Z(P):(P(o,o),null)}var l=function(){var P=Math.floor(16.666666666666668),x,Z,ee={},oe=0;return typeof requestAnimationFrame=="function"&&typeof cancelAnimationFrame=="function"?(x=function(le){var ue=Math.random();return ee[ue]=requestAnimationFrame(function pe(ve){oe===ve||oe+P-1evcc.yaml. Die Standardkonfiguration evcc.dist.yaml kann daf\xFCr als Vorlage dienen (Download). chargers.meters. site. In einer Site wird der Netzanschluss mit dem konfigurierten EVU Z\xE4hler (meter) verbunden. loadpoints. In einem Ladepunkt wird die konfigurierte Wallbox (charger) mit dem Ladepunkt verbunden. evcc -c evcc.yaml uri: localhost:7070 # Adresse f\xFCr UI
interval: 10s # Regelintervall
meters:
- name: evu-z\xE4hler
@@ -50,25 +50,25 @@ var ng=Object.defineProperty,rg=Object.defineProperties;var sg=Object.getOwnProp
charger: wallbox # charger
meters:
charge: ladez\xE4hler # Ladez\xE4hlers (optional)
-
Viel Spass mit evcc! Bei Problemen kannst Du uns auf GitHub erreichen.